PluginProbe
Gutenberg / 23.7.2
Gutenberg v23.7.2
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 12.6.0 7.4.0 All 402 releases
gutenberg / build / scripts / vendors / react-dom-19-orig.js

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

20,694 lines 1.0 MB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 var ReactDOM = (() => {
2 var __create = Object.create;
3 var __defProp = Object.defineProperty;
4 var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 var __getOwnPropNames = Object.getOwnPropertyNames;
6 var __getProtoOf = Object.getPrototypeOf;
7 var __hasOwnProp = Object.prototype.hasOwnProperty;
8 var __esm = (fn, res) => function __init() {
9 return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10 };
11 var __commonJS = (cb, mod) => function __require() {
12 return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
13 };
14 var __export = (target, all) => {
15 for (var name in all)
16 __defProp(target, name, { get: all[name], enumerable: true });
17 };
18 var __copyProps = (to, from, except, desc) => {
19 if (from && typeof from === "object" || typeof from === "function") {
20 for (let key of __getOwnPropNames(from))
21 if (!__hasOwnProp.call(to, key) && key !== except)
22 __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23 }
24 return to;
25 };
26 var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
27 // If the importer is in node compatibility mode or this is not an ESM
28 // file that has been converted to a CommonJS file using a Babel-
29 // compatible transform (i.e. "__esModule" has not been set), then set
30 // "default" to the CommonJS "module.exports" for node compatibility.
31 isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
32 mod
33 ));
34 var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
36 // ../react-19/warn-compat.js
37 var warn_compat_exports = {};
38 __export(warn_compat_exports, {
39 warnCompat: () => warnCompat
40 });
41 function warnCompat(key, message) {
42 if (warned.has(key)) {
43 return;
44 }
45 warned.add(key);
46 if (typeof console !== "undefined" && console.warn) {
47 console.warn(`${PREFIX} ${message}`);
48 }
49 }
50 var PREFIX, warned;
51 var init_warn_compat = __esm({
52 "../react-19/warn-compat.js"() {
53 PREFIX = "[wordpress-react-19]";
54 warned = /* @__PURE__ */ new Set();
55 }
56 });
57
58 // react-external:react
59 var require_react = __commonJS({
60 "react-external:react"(exports, module) {
61 module.exports = globalThis.React;
62 }
63 });
64
65 // ../react-19/node_modules/react-dom/cjs/react-dom.development.js
66 var require_react_dom_development = __commonJS({
67 "../react-19/node_modules/react-dom/cjs/react-dom.development.js"(exports) {
68 "use strict";
69 (function() {
70 function noop() {
71 }
72 function testStringCoercion(value) {
73 return "" + value;
74 }
75 function createPortal$1(children, containerInfo, implementation) {
76 var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
77 try {
78 testStringCoercion(key);
79 var JSCompiler_inline_result = false;
80 } catch (e) {
81 JSCompiler_inline_result = true;
82 }
83 JSCompiler_inline_result && (console.error(
84 "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
85 "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object"
86 ), testStringCoercion(key));
87 return {
88 $$typeof: REACT_PORTAL_TYPE,
89 key: null == key ? null : "" + key,
90 children,
91 containerInfo,
92 implementation
93 };
94 }
95 function getCrossOriginStringAs(as, input) {
96 if ("font" === as) return "";
97 if ("string" === typeof input)
98 return "use-credentials" === input ? input : "";
99 }
100 function getValueDescriptorExpectingObjectForWarning(thing) {
101 return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : 'something with type "' + typeof thing + '"';
102 }
103 function getValueDescriptorExpectingEnumForWarning(thing) {
104 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 + '"';
105 }
106 function resolveDispatcher() {
107 var dispatcher = ReactSharedInternals.H;
108 null === dispatcher && console.error(
109 "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."
110 );
111 return dispatcher;
112 }
113 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
114 var React = require_react(), Internals = {
115 d: {
116 f: noop,
117 r: function() {
118 throw Error(
119 "Invalid form element. requestFormReset must be passed a form that was rendered by React."
120 );
121 },
122 D: noop,
123 C: noop,
124 L: noop,
125 m: noop,
126 X: noop,
127 S: noop,
128 M: noop
129 },
130 p: 0,
131 findDOMNode: null
132 }, REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
133 "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(
134 "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"
135 );
136 exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;
137 exports.createPortal = function(children, container) {
138 var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
139 if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType)
140 throw Error("Target container is not a DOM element.");
141 return createPortal$1(children, container, null, key);
142 };
143 exports.flushSync = function(fn) {
144 var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;
145 try {
146 if (ReactSharedInternals.T = null, Internals.p = 2, fn)
147 return fn();
148 } finally {
149 ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error(
150 "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."
151 );
152 }
153 };
154 exports.preconnect = function(href, options) {
155 "string" === typeof href && href ? null != options && "object" !== typeof options ? console.error(
156 "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.",
157 getValueDescriptorExpectingEnumForWarning(options)
158 ) : null != options && "string" !== typeof options.crossOrigin && console.error(
159 "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.",
160 getValueDescriptorExpectingObjectForWarning(options.crossOrigin)
161 ) : console.error(
162 "ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
163 getValueDescriptorExpectingObjectForWarning(href)
164 );
165 "string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options));
166 };
167 exports.prefetchDNS = function(href) {
168 if ("string" !== typeof href || !href)
169 console.error(
170 "ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
171 getValueDescriptorExpectingObjectForWarning(href)
172 );
173 else if (1 < arguments.length) {
174 var options = arguments[1];
175 "object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error(
176 "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`.",
177 getValueDescriptorExpectingEnumForWarning(options)
178 ) : console.error(
179 "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`.",
180 getValueDescriptorExpectingEnumForWarning(options)
181 );
182 }
183 "string" === typeof href && Internals.d.D(href);
184 };
185 exports.preinit = function(href, options) {
186 "string" === typeof href && href ? null == options || "object" !== typeof options ? console.error(
187 "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.",
188 getValueDescriptorExpectingEnumForWarning(options)
189 ) : "style" !== options.as && "script" !== options.as && console.error(
190 '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".',
191 getValueDescriptorExpectingEnumForWarning(options.as)
192 ) : console.error(
193 "ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
194 getValueDescriptorExpectingObjectForWarning(href)
195 );
196 if ("string" === typeof href && options && "string" === typeof options.as) {
197 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;
198 "style" === as ? Internals.d.S(
199 href,
200 "string" === typeof options.precedence ? options.precedence : void 0,
201 {
202 crossOrigin,
203 integrity,
204 fetchPriority
205 }
206 ) : "script" === as && Internals.d.X(href, {
207 crossOrigin,
208 integrity,
209 fetchPriority,
210 nonce: "string" === typeof options.nonce ? options.nonce : void 0
211 });
212 }
213 };
214 exports.preinitModule = function(href, options) {
215 var encountered = "";
216 "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
217 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) + ".");
218 if (encountered)
219 console.error(
220 "ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s",
221 encountered
222 );
223 else
224 switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) {
225 case "script":
226 break;
227 default:
228 encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error(
229 '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)',
230 encountered,
231 href
232 );
233 }
234 if ("string" === typeof href)
235 if ("object" === typeof options && null !== options) {
236 if (null == options.as || "script" === options.as)
237 encountered = getCrossOriginStringAs(
238 options.as,
239 options.crossOrigin
240 ), Internals.d.M(href, {
241 crossOrigin: encountered,
242 integrity: "string" === typeof options.integrity ? options.integrity : void 0,
243 nonce: "string" === typeof options.nonce ? options.nonce : void 0
244 });
245 } else null == options && Internals.d.M(href);
246 };
247 exports.preload = function(href, options) {
248 var encountered = "";
249 "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
250 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) + ".");
251 encountered && console.error(
252 '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',
253 encountered
254 );
255 if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) {
256 encountered = options.as;
257 var crossOrigin = getCrossOriginStringAs(
258 encountered,
259 options.crossOrigin
260 );
261 Internals.d.L(href, encountered, {
262 crossOrigin,
263 integrity: "string" === typeof options.integrity ? options.integrity : void 0,
264 nonce: "string" === typeof options.nonce ? options.nonce : void 0,
265 type: "string" === typeof options.type ? options.type : void 0,
266 fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0,
267 referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0,
268 imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,
269 imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0,
270 media: "string" === typeof options.media ? options.media : void 0
271 });
272 }
273 };
274 exports.preloadModule = function(href, options) {
275 var encountered = "";
276 "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
277 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) + ".");
278 encountered && console.error(
279 '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',
280 encountered
281 );
282 "string" === typeof href && (options ? (encountered = getCrossOriginStringAs(
283 options.as,
284 options.crossOrigin
285 ), Internals.d.m(href, {
286 as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0,
287 crossOrigin: encountered,
288 integrity: "string" === typeof options.integrity ? options.integrity : void 0
289 })) : Internals.d.m(href));
290 };
291 exports.requestFormReset = function(form) {
292 Internals.d.r(form);
293 };
294 exports.unstable_batchedUpdates = function(fn, a) {
295 return fn(a);
296 };
297 exports.useFormState = function(action, initialState, permalink) {
298 return resolveDispatcher().useFormState(action, initialState, permalink);
299 };
300 exports.useFormStatus = function() {
301 return resolveDispatcher().useHostTransitionStatus();
302 };
303 exports.version = "19.2.7";
304 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
305 })();
306 }
307 });
308
309 // ../react-19/node_modules/react-dom/index.js
310 var require_react_dom = __commonJS({
311 "../react-19/node_modules/react-dom/index.js"(exports, module) {
312 "use strict";
313 if (false) {
314 checkDCE();
315 module.exports = null;
316 } else {
317 module.exports = require_react_dom_development();
318 }
319 }
320 });
321
322 // ../react-19/node_modules/scheduler/cjs/scheduler.development.js
323 var require_scheduler_development = __commonJS({
324 "../react-19/node_modules/scheduler/cjs/scheduler.development.js"(exports) {
325 "use strict";
326 (function() {
327 function performWorkUntilDeadline() {
328 needsPaint = false;
329 if (isMessageLoopRunning) {
330 var currentTime = exports.unstable_now();
331 startTime = currentTime;
332 var hasMoreWork = true;
333 try {
334 a: {
335 isHostCallbackScheduled = false;
336 isHostTimeoutScheduled && (isHostTimeoutScheduled = false, localClearTimeout(taskTimeoutID), taskTimeoutID = -1);
337 isPerformingWork = true;
338 var previousPriorityLevel = currentPriorityLevel;
339 try {
340 b: {
341 advanceTimers(currentTime);
342 for (currentTask = peek(taskQueue); null !== currentTask && !(currentTask.expirationTime > currentTime && shouldYieldToHost()); ) {
343 var callback = currentTask.callback;
344 if ("function" === typeof callback) {
345 currentTask.callback = null;
346 currentPriorityLevel = currentTask.priorityLevel;
347 var continuationCallback = callback(
348 currentTask.expirationTime <= currentTime
349 );
350 currentTime = exports.unstable_now();
351 if ("function" === typeof continuationCallback) {
352 currentTask.callback = continuationCallback;
353 advanceTimers(currentTime);
354 hasMoreWork = true;
355 break b;
356 }
357 currentTask === peek(taskQueue) && pop(taskQueue);
358 advanceTimers(currentTime);
359 } else pop(taskQueue);
360 currentTask = peek(taskQueue);
361 }
362 if (null !== currentTask) hasMoreWork = true;
363 else {
364 var firstTimer = peek(timerQueue);
365 null !== firstTimer && requestHostTimeout(
366 handleTimeout,
367 firstTimer.startTime - currentTime
368 );
369 hasMoreWork = false;
370 }
371 }
372 break a;
373 } finally {
374 currentTask = null, currentPriorityLevel = previousPriorityLevel, isPerformingWork = false;
375 }
376 hasMoreWork = void 0;
377 }
378 } finally {
379 hasMoreWork ? schedulePerformWorkUntilDeadline() : isMessageLoopRunning = false;
380 }
381 }
382 }
383 function push(heap, node) {
384 var index = heap.length;
385 heap.push(node);
386 a: for (; 0 < index; ) {
387 var parentIndex = index - 1 >>> 1, parent = heap[parentIndex];
388 if (0 < compare(parent, node))
389 heap[parentIndex] = node, heap[index] = parent, index = parentIndex;
390 else break a;
391 }
392 }
393 function peek(heap) {
394 return 0 === heap.length ? null : heap[0];
395 }
396 function pop(heap) {
397 if (0 === heap.length) return null;
398 var first = heap[0], last = heap.pop();
399 if (last !== first) {
400 heap[0] = last;
401 a: for (var index = 0, length = heap.length, halfLength = length >>> 1; index < halfLength; ) {
402 var leftIndex = 2 * (index + 1) - 1, left = heap[leftIndex], rightIndex = leftIndex + 1, right = heap[rightIndex];
403 if (0 > compare(left, last))
404 rightIndex < length && 0 > compare(right, left) ? (heap[index] = right, heap[rightIndex] = last, index = rightIndex) : (heap[index] = left, heap[leftIndex] = last, index = leftIndex);
405 else if (rightIndex < length && 0 > compare(right, last))
406 heap[index] = right, heap[rightIndex] = last, index = rightIndex;
407 else break a;
408 }
409 }
410 return first;
411 }
412 function compare(a, b) {
413 var diff = a.sortIndex - b.sortIndex;
414 return 0 !== diff ? diff : a.id - b.id;
415 }
416 function advanceTimers(currentTime) {
417 for (var timer = peek(timerQueue); null !== timer; ) {
418 if (null === timer.callback) pop(timerQueue);
419 else if (timer.startTime <= currentTime)
420 pop(timerQueue), timer.sortIndex = timer.expirationTime, push(taskQueue, timer);
421 else break;
422 timer = peek(timerQueue);
423 }
424 }
425 function handleTimeout(currentTime) {
426 isHostTimeoutScheduled = false;
427 advanceTimers(currentTime);
428 if (!isHostCallbackScheduled)
429 if (null !== peek(taskQueue))
430 isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline());
431 else {
432 var firstTimer = peek(timerQueue);
433 null !== firstTimer && requestHostTimeout(
434 handleTimeout,
435 firstTimer.startTime - currentTime
436 );
437 }
438 }
439 function shouldYieldToHost() {
440 return needsPaint ? true : exports.unstable_now() - startTime < frameInterval ? false : true;
441 }
442 function requestHostTimeout(callback, ms) {
443 taskTimeoutID = localSetTimeout(function() {
444 callback(exports.unstable_now());
445 }, ms);
446 }
447 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
448 exports.unstable_now = void 0;
449 if ("object" === typeof performance && "function" === typeof performance.now) {
450 var localPerformance = performance;
451 exports.unstable_now = function() {
452 return localPerformance.now();
453 };
454 } else {
455 var localDate = Date, initialTime = localDate.now();
456 exports.unstable_now = function() {
457 return localDate.now() - initialTime;
458 };
459 }
460 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;
461 if ("function" === typeof localSetImmediate)
462 var schedulePerformWorkUntilDeadline = function() {
463 localSetImmediate(performWorkUntilDeadline);
464 };
465 else if ("undefined" !== typeof MessageChannel) {
466 var channel = new MessageChannel(), port = channel.port2;
467 channel.port1.onmessage = performWorkUntilDeadline;
468 schedulePerformWorkUntilDeadline = function() {
469 port.postMessage(null);
470 };
471 } else
472 schedulePerformWorkUntilDeadline = function() {
473 localSetTimeout(performWorkUntilDeadline, 0);
474 };
475 exports.unstable_IdlePriority = 5;
476 exports.unstable_ImmediatePriority = 1;
477 exports.unstable_LowPriority = 4;
478 exports.unstable_NormalPriority = 3;
479 exports.unstable_Profiling = null;
480 exports.unstable_UserBlockingPriority = 2;
481 exports.unstable_cancelCallback = function(task) {
482 task.callback = null;
483 };
484 exports.unstable_forceFrameRate = function(fps) {
485 0 > fps || 125 < fps ? console.error(
486 "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"
487 ) : frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5;
488 };
489 exports.unstable_getCurrentPriorityLevel = function() {
490 return currentPriorityLevel;
491 };
492 exports.unstable_next = function(eventHandler) {
493 switch (currentPriorityLevel) {
494 case 1:
495 case 2:
496 case 3:
497 var priorityLevel = 3;
498 break;
499 default:
500 priorityLevel = currentPriorityLevel;
501 }
502 var previousPriorityLevel = currentPriorityLevel;
503 currentPriorityLevel = priorityLevel;
504 try {
505 return eventHandler();
506 } finally {
507 currentPriorityLevel = previousPriorityLevel;
508 }
509 };
510 exports.unstable_requestPaint = function() {
511 needsPaint = true;
512 };
513 exports.unstable_runWithPriority = function(priorityLevel, eventHandler) {
514 switch (priorityLevel) {
515 case 1:
516 case 2:
517 case 3:
518 case 4:
519 case 5:
520 break;
521 default:
522 priorityLevel = 3;
523 }
524 var previousPriorityLevel = currentPriorityLevel;
525 currentPriorityLevel = priorityLevel;
526 try {
527 return eventHandler();
528 } finally {
529 currentPriorityLevel = previousPriorityLevel;
530 }
531 };
532 exports.unstable_scheduleCallback = function(priorityLevel, callback, options) {
533 var currentTime = exports.unstable_now();
534 "object" === typeof options && null !== options ? (options = options.delay, options = "number" === typeof options && 0 < options ? currentTime + options : currentTime) : options = currentTime;
535 switch (priorityLevel) {
536 case 1:
537 var timeout = -1;
538 break;
539 case 2:
540 timeout = 250;
541 break;
542 case 5:
543 timeout = 1073741823;
544 break;
545 case 4:
546 timeout = 1e4;
547 break;
548 default:
549 timeout = 5e3;
550 }
551 timeout = options + timeout;
552 priorityLevel = {
553 id: taskIdCounter++,
554 callback,
555 priorityLevel,
556 startTime: options,
557 expirationTime: timeout,
558 sortIndex: -1
559 };
560 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())));
561 return priorityLevel;
562 };
563 exports.unstable_shouldYield = shouldYieldToHost;
564 exports.unstable_wrapCallback = function(callback) {
565 var parentPriorityLevel = currentPriorityLevel;
566 return function() {
567 var previousPriorityLevel = currentPriorityLevel;
568 currentPriorityLevel = parentPriorityLevel;
569 try {
570 return callback.apply(this, arguments);
571 } finally {
572 currentPriorityLevel = previousPriorityLevel;
573 }
574 };
575 };
576 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
577 })();
578 }
579 });
580
581 // ../react-19/node_modules/scheduler/index.js
582 var require_scheduler = __commonJS({
583 "../react-19/node_modules/scheduler/index.js"(exports, module) {
584 "use strict";
585 if (false) {
586 module.exports = null;
587 } else {
588 module.exports = require_scheduler_development();
589 }
590 }
591 });
592
593 // ../react-19/node_modules/react-dom/cjs/react-dom-client.development.js
594 var require_react_dom_client_development = __commonJS({
595 "../react-19/node_modules/react-dom/cjs/react-dom-client.development.js"(exports) {
596 "use strict";
597 (function() {
598 function findHook(fiber, id) {
599 for (fiber = fiber.memoizedState; null !== fiber && 0 < id; )
600 fiber = fiber.next, id--;
601 return fiber;
602 }
603 function copyWithSetImpl(obj, path, index, value) {
604 if (index >= path.length) return value;
605 var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
606 updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);
607 return updated;
608 }
609 function copyWithRename(obj, oldPath, newPath) {
610 if (oldPath.length !== newPath.length)
611 console.warn("copyWithRename() expects paths of the same length");
612 else {
613 for (var i = 0; i < newPath.length - 1; i++)
614 if (oldPath[i] !== newPath[i]) {
615 console.warn(
616 "copyWithRename() expects paths to be the same except for the deepest key"
617 );
618 return;
619 }
620 return copyWithRenameImpl(obj, oldPath, newPath, 0);
621 }
622 }
623 function copyWithRenameImpl(obj, oldPath, newPath, index) {
624 var oldKey = oldPath[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
625 index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl(
626 obj[oldKey],
627 oldPath,
628 newPath,
629 index + 1
630 );
631 return updated;
632 }
633 function copyWithDeleteImpl(obj, path, index) {
634 var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
635 if (index + 1 === path.length)
636 return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated;
637 updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);
638 return updated;
639 }
640 function shouldSuspendImpl() {
641 return false;
642 }
643 function shouldErrorImpl() {
644 return null;
645 }
646 function warnInvalidHookAccess() {
647 console.error(
648 "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"
649 );
650 }
651 function warnInvalidContextAccess() {
652 console.error(
653 "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()."
654 );
655 }
656 function noop() {
657 }
658 function warnForMissingKey() {
659 }
660 function setToSortedString(set) {
661 var array = [];
662 set.forEach(function(value) {
663 array.push(value);
664 });
665 return array.sort().join(", ");
666 }
667 function createFiber(tag, pendingProps, key, mode) {
668 return new FiberNode(tag, pendingProps, key, mode);
669 }
670 function scheduleRoot(root2, element) {
671 root2.context === emptyContextObject && (updateContainerImpl(root2.current, 2, element, root2, null, null), flushSyncWork$1());
672 }
673 function scheduleRefresh(root2, update) {
674 if (null !== resolveFamily) {
675 var staleFamilies = update.staleFamilies;
676 update = update.updatedFamilies;
677 flushPendingEffects();
678 scheduleFibersWithFamiliesRecursively(
679 root2.current,
680 update,
681 staleFamilies
682 );
683 flushSyncWork$1();
684 }
685 }
686 function setRefreshHandler(handler) {
687 resolveFamily = handler;
688 }
689 function isValidContainer(node) {
690 return !(!node || 1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType);
691 }
692 function getNearestMountedFiber(fiber) {
693 var node = fiber, nearestMounted = fiber;
694 if (fiber.alternate) for (; node.return; ) node = node.return;
695 else {
696 fiber = node;
697 do
698 node = fiber, 0 !== (node.flags & 4098) && (nearestMounted = node.return), fiber = node.return;
699 while (fiber);
700 }
701 return 3 === node.tag ? nearestMounted : null;
702 }
703 function getSuspenseInstanceFromFiber(fiber) {
704 if (13 === fiber.tag) {
705 var suspenseState = fiber.memoizedState;
706 null === suspenseState && (fiber = fiber.alternate, null !== fiber && (suspenseState = fiber.memoizedState));
707 if (null !== suspenseState) return suspenseState.dehydrated;
708 }
709 return null;
710 }
711 function getActivityInstanceFromFiber(fiber) {
712 if (31 === fiber.tag) {
713 var activityState = fiber.memoizedState;
714 null === activityState && (fiber = fiber.alternate, null !== fiber && (activityState = fiber.memoizedState));
715 if (null !== activityState) return activityState.dehydrated;
716 }
717 return null;
718 }
719 function assertIsMounted(fiber) {
720 if (getNearestMountedFiber(fiber) !== fiber)
721 throw Error("Unable to find node on an unmounted component.");
722 }
723 function findCurrentFiberUsingSlowPath(fiber) {
724 var alternate = fiber.alternate;
725 if (!alternate) {
726 alternate = getNearestMountedFiber(fiber);
727 if (null === alternate)
728 throw Error("Unable to find node on an unmounted component.");
729 return alternate !== fiber ? null : fiber;
730 }
731 for (var a = fiber, b = alternate; ; ) {
732 var parentA = a.return;
733 if (null === parentA) break;
734 var parentB = parentA.alternate;
735 if (null === parentB) {
736 b = parentA.return;
737 if (null !== b) {
738 a = b;
739 continue;
740 }
741 break;
742 }
743 if (parentA.child === parentB.child) {
744 for (parentB = parentA.child; parentB; ) {
745 if (parentB === a) return assertIsMounted(parentA), fiber;
746 if (parentB === b) return assertIsMounted(parentA), alternate;
747 parentB = parentB.sibling;
748 }
749 throw Error("Unable to find node on an unmounted component.");
750 }
751 if (a.return !== b.return) a = parentA, b = parentB;
752 else {
753 for (var didFindChild = false, _child = parentA.child; _child; ) {
754 if (_child === a) {
755 didFindChild = true;
756 a = parentA;
757 b = parentB;
758 break;
759 }
760 if (_child === b) {
761 didFindChild = true;
762 b = parentA;
763 a = parentB;
764 break;
765 }
766 _child = _child.sibling;
767 }
768 if (!didFindChild) {
769 for (_child = parentB.child; _child; ) {
770 if (_child === a) {
771 didFindChild = true;
772 a = parentB;
773 b = parentA;
774 break;
775 }
776 if (_child === b) {
777 didFindChild = true;
778 b = parentB;
779 a = parentA;
780 break;
781 }
782 _child = _child.sibling;
783 }
784 if (!didFindChild)
785 throw Error(
786 "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue."
787 );
788 }
789 }
790 if (a.alternate !== b)
791 throw Error(
792 "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue."
793 );
794 }
795 if (3 !== a.tag)
796 throw Error("Unable to find node on an unmounted component.");
797 return a.stateNode.current === a ? fiber : alternate;
798 }
799 function findCurrentHostFiberImpl(node) {
800 var tag = node.tag;
801 if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;
802 for (node = node.child; null !== node; ) {
803 tag = findCurrentHostFiberImpl(node);
804 if (null !== tag) return tag;
805 node = node.sibling;
806 }
807 return null;
808 }
809 function getIteratorFn(maybeIterable) {
810 if (null === maybeIterable || "object" !== typeof maybeIterable)
811 return null;
812 maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
813 return "function" === typeof maybeIterable ? maybeIterable : null;
814 }
815 function getComponentNameFromType(type) {
816 if (null == type) return null;
817 if ("function" === typeof type)
818 return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
819 if ("string" === typeof type) return type;
820 switch (type) {
821 case REACT_FRAGMENT_TYPE:
822 return "Fragment";
823 case REACT_PROFILER_TYPE:
824 return "Profiler";
825 case REACT_STRICT_MODE_TYPE:
826 return "StrictMode";
827 case REACT_SUSPENSE_TYPE:
828 return "Suspense";
829 case REACT_SUSPENSE_LIST_TYPE:
830 return "SuspenseList";
831 case REACT_ACTIVITY_TYPE:
832 return "Activity";
833 }
834 if ("object" === typeof type)
835 switch ("number" === typeof type.tag && console.error(
836 "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
837 ), type.$$typeof) {
838 case REACT_PORTAL_TYPE:
839 return "Portal";
840 case REACT_CONTEXT_TYPE:
841 return type.displayName || "Context";
842 case REACT_CONSUMER_TYPE:
843 return (type._context.displayName || "Context") + ".Consumer";
844 case REACT_FORWARD_REF_TYPE:
845 var innerType = type.render;
846 type = type.displayName;
847 type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
848 return type;
849 case REACT_MEMO_TYPE:
850 return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
851 case REACT_LAZY_TYPE:
852 innerType = type._payload;
853 type = type._init;
854 try {
855 return getComponentNameFromType(type(innerType));
856 } catch (x) {
857 }
858 }
859 return null;
860 }
861 function getComponentNameFromOwner(owner) {
862 return "number" === typeof owner.tag ? getComponentNameFromFiber(owner) : "string" === typeof owner.name ? owner.name : null;
863 }
864 function getComponentNameFromFiber(fiber) {
865 var type = fiber.type;
866 switch (fiber.tag) {
867 case 31:
868 return "Activity";
869 case 24:
870 return "Cache";
871 case 9:
872 return (type._context.displayName || "Context") + ".Consumer";
873 case 10:
874 return type.displayName || "Context";
875 case 18:
876 return "DehydratedFragment";
877 case 11:
878 return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef");
879 case 7:
880 return "Fragment";
881 case 26:
882 case 27:
883 case 5:
884 return type;
885 case 4:
886 return "Portal";
887 case 3:
888 return "Root";
889 case 6:
890 return "Text";
891 case 16:
892 return getComponentNameFromType(type);
893 case 8:
894 return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode";
895 case 22:
896 return "Offscreen";
897 case 12:
898 return "Profiler";
899 case 21:
900 return "Scope";
901 case 13:
902 return "Suspense";
903 case 19:
904 return "SuspenseList";
905 case 25:
906 return "TracingMarker";
907 case 1:
908 case 0:
909 case 14:
910 case 15:
911 if ("function" === typeof type)
912 return type.displayName || type.name || null;
913 if ("string" === typeof type) return type;
914 break;
915 case 29:
916 type = fiber._debugInfo;
917 if (null != type) {
918 for (var i = type.length - 1; 0 <= i; i--)
919 if ("string" === typeof type[i].name) return type[i].name;
920 }
921 if (null !== fiber.return)
922 return getComponentNameFromFiber(fiber.return);
923 }
924 return null;
925 }
926 function createCursor(defaultValue) {
927 return { current: defaultValue };
928 }
929 function pop(cursor, fiber) {
930 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--);
931 }
932 function push(cursor, value, fiber) {
933 index$jscomp$0++;
934 valueStack[index$jscomp$0] = cursor.current;
935 fiberStack[index$jscomp$0] = fiber;
936 cursor.current = value;
937 }
938 function requiredContext(c) {
939 null === c && console.error(
940 "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."
941 );
942 return c;
943 }
944 function pushHostContainer(fiber, nextRootInstance) {
945 push(rootInstanceStackCursor, nextRootInstance, fiber);
946 push(contextFiberStackCursor, fiber, fiber);
947 push(contextStackCursor, null, fiber);
948 var nextRootContext = nextRootInstance.nodeType;
949 switch (nextRootContext) {
950 case 9:
951 case 11:
952 nextRootContext = 9 === nextRootContext ? "#document" : "#fragment";
953 nextRootInstance = (nextRootInstance = nextRootInstance.documentElement) ? (nextRootInstance = nextRootInstance.namespaceURI) ? getOwnHostContext(nextRootInstance) : HostContextNamespaceNone : HostContextNamespaceNone;
954 break;
955 default:
956 if (nextRootContext = nextRootInstance.tagName, nextRootInstance = nextRootInstance.namespaceURI)
957 nextRootInstance = getOwnHostContext(nextRootInstance), nextRootInstance = getChildHostContextProd(
958 nextRootInstance,
959 nextRootContext
960 );
961 else
962 switch (nextRootContext) {
963 case "svg":
964 nextRootInstance = HostContextNamespaceSvg;
965 break;
966 case "math":
967 nextRootInstance = HostContextNamespaceMath;
968 break;
969 default:
970 nextRootInstance = HostContextNamespaceNone;
971 }
972 }
973 nextRootContext = nextRootContext.toLowerCase();
974 nextRootContext = updatedAncestorInfoDev(null, nextRootContext);
975 nextRootContext = {
976 context: nextRootInstance,
977 ancestorInfo: nextRootContext
978 };
979 pop(contextStackCursor, fiber);
980 push(contextStackCursor, nextRootContext, fiber);
981 }
982 function popHostContainer(fiber) {
983 pop(contextStackCursor, fiber);
984 pop(contextFiberStackCursor, fiber);
985 pop(rootInstanceStackCursor, fiber);
986 }
987 function getHostContext() {
988 return requiredContext(contextStackCursor.current);
989 }
990 function pushHostContext(fiber) {
991 null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber, fiber);
992 var context = requiredContext(contextStackCursor.current);
993 var type = fiber.type;
994 var nextContext = getChildHostContextProd(context.context, type);
995 type = updatedAncestorInfoDev(context.ancestorInfo, type);
996 nextContext = { context: nextContext, ancestorInfo: type };
997 context !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber));
998 }
999 function popHostContext(fiber) {
1000 contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber));
1001 hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), HostTransitionContext._currentValue = NotPendingTransition);
1002 }
1003 function disabledLog() {
1004 }
1005 function disableLogs() {
1006 if (0 === disabledDepth) {
1007 prevLog = console.log;
1008 prevInfo = console.info;
1009 prevWarn = console.warn;
1010 prevError = console.error;
1011 prevGroup = console.group;
1012 prevGroupCollapsed = console.groupCollapsed;
1013 prevGroupEnd = console.groupEnd;
1014 var props = {
1015 configurable: true,
1016 enumerable: true,
1017 value: disabledLog,
1018 writable: true
1019 };
1020 Object.defineProperties(console, {
1021 info: props,
1022 log: props,
1023 warn: props,
1024 error: props,
1025 group: props,
1026 groupCollapsed: props,
1027 groupEnd: props
1028 });
1029 }
1030 disabledDepth++;
1031 }
1032 function reenableLogs() {
1033 disabledDepth--;
1034 if (0 === disabledDepth) {
1035 var props = { configurable: true, enumerable: true, writable: true };
1036 Object.defineProperties(console, {
1037 log: assign({}, props, { value: prevLog }),
1038 info: assign({}, props, { value: prevInfo }),
1039 warn: assign({}, props, { value: prevWarn }),
1040 error: assign({}, props, { value: prevError }),
1041 group: assign({}, props, { value: prevGroup }),
1042 groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),
1043 groupEnd: assign({}, props, { value: prevGroupEnd })
1044 });
1045 }
1046 0 > disabledDepth && console.error(
1047 "disabledDepth fell below zero. This is a bug in React. Please file an issue."
1048 );
1049 }
1050 function formatOwnerStack(error) {
1051 var prevPrepareStackTrace = Error.prepareStackTrace;
1052 Error.prepareStackTrace = void 0;
1053 error = error.stack;
1054 Error.prepareStackTrace = prevPrepareStackTrace;
1055 error.startsWith("Error: react-stack-top-frame\n") && (error = error.slice(29));
1056 prevPrepareStackTrace = error.indexOf("\n");
1057 -1 !== prevPrepareStackTrace && (error = error.slice(prevPrepareStackTrace + 1));
1058 prevPrepareStackTrace = error.indexOf("react_stack_bottom_frame");
1059 -1 !== prevPrepareStackTrace && (prevPrepareStackTrace = error.lastIndexOf(
1060 "\n",
1061 prevPrepareStackTrace
1062 ));
1063 if (-1 !== prevPrepareStackTrace)
1064 error = error.slice(0, prevPrepareStackTrace);
1065 else return "";
1066 return error;
1067 }
1068 function describeBuiltInComponentFrame(name) {
1069 if (void 0 === prefix)
1070 try {
1071 throw Error();
1072 } catch (x) {
1073 var match = x.stack.trim().match(/\n( *(at )?)/);
1074 prefix = match && match[1] || "";
1075 suffix = -1 < x.stack.indexOf("\n at") ? " (<anonymous>)" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : "";
1076 }
1077 return "\n" + prefix + name + suffix;
1078 }
1079 function describeNativeComponentFrame(fn, construct) {
1080 if (!fn || reentry) return "";
1081 var frame = componentFrameCache.get(fn);
1082 if (void 0 !== frame) return frame;
1083 reentry = true;
1084 frame = Error.prepareStackTrace;
1085 Error.prepareStackTrace = void 0;
1086 var previousDispatcher2 = null;
1087 previousDispatcher2 = ReactSharedInternals.H;
1088 ReactSharedInternals.H = null;
1089 disableLogs();
1090 try {
1091 var RunInRootFrame = {
1092 DetermineComponentFrameRoot: function() {
1093 try {
1094 if (construct) {
1095 var Fake = function() {
1096 throw Error();
1097 };
1098 Object.defineProperty(Fake.prototype, "props", {
1099 set: function() {
1100 throw Error();
1101 }
1102 });
1103 if ("object" === typeof Reflect && Reflect.construct) {
1104 try {
1105 Reflect.construct(Fake, []);
1106 } catch (x) {
1107 var control = x;
1108 }
1109 Reflect.construct(fn, [], Fake);
1110 } else {
1111 try {
1112 Fake.call();
1113 } catch (x$0) {
1114 control = x$0;
1115 }
1116 fn.call(Fake.prototype);
1117 }
1118 } else {
1119 try {
1120 throw Error();
1121 } catch (x$1) {
1122 control = x$1;
1123 }
1124 (Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function() {
1125 });
1126 }
1127 } catch (sample) {
1128 if (sample && control && "string" === typeof sample.stack)
1129 return [sample.stack, control.stack];
1130 }
1131 return [null, null];
1132 }
1133 };
1134 RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot";
1135 var namePropDescriptor = Object.getOwnPropertyDescriptor(
1136 RunInRootFrame.DetermineComponentFrameRoot,
1137 "name"
1138 );
1139 namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(
1140 RunInRootFrame.DetermineComponentFrameRoot,
1141 "name",
1142 { value: "DetermineComponentFrameRoot" }
1143 );
1144 var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];
1145 if (sampleStack && controlStack) {
1146 var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n");
1147 for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes(
1148 "DetermineComponentFrameRoot"
1149 ); )
1150 namePropDescriptor++;
1151 for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes(
1152 "DetermineComponentFrameRoot"
1153 ); )
1154 _RunInRootFrame$Deter++;
1155 if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length)
1156 for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]; )
1157 _RunInRootFrame$Deter--;
1158 for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--)
1159 if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {
1160 if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {
1161 do
1162 if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {
1163 var _frame = "\n" + sampleLines[namePropDescriptor].replace(
1164 " at new ",
1165 " at "
1166 );
1167 fn.displayName && _frame.includes("<anonymous>") && (_frame = _frame.replace("<anonymous>", fn.displayName));
1168 "function" === typeof fn && componentFrameCache.set(fn, _frame);
1169 return _frame;
1170 }
1171 while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);
1172 }
1173 break;
1174 }
1175 }
1176 } finally {
1177 reentry = false, ReactSharedInternals.H = previousDispatcher2, reenableLogs(), Error.prepareStackTrace = frame;
1178 }
1179 sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(sampleLines) : "";
1180 "function" === typeof fn && componentFrameCache.set(fn, sampleLines);
1181 return sampleLines;
1182 }
1183 function describeFiber(fiber, childFiber) {
1184 switch (fiber.tag) {
1185 case 26:
1186 case 27:
1187 case 5:
1188 return describeBuiltInComponentFrame(fiber.type);
1189 case 16:
1190 return describeBuiltInComponentFrame("Lazy");
1191 case 13:
1192 return fiber.child !== childFiber && null !== childFiber ? describeBuiltInComponentFrame("Suspense Fallback") : describeBuiltInComponentFrame("Suspense");
1193 case 19:
1194 return describeBuiltInComponentFrame("SuspenseList");
1195 case 0:
1196 case 15:
1197 return describeNativeComponentFrame(fiber.type, false);
1198 case 11:
1199 return describeNativeComponentFrame(fiber.type.render, false);
1200 case 1:
1201 return describeNativeComponentFrame(fiber.type, true);
1202 case 31:
1203 return describeBuiltInComponentFrame("Activity");
1204 default:
1205 return "";
1206 }
1207 }
1208 function getStackByFiberInDevAndProd(workInProgress2) {
1209 try {
1210 var info = "", previous = null;
1211 do {
1212 info += describeFiber(workInProgress2, previous);
1213 var debugInfo = workInProgress2._debugInfo;
1214 if (debugInfo)
1215 for (var i = debugInfo.length - 1; 0 <= i; i--) {
1216 var entry = debugInfo[i];
1217 if ("string" === typeof entry.name) {
1218 var JSCompiler_temp_const = info;
1219 a: {
1220 var name = entry.name, env = entry.env, location = entry.debugLocation;
1221 if (null != location) {
1222 var childStack = formatOwnerStack(location), idx = childStack.lastIndexOf("\n"), lastLine = -1 === idx ? childStack : childStack.slice(idx + 1);
1223 if (-1 !== lastLine.indexOf(name)) {
1224 var JSCompiler_inline_result = "\n" + lastLine;
1225 break a;
1226 }
1227 }
1228 JSCompiler_inline_result = describeBuiltInComponentFrame(
1229 name + (env ? " [" + env + "]" : "")
1230 );
1231 }
1232 info = JSCompiler_temp_const + JSCompiler_inline_result;
1233 }
1234 }
1235 previous = workInProgress2;
1236 workInProgress2 = workInProgress2.return;
1237 } while (workInProgress2);
1238 return info;
1239 } catch (x) {
1240 return "\nError generating stack: " + x.message + "\n" + x.stack;
1241 }
1242 }
1243 function describeFunctionComponentFrameWithoutLineNumber(fn) {
1244 return (fn = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(fn) : "";
1245 }
1246 function getCurrentFiberOwnerNameInDevOrNull() {
1247 if (null === current) return null;
1248 var owner = current._debugOwner;
1249 return null != owner ? getComponentNameFromOwner(owner) : null;
1250 }
1251 function getCurrentFiberStackInDev() {
1252 if (null === current) return "";
1253 var workInProgress2 = current;
1254 try {
1255 var info = "";
1256 6 === workInProgress2.tag && (workInProgress2 = workInProgress2.return);
1257 switch (workInProgress2.tag) {
1258 case 26:
1259 case 27:
1260 case 5:
1261 info += describeBuiltInComponentFrame(workInProgress2.type);
1262 break;
1263 case 13:
1264 info += describeBuiltInComponentFrame("Suspense");
1265 break;
1266 case 19:
1267 info += describeBuiltInComponentFrame("SuspenseList");
1268 break;
1269 case 31:
1270 info += describeBuiltInComponentFrame("Activity");
1271 break;
1272 case 30:
1273 case 0:
1274 case 15:
1275 case 1:
1276 workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber(
1277 workInProgress2.type
1278 ));
1279 break;
1280 case 11:
1281 workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber(
1282 workInProgress2.type.render
1283 ));
1284 }
1285 for (; workInProgress2; )
1286 if ("number" === typeof workInProgress2.tag) {
1287 var fiber = workInProgress2;
1288 workInProgress2 = fiber._debugOwner;
1289 var debugStack = fiber._debugStack;
1290 if (workInProgress2 && debugStack) {
1291 var formattedStack = formatOwnerStack(debugStack);
1292 "" !== formattedStack && (info += "\n" + formattedStack);
1293 }
1294 } else if (null != workInProgress2.debugStack) {
1295 var ownerStack = workInProgress2.debugStack;
1296 (workInProgress2 = workInProgress2.owner) && ownerStack && (info += "\n" + formatOwnerStack(ownerStack));
1297 } else break;
1298 var JSCompiler_inline_result = info;
1299 } catch (x) {
1300 JSCompiler_inline_result = "\nError generating stack: " + x.message + "\n" + x.stack;
1301 }
1302 return JSCompiler_inline_result;
1303 }
1304 function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) {
1305 var previousFiber = current;
1306 setCurrentFiber(fiber);
1307 try {
1308 return null !== fiber && fiber._debugTask ? fiber._debugTask.run(
1309 callback.bind(null, arg0, arg1, arg2, arg3, arg4)
1310 ) : callback(arg0, arg1, arg2, arg3, arg4);
1311 } finally {
1312 setCurrentFiber(previousFiber);
1313 }
1314 throw Error(
1315 "runWithFiberInDEV should never be called in production. This is a bug in React."
1316 );
1317 }
1318 function setCurrentFiber(fiber) {
1319 ReactSharedInternals.getCurrentStack = null === fiber ? null : getCurrentFiberStackInDev;
1320 isRendering = false;
1321 current = fiber;
1322 }
1323 function typeName(value) {
1324 return "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
1325 }
1326 function willCoercionThrow(value) {
1327 try {
1328 return testStringCoercion(value), false;
1329 } catch (e) {
1330 return true;
1331 }
1332 }
1333 function testStringCoercion(value) {
1334 return "" + value;
1335 }
1336 function checkAttributeStringCoercion(value, attributeName) {
1337 if (willCoercionThrow(value))
1338 return console.error(
1339 "The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.",
1340 attributeName,
1341 typeName(value)
1342 ), testStringCoercion(value);
1343 }
1344 function checkCSSPropertyStringCoercion(value, propName) {
1345 if (willCoercionThrow(value))
1346 return console.error(
1347 "The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.",
1348 propName,
1349 typeName(value)
1350 ), testStringCoercion(value);
1351 }
1352 function checkFormFieldValueStringCoercion(value) {
1353 if (willCoercionThrow(value))
1354 return console.error(
1355 "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.",
1356 typeName(value)
1357 ), testStringCoercion(value);
1358 }
1359 function injectInternals(internals) {
1360 if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return false;
1361 var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;
1362 if (hook.isDisabled) return true;
1363 if (!hook.supportsFiber)
1364 return console.error(
1365 "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"
1366 ), true;
1367 try {
1368 rendererID = hook.inject(internals), injectedHook = hook;
1369 } catch (err) {
1370 console.error("React instrumentation encountered an error: %o.", err);
1371 }
1372 return hook.checkDCE ? true : false;
1373 }
1374 function setIsStrictModeForDevtools(newIsStrictMode) {
1375 "function" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);
1376 if (injectedHook && "function" === typeof injectedHook.setStrictMode)
1377 try {
1378 injectedHook.setStrictMode(rendererID, newIsStrictMode);
1379 } catch (err) {
1380 hasLoggedError || (hasLoggedError = true, console.error(
1381 "React instrumentation encountered an error: %o",
1382 err
1383 ));
1384 }
1385 }
1386 function clz32Fallback(x) {
1387 x >>>= 0;
1388 return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0;
1389 }
1390 function getHighestPriorityLanes(lanes) {
1391 var pendingSyncLanes = lanes & 42;
1392 if (0 !== pendingSyncLanes) return pendingSyncLanes;
1393 switch (lanes & -lanes) {
1394 case 1:
1395 return 1;
1396 case 2:
1397 return 2;
1398 case 4:
1399 return 4;
1400 case 8:
1401 return 8;
1402 case 16:
1403 return 16;
1404 case 32:
1405 return 32;
1406 case 64:
1407 return 64;
1408 case 128:
1409 return 128;
1410 case 256:
1411 case 512:
1412 case 1024:
1413 case 2048:
1414 case 4096:
1415 case 8192:
1416 case 16384:
1417 case 32768:
1418 case 65536:
1419 case 131072:
1420 return lanes & 261888;
1421 case 262144:
1422 case 524288:
1423 case 1048576:
1424 case 2097152:
1425 return lanes & 3932160;
1426 case 4194304:
1427 case 8388608:
1428 case 16777216:
1429 case 33554432:
1430 return lanes & 62914560;
1431 case 67108864:
1432 return 67108864;
1433 case 134217728:
1434 return 134217728;
1435 case 268435456:
1436 return 268435456;
1437 case 536870912:
1438 return 536870912;
1439 case 1073741824:
1440 return 0;
1441 default:
1442 return console.error(
1443 "Should have found matching lanes. This is a bug in React."
1444 ), lanes;
1445 }
1446 }
1447 function getNextLanes(root2, wipLanes, rootHasPendingCommit) {
1448 var pendingLanes = root2.pendingLanes;
1449 if (0 === pendingLanes) return 0;
1450 var nextLanes = 0, suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes;
1451 root2 = root2.warmLanes;
1452 var nonIdlePendingLanes = pendingLanes & 134217727;
1453 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))));
1454 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;
1455 }
1456 function checkIfRootIsPrerendering(root2, renderLanes2) {
1457 return 0 === (root2.pendingLanes & ~(root2.suspendedLanes & ~root2.pingedLanes) & renderLanes2);
1458 }
1459 function computeExpirationTime(lane, currentTime) {
1460 switch (lane) {
1461 case 1:
1462 case 2:
1463 case 4:
1464 case 8:
1465 case 64:
1466 return currentTime + 250;
1467 case 16:
1468 case 32:
1469 case 128:
1470 case 256:
1471 case 512:
1472 case 1024:
1473 case 2048:
1474 case 4096:
1475 case 8192:
1476 case 16384:
1477 case 32768:
1478 case 65536:
1479 case 131072:
1480 case 262144:
1481 case 524288:
1482 case 1048576:
1483 case 2097152:
1484 return currentTime + 5e3;
1485 case 4194304:
1486 case 8388608:
1487 case 16777216:
1488 case 33554432:
1489 return -1;
1490 case 67108864:
1491 case 134217728:
1492 case 268435456:
1493 case 536870912:
1494 case 1073741824:
1495 return -1;
1496 default:
1497 return console.error(
1498 "Should have found matching lanes. This is a bug in React."
1499 ), -1;
1500 }
1501 }
1502 function claimNextRetryLane() {
1503 var lane = nextRetryLane;
1504 nextRetryLane <<= 1;
1505 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);
1506 return lane;
1507 }
1508 function createLaneMap(initial) {
1509 for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);
1510 return laneMap;
1511 }
1512 function markRootUpdated$1(root2, updateLane) {
1513 root2.pendingLanes |= updateLane;
1514 268435456 !== updateLane && (root2.suspendedLanes = 0, root2.pingedLanes = 0, root2.warmLanes = 0);
1515 }
1516 function markRootFinished(root2, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) {
1517 var previouslyPendingLanes = root2.pendingLanes;
1518 root2.pendingLanes = remainingLanes;
1519 root2.suspendedLanes = 0;
1520 root2.pingedLanes = 0;
1521 root2.warmLanes = 0;
1522 root2.expiredLanes &= remainingLanes;
1523 root2.entangledLanes &= remainingLanes;
1524 root2.errorRecoveryDisabledLanes &= remainingLanes;
1525 root2.shellSuspendCounter = 0;
1526 var entanglements = root2.entanglements, expirationTimes = root2.expirationTimes, hiddenUpdates = root2.hiddenUpdates;
1527 for (remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes; ) {
1528 var index = 31 - clz32(remainingLanes), lane = 1 << index;
1529 entanglements[index] = 0;
1530 expirationTimes[index] = -1;
1531 var hiddenUpdatesForLane = hiddenUpdates[index];
1532 if (null !== hiddenUpdatesForLane)
1533 for (hiddenUpdates[index] = null, index = 0; index < hiddenUpdatesForLane.length; index++) {
1534 var update = hiddenUpdatesForLane[index];
1535 null !== update && (update.lane &= -536870913);
1536 }
1537 remainingLanes &= ~lane;
1538 }
1539 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, 0);
1540 0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root2.tag && (root2.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));
1541 }
1542 function markSpawnedDeferredLane(root2, spawnedLane, entangledLanes) {
1543 root2.pendingLanes |= spawnedLane;
1544 root2.suspendedLanes &= ~spawnedLane;
1545 var spawnedLaneIndex = 31 - clz32(spawnedLane);
1546 root2.entangledLanes |= spawnedLane;
1547 root2.entanglements[spawnedLaneIndex] = root2.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 261930;
1548 }
1549 function markRootEntangled(root2, entangledLanes) {
1550 var rootEntangledLanes = root2.entangledLanes |= entangledLanes;
1551 for (root2 = root2.entanglements; rootEntangledLanes; ) {
1552 var index = 31 - clz32(rootEntangledLanes), lane = 1 << index;
1553 lane & entangledLanes | root2[index] & entangledLanes && (root2[index] |= entangledLanes);
1554 rootEntangledLanes &= ~lane;
1555 }
1556 }
1557 function getBumpedLaneForHydration(root2, renderLanes2) {
1558 var renderLane = renderLanes2 & -renderLanes2;
1559 renderLane = 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane);
1560 return 0 !== (renderLane & (root2.suspendedLanes | renderLanes2)) ? 0 : renderLane;
1561 }
1562 function getBumpedLaneForHydrationByLane(lane) {
1563 switch (lane) {
1564 case 2:
1565 lane = 1;
1566 break;
1567 case 8:
1568 lane = 4;
1569 break;
1570 case 32:
1571 lane = 16;
1572 break;
1573 case 256:
1574 case 512:
1575 case 1024:
1576 case 2048:
1577 case 4096:
1578 case 8192:
1579 case 16384:
1580 case 32768:
1581 case 65536:
1582 case 131072:
1583 case 262144:
1584 case 524288:
1585 case 1048576:
1586 case 2097152:
1587 case 4194304:
1588 case 8388608:
1589 case 16777216:
1590 case 33554432:
1591 lane = 128;
1592 break;
1593 case 268435456:
1594 lane = 134217728;
1595 break;
1596 default:
1597 lane = 0;
1598 }
1599 return lane;
1600 }
1601 function addFiberToLanesMap(root2, fiber, lanes) {
1602 if (isDevToolsPresent)
1603 for (root2 = root2.pendingUpdatersLaneMap; 0 < lanes; ) {
1604 var index = 31 - clz32(lanes), lane = 1 << index;
1605 root2[index].add(fiber);
1606 lanes &= ~lane;
1607 }
1608 }
1609 function movePendingFibersToMemoized(root2, lanes) {
1610 if (isDevToolsPresent)
1611 for (var pendingUpdatersLaneMap = root2.pendingUpdatersLaneMap, memoizedUpdaters = root2.memoizedUpdaters; 0 < lanes; ) {
1612 var index = 31 - clz32(lanes);
1613 root2 = 1 << index;
1614 index = pendingUpdatersLaneMap[index];
1615 0 < index.size && (index.forEach(function(fiber) {
1616 var alternate = fiber.alternate;
1617 null !== alternate && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber);
1618 }), index.clear());
1619 lanes &= ~root2;
1620 }
1621 }
1622 function lanesToEventPriority(lanes) {
1623 lanes &= -lanes;
1624 return 0 !== DiscreteEventPriority && DiscreteEventPriority < lanes ? 0 !== ContinuousEventPriority && ContinuousEventPriority < lanes ? 0 !== (lanes & 134217727) ? DefaultEventPriority : IdleEventPriority : ContinuousEventPriority : DiscreteEventPriority;
1625 }
1626 function resolveUpdatePriority() {
1627 var updatePriority = ReactDOMSharedInternals.p;
1628 if (0 !== updatePriority) return updatePriority;
1629 updatePriority = window.event;
1630 return void 0 === updatePriority ? DefaultEventPriority : getEventPriority(updatePriority.type);
1631 }
1632 function runWithPriority(priority, fn) {
1633 var previousPriority = ReactDOMSharedInternals.p;
1634 try {
1635 return ReactDOMSharedInternals.p = priority, fn();
1636 } finally {
1637 ReactDOMSharedInternals.p = previousPriority;
1638 }
1639 }
1640 function detachDeletedInstance(node) {
1641 delete node[internalInstanceKey];
1642 delete node[internalPropsKey];
1643 delete node[internalEventHandlersKey];
1644 delete node[internalEventHandlerListenersKey];
1645 delete node[internalEventHandlesSetKey];
1646 }
1647 function getClosestInstanceFromNode(targetNode) {
1648 var targetInst = targetNode[internalInstanceKey];
1649 if (targetInst) return targetInst;
1650 for (var parentNode = targetNode.parentNode; parentNode; ) {
1651 if (targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]) {
1652 parentNode = targetInst.alternate;
1653 if (null !== targetInst.child || null !== parentNode && null !== parentNode.child)
1654 for (targetNode = getParentHydrationBoundary(targetNode); null !== targetNode; ) {
1655 if (parentNode = targetNode[internalInstanceKey])
1656 return parentNode;
1657 targetNode = getParentHydrationBoundary(targetNode);
1658 }
1659 return targetInst;
1660 }
1661 targetNode = parentNode;
1662 parentNode = targetNode.parentNode;
1663 }
1664 return null;
1665 }
1666 function getInstanceFromNode(node) {
1667 if (node = node[internalInstanceKey] || node[internalContainerInstanceKey]) {
1668 var tag = node.tag;
1669 if (5 === tag || 6 === tag || 13 === tag || 31 === tag || 26 === tag || 27 === tag || 3 === tag)
1670 return node;
1671 }
1672 return null;
1673 }
1674 function getNodeFromInstance(inst) {
1675 var tag = inst.tag;
1676 if (5 === tag || 26 === tag || 27 === tag || 6 === tag)
1677 return inst.stateNode;
1678 throw Error("getNodeFromInstance: Invalid argument.");
1679 }
1680 function getResourcesFromRoot(root2) {
1681 var resources = root2[internalRootNodeResourcesKey];
1682 resources || (resources = root2[internalRootNodeResourcesKey] = { hoistableStyles: /* @__PURE__ */ new Map(), hoistableScripts: /* @__PURE__ */ new Map() });
1683 return resources;
1684 }
1685 function markNodeAsHoistable(node) {
1686 node[internalHoistableMarker] = true;
1687 }
1688 function registerTwoPhaseEvent(registrationName, dependencies) {
1689 registerDirectEvent(registrationName, dependencies);
1690 registerDirectEvent(registrationName + "Capture", dependencies);
1691 }
1692 function registerDirectEvent(registrationName, dependencies) {
1693 registrationNameDependencies[registrationName] && console.error(
1694 "EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.",
1695 registrationName
1696 );
1697 registrationNameDependencies[registrationName] = dependencies;
1698 var lowerCasedName = registrationName.toLowerCase();
1699 possibleRegistrationNames[lowerCasedName] = registrationName;
1700 "onDoubleClick" === registrationName && (possibleRegistrationNames.ondblclick = registrationName);
1701 for (registrationName = 0; registrationName < dependencies.length; registrationName++)
1702 allNativeEvents.add(dependencies[registrationName]);
1703 }
1704 function checkControlledValueProps(tagName, props) {
1705 hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || null == props.value || ("select" === tagName ? console.error(
1706 "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`."
1707 ) : console.error(
1708 "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`."
1709 ));
1710 props.onChange || props.readOnly || props.disabled || null == props.checked || console.error(
1711 "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`."
1712 );
1713 }
1714 function isAttributeNameSafe(attributeName) {
1715 if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))
1716 return true;
1717 if (hasOwnProperty.call(illegalAttributeNameCache, attributeName))
1718 return false;
1719 if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))
1720 return validatedAttributeNameCache[attributeName] = true;
1721 illegalAttributeNameCache[attributeName] = true;
1722 console.error("Invalid attribute name: `%s`", attributeName);
1723 return false;
1724 }
1725 function getValueForAttributeOnCustomComponent(node, name, expected) {
1726 if (isAttributeNameSafe(name)) {
1727 if (!node.hasAttribute(name)) {
1728 switch (typeof expected) {
1729 case "symbol":
1730 case "object":
1731 return expected;
1732 case "function":
1733 return expected;
1734 case "boolean":
1735 if (false === expected) return expected;
1736 }
1737 return void 0 === expected ? void 0 : null;
1738 }
1739 node = node.getAttribute(name);
1740 if ("" === node && true === expected) return true;
1741 checkAttributeStringCoercion(expected, name);
1742 return node === "" + expected ? expected : node;
1743 }
1744 }
1745 function setValueForAttribute(node, name, value) {
1746 if (isAttributeNameSafe(name))
1747 if (null === value) node.removeAttribute(name);
1748 else {
1749 switch (typeof value) {
1750 case "undefined":
1751 case "function":
1752 case "symbol":
1753 node.removeAttribute(name);
1754 return;
1755 case "boolean":
1756 var prefix2 = name.toLowerCase().slice(0, 5);
1757 if ("data-" !== prefix2 && "aria-" !== prefix2) {
1758 node.removeAttribute(name);
1759 return;
1760 }
1761 }
1762 checkAttributeStringCoercion(value, name);
1763 node.setAttribute(name, "" + value);
1764 }
1765 }
1766 function setValueForKnownAttribute(node, name, value) {
1767 if (null === value) node.removeAttribute(name);
1768 else {
1769 switch (typeof value) {
1770 case "undefined":
1771 case "function":
1772 case "symbol":
1773 case "boolean":
1774 node.removeAttribute(name);
1775 return;
1776 }
1777 checkAttributeStringCoercion(value, name);
1778 node.setAttribute(name, "" + value);
1779 }
1780 }
1781 function setValueForNamespacedAttribute(node, namespace, name, value) {
1782 if (null === value) node.removeAttribute(name);
1783 else {
1784 switch (typeof value) {
1785 case "undefined":
1786 case "function":
1787 case "symbol":
1788 case "boolean":
1789 node.removeAttribute(name);
1790 return;
1791 }
1792 checkAttributeStringCoercion(value, name);
1793 node.setAttributeNS(namespace, name, "" + value);
1794 }
1795 }
1796 function getToStringValue(value) {
1797 switch (typeof value) {
1798 case "bigint":
1799 case "boolean":
1800 case "number":
1801 case "string":
1802 case "undefined":
1803 return value;
1804 case "object":
1805 return checkFormFieldValueStringCoercion(value), value;
1806 default:
1807 return "";
1808 }
1809 }
1810 function isCheckable(elem) {
1811 var type = elem.type;
1812 return (elem = elem.nodeName) && "input" === elem.toLowerCase() && ("checkbox" === type || "radio" === type);
1813 }
1814 function trackValueOnNode(node, valueField, currentValue) {
1815 var descriptor = Object.getOwnPropertyDescriptor(
1816 node.constructor.prototype,
1817 valueField
1818 );
1819 if (!node.hasOwnProperty(valueField) && "undefined" !== typeof descriptor && "function" === typeof descriptor.get && "function" === typeof descriptor.set) {
1820 var get = descriptor.get, set = descriptor.set;
1821 Object.defineProperty(node, valueField, {
1822 configurable: true,
1823 get: function() {
1824 return get.call(this);
1825 },
1826 set: function(value) {
1827 checkFormFieldValueStringCoercion(value);
1828 currentValue = "" + value;
1829 set.call(this, value);
1830 }
1831 });
1832 Object.defineProperty(node, valueField, {
1833 enumerable: descriptor.enumerable
1834 });
1835 return {
1836 getValue: function() {
1837 return currentValue;
1838 },
1839 setValue: function(value) {
1840 checkFormFieldValueStringCoercion(value);
1841 currentValue = "" + value;
1842 },
1843 stopTracking: function() {
1844 node._valueTracker = null;
1845 delete node[valueField];
1846 }
1847 };
1848 }
1849 }
1850 function track(node) {
1851 if (!node._valueTracker) {
1852 var valueField = isCheckable(node) ? "checked" : "value";
1853 node._valueTracker = trackValueOnNode(
1854 node,
1855 valueField,
1856 "" + node[valueField]
1857 );
1858 }
1859 }
1860 function updateValueIfChanged(node) {
1861 if (!node) return false;
1862 var tracker = node._valueTracker;
1863 if (!tracker) return true;
1864 var lastValue = tracker.getValue();
1865 var value = "";
1866 node && (value = isCheckable(node) ? node.checked ? "true" : "false" : node.value);
1867 node = value;
1868 return node !== lastValue ? (tracker.setValue(node), true) : false;
1869 }
1870 function getActiveElement(doc) {
1871 doc = doc || ("undefined" !== typeof document ? document : void 0);
1872 if ("undefined" === typeof doc) return null;
1873 try {
1874 return doc.activeElement || doc.body;
1875 } catch (e) {
1876 return doc.body;
1877 }
1878 }
1879 function escapeSelectorAttributeValueInsideDoubleQuotes(value) {
1880 return value.replace(
1881 escapeSelectorAttributeValueInsideDoubleQuotesRegex,
1882 function(ch) {
1883 return "\\" + ch.charCodeAt(0).toString(16) + " ";
1884 }
1885 );
1886 }
1887 function validateInputProps(element, props) {
1888 void 0 === props.checked || void 0 === props.defaultChecked || didWarnCheckedDefaultChecked || (console.error(
1889 "%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",
1890 getCurrentFiberOwnerNameInDevOrNull() || "A component",
1891 props.type
1892 ), didWarnCheckedDefaultChecked = true);
1893 void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue$1 || (console.error(
1894 "%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",
1895 getCurrentFiberOwnerNameInDevOrNull() || "A component",
1896 props.type
1897 ), didWarnValueDefaultValue$1 = true);
1898 }
1899 function updateInput(element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name) {
1900 element.name = "";
1901 null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type ? (checkAttributeStringCoercion(type, "type"), element.type = type) : element.removeAttribute("type");
1902 if (null != value)
1903 if ("number" === type) {
1904 if (0 === value && "" === element.value || element.value != value)
1905 element.value = "" + getToStringValue(value);
1906 } else
1907 element.value !== "" + getToStringValue(value) && (element.value = "" + getToStringValue(value));
1908 else
1909 "submit" !== type && "reset" !== type || element.removeAttribute("value");
1910 null != value ? setDefaultValue(element, type, getToStringValue(value)) : null != defaultValue ? setDefaultValue(element, type, getToStringValue(defaultValue)) : null != lastDefaultValue && element.removeAttribute("value");
1911 null == checked && null != defaultChecked && (element.defaultChecked = !!defaultChecked);
1912 null != checked && (element.checked = checked && "function" !== typeof checked && "symbol" !== typeof checked);
1913 null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name ? (checkAttributeStringCoercion(name, "name"), element.name = "" + getToStringValue(name)) : element.removeAttribute("name");
1914 }
1915 function initInput(element, value, defaultValue, checked, defaultChecked, type, name, isHydrating2) {
1916 null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type && (checkAttributeStringCoercion(type, "type"), element.type = type);
1917 if (null != value || null != defaultValue) {
1918 if (!("submit" !== type && "reset" !== type || void 0 !== value && null !== value)) {
1919 track(element);
1920 return;
1921 }
1922 defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : "";
1923 value = null != value ? "" + getToStringValue(value) : defaultValue;
1924 isHydrating2 || value === element.value || (element.value = value);
1925 element.defaultValue = value;
1926 }
1927 checked = null != checked ? checked : defaultChecked;
1928 checked = "function" !== typeof checked && "symbol" !== typeof checked && !!checked;
1929 element.checked = isHydrating2 ? element.checked : !!checked;
1930 element.defaultChecked = !!checked;
1931 null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name && (checkAttributeStringCoercion(name, "name"), element.name = name);
1932 track(element);
1933 }
1934 function setDefaultValue(node, type, value) {
1935 "number" === type && getActiveElement(node.ownerDocument) === node || node.defaultValue === "" + value || (node.defaultValue = "" + value);
1936 }
1937 function validateOptionProps(element, props) {
1938 null == props.value && ("object" === typeof props.children && null !== props.children ? React.Children.forEach(props.children, function(child) {
1939 null == child || "string" === typeof child || "number" === typeof child || "bigint" === typeof child || didWarnInvalidChild || (didWarnInvalidChild = true, console.error(
1940 "Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>."
1941 ));
1942 }) : null == props.dangerouslySetInnerHTML || didWarnInvalidInnerHTML || (didWarnInvalidInnerHTML = true, console.error(
1943 "Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected."
1944 )));
1945 null == props.selected || didWarnSelectedSetOnOption || (console.error(
1946 "Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>."
1947 ), didWarnSelectedSetOnOption = true);
1948 }
1949 function getDeclarationErrorAddendum() {
1950 var ownerName = getCurrentFiberOwnerNameInDevOrNull();
1951 return ownerName ? "\n\nCheck the render method of `" + ownerName + "`." : "";
1952 }
1953 function updateOptions(node, multiple, propValue, setDefaultSelected) {
1954 node = node.options;
1955 if (multiple) {
1956 multiple = {};
1957 for (var i = 0; i < propValue.length; i++)
1958 multiple["$" + propValue[i]] = true;
1959 for (propValue = 0; propValue < node.length; propValue++)
1960 i = multiple.hasOwnProperty("$" + node[propValue].value), node[propValue].selected !== i && (node[propValue].selected = i), i && setDefaultSelected && (node[propValue].defaultSelected = true);
1961 } else {
1962 propValue = "" + getToStringValue(propValue);
1963 multiple = null;
1964 for (i = 0; i < node.length; i++) {
1965 if (node[i].value === propValue) {
1966 node[i].selected = true;
1967 setDefaultSelected && (node[i].defaultSelected = true);
1968 return;
1969 }
1970 null !== multiple || node[i].disabled || (multiple = node[i]);
1971 }
1972 null !== multiple && (multiple.selected = true);
1973 }
1974 }
1975 function validateSelectProps(element, props) {
1976 for (element = 0; element < valuePropNames.length; element++) {
1977 var propName = valuePropNames[element];
1978 if (null != props[propName]) {
1979 var propNameIsArray = isArrayImpl(props[propName]);
1980 props.multiple && !propNameIsArray ? console.error(
1981 "The `%s` prop supplied to <select> must be an array if `multiple` is true.%s",
1982 propName,
1983 getDeclarationErrorAddendum()
1984 ) : !props.multiple && propNameIsArray && console.error(
1985 "The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s",
1986 propName,
1987 getDeclarationErrorAddendum()
1988 );
1989 }
1990 }
1991 void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue || (console.error(
1992 "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"
1993 ), didWarnValueDefaultValue = true);
1994 }
1995 function validateTextareaProps(element, props) {
1996 void 0 === props.value || void 0 === props.defaultValue || didWarnValDefaultVal || (console.error(
1997 "%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",
1998 getCurrentFiberOwnerNameInDevOrNull() || "A component"
1999 ), didWarnValDefaultVal = true);
2000 null != props.children && null == props.value && console.error(
2001 "Use the `defaultValue` or `value` props instead of setting children on <textarea>."
2002 );
2003 }
2004 function updateTextarea(element, value, defaultValue) {
2005 if (null != value && (value = "" + getToStringValue(value), value !== element.value && (element.value = value), null == defaultValue)) {
2006 element.defaultValue !== value && (element.defaultValue = value);
2007 return;
2008 }
2009 element.defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : "";
2010 }
2011 function initTextarea(element, value, defaultValue, children) {
2012 if (null == value) {
2013 if (null != children) {
2014 if (null != defaultValue)
2015 throw Error(
2016 "If you supply `defaultValue` on a <textarea>, do not pass children."
2017 );
2018 if (isArrayImpl(children)) {
2019 if (1 < children.length)
2020 throw Error("<textarea> can only have at most one child.");
2021 children = children[0];
2022 }
2023 defaultValue = children;
2024 }
2025 null == defaultValue && (defaultValue = "");
2026 value = defaultValue;
2027 }
2028 defaultValue = getToStringValue(value);
2029 element.defaultValue = defaultValue;
2030 children = element.textContent;
2031 children === defaultValue && "" !== children && null !== children && (element.value = children);
2032 track(element);
2033 }
2034 function findNotableNode(node, indent) {
2035 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;
2036 }
2037 function indentation(indent) {
2038 return " " + " ".repeat(indent);
2039 }
2040 function added(indent) {
2041 return "+ " + " ".repeat(indent);
2042 }
2043 function removed(indent) {
2044 return "- " + " ".repeat(indent);
2045 }
2046 function describeFiberType(fiber) {
2047 switch (fiber.tag) {
2048 case 26:
2049 case 27:
2050 case 5:
2051 return fiber.type;
2052 case 16:
2053 return "Lazy";
2054 case 31:
2055 return "Activity";
2056 case 13:
2057 return "Suspense";
2058 case 19:
2059 return "SuspenseList";
2060 case 0:
2061 case 15:
2062 return fiber = fiber.type, fiber.displayName || fiber.name || null;
2063 case 11:
2064 return fiber = fiber.type.render, fiber.displayName || fiber.name || null;
2065 case 1:
2066 return fiber = fiber.type, fiber.displayName || fiber.name || null;
2067 default:
2068 return null;
2069 }
2070 }
2071 function describeTextNode(content, maxLength) {
2072 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;
2073 }
2074 function describeTextDiff(clientText, serverProps, indent) {
2075 var maxLength = 120 - 2 * indent;
2076 if (null === serverProps)
2077 return added(indent) + describeTextNode(clientText, maxLength) + "\n";
2078 if ("string" === typeof serverProps) {
2079 for (var firstDiff = 0; firstDiff < serverProps.length && firstDiff < clientText.length && serverProps.charCodeAt(firstDiff) === clientText.charCodeAt(firstDiff); firstDiff++) ;
2080 firstDiff > maxLength - 8 && 10 < firstDiff && (clientText = "..." + clientText.slice(firstDiff - 8), serverProps = "..." + serverProps.slice(firstDiff - 8));
2081 return added(indent) + describeTextNode(clientText, maxLength) + "\n" + removed(indent) + describeTextNode(serverProps, maxLength) + "\n";
2082 }
2083 return indentation(indent) + describeTextNode(clientText, maxLength) + "\n";
2084 }
2085 function objectName(object) {
2086 return Object.prototype.toString.call(object).replace(/^\[object (.*)\]$/, function(m, p0) {
2087 return p0;
2088 });
2089 }
2090 function describeValue(value, maxLength) {
2091 switch (typeof value) {
2092 case "string":
2093 return value = JSON.stringify(value), value.length > maxLength ? 5 > maxLength ? '"..."' : value.slice(0, maxLength - 4) + '..."' : value;
2094 case "object":
2095 if (null === value) return "null";
2096 if (isArrayImpl(value)) return "[...]";
2097 if (value.$$typeof === REACT_ELEMENT_TYPE)
2098 return (maxLength = getComponentNameFromType(value.type)) ? "<" + maxLength + ">" : "<...>";
2099 var name = objectName(value);
2100 if ("Object" === name) {
2101 name = "";
2102 maxLength -= 2;
2103 for (var propName in value)
2104 if (value.hasOwnProperty(propName)) {
2105 var jsonPropName = JSON.stringify(propName);
2106 jsonPropName !== '"' + propName + '"' && (propName = jsonPropName);
2107 maxLength -= propName.length - 2;
2108 jsonPropName = describeValue(
2109 value[propName],
2110 15 > maxLength ? maxLength : 15
2111 );
2112 maxLength -= jsonPropName.length;
2113 if (0 > maxLength) {
2114 name += "" === name ? "..." : ", ...";
2115 break;
2116 }
2117 name += ("" === name ? "" : ",") + propName + ":" + jsonPropName;
2118 }
2119 return "{" + name + "}";
2120 }
2121 return name;
2122 case "function":
2123 return (maxLength = value.displayName || value.name) ? "function " + maxLength : "function";
2124 default:
2125 return String(value);
2126 }
2127 }
2128 function describePropValue(value, maxLength) {
2129 return "string" !== typeof value || needsEscaping.test(value) ? "{" + describeValue(value, maxLength - 2) + "}" : value.length > maxLength - 2 ? 5 > maxLength ? '"..."' : '"' + value.slice(0, maxLength - 5) + '..."' : '"' + value + '"';
2130 }
2131 function describeExpandedElement(type, props, rowPrefix) {
2132 var remainingRowLength = 120 - rowPrefix.length - type.length, properties = [], propName;
2133 for (propName in props)
2134 if (props.hasOwnProperty(propName) && "children" !== propName) {
2135 var propValue = describePropValue(
2136 props[propName],
2137 120 - rowPrefix.length - propName.length - 1
2138 );
2139 remainingRowLength -= propName.length + propValue.length + 2;
2140 properties.push(propName + "=" + propValue);
2141 }
2142 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";
2143 }
2144 function describePropertiesDiff(clientObject, serverObject, indent) {
2145 var properties = "", remainingServerProperties = assign({}, serverObject), propName;
2146 for (propName in clientObject)
2147 if (clientObject.hasOwnProperty(propName)) {
2148 delete remainingServerProperties[propName];
2149 var maxLength = 120 - 2 * indent - propName.length - 2, clientPropValue = describeValue(clientObject[propName], maxLength);
2150 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";
2151 }
2152 for (var _propName in remainingServerProperties)
2153 remainingServerProperties.hasOwnProperty(_propName) && (clientObject = describeValue(
2154 remainingServerProperties[_propName],
2155 120 - 2 * indent - _propName.length - 2
2156 ), properties += removed(indent) + _propName + ": " + clientObject + "\n");
2157 return properties;
2158 }
2159 function describeElementDiff(type, clientProps, serverProps, indent) {
2160 var content = "", serverPropNames = /* @__PURE__ */ new Map();
2161 for (propName$jscomp$0 in serverProps)
2162 serverProps.hasOwnProperty(propName$jscomp$0) && serverPropNames.set(
2163 propName$jscomp$0.toLowerCase(),
2164 propName$jscomp$0
2165 );
2166 if (1 === serverPropNames.size && serverPropNames.has("children"))
2167 content += describeExpandedElement(
2168 type,
2169 clientProps,
2170 indentation(indent)
2171 );
2172 else {
2173 for (var _propName2 in clientProps)
2174 if (clientProps.hasOwnProperty(_propName2) && "children" !== _propName2) {
2175 var maxLength$jscomp$0 = 120 - 2 * (indent + 1) - _propName2.length - 1, serverPropName = serverPropNames.get(_propName2.toLowerCase());
2176 if (void 0 !== serverPropName) {
2177 serverPropNames.delete(_propName2.toLowerCase());
2178 var propName$jscomp$0 = clientProps[_propName2];
2179 serverPropName = serverProps[serverPropName];
2180 var clientPropValue = describePropValue(
2181 propName$jscomp$0,
2182 maxLength$jscomp$0
2183 );
2184 maxLength$jscomp$0 = describePropValue(
2185 serverPropName,
2186 maxLength$jscomp$0
2187 );
2188 "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(
2189 propName$jscomp$0,
2190 serverPropName,
2191 indent + 2
2192 ) + indentation(indent + 1) + "}}\n" : (content += added(indent + 1) + _propName2 + "=" + clientPropValue + "\n", content += removed(indent + 1) + _propName2 + "=" + maxLength$jscomp$0 + "\n");
2193 } else
2194 content += indentation(indent + 1) + _propName2 + "=" + describePropValue(clientProps[_propName2], maxLength$jscomp$0) + "\n";
2195 }
2196 serverPropNames.forEach(function(propName) {
2197 if ("children" !== propName) {
2198 var maxLength = 120 - 2 * (indent + 1) - propName.length - 1;
2199 content += removed(indent + 1) + propName + "=" + describePropValue(serverProps[propName], maxLength) + "\n";
2200 }
2201 });
2202 content = "" === content ? indentation(indent) + "<" + type + ">\n" : indentation(indent) + "<" + type + "\n" + content + indentation(indent) + ">\n";
2203 }
2204 type = serverProps.children;
2205 clientProps = clientProps.children;
2206 if ("string" === typeof type || "number" === typeof type || "bigint" === typeof type) {
2207 serverPropNames = "";
2208 if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps)
2209 serverPropNames = "" + clientProps;
2210 content += describeTextDiff(serverPropNames, "" + type, indent + 1);
2211 } else if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps)
2212 content = null == type ? content + describeTextDiff("" + clientProps, null, indent + 1) : content + describeTextDiff("" + clientProps, void 0, indent + 1);
2213 return content;
2214 }
2215 function describeSiblingFiber(fiber, indent) {
2216 var type = describeFiberType(fiber);
2217 if (null === type) {
2218 type = "";
2219 for (fiber = fiber.child; fiber; )
2220 type += describeSiblingFiber(fiber, indent), fiber = fiber.sibling;
2221 return type;
2222 }
2223 return indentation(indent) + "<" + type + ">\n";
2224 }
2225 function describeNode(node, indent) {
2226 var skipToNode = findNotableNode(node, indent);
2227 if (skipToNode !== node && (1 !== node.children.length || node.children[0] !== skipToNode))
2228 return indentation(indent) + "...\n" + describeNode(skipToNode, indent + 1);
2229 skipToNode = "";
2230 var debugInfo = node.fiber._debugInfo;
2231 if (debugInfo)
2232 for (var i = 0; i < debugInfo.length; i++) {
2233 var serverComponentName = debugInfo[i].name;
2234 "string" === typeof serverComponentName && (skipToNode += indentation(indent) + "<" + serverComponentName + ">\n", indent++);
2235 }
2236 debugInfo = "";
2237 i = node.fiber.pendingProps;
2238 if (6 === node.fiber.tag)
2239 debugInfo = describeTextDiff(i, node.serverProps, indent), indent++;
2240 else if (serverComponentName = describeFiberType(node.fiber), null !== serverComponentName)
2241 if (void 0 === node.serverProps) {
2242 debugInfo = indent;
2243 var maxLength = 120 - 2 * debugInfo - serverComponentName.length - 2, content = "";
2244 for (propName in i)
2245 if (i.hasOwnProperty(propName) && "children" !== propName) {
2246 var propValue = describePropValue(i[propName], 15);
2247 maxLength -= propName.length + propValue.length + 2;
2248 if (0 > maxLength) {
2249 content += " ...";
2250 break;
2251 }
2252 content += " " + propName + "=" + propValue;
2253 }
2254 debugInfo = indentation(debugInfo) + "<" + serverComponentName + content + ">\n";
2255 indent++;
2256 } else
2257 null === node.serverProps ? (debugInfo = describeExpandedElement(
2258 serverComponentName,
2259 i,
2260 added(indent)
2261 ), indent++) : "string" === typeof node.serverProps ? console.error(
2262 "Should not have matched a non HostText fiber to a Text node. This is a bug in React."
2263 ) : (debugInfo = describeElementDiff(
2264 serverComponentName,
2265 i,
2266 node.serverProps,
2267 indent
2268 ), indent++);
2269 var propName = "";
2270 i = node.fiber.child;
2271 for (serverComponentName = 0; i && serverComponentName < node.children.length; )
2272 maxLength = node.children[serverComponentName], maxLength.fiber === i ? (propName += describeNode(maxLength, indent), serverComponentName++) : propName += describeSiblingFiber(i, indent), i = i.sibling;
2273 i && 0 < node.children.length && (propName += indentation(indent) + "...\n");
2274 i = node.serverTail;
2275 null === node.serverProps && indent--;
2276 for (node = 0; node < i.length; node++)
2277 serverComponentName = i[node], propName = "string" === typeof serverComponentName ? propName + (removed(indent) + describeTextNode(serverComponentName, 120 - 2 * indent) + "\n") : propName + describeExpandedElement(
2278 serverComponentName.type,
2279 serverComponentName.props,
2280 removed(indent)
2281 );
2282 return skipToNode + debugInfo + propName;
2283 }
2284 function describeDiff(rootNode) {
2285 try {
2286 return "\n\n" + describeNode(rootNode, 0);
2287 } catch (x) {
2288 return "";
2289 }
2290 }
2291 function describeAncestors(ancestor, child, props) {
2292 for (var fiber = child, node = null, distanceFromLeaf = 0; fiber; )
2293 fiber === ancestor && (distanceFromLeaf = 0), node = {
2294 fiber,
2295 children: null !== node ? [node] : [],
2296 serverProps: fiber === child ? props : fiber === ancestor ? null : void 0,
2297 serverTail: [],
2298 distanceFromLeaf
2299 }, distanceFromLeaf++, fiber = fiber.return;
2300 return null !== node ? describeDiff(node).replaceAll(/^[+-]/gm, ">") : "";
2301 }
2302 function updatedAncestorInfoDev(oldInfo, tag) {
2303 var ancestorInfo = assign({}, oldInfo || emptyAncestorInfoDev), info = { tag };
2304 -1 !== inScopeTags.indexOf(tag) && (ancestorInfo.aTagInScope = null, ancestorInfo.buttonTagInScope = null, ancestorInfo.nobrTagInScope = null);
2305 -1 !== buttonScopeTags.indexOf(tag) && (ancestorInfo.pTagInButtonScope = null);
2306 -1 !== specialTags.indexOf(tag) && "address" !== tag && "div" !== tag && "p" !== tag && (ancestorInfo.listItemTagAutoclosing = null, ancestorInfo.dlItemTagAutoclosing = null);
2307 ancestorInfo.current = info;
2308 "form" === tag && (ancestorInfo.formTag = info);
2309 "a" === tag && (ancestorInfo.aTagInScope = info);
2310 "button" === tag && (ancestorInfo.buttonTagInScope = info);
2311 "nobr" === tag && (ancestorInfo.nobrTagInScope = info);
2312 "p" === tag && (ancestorInfo.pTagInButtonScope = info);
2313 "li" === tag && (ancestorInfo.listItemTagAutoclosing = info);
2314 if ("dd" === tag || "dt" === tag)
2315 ancestorInfo.dlItemTagAutoclosing = info;
2316 "#document" === tag || "html" === tag ? ancestorInfo.containerTagInScope = null : ancestorInfo.containerTagInScope || (ancestorInfo.containerTagInScope = info);
2317 null !== oldInfo || "#document" !== tag && "html" !== tag && "body" !== tag ? true === ancestorInfo.implicitRootScope && (ancestorInfo.implicitRootScope = false) : ancestorInfo.implicitRootScope = true;
2318 return ancestorInfo;
2319 }
2320 function isTagValidWithParent(tag, parentTag, implicitRootScope) {
2321 switch (parentTag) {
2322 case "select":
2323 return "hr" === tag || "option" === tag || "optgroup" === tag || "script" === tag || "template" === tag || "#text" === tag;
2324 case "optgroup":
2325 return "option" === tag || "#text" === tag;
2326 case "option":
2327 return "#text" === tag;
2328 case "tr":
2329 return "th" === tag || "td" === tag || "style" === tag || "script" === tag || "template" === tag;
2330 case "tbody":
2331 case "thead":
2332 case "tfoot":
2333 return "tr" === tag || "style" === tag || "script" === tag || "template" === tag;
2334 case "colgroup":
2335 return "col" === tag || "template" === tag;
2336 case "table":
2337 return "caption" === tag || "colgroup" === tag || "tbody" === tag || "tfoot" === tag || "thead" === tag || "style" === tag || "script" === tag || "template" === tag;
2338 case "head":
2339 return "base" === tag || "basefont" === tag || "bgsound" === tag || "link" === tag || "meta" === tag || "title" === tag || "noscript" === tag || "noframes" === tag || "style" === tag || "script" === tag || "template" === tag;
2340 case "html":
2341 if (implicitRootScope) break;
2342 return "head" === tag || "body" === tag || "frameset" === tag;
2343 case "frameset":
2344 return "frame" === tag;
2345 case "#document":
2346 if (!implicitRootScope) return "html" === tag;
2347 }
2348 switch (tag) {
2349 case "h1":
2350 case "h2":
2351 case "h3":
2352 case "h4":
2353 case "h5":
2354 case "h6":
2355 return "h1" !== parentTag && "h2" !== parentTag && "h3" !== parentTag && "h4" !== parentTag && "h5" !== parentTag && "h6" !== parentTag;
2356 case "rp":
2357 case "rt":
2358 return -1 === impliedEndTags.indexOf(parentTag);
2359 case "caption":
2360 case "col":
2361 case "colgroup":
2362 case "frameset":
2363 case "frame":
2364 case "tbody":
2365 case "td":
2366 case "tfoot":
2367 case "th":
2368 case "thead":
2369 case "tr":
2370 return null == parentTag;
2371 case "head":
2372 return implicitRootScope || null === parentTag;
2373 case "html":
2374 return implicitRootScope && "#document" === parentTag || null === parentTag;
2375 case "body":
2376 return implicitRootScope && ("#document" === parentTag || "html" === parentTag) || null === parentTag;
2377 }
2378 return true;
2379 }
2380 function findInvalidAncestorForTag(tag, ancestorInfo) {
2381 switch (tag) {
2382 case "address":
2383 case "article":
2384 case "aside":
2385 case "blockquote":
2386 case "center":
2387 case "details":
2388 case "dialog":
2389 case "dir":
2390 case "div":
2391 case "dl":
2392 case "fieldset":
2393 case "figcaption":
2394 case "figure":
2395 case "footer":
2396 case "header":
2397 case "hgroup":
2398 case "main":
2399 case "menu":
2400 case "nav":
2401 case "ol":
2402 case "p":
2403 case "section":
2404 case "summary":
2405 case "ul":
2406 case "pre":
2407 case "listing":
2408 case "table":
2409 case "hr":
2410 case "xmp":
2411 case "h1":
2412 case "h2":
2413 case "h3":
2414 case "h4":
2415 case "h5":
2416 case "h6":
2417 return ancestorInfo.pTagInButtonScope;
2418 case "form":
2419 return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;
2420 case "li":
2421 return ancestorInfo.listItemTagAutoclosing;
2422 case "dd":
2423 case "dt":
2424 return ancestorInfo.dlItemTagAutoclosing;
2425 case "button":
2426 return ancestorInfo.buttonTagInScope;
2427 case "a":
2428 return ancestorInfo.aTagInScope;
2429 case "nobr":
2430 return ancestorInfo.nobrTagInScope;
2431 }
2432 return null;
2433 }
2434 function findAncestor(parent, tagName) {
2435 for (; parent; ) {
2436 switch (parent.tag) {
2437 case 5:
2438 case 26:
2439 case 27:
2440 if (parent.type === tagName) return parent;
2441 }
2442 parent = parent.return;
2443 }
2444 return null;
2445 }
2446 function validateDOMNesting(childTag, ancestorInfo) {
2447 ancestorInfo = ancestorInfo || emptyAncestorInfoDev;
2448 var parentInfo = ancestorInfo.current;
2449 ancestorInfo = (parentInfo = isTagValidWithParent(
2450 childTag,
2451 parentInfo && parentInfo.tag,
2452 ancestorInfo.implicitRootScope
2453 ) ? null : parentInfo) ? null : findInvalidAncestorForTag(childTag, ancestorInfo);
2454 ancestorInfo = parentInfo || ancestorInfo;
2455 if (!ancestorInfo) return true;
2456 var ancestorTag = ancestorInfo.tag;
2457 ancestorInfo = String(!!parentInfo) + "|" + childTag + "|" + ancestorTag;
2458 if (didWarn[ancestorInfo]) return false;
2459 didWarn[ancestorInfo] = true;
2460 var ancestor = (ancestorInfo = current) ? findAncestor(ancestorInfo.return, ancestorTag) : null, ancestorDescription = null !== ancestorInfo && null !== ancestor ? describeAncestors(ancestor, ancestorInfo, null) : "", tagDisplayName = "<" + childTag + ">";
2461 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(
2462 "In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s",
2463 tagDisplayName,
2464 ancestorTag,
2465 parentInfo,
2466 ancestorDescription
2467 )) : console.error(
2468 "In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s",
2469 tagDisplayName,
2470 ancestorTag,
2471 ancestorDescription
2472 );
2473 ancestorInfo && (childTag = ancestorInfo.return, null === ancestor || null === childTag || ancestor === childTag && childTag._debugOwner === ancestorInfo._debugOwner || runWithFiberInDEV(ancestor, function() {
2474 console.error(
2475 "<%s> cannot contain a nested %s.\nSee this log for the ancestor stack trace.",
2476 ancestorTag,
2477 tagDisplayName
2478 );
2479 }));
2480 return false;
2481 }
2482 function validateTextNesting(childText, parentTag, implicitRootScope) {
2483 if (implicitRootScope || isTagValidWithParent("#text", parentTag, false))
2484 return true;
2485 implicitRootScope = "#text|" + parentTag;
2486 if (didWarn[implicitRootScope]) return false;
2487 didWarn[implicitRootScope] = true;
2488 var ancestor = (implicitRootScope = current) ? findAncestor(implicitRootScope, parentTag) : null;
2489 implicitRootScope = null !== implicitRootScope && null !== ancestor ? describeAncestors(
2490 ancestor,
2491 implicitRootScope,
2492 6 !== implicitRootScope.tag ? { children: null } : null
2493 ) : "";
2494 /\S/.test(childText) ? console.error(
2495 "In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.%s",
2496 parentTag,
2497 implicitRootScope
2498 ) : console.error(
2499 "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",
2500 parentTag,
2501 implicitRootScope
2502 );
2503 return false;
2504 }
2505 function setTextContent(node, text) {
2506 if (text) {
2507 var firstChild = node.firstChild;
2508 if (firstChild && firstChild === node.lastChild && 3 === firstChild.nodeType) {
2509 firstChild.nodeValue = text;
2510 return;
2511 }
2512 }
2513 node.textContent = text;
2514 }
2515 function camelize(string) {
2516 return string.replace(hyphenPattern, function(_, character) {
2517 return character.toUpperCase();
2518 });
2519 }
2520 function setValueForStyle(style2, styleName, value) {
2521 var isCustomProperty = 0 === styleName.indexOf("--");
2522 isCustomProperty || (-1 < styleName.indexOf("-") ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error(
2523 "Unsupported style property %s. Did you mean %s?",
2524 styleName,
2525 camelize(styleName.replace(msPattern, "ms-"))
2526 )) : badVendoredStyleNamePattern.test(styleName) ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error(
2527 "Unsupported vendor-prefixed style property %s. Did you mean %s?",
2528 styleName,
2529 styleName.charAt(0).toUpperCase() + styleName.slice(1)
2530 )) : !badStyleValueWithSemicolonPattern.test(value) || warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value] || (warnedStyleValues[value] = true, console.error(
2531 `Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`,
2532 styleName,
2533 value.replace(badStyleValueWithSemicolonPattern, "")
2534 )), "number" === typeof value && (isNaN(value) ? warnedForNaNValue || (warnedForNaNValue = true, console.error(
2535 "`NaN` is an invalid value for the `%s` css style property.",
2536 styleName
2537 )) : isFinite(value) || warnedForInfinityValue || (warnedForInfinityValue = true, console.error(
2538 "`Infinity` is an invalid value for the `%s` css style property.",
2539 styleName
2540 ))));
2541 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";
2542 }
2543 function setValueForStyles(node, styles, prevStyles) {
2544 if (null != styles && "object" !== typeof styles)
2545 throw Error(
2546 "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX."
2547 );
2548 styles && Object.freeze(styles);
2549 node = node.style;
2550 if (null != prevStyles) {
2551 if (styles) {
2552 var expandedUpdates = {};
2553 if (prevStyles) {
2554 for (var key in prevStyles)
2555 if (prevStyles.hasOwnProperty(key) && !styles.hasOwnProperty(key))
2556 for (var longhands = shorthandToLonghand[key] || [key], i = 0; i < longhands.length; i++)
2557 expandedUpdates[longhands[i]] = key;
2558 }
2559 for (var _key in styles)
2560 if (styles.hasOwnProperty(_key) && (!prevStyles || prevStyles[_key] !== styles[_key]))
2561 for (key = shorthandToLonghand[_key] || [_key], longhands = 0; longhands < key.length; longhands++)
2562 expandedUpdates[key[longhands]] = _key;
2563 _key = {};
2564 for (var key$jscomp$0 in styles)
2565 for (key = shorthandToLonghand[key$jscomp$0] || [key$jscomp$0], longhands = 0; longhands < key.length; longhands++)
2566 _key[key[longhands]] = key$jscomp$0;
2567 key$jscomp$0 = {};
2568 for (var _key2 in expandedUpdates)
2569 if (key = expandedUpdates[_key2], (longhands = _key[_key2]) && key !== longhands && (i = key + "," + longhands, !key$jscomp$0[i])) {
2570 key$jscomp$0[i] = true;
2571 i = console;
2572 var value = styles[key];
2573 i.error.call(
2574 i,
2575 "%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.",
2576 null == value || "boolean" === typeof value || "" === value ? "Removing" : "Updating",
2577 key,
2578 longhands
2579 );
2580 }
2581 }
2582 for (var styleName in prevStyles)
2583 !prevStyles.hasOwnProperty(styleName) || null != styles && styles.hasOwnProperty(styleName) || (0 === styleName.indexOf("--") ? node.setProperty(styleName, "") : "float" === styleName ? node.cssFloat = "" : node[styleName] = "");
2584 for (var _styleName in styles)
2585 _key2 = styles[_styleName], styles.hasOwnProperty(_styleName) && prevStyles[_styleName] !== _key2 && setValueForStyle(node, _styleName, _key2);
2586 } else
2587 for (expandedUpdates in styles)
2588 styles.hasOwnProperty(expandedUpdates) && setValueForStyle(node, expandedUpdates, styles[expandedUpdates]);
2589 }
2590 function isCustomElement(tagName) {
2591 if (-1 === tagName.indexOf("-")) return false;
2592 switch (tagName) {
2593 case "annotation-xml":
2594 case "color-profile":
2595 case "font-face":
2596 case "font-face-src":
2597 case "font-face-uri":
2598 case "font-face-format":
2599 case "font-face-name":
2600 case "missing-glyph":
2601 return false;
2602 default:
2603 return true;
2604 }
2605 }
2606 function getAttributeAlias(name) {
2607 return aliases.get(name) || name;
2608 }
2609 function validateProperty$1(tagName, name) {
2610 if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name])
2611 return true;
2612 if (rARIACamel$1.test(name)) {
2613 tagName = "aria-" + name.slice(4).toLowerCase();
2614 tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null;
2615 if (null == tagName)
2616 return console.error(
2617 "Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.",
2618 name
2619 ), warnedProperties$1[name] = true;
2620 if (name !== tagName)
2621 return console.error(
2622 "Invalid ARIA attribute `%s`. Did you mean `%s`?",
2623 name,
2624 tagName
2625 ), warnedProperties$1[name] = true;
2626 }
2627 if (rARIA$1.test(name)) {
2628 tagName = name.toLowerCase();
2629 tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null;
2630 if (null == tagName) return warnedProperties$1[name] = true, false;
2631 name !== tagName && (console.error(
2632 "Unknown ARIA attribute `%s`. Did you mean `%s`?",
2633 name,
2634 tagName
2635 ), warnedProperties$1[name] = true);
2636 }
2637 return true;
2638 }
2639 function validateProperties$2(type, props) {
2640 var invalidProps = [], key;
2641 for (key in props)
2642 validateProperty$1(type, key) || invalidProps.push(key);
2643 props = invalidProps.map(function(prop) {
2644 return "`" + prop + "`";
2645 }).join(", ");
2646 1 === invalidProps.length ? console.error(
2647 "Invalid aria prop %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props",
2648 props,
2649 type
2650 ) : 1 < invalidProps.length && console.error(
2651 "Invalid aria props %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props",
2652 props,
2653 type
2654 );
2655 }
2656 function validateProperty(tagName, name, value, eventRegistry) {
2657 if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name])
2658 return true;
2659 var lowerCasedName = name.toLowerCase();
2660 if ("onfocusin" === lowerCasedName || "onfocusout" === lowerCasedName)
2661 return console.error(
2662 "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."
2663 ), warnedProperties[name] = true;
2664 if ("function" === typeof value && ("form" === tagName && "action" === name || "input" === tagName && "formAction" === name || "button" === tagName && "formAction" === name))
2665 return true;
2666 if (null != eventRegistry) {
2667 tagName = eventRegistry.possibleRegistrationNames;
2668 if (eventRegistry.registrationNameDependencies.hasOwnProperty(name))
2669 return true;
2670 eventRegistry = tagName.hasOwnProperty(lowerCasedName) ? tagName[lowerCasedName] : null;
2671 if (null != eventRegistry)
2672 return console.error(
2673 "Invalid event handler property `%s`. Did you mean `%s`?",
2674 name,
2675 eventRegistry
2676 ), warnedProperties[name] = true;
2677 if (EVENT_NAME_REGEX.test(name))
2678 return console.error(
2679 "Unknown event handler property `%s`. It will be ignored.",
2680 name
2681 ), warnedProperties[name] = true;
2682 } else if (EVENT_NAME_REGEX.test(name))
2683 return INVALID_EVENT_NAME_REGEX.test(name) && console.error(
2684 "Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.",
2685 name
2686 ), warnedProperties[name] = true;
2687 if (rARIA.test(name) || rARIACamel.test(name)) return true;
2688 if ("innerhtml" === lowerCasedName)
2689 return console.error(
2690 "Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."
2691 ), warnedProperties[name] = true;
2692 if ("aria" === lowerCasedName)
2693 return console.error(
2694 "The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead."
2695 ), warnedProperties[name] = true;
2696 if ("is" === lowerCasedName && null !== value && void 0 !== value && "string" !== typeof value)
2697 return console.error(
2698 "Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.",
2699 typeof value
2700 ), warnedProperties[name] = true;
2701 if ("number" === typeof value && isNaN(value))
2702 return console.error(
2703 "Received NaN for the `%s` attribute. If this is expected, cast the value to a string.",
2704 name
2705 ), warnedProperties[name] = true;
2706 if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {
2707 if (lowerCasedName = possibleStandardNames[lowerCasedName], lowerCasedName !== name)
2708 return console.error(
2709 "Invalid DOM property `%s`. Did you mean `%s`?",
2710 name,
2711 lowerCasedName
2712 ), warnedProperties[name] = true;
2713 } else if (name !== lowerCasedName)
2714 return console.error(
2715 "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.",
2716 name,
2717 lowerCasedName
2718 ), warnedProperties[name] = true;
2719 switch (name) {
2720 case "dangerouslySetInnerHTML":
2721 case "children":
2722 case "style":
2723 case "suppressContentEditableWarning":
2724 case "suppressHydrationWarning":
2725 case "defaultValue":
2726 case "defaultChecked":
2727 case "innerHTML":
2728 case "ref":
2729 return true;
2730 case "innerText":
2731 case "textContent":
2732 return true;
2733 }
2734 switch (typeof value) {
2735 case "boolean":
2736 switch (name) {
2737 case "autoFocus":
2738 case "checked":
2739 case "multiple":
2740 case "muted":
2741 case "selected":
2742 case "contentEditable":
2743 case "spellCheck":
2744 case "draggable":
2745 case "value":
2746 case "autoReverse":
2747 case "externalResourcesRequired":
2748 case "focusable":
2749 case "preserveAlpha":
2750 case "allowFullScreen":
2751 case "async":
2752 case "autoPlay":
2753 case "controls":
2754 case "default":
2755 case "defer":
2756 case "disabled":
2757 case "disablePictureInPicture":
2758 case "disableRemotePlayback":
2759 case "formNoValidate":
2760 case "hidden":
2761 case "loop":
2762 case "noModule":
2763 case "noValidate":
2764 case "open":
2765 case "playsInline":
2766 case "readOnly":
2767 case "required":
2768 case "reversed":
2769 case "scoped":
2770 case "seamless":
2771 case "itemScope":
2772 case "capture":
2773 case "download":
2774 case "inert":
2775 return true;
2776 default:
2777 lowerCasedName = name.toLowerCase().slice(0, 5);
2778 if ("data-" === lowerCasedName || "aria-" === lowerCasedName)
2779 return true;
2780 value ? console.error(
2781 '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()}.',
2782 value,
2783 name,
2784 name,
2785 value,
2786 name
2787 ) : console.error(
2788 '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.',
2789 value,
2790 name,
2791 name,
2792 value,
2793 name,
2794 name,
2795 name
2796 );
2797 return warnedProperties[name] = true;
2798 }
2799 case "function":
2800 case "symbol":
2801 return warnedProperties[name] = true, false;
2802 case "string":
2803 if ("false" === value || "true" === value) {
2804 switch (name) {
2805 case "checked":
2806 case "selected":
2807 case "multiple":
2808 case "muted":
2809 case "allowFullScreen":
2810 case "async":
2811 case "autoPlay":
2812 case "controls":
2813 case "default":
2814 case "defer":
2815 case "disabled":
2816 case "disablePictureInPicture":
2817 case "disableRemotePlayback":
2818 case "formNoValidate":
2819 case "hidden":
2820 case "loop":
2821 case "noModule":
2822 case "noValidate":
2823 case "open":
2824 case "playsInline":
2825 case "readOnly":
2826 case "required":
2827 case "reversed":
2828 case "scoped":
2829 case "seamless":
2830 case "itemScope":
2831 case "inert":
2832 break;
2833 default:
2834 return true;
2835 }
2836 console.error(
2837 "Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?",
2838 value,
2839 name,
2840 "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".',
2841 name,
2842 value
2843 );
2844 warnedProperties[name] = true;
2845 }
2846 }
2847 return true;
2848 }
2849 function warnUnknownProperties(type, props, eventRegistry) {
2850 var unknownProps = [], key;
2851 for (key in props)
2852 validateProperty(type, key, props[key], eventRegistry) || unknownProps.push(key);
2853 props = unknownProps.map(function(prop) {
2854 return "`" + prop + "`";
2855 }).join(", ");
2856 1 === unknownProps.length ? console.error(
2857 "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 ",
2858 props,
2859 type
2860 ) : 1 < unknownProps.length && console.error(
2861 "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 ",
2862 props,
2863 type
2864 );
2865 }
2866 function sanitizeURL(url) {
2867 return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url;
2868 }
2869 function noop$1() {
2870 }
2871 function getEventTarget(nativeEvent) {
2872 nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;
2873 nativeEvent.correspondingUseElement && (nativeEvent = nativeEvent.correspondingUseElement);
2874 return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;
2875 }
2876 function restoreStateOfTarget(target) {
2877 var internalInstance = getInstanceFromNode(target);
2878 if (internalInstance && (target = internalInstance.stateNode)) {
2879 var props = target[internalPropsKey] || null;
2880 a: switch (target = internalInstance.stateNode, internalInstance.type) {
2881 case "input":
2882 updateInput(
2883 target,
2884 props.value,
2885 props.defaultValue,
2886 props.defaultValue,
2887 props.checked,
2888 props.defaultChecked,
2889 props.type,
2890 props.name
2891 );
2892 internalInstance = props.name;
2893 if ("radio" === props.type && null != internalInstance) {
2894 for (props = target; props.parentNode; ) props = props.parentNode;
2895 checkAttributeStringCoercion(internalInstance, "name");
2896 props = props.querySelectorAll(
2897 'input[name="' + escapeSelectorAttributeValueInsideDoubleQuotes(
2898 "" + internalInstance
2899 ) + '"][type="radio"]'
2900 );
2901 for (internalInstance = 0; internalInstance < props.length; internalInstance++) {
2902 var otherNode = props[internalInstance];
2903 if (otherNode !== target && otherNode.form === target.form) {
2904 var otherProps = otherNode[internalPropsKey] || null;
2905 if (!otherProps)
2906 throw Error(
2907 "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported."
2908 );
2909 updateInput(
2910 otherNode,
2911 otherProps.value,
2912 otherProps.defaultValue,
2913 otherProps.defaultValue,
2914 otherProps.checked,
2915 otherProps.defaultChecked,
2916 otherProps.type,
2917 otherProps.name
2918 );
2919 }
2920 }
2921 for (internalInstance = 0; internalInstance < props.length; internalInstance++)
2922 otherNode = props[internalInstance], otherNode.form === target.form && updateValueIfChanged(otherNode);
2923 }
2924 break a;
2925 case "textarea":
2926 updateTextarea(target, props.value, props.defaultValue);
2927 break a;
2928 case "select":
2929 internalInstance = props.value, null != internalInstance && updateOptions(target, !!props.multiple, internalInstance, false);
2930 }
2931 }
2932 }
2933 function batchedUpdates$1(fn, a, b) {
2934 if (isInsideEventHandler) return fn(a, b);
2935 isInsideEventHandler = true;
2936 try {
2937 var JSCompiler_inline_result = fn(a);
2938 return JSCompiler_inline_result;
2939 } finally {
2940 if (isInsideEventHandler = false, null !== restoreTarget || null !== restoreQueue) {
2941 if (flushSyncWork$1(), restoreTarget && (a = restoreTarget, fn = restoreQueue, restoreQueue = restoreTarget = null, restoreStateOfTarget(a), fn))
2942 for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);
2943 }
2944 }
2945 }
2946 function getListener(inst, registrationName) {
2947 var stateNode = inst.stateNode;
2948 if (null === stateNode) return null;
2949 var props = stateNode[internalPropsKey] || null;
2950 if (null === props) return null;
2951 stateNode = props[registrationName];
2952 a: switch (registrationName) {
2953 case "onClick":
2954 case "onClickCapture":
2955 case "onDoubleClick":
2956 case "onDoubleClickCapture":
2957 case "onMouseDown":
2958 case "onMouseDownCapture":
2959 case "onMouseMove":
2960 case "onMouseMoveCapture":
2961 case "onMouseUp":
2962 case "onMouseUpCapture":
2963 case "onMouseEnter":
2964 (props = !props.disabled) || (inst = inst.type, props = !("button" === inst || "input" === inst || "select" === inst || "textarea" === inst));
2965 inst = !props;
2966 break a;
2967 default:
2968 inst = false;
2969 }
2970 if (inst) return null;
2971 if (stateNode && "function" !== typeof stateNode)
2972 throw Error(
2973 "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof stateNode + "` type."
2974 );
2975 return stateNode;
2976 }
2977 function getData() {
2978 if (fallbackText) return fallbackText;
2979 var start, startValue = startText, startLength = startValue.length, end, endValue = "value" in root ? root.value : root.textContent, endLength = endValue.length;
2980 for (start = 0; start < startLength && startValue[start] === endValue[start]; start++) ;
2981 var minEnd = startLength - start;
2982 for (end = 1; end <= minEnd && startValue[startLength - end] === endValue[endLength - end]; end++) ;
2983 return fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0);
2984 }
2985 function getEventCharCode(nativeEvent) {
2986 var keyCode = nativeEvent.keyCode;
2987 "charCode" in nativeEvent ? (nativeEvent = nativeEvent.charCode, 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13)) : nativeEvent = keyCode;
2988 10 === nativeEvent && (nativeEvent = 13);
2989 return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;
2990 }
2991 function functionThatReturnsTrue() {
2992 return true;
2993 }
2994 function functionThatReturnsFalse() {
2995 return false;
2996 }
2997 function createSyntheticEvent(Interface) {
2998 function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) {
2999 this._reactName = reactName;
3000 this._targetInst = targetInst;
3001 this.type = reactEventType;
3002 this.nativeEvent = nativeEvent;
3003 this.target = nativeEventTarget;
3004 this.currentTarget = null;
3005 for (var propName in Interface)
3006 Interface.hasOwnProperty(propName) && (reactName = Interface[propName], this[propName] = reactName ? reactName(nativeEvent) : nativeEvent[propName]);
3007 this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : false === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse;
3008 this.isPropagationStopped = functionThatReturnsFalse;
3009 return this;
3010 }
3011 assign(SyntheticBaseEvent.prototype, {
3012 preventDefault: function() {
3013 this.defaultPrevented = true;
3014 var event = this.nativeEvent;
3015 event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = false), this.isDefaultPrevented = functionThatReturnsTrue);
3016 },
3017 stopPropagation: function() {
3018 var event = this.nativeEvent;
3019 event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = true), this.isPropagationStopped = functionThatReturnsTrue);
3020 },
3021 persist: function() {
3022 },
3023 isPersistent: functionThatReturnsTrue
3024 });
3025 return SyntheticBaseEvent;
3026 }
3027 function modifierStateGetter(keyArg) {
3028 var nativeEvent = this.nativeEvent;
3029 return nativeEvent.getModifierState ? nativeEvent.getModifierState(keyArg) : (keyArg = modifierKeyToProp[keyArg]) ? !!nativeEvent[keyArg] : false;
3030 }
3031 function getEventModifierState() {
3032 return modifierStateGetter;
3033 }
3034 function isFallbackCompositionEnd(domEventName, nativeEvent) {
3035 switch (domEventName) {
3036 case "keyup":
3037 return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);
3038 case "keydown":
3039 return nativeEvent.keyCode !== START_KEYCODE;
3040 case "keypress":
3041 case "mousedown":
3042 case "focusout":
3043 return true;
3044 default:
3045 return false;
3046 }
3047 }
3048 function getDataFromCustomEvent(nativeEvent) {
3049 nativeEvent = nativeEvent.detail;
3050 return "object" === typeof nativeEvent && "data" in nativeEvent ? nativeEvent.data : null;
3051 }
3052 function getNativeBeforeInputChars(domEventName, nativeEvent) {
3053 switch (domEventName) {
3054 case "compositionend":
3055 return getDataFromCustomEvent(nativeEvent);
3056 case "keypress":
3057 if (nativeEvent.which !== SPACEBAR_CODE) return null;
3058 hasSpaceKeypress = true;
3059 return SPACEBAR_CHAR;
3060 case "textInput":
3061 return domEventName = nativeEvent.data, domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName;
3062 default:
3063 return null;
3064 }
3065 }
3066 function getFallbackBeforeInputChars(domEventName, nativeEvent) {
3067 if (isComposing)
3068 return "compositionend" === domEventName || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent) ? (domEventName = getData(), fallbackText = startText = root = null, isComposing = false, domEventName) : null;
3069 switch (domEventName) {
3070 case "paste":
3071 return null;
3072 case "keypress":
3073 if (!(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) || nativeEvent.ctrlKey && nativeEvent.altKey) {
3074 if (nativeEvent.char && 1 < nativeEvent.char.length)
3075 return nativeEvent.char;
3076 if (nativeEvent.which)
3077 return String.fromCharCode(nativeEvent.which);
3078 }
3079 return null;
3080 case "compositionend":
3081 return useFallbackCompositionData && "ko" !== nativeEvent.locale ? null : nativeEvent.data;
3082 default:
3083 return null;
3084 }
3085 }
3086 function isTextInputElement(elem) {
3087 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
3088 return "input" === nodeName ? !!supportedInputTypes[elem.type] : "textarea" === nodeName ? true : false;
3089 }
3090 function isEventSupported(eventNameSuffix) {
3091 if (!canUseDOM) return false;
3092 eventNameSuffix = "on" + eventNameSuffix;
3093 var isSupported = eventNameSuffix in document;
3094 isSupported || (isSupported = document.createElement("div"), isSupported.setAttribute(eventNameSuffix, "return;"), isSupported = "function" === typeof isSupported[eventNameSuffix]);
3095 return isSupported;
3096 }
3097 function createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) {
3098 restoreTarget ? restoreQueue ? restoreQueue.push(target) : restoreQueue = [target] : restoreTarget = target;
3099 inst = accumulateTwoPhaseListeners(inst, "onChange");
3100 0 < inst.length && (nativeEvent = new SyntheticEvent(
3101 "onChange",
3102 "change",
3103 null,
3104 nativeEvent,
3105 target
3106 ), dispatchQueue.push({ event: nativeEvent, listeners: inst }));
3107 }
3108 function runEventInBatch(dispatchQueue) {
3109 processDispatchQueue(dispatchQueue, 0);
3110 }
3111 function getInstIfValueChanged(targetInst) {
3112 var targetNode = getNodeFromInstance(targetInst);
3113 if (updateValueIfChanged(targetNode)) return targetInst;
3114 }
3115 function getTargetInstForChangeEvent(domEventName, targetInst) {
3116 if ("change" === domEventName) return targetInst;
3117 }
3118 function stopWatchingForValueChange() {
3119 activeElement$1 && (activeElement$1.detachEvent("onpropertychange", handlePropertyChange), activeElementInst$1 = activeElement$1 = null);
3120 }
3121 function handlePropertyChange(nativeEvent) {
3122 if ("value" === nativeEvent.propertyName && getInstIfValueChanged(activeElementInst$1)) {
3123 var dispatchQueue = [];
3124 createAndAccumulateChangeEvent(
3125 dispatchQueue,
3126 activeElementInst$1,
3127 nativeEvent,
3128 getEventTarget(nativeEvent)
3129 );
3130 batchedUpdates$1(runEventInBatch, dispatchQueue);
3131 }
3132 }
3133 function handleEventsForInputEventPolyfill(domEventName, target, targetInst) {
3134 "focusin" === domEventName ? (stopWatchingForValueChange(), activeElement$1 = target, activeElementInst$1 = targetInst, activeElement$1.attachEvent("onpropertychange", handlePropertyChange)) : "focusout" === domEventName && stopWatchingForValueChange();
3135 }
3136 function getTargetInstForInputEventPolyfill(domEventName) {
3137 if ("selectionchange" === domEventName || "keyup" === domEventName || "keydown" === domEventName)
3138 return getInstIfValueChanged(activeElementInst$1);
3139 }
3140 function getTargetInstForClickEvent(domEventName, targetInst) {
3141 if ("click" === domEventName) return getInstIfValueChanged(targetInst);
3142 }
3143 function getTargetInstForInputOrChangeEvent(domEventName, targetInst) {
3144 if ("input" === domEventName || "change" === domEventName)
3145 return getInstIfValueChanged(targetInst);
3146 }
3147 function is(x, y) {
3148 return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
3149 }
3150 function shallowEqual(objA, objB) {
3151 if (objectIs(objA, objB)) return true;
3152 if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB)
3153 return false;
3154 var keysA = Object.keys(objA), keysB = Object.keys(objB);
3155 if (keysA.length !== keysB.length) return false;
3156 for (keysB = 0; keysB < keysA.length; keysB++) {
3157 var currentKey = keysA[keysB];
3158 if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey]))
3159 return false;
3160 }
3161 return true;
3162 }
3163 function getLeafNode(node) {
3164 for (; node && node.firstChild; ) node = node.firstChild;
3165 return node;
3166 }
3167 function getNodeForCharacterOffset(root2, offset) {
3168 var node = getLeafNode(root2);
3169 root2 = 0;
3170 for (var nodeEnd; node; ) {
3171 if (3 === node.nodeType) {
3172 nodeEnd = root2 + node.textContent.length;
3173 if (root2 <= offset && nodeEnd >= offset)
3174 return { node, offset: offset - root2 };
3175 root2 = nodeEnd;
3176 }
3177 a: {
3178 for (; node; ) {
3179 if (node.nextSibling) {
3180 node = node.nextSibling;
3181 break a;
3182 }
3183 node = node.parentNode;
3184 }
3185 node = void 0;
3186 }
3187 node = getLeafNode(node);
3188 }
3189 }
3190 function containsNode(outerNode, innerNode) {
3191 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;
3192 }
3193 function getActiveElementDeep(containerInfo) {
3194 containerInfo = null != containerInfo && null != containerInfo.ownerDocument && null != containerInfo.ownerDocument.defaultView ? containerInfo.ownerDocument.defaultView : window;
3195 for (var element = getActiveElement(containerInfo.document); element instanceof containerInfo.HTMLIFrameElement; ) {
3196 try {
3197 var JSCompiler_inline_result = "string" === typeof element.contentWindow.location.href;
3198 } catch (err) {
3199 JSCompiler_inline_result = false;
3200 }
3201 if (JSCompiler_inline_result) containerInfo = element.contentWindow;
3202 else break;
3203 element = getActiveElement(containerInfo.document);
3204 }
3205 return element;
3206 }
3207 function hasSelectionCapabilities(elem) {
3208 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
3209 return nodeName && ("input" === nodeName && ("text" === elem.type || "search" === elem.type || "tel" === elem.type || "url" === elem.type || "password" === elem.type) || "textarea" === nodeName || "true" === elem.contentEditable);
3210 }
3211 function constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {
3212 var doc = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget.document : 9 === nativeEventTarget.nodeType ? nativeEventTarget : nativeEventTarget.ownerDocument;
3213 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 = {
3214 anchorNode: doc.anchorNode,
3215 anchorOffset: doc.anchorOffset,
3216 focusNode: doc.focusNode,
3217 focusOffset: doc.focusOffset
3218 }), lastSelection && shallowEqual(lastSelection, doc) || (lastSelection = doc, doc = accumulateTwoPhaseListeners(activeElementInst, "onSelect"), 0 < doc.length && (nativeEvent = new SyntheticEvent(
3219 "onSelect",
3220 "select",
3221 null,
3222 nativeEvent,
3223 nativeEventTarget
3224 ), dispatchQueue.push({ event: nativeEvent, listeners: doc }), nativeEvent.target = activeElement)));
3225 }
3226 function makePrefixMap(styleProp, eventName) {
3227 var prefixes = {};
3228 prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();
3229 prefixes["Webkit" + styleProp] = "webkit" + eventName;
3230 prefixes["Moz" + styleProp] = "moz" + eventName;
3231 return prefixes;
3232 }
3233 function getVendorPrefixedEventName(eventName) {
3234 if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];
3235 if (!vendorPrefixes[eventName]) return eventName;
3236 var prefixMap = vendorPrefixes[eventName], styleProp;
3237 for (styleProp in prefixMap)
3238 if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)
3239 return prefixedEventNames[eventName] = prefixMap[styleProp];
3240 return eventName;
3241 }
3242 function registerSimpleEvent(domEventName, reactName) {
3243 topLevelEventsToReactNames.set(domEventName, reactName);
3244 registerTwoPhaseEvent(reactName, [domEventName]);
3245 }
3246 function getArrayKind(array) {
3247 for (var kind = EMPTY_ARRAY, i = 0; i < array.length; i++) {
3248 var value = array[i];
3249 if ("object" === typeof value && null !== value)
3250 if (isArrayImpl(value) && 2 === value.length && "string" === typeof value[0]) {
3251 if (kind !== EMPTY_ARRAY && kind !== ENTRIES_ARRAY)
3252 return COMPLEX_ARRAY;
3253 kind = ENTRIES_ARRAY;
3254 } else return COMPLEX_ARRAY;
3255 else {
3256 if ("function" === typeof value || "string" === typeof value && 50 < value.length || kind !== EMPTY_ARRAY && kind !== PRIMITIVE_ARRAY)
3257 return COMPLEX_ARRAY;
3258 kind = PRIMITIVE_ARRAY;
3259 }
3260 }
3261 return kind;
3262 }
3263 function addObjectToProperties(object, properties, indent, prefix2) {
3264 for (var key in object)
3265 hasOwnProperty.call(object, key) && "_" !== key[0] && addValueToProperties(key, object[key], properties, indent, prefix2);
3266 }
3267 function addValueToProperties(propertyName, value, properties, indent, prefix2) {
3268 switch (typeof value) {
3269 case "object":
3270 if (null === value) {
3271 value = "null";
3272 break;
3273 } else {
3274 if (value.$$typeof === REACT_ELEMENT_TYPE) {
3275 var typeName2 = getComponentNameFromType(value.type) || "\u2026", key = value.key;
3276 value = value.props;
3277 var propsKeys = Object.keys(value), propsLength = propsKeys.length;
3278 if (null == key && 0 === propsLength) {
3279 value = "<" + typeName2 + " />";
3280 break;
3281 }
3282 if (3 > indent || 1 === propsLength && "children" === propsKeys[0] && null == key) {
3283 value = "<" + typeName2 + " \u2026 />";
3284 break;
3285 }
3286 properties.push([
3287 prefix2 + "\xA0\xA0".repeat(indent) + propertyName,
3288 "<" + typeName2
3289 ]);
3290 null !== key && addValueToProperties(
3291 "key",
3292 key,
3293 properties,
3294 indent + 1,
3295 prefix2
3296 );
3297 propertyName = false;
3298 for (var propKey in value)
3299 "children" === propKey ? null != value.children && (!isArrayImpl(value.children) || 0 < value.children.length) && (propertyName = true) : hasOwnProperty.call(value, propKey) && "_" !== propKey[0] && addValueToProperties(
3300 propKey,
3301 value[propKey],
3302 properties,
3303 indent + 1,
3304 prefix2
3305 );
3306 properties.push([
3307 "",
3308 propertyName ? ">\u2026</" + typeName2 + ">" : "/>"
3309 ]);
3310 return;
3311 }
3312 typeName2 = Object.prototype.toString.call(value);
3313 typeName2 = typeName2.slice(8, typeName2.length - 1);
3314 if ("Array" === typeName2) {
3315 if (propKey = getArrayKind(value), propKey === PRIMITIVE_ARRAY || propKey === EMPTY_ARRAY) {
3316 value = JSON.stringify(value);
3317 break;
3318 } else if (propKey === ENTRIES_ARRAY) {
3319 properties.push([
3320 prefix2 + "\xA0\xA0".repeat(indent) + propertyName,
3321 ""
3322 ]);
3323 for (propertyName = 0; propertyName < value.length; propertyName++)
3324 typeName2 = value[propertyName], addValueToProperties(
3325 typeName2[0],
3326 typeName2[1],
3327 properties,
3328 indent + 1,
3329 prefix2
3330 );
3331 return;
3332 }
3333 }
3334 if ("Promise" === typeName2) {
3335 if ("fulfilled" === value.status) {
3336 if (typeName2 = properties.length, addValueToProperties(
3337 propertyName,
3338 value.value,
3339 properties,
3340 indent,
3341 prefix2
3342 ), properties.length > typeName2) {
3343 properties = properties[typeName2];
3344 properties[1] = "Promise<" + (properties[1] || "Object") + ">";
3345 return;
3346 }
3347 } else if ("rejected" === value.status && (typeName2 = properties.length, addValueToProperties(
3348 propertyName,
3349 value.reason,
3350 properties,
3351 indent,
3352 prefix2
3353 ), properties.length > typeName2)) {
3354 properties = properties[typeName2];
3355 properties[1] = "Rejected Promise<" + properties[1] + ">";
3356 return;
3357 }
3358 properties.push([
3359 "\xA0\xA0".repeat(indent) + propertyName,
3360 "Promise"
3361 ]);
3362 return;
3363 }
3364 "Object" === typeName2 && (propKey = Object.getPrototypeOf(value)) && "function" === typeof propKey.constructor && (typeName2 = propKey.constructor.name);
3365 properties.push([
3366 prefix2 + "\xA0\xA0".repeat(indent) + propertyName,
3367 "Object" === typeName2 ? 3 > indent ? "" : "\u2026" : typeName2
3368 ]);
3369 3 > indent && addObjectToProperties(value, properties, indent + 1, prefix2);
3370 return;
3371 }
3372 case "function":
3373 value = "" === value.name ? "() => {}" : value.name + "() {}";
3374 break;
3375 case "string":
3376 value = value === OMITTED_PROP_ERROR ? "\u2026" : JSON.stringify(value);
3377 break;
3378 case "undefined":
3379 value = "undefined";
3380 break;
3381 case "boolean":
3382 value = value ? "true" : "false";
3383 break;
3384 default:
3385 value = String(value);
3386 }
3387 properties.push([
3388 prefix2 + "\xA0\xA0".repeat(indent) + propertyName,
3389 value
3390 ]);
3391 }
3392 function addObjectDiffToProperties(prev, next, properties, indent) {
3393 var isDeeplyEqual = true;
3394 for (key in prev)
3395 key in next || (properties.push([
3396 REMOVED + "\xA0\xA0".repeat(indent) + key,
3397 "\u2026"
3398 ]), isDeeplyEqual = false);
3399 for (var _key in next)
3400 if (_key in prev) {
3401 var key = prev[_key];
3402 var nextValue = next[_key];
3403 if (key !== nextValue) {
3404 if (0 === indent && "children" === _key)
3405 isDeeplyEqual = "\xA0\xA0".repeat(indent) + _key, properties.push(
3406 [REMOVED + isDeeplyEqual, "\u2026"],
3407 [ADDED + isDeeplyEqual, "\u2026"]
3408 );
3409 else {
3410 if (!(3 <= indent)) {
3411 if ("object" === typeof key && "object" === typeof nextValue && null !== key && null !== nextValue && key.$$typeof === nextValue.$$typeof)
3412 if (nextValue.$$typeof === REACT_ELEMENT_TYPE) {
3413 if (key.type === nextValue.type && key.key === nextValue.key) {
3414 key = getComponentNameFromType(nextValue.type) || "\u2026";
3415 isDeeplyEqual = "\xA0\xA0".repeat(indent) + _key;
3416 key = "<" + key + " \u2026 />";
3417 properties.push(
3418 [REMOVED + isDeeplyEqual, key],
3419 [ADDED + isDeeplyEqual, key]
3420 );
3421 isDeeplyEqual = false;
3422 continue;
3423 }
3424 } else {
3425 var prevKind = Object.prototype.toString.call(key), nextKind = Object.prototype.toString.call(nextValue);
3426 if (prevKind === nextKind && ("[object Object]" === nextKind || "[object Array]" === nextKind)) {
3427 prevKind = [
3428 UNCHANGED + "\xA0\xA0".repeat(indent) + _key,
3429 "[object Array]" === nextKind ? "Array" : ""
3430 ];
3431 properties.push(prevKind);
3432 nextKind = properties.length;
3433 addObjectDiffToProperties(
3434 key,
3435 nextValue,
3436 properties,
3437 indent + 1
3438 ) ? nextKind === properties.length && (prevKind[1] = "Referentially unequal but deeply equal objects. Consider memoization.") : isDeeplyEqual = false;
3439 continue;
3440 }
3441 }
3442 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)) {
3443 key = "" === nextValue.name ? "() => {}" : nextValue.name + "() {}";
3444 properties.push([
3445 UNCHANGED + "\xA0\xA0".repeat(indent) + _key,
3446 key + " Referentially unequal function closure. Consider memoization."
3447 ]);
3448 continue;
3449 }
3450 }
3451 addValueToProperties(_key, key, properties, indent, REMOVED);
3452 addValueToProperties(_key, nextValue, properties, indent, ADDED);
3453 }
3454 isDeeplyEqual = false;
3455 }
3456 } else
3457 properties.push([
3458 ADDED + "\xA0\xA0".repeat(indent) + _key,
3459 "\u2026"
3460 ]), isDeeplyEqual = false;
3461 return isDeeplyEqual;
3462 }
3463 function setCurrentTrackFromLanes(lanes) {
3464 currentTrack = lanes & 63 ? "Blocking" : lanes & 64 ? "Gesture" : lanes & 4194176 ? "Transition" : lanes & 62914560 ? "Suspense" : lanes & 2080374784 ? "Idle" : "Other";
3465 }
3466 function logComponentTrigger(fiber, startTime, endTime, trigger) {
3467 supportsUserTiming && (reusableComponentOptions.start = startTime, reusableComponentOptions.end = endTime, reusableComponentDevToolDetails.color = "warning", reusableComponentDevToolDetails.tooltipText = trigger, reusableComponentDevToolDetails.properties = null, (fiber = fiber._debugTask) ? fiber.run(
3468 performance.measure.bind(
3469 performance,
3470 trigger,
3471 reusableComponentOptions
3472 )
3473 ) : performance.measure(trigger, reusableComponentOptions));
3474 }
3475 function logComponentReappeared(fiber, startTime, endTime) {
3476 logComponentTrigger(fiber, startTime, endTime, "Reconnect");
3477 }
3478 function logComponentRender(fiber, startTime, endTime, wasHydrated, committedLanes) {
3479 var name = getComponentNameFromFiber(fiber);
3480 if (null !== name && supportsUserTiming) {
3481 var alternate = fiber.alternate, selfTime = fiber.actualDuration;
3482 if (null === alternate || alternate.child !== fiber.child)
3483 for (var child = fiber.child; null !== child; child = child.sibling)
3484 selfTime -= child.actualDuration;
3485 wasHydrated = 0.5 > selfTime ? wasHydrated ? "tertiary-light" : "primary-light" : 10 > selfTime ? wasHydrated ? "tertiary" : "primary" : 100 > selfTime ? wasHydrated ? "tertiary-dark" : "primary-dark" : "error";
3486 var props = fiber.memoizedProps;
3487 selfTime = fiber._debugTask;
3488 null !== props && null !== alternate && alternate.memoizedProps !== props ? (child = [resuableChangedPropsEntry], props = addObjectDiffToProperties(
3489 alternate.memoizedProps,
3490 props,
3491 child,
3492 0
3493 ), 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 = wasHydrated, reusableComponentDevToolDetails.tooltipText = name), reusableComponentDevToolDetails.properties = child, reusableComponentOptions.start = startTime, reusableComponentOptions.end = endTime, null != selfTime ? selfTime.run(
3494 performance.measure.bind(
3495 performance,
3496 "\u200B" + name,
3497 reusableComponentOptions
3498 )
3499 ) : performance.measure(
3500 "\u200B" + name,
3501 reusableComponentOptions
3502 ))) : null != selfTime ? selfTime.run(
3503 console.timeStamp.bind(
3504 console,
3505 name,
3506 startTime,
3507 endTime,
3508 COMPONENTS_TRACK,
3509 void 0,
3510 wasHydrated
3511 )
3512 ) : console.timeStamp(
3513 name,
3514 startTime,
3515 endTime,
3516 COMPONENTS_TRACK,
3517 void 0,
3518 wasHydrated
3519 );
3520 }
3521 }
3522 function logComponentErrored(fiber, startTime, endTime, errors) {
3523 if (supportsUserTiming) {
3524 var name = getComponentNameFromFiber(fiber);
3525 if (null !== name) {
3526 for (var debugTask = null, properties = [], i = 0; i < errors.length; i++) {
3527 var capturedValue = errors[i];
3528 null == debugTask && null !== capturedValue.source && (debugTask = capturedValue.source._debugTask);
3529 capturedValue = capturedValue.value;
3530 properties.push([
3531 "Error",
3532 "object" === typeof capturedValue && null !== capturedValue && "string" === typeof capturedValue.message ? String(capturedValue.message) : String(capturedValue)
3533 ]);
3534 }
3535 null !== fiber.key && addValueToProperties("key", fiber.key, properties, 0, "");
3536 null !== fiber.memoizedProps && addObjectToProperties(fiber.memoizedProps, properties, 0, "");
3537 null == debugTask && (debugTask = fiber._debugTask);
3538 fiber = {
3539 start: startTime,
3540 end: endTime,
3541 detail: {
3542 devtools: {
3543 color: "error",
3544 track: COMPONENTS_TRACK,
3545 tooltipText: 13 === fiber.tag ? "Hydration failed" : "Error boundary caught an error",
3546 properties
3547 }
3548 }
3549 };
3550 debugTask ? debugTask.run(
3551 performance.measure.bind(performance, "\u200B" + name, fiber)
3552 ) : performance.measure("\u200B" + name, fiber);
3553 }
3554 }
3555 }
3556 function logComponentEffect(fiber, startTime, endTime, selfTime, errors) {
3557 if (null !== errors) {
3558 if (supportsUserTiming) {
3559 var name = getComponentNameFromFiber(fiber);
3560 if (null !== name) {
3561 selfTime = [];
3562 for (var i = 0; i < errors.length; i++) {
3563 var error = errors[i].value;
3564 selfTime.push([
3565 "Error",
3566 "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error)
3567 ]);
3568 }
3569 null !== fiber.key && addValueToProperties("key", fiber.key, selfTime, 0, "");
3570 null !== fiber.memoizedProps && addObjectToProperties(fiber.memoizedProps, selfTime, 0, "");
3571 startTime = {
3572 start: startTime,
3573 end: endTime,
3574 detail: {
3575 devtools: {
3576 color: "error",
3577 track: COMPONENTS_TRACK,
3578 tooltipText: "A lifecycle or effect errored",
3579 properties: selfTime
3580 }
3581 }
3582 };
3583 (fiber = fiber._debugTask) ? fiber.run(
3584 performance.measure.bind(
3585 performance,
3586 "\u200B" + name,
3587 startTime
3588 )
3589 ) : performance.measure("\u200B" + name, startTime);
3590 }
3591 }
3592 } else
3593 name = getComponentNameFromFiber(fiber), null !== name && supportsUserTiming && (errors = 1 > selfTime ? "secondary-light" : 100 > selfTime ? "secondary" : 500 > selfTime ? "secondary-dark" : "error", (fiber = fiber._debugTask) ? fiber.run(
3594 console.timeStamp.bind(
3595 console,
3596 name,
3597 startTime,
3598 endTime,
3599 COMPONENTS_TRACK,
3600 void 0,
3601 errors
3602 )
3603 ) : console.timeStamp(
3604 name,
3605 startTime,
3606 endTime,
3607 COMPONENTS_TRACK,
3608 void 0,
3609 errors
3610 ));
3611 }
3612 function logRenderPhase(startTime, endTime, lanes, debugTask) {
3613 if (supportsUserTiming && !(endTime <= startTime)) {
3614 var color = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark";
3615 lanes = (lanes & 536870912) === lanes ? "Prepared" : (lanes & 201326741) === lanes ? "Hydrated" : "Render";
3616 debugTask ? debugTask.run(
3617 console.timeStamp.bind(
3618 console,
3619 lanes,
3620 startTime,
3621 endTime,
3622 currentTrack,
3623 LANES_TRACK_GROUP,
3624 color
3625 )
3626 ) : console.timeStamp(
3627 lanes,
3628 startTime,
3629 endTime,
3630 currentTrack,
3631 LANES_TRACK_GROUP,
3632 color
3633 );
3634 }
3635 }
3636 function logSuspendedRenderPhase(startTime, endTime, lanes, debugTask) {
3637 !supportsUserTiming || endTime <= startTime || (lanes = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", debugTask ? debugTask.run(
3638 console.timeStamp.bind(
3639 console,
3640 "Prewarm",
3641 startTime,
3642 endTime,
3643 currentTrack,
3644 LANES_TRACK_GROUP,
3645 lanes
3646 )
3647 ) : console.timeStamp(
3648 "Prewarm",
3649 startTime,
3650 endTime,
3651 currentTrack,
3652 LANES_TRACK_GROUP,
3653 lanes
3654 ));
3655 }
3656 function logSuspendedWithDelayPhase(startTime, endTime, lanes, debugTask) {
3657 !supportsUserTiming || endTime <= startTime || (lanes = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", debugTask ? debugTask.run(
3658 console.timeStamp.bind(
3659 console,
3660 "Suspended",
3661 startTime,
3662 endTime,
3663 currentTrack,
3664 LANES_TRACK_GROUP,
3665 lanes
3666 )
3667 ) : console.timeStamp(
3668 "Suspended",
3669 startTime,
3670 endTime,
3671 currentTrack,
3672 LANES_TRACK_GROUP,
3673 lanes
3674 ));
3675 }
3676 function logRecoveredRenderPhase(startTime, endTime, lanes, recoverableErrors, hydrationFailed, debugTask) {
3677 if (supportsUserTiming && !(endTime <= startTime)) {
3678 lanes = [];
3679 for (var i = 0; i < recoverableErrors.length; i++) {
3680 var error = recoverableErrors[i].value;
3681 lanes.push([
3682 "Recoverable Error",
3683 "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error)
3684 ]);
3685 }
3686 startTime = {
3687 start: startTime,
3688 end: endTime,
3689 detail: {
3690 devtools: {
3691 color: "primary-dark",
3692 track: currentTrack,
3693 trackGroup: LANES_TRACK_GROUP,
3694 tooltipText: hydrationFailed ? "Hydration Failed" : "Recovered after Error",
3695 properties: lanes
3696 }
3697 }
3698 };
3699 debugTask ? debugTask.run(
3700 performance.measure.bind(performance, "Recovered", startTime)
3701 ) : performance.measure("Recovered", startTime);
3702 }
3703 }
3704 function logErroredRenderPhase(startTime, endTime, lanes, debugTask) {
3705 !supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(
3706 console.timeStamp.bind(
3707 console,
3708 "Errored",
3709 startTime,
3710 endTime,
3711 currentTrack,
3712 LANES_TRACK_GROUP,
3713 "error"
3714 )
3715 ) : console.timeStamp(
3716 "Errored",
3717 startTime,
3718 endTime,
3719 currentTrack,
3720 LANES_TRACK_GROUP,
3721 "error"
3722 ));
3723 }
3724 function logSuspendedCommitPhase(startTime, endTime, reason, debugTask) {
3725 !supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(
3726 console.timeStamp.bind(
3727 console,
3728 reason,
3729 startTime,
3730 endTime,
3731 currentTrack,
3732 LANES_TRACK_GROUP,
3733 "secondary-light"
3734 )
3735 ) : console.timeStamp(
3736 reason,
3737 startTime,
3738 endTime,
3739 currentTrack,
3740 LANES_TRACK_GROUP,
3741 "secondary-light"
3742 ));
3743 }
3744 function logCommitErrored(startTime, endTime, errors, passive, debugTask) {
3745 if (supportsUserTiming && !(endTime <= startTime)) {
3746 for (var properties = [], i = 0; i < errors.length; i++) {
3747 var error = errors[i].value;
3748 properties.push([
3749 "Error",
3750 "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error)
3751 ]);
3752 }
3753 startTime = {
3754 start: startTime,
3755 end: endTime,
3756 detail: {
3757 devtools: {
3758 color: "error",
3759 track: currentTrack,
3760 trackGroup: LANES_TRACK_GROUP,
3761 tooltipText: passive ? "Remaining Effects Errored" : "Commit Errored",
3762 properties
3763 }
3764 }
3765 };
3766 debugTask ? debugTask.run(
3767 performance.measure.bind(performance, "Errored", startTime)
3768 ) : performance.measure("Errored", startTime);
3769 }
3770 }
3771 function logAnimatingPhase(startTime, endTime, debugTask) {
3772 !supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(
3773 console.timeStamp.bind(
3774 console,
3775 "Animating",
3776 startTime,
3777 endTime,
3778 currentTrack,
3779 LANES_TRACK_GROUP,
3780 "secondary-dark"
3781 )
3782 ) : console.timeStamp(
3783 "Animating",
3784 startTime,
3785 endTime,
3786 currentTrack,
3787 LANES_TRACK_GROUP,
3788 "secondary-dark"
3789 ));
3790 }
3791 function finishQueueingConcurrentUpdates() {
3792 for (var endIndex = concurrentQueuesIndex, i = concurrentlyUpdatedLanes = concurrentQueuesIndex = 0; i < endIndex; ) {
3793 var fiber = concurrentQueues[i];
3794 concurrentQueues[i++] = null;
3795 var queue = concurrentQueues[i];
3796 concurrentQueues[i++] = null;
3797 var update = concurrentQueues[i];
3798 concurrentQueues[i++] = null;
3799 var lane = concurrentQueues[i];
3800 concurrentQueues[i++] = null;
3801 if (null !== queue && null !== update) {
3802 var pending = queue.pending;
3803 null === pending ? update.next = update : (update.next = pending.next, pending.next = update);
3804 queue.pending = update;
3805 }
3806 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);
3807 }
3808 }
3809 function enqueueUpdate$1(fiber, queue, update, lane) {
3810 concurrentQueues[concurrentQueuesIndex++] = fiber;
3811 concurrentQueues[concurrentQueuesIndex++] = queue;
3812 concurrentQueues[concurrentQueuesIndex++] = update;
3813 concurrentQueues[concurrentQueuesIndex++] = lane;
3814 concurrentlyUpdatedLanes |= lane;
3815 fiber.lanes |= lane;
3816 fiber = fiber.alternate;
3817 null !== fiber && (fiber.lanes |= lane);
3818 }
3819 function enqueueConcurrentHookUpdate(fiber, queue, update, lane) {
3820 enqueueUpdate$1(fiber, queue, update, lane);
3821 return getRootForUpdatedFiber(fiber);
3822 }
3823 function enqueueConcurrentRenderForLane(fiber, lane) {
3824 enqueueUpdate$1(fiber, null, null, lane);
3825 return getRootForUpdatedFiber(fiber);
3826 }
3827 function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {
3828 sourceFiber.lanes |= lane;
3829 var alternate = sourceFiber.alternate;
3830 null !== alternate && (alternate.lanes |= lane);
3831 for (var isHidden = false, parent = sourceFiber.return; null !== parent; )
3832 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;
3833 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;
3834 }
3835 function getRootForUpdatedFiber(sourceFiber) {
3836 if (nestedUpdateCount > NESTED_UPDATE_LIMIT)
3837 throw nestedPassiveUpdateCount = nestedUpdateCount = 0, rootWithPassiveNestedUpdates = rootWithNestedUpdates = null, Error(
3838 "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."
3839 );
3840 nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT && (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, console.error(
3841 "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."
3842 ));
3843 null === sourceFiber.alternate && 0 !== (sourceFiber.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);
3844 for (var node = sourceFiber, parent = node.return; null !== parent; )
3845 null === node.alternate && 0 !== (node.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber), node = parent, parent = node.return;
3846 return 3 === node.tag ? node.stateNode : null;
3847 }
3848 function resolveFunctionForHotReloading(type) {
3849 if (null === resolveFamily) return type;
3850 var family = resolveFamily(type);
3851 return void 0 === family ? type : family.current;
3852 }
3853 function resolveForwardRefForHotReloading(type) {
3854 if (null === resolveFamily) return type;
3855 var family = resolveFamily(type);
3856 return void 0 === family ? null !== type && void 0 !== type && "function" === typeof type.render && (family = resolveFunctionForHotReloading(type.render), type.render !== family) ? (family = { $$typeof: REACT_FORWARD_REF_TYPE, render: family }, void 0 !== type.displayName && (family.displayName = type.displayName), family) : type : family.current;
3857 }
3858 function isCompatibleFamilyForHotReloading(fiber, element) {
3859 if (null === resolveFamily) return false;
3860 var prevType = fiber.elementType;
3861 element = element.type;
3862 var needsCompareFamilies = false, $$typeofNextType = "object" === typeof element && null !== element ? element.$$typeof : null;
3863 switch (fiber.tag) {
3864 case 1:
3865 "function" === typeof element && (needsCompareFamilies = true);
3866 break;
3867 case 0:
3868 "function" === typeof element ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
3869 break;
3870 case 11:
3871 $$typeofNextType === REACT_FORWARD_REF_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
3872 break;
3873 case 14:
3874 case 15:
3875 $$typeofNextType === REACT_MEMO_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
3876 break;
3877 default:
3878 return false;
3879 }
3880 return needsCompareFamilies && (fiber = resolveFamily(prevType), void 0 !== fiber && fiber === resolveFamily(element)) ? true : false;
3881 }
3882 function markFailedErrorBoundaryForHotReloading(fiber) {
3883 null !== resolveFamily && "function" === typeof WeakSet && (null === failedBoundaries && (failedBoundaries = /* @__PURE__ */ new WeakSet()), failedBoundaries.add(fiber));
3884 }
3885 function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {
3886 do {
3887 var _fiber = fiber, alternate = _fiber.alternate, child = _fiber.child, sibling = _fiber.sibling, tag = _fiber.tag;
3888 _fiber = _fiber.type;
3889 var candidateType = null;
3890 switch (tag) {
3891 case 0:
3892 case 15:
3893 case 1:
3894 candidateType = _fiber;
3895 break;
3896 case 11:
3897 candidateType = _fiber.render;
3898 }
3899 if (null === resolveFamily)
3900 throw Error("Expected resolveFamily to be set during hot reload.");
3901 var needsRender = false;
3902 _fiber = false;
3903 null !== candidateType && (candidateType = resolveFamily(candidateType), void 0 !== candidateType && (staleFamilies.has(candidateType) ? _fiber = true : updatedFamilies.has(candidateType) && (1 === tag ? _fiber = true : needsRender = true)));
3904 null !== failedBoundaries && (failedBoundaries.has(fiber) || null !== alternate && failedBoundaries.has(alternate)) && (_fiber = true);
3905 _fiber && (fiber._debugNeedsRemount = true);
3906 if (_fiber || needsRender)
3907 alternate = enqueueConcurrentRenderForLane(fiber, 2), null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2);
3908 null === child || _fiber || scheduleFibersWithFamiliesRecursively(
3909 child,
3910 updatedFamilies,
3911 staleFamilies
3912 );
3913 if (null === sibling) break;
3914 fiber = sibling;
3915 } while (1);
3916 }
3917 function FiberNode(tag, pendingProps, key, mode) {
3918 this.tag = tag;
3919 this.key = key;
3920 this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null;
3921 this.index = 0;
3922 this.refCleanup = this.ref = null;
3923 this.pendingProps = pendingProps;
3924 this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;
3925 this.mode = mode;
3926 this.subtreeFlags = this.flags = 0;
3927 this.deletions = null;
3928 this.childLanes = this.lanes = 0;
3929 this.alternate = null;
3930 this.actualDuration = -0;
3931 this.actualStartTime = -1.1;
3932 this.treeBaseDuration = this.selfBaseDuration = -0;
3933 this._debugTask = this._debugStack = this._debugOwner = this._debugInfo = null;
3934 this._debugNeedsRemount = false;
3935 this._debugHookTypes = null;
3936 hasBadMapPolyfill || "function" !== typeof Object.preventExtensions || Object.preventExtensions(this);
3937 }
3938 function shouldConstruct(Component) {
3939 Component = Component.prototype;
3940 return !(!Component || !Component.isReactComponent);
3941 }
3942 function createWorkInProgress(current2, pendingProps) {
3943 var workInProgress2 = current2.alternate;
3944 null === workInProgress2 ? (workInProgress2 = createFiber(
3945 current2.tag,
3946 pendingProps,
3947 current2.key,
3948 current2.mode
3949 ), 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);
3950 workInProgress2.flags = current2.flags & 65011712;
3951 workInProgress2.childLanes = current2.childLanes;
3952 workInProgress2.lanes = current2.lanes;
3953 workInProgress2.child = current2.child;
3954 workInProgress2.memoizedProps = current2.memoizedProps;
3955 workInProgress2.memoizedState = current2.memoizedState;
3956 workInProgress2.updateQueue = current2.updateQueue;
3957 pendingProps = current2.dependencies;
3958 workInProgress2.dependencies = null === pendingProps ? null : {
3959 lanes: pendingProps.lanes,
3960 firstContext: pendingProps.firstContext,
3961 _debugThenableState: pendingProps._debugThenableState
3962 };
3963 workInProgress2.sibling = current2.sibling;
3964 workInProgress2.index = current2.index;
3965 workInProgress2.ref = current2.ref;
3966 workInProgress2.refCleanup = current2.refCleanup;
3967 workInProgress2.selfBaseDuration = current2.selfBaseDuration;
3968 workInProgress2.treeBaseDuration = current2.treeBaseDuration;
3969 workInProgress2._debugInfo = current2._debugInfo;
3970 workInProgress2._debugNeedsRemount = current2._debugNeedsRemount;
3971 switch (workInProgress2.tag) {
3972 case 0:
3973 case 15:
3974 workInProgress2.type = resolveFunctionForHotReloading(current2.type);
3975 break;
3976 case 1:
3977 workInProgress2.type = resolveFunctionForHotReloading(current2.type);
3978 break;
3979 case 11:
3980 workInProgress2.type = resolveForwardRefForHotReloading(current2.type);
3981 }
3982 return workInProgress2;
3983 }
3984 function resetWorkInProgress(workInProgress2, renderLanes2) {
3985 workInProgress2.flags &= 65011714;
3986 var current2 = workInProgress2.alternate;
3987 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 : {
3988 lanes: renderLanes2.lanes,
3989 firstContext: renderLanes2.firstContext,
3990 _debugThenableState: renderLanes2._debugThenableState
3991 }, workInProgress2.selfBaseDuration = current2.selfBaseDuration, workInProgress2.treeBaseDuration = current2.treeBaseDuration);
3992 return workInProgress2;
3993 }
3994 function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) {
3995 var fiberTag = 0, resolvedType = type;
3996 if ("function" === typeof type)
3997 shouldConstruct(type) && (fiberTag = 1), resolvedType = resolveFunctionForHotReloading(resolvedType);
3998 else if ("string" === typeof type)
3999 fiberTag = getHostContext(), fiberTag = isHostHoistableType(type, pendingProps, fiberTag) ? 26 : "html" === type || "head" === type || "body" === type ? 27 : 5;
4000 else
4001 a: switch (type) {
4002 case REACT_ACTIVITY_TYPE:
4003 return key = createFiber(31, pendingProps, key, mode), key.elementType = REACT_ACTIVITY_TYPE, key.lanes = lanes, key;
4004 case REACT_FRAGMENT_TYPE:
4005 return createFiberFromFragment(
4006 pendingProps.children,
4007 mode,
4008 lanes,
4009 key
4010 );
4011 case REACT_STRICT_MODE_TYPE:
4012 fiberTag = 8;
4013 mode |= StrictLegacyMode;
4014 mode |= StrictEffectsMode;
4015 break;
4016 case REACT_PROFILER_TYPE:
4017 return type = pendingProps, owner = mode, "string" !== typeof type.id && console.error(
4018 'Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.',
4019 typeof type.id
4020 ), key = createFiber(12, type, key, owner | ProfileMode), key.elementType = REACT_PROFILER_TYPE, key.lanes = lanes, key.stateNode = { effectDuration: 0, passiveEffectDuration: 0 }, key;
4021 case REACT_SUSPENSE_TYPE:
4022 return key = createFiber(13, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_TYPE, key.lanes = lanes, key;
4023 case REACT_SUSPENSE_LIST_TYPE:
4024 return key = createFiber(19, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_LIST_TYPE, key.lanes = lanes, key;
4025 default:
4026 if ("object" === typeof type && null !== type)
4027 switch (type.$$typeof) {
4028 case REACT_CONTEXT_TYPE:
4029 fiberTag = 10;
4030 break a;
4031 case REACT_CONSUMER_TYPE:
4032 fiberTag = 9;
4033 break a;
4034 case REACT_FORWARD_REF_TYPE:
4035 fiberTag = 11;
4036 resolvedType = resolveForwardRefForHotReloading(resolvedType);
4037 break a;
4038 case REACT_MEMO_TYPE:
4039 fiberTag = 14;
4040 break a;
4041 case REACT_LAZY_TYPE:
4042 fiberTag = 16;
4043 resolvedType = null;
4044 break a;
4045 }
4046 resolvedType = "";
4047 if (void 0 === type || "object" === typeof type && null !== type && 0 === Object.keys(type).length)
4048 resolvedType += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";
4049 null === type ? pendingProps = "null" : isArrayImpl(type) ? pendingProps = "array" : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE ? (pendingProps = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />", resolvedType = " Did you accidentally export a JSX literal instead of a component?") : pendingProps = typeof type;
4050 (fiberTag = owner ? getComponentNameFromOwner(owner) : null) && (resolvedType += "\n\nCheck the render method of `" + fiberTag + "`.");
4051 fiberTag = 29;
4052 pendingProps = Error(
4053 "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (pendingProps + "." + resolvedType)
4054 );
4055 resolvedType = null;
4056 }
4057 key = createFiber(fiberTag, pendingProps, key, mode);
4058 key.elementType = type;
4059 key.type = resolvedType;
4060 key.lanes = lanes;
4061 key._debugOwner = owner;
4062 return key;
4063 }
4064 function createFiberFromElement(element, mode, lanes) {
4065 mode = createFiberFromTypeAndProps(
4066 element.type,
4067 element.key,
4068 element.props,
4069 element._owner,
4070 mode,
4071 lanes
4072 );
4073 mode._debugOwner = element._owner;
4074 mode._debugStack = element._debugStack;
4075 mode._debugTask = element._debugTask;
4076 return mode;
4077 }
4078 function createFiberFromFragment(elements, mode, lanes, key) {
4079 elements = createFiber(7, elements, key, mode);
4080 elements.lanes = lanes;
4081 return elements;
4082 }
4083 function createFiberFromText(content, mode, lanes) {
4084 content = createFiber(6, content, null, mode);
4085 content.lanes = lanes;
4086 return content;
4087 }
4088 function createFiberFromDehydratedFragment(dehydratedNode) {
4089 var fiber = createFiber(18, null, null, NoMode);
4090 fiber.stateNode = dehydratedNode;
4091 return fiber;
4092 }
4093 function createFiberFromPortal(portal, mode, lanes) {
4094 mode = createFiber(
4095 4,
4096 null !== portal.children ? portal.children : [],
4097 portal.key,
4098 mode
4099 );
4100 mode.lanes = lanes;
4101 mode.stateNode = {
4102 containerInfo: portal.containerInfo,
4103 pendingChildren: null,
4104 implementation: portal.implementation
4105 };
4106 return mode;
4107 }
4108 function createCapturedValueAtFiber(value, source) {
4109 if ("object" === typeof value && null !== value) {
4110 var existing = CapturedStacks.get(value);
4111 if (void 0 !== existing) return existing;
4112 source = {
4113 value,
4114 source,
4115 stack: getStackByFiberInDevAndProd(source)
4116 };
4117 CapturedStacks.set(value, source);
4118 return source;
4119 }
4120 return {
4121 value,
4122 source,
4123 stack: getStackByFiberInDevAndProd(source)
4124 };
4125 }
4126 function pushTreeFork(workInProgress2, totalChildren) {
4127 warnIfNotHydrating();
4128 forkStack[forkStackIndex++] = treeForkCount;
4129 forkStack[forkStackIndex++] = treeForkProvider;
4130 treeForkProvider = workInProgress2;
4131 treeForkCount = totalChildren;
4132 }
4133 function pushTreeId(workInProgress2, totalChildren, index) {
4134 warnIfNotHydrating();
4135 idStack[idStackIndex++] = treeContextId;
4136 idStack[idStackIndex++] = treeContextOverflow;
4137 idStack[idStackIndex++] = treeContextProvider;
4138 treeContextProvider = workInProgress2;
4139 var baseIdWithLeadingBit = treeContextId;
4140 workInProgress2 = treeContextOverflow;
4141 var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;
4142 baseIdWithLeadingBit &= ~(1 << baseLength);
4143 index += 1;
4144 var length = 32 - clz32(totalChildren) + baseLength;
4145 if (30 < length) {
4146 var numberOfOverflowBits = baseLength - baseLength % 5;
4147 length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);
4148 baseIdWithLeadingBit >>= numberOfOverflowBits;
4149 baseLength -= numberOfOverflowBits;
4150 treeContextId = 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit;
4151 treeContextOverflow = length + workInProgress2;
4152 } else
4153 treeContextId = 1 << length | index << baseLength | baseIdWithLeadingBit, treeContextOverflow = workInProgress2;
4154 }
4155 function pushMaterializedTreeId(workInProgress2) {
4156 warnIfNotHydrating();
4157 null !== workInProgress2.return && (pushTreeFork(workInProgress2, 1), pushTreeId(workInProgress2, 1, 0));
4158 }
4159 function popTreeContext(workInProgress2) {
4160 for (; workInProgress2 === treeForkProvider; )
4161 treeForkProvider = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null, treeForkCount = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null;
4162 for (; workInProgress2 === treeContextProvider; )
4163 treeContextProvider = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextOverflow = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextId = idStack[--idStackIndex], idStack[idStackIndex] = null;
4164 }
4165 function getSuspendedTreeContext() {
4166 warnIfNotHydrating();
4167 return null !== treeContextProvider ? { id: treeContextId, overflow: treeContextOverflow } : null;
4168 }
4169 function restoreSuspendedTreeContext(workInProgress2, suspendedContext) {
4170 warnIfNotHydrating();
4171 idStack[idStackIndex++] = treeContextId;
4172 idStack[idStackIndex++] = treeContextOverflow;
4173 idStack[idStackIndex++] = treeContextProvider;
4174 treeContextId = suspendedContext.id;
4175 treeContextOverflow = suspendedContext.overflow;
4176 treeContextProvider = workInProgress2;
4177 }
4178 function warnIfNotHydrating() {
4179 isHydrating || console.error(
4180 "Expected to be hydrating. This is a bug in React. Please file an issue."
4181 );
4182 }
4183 function buildHydrationDiffNode(fiber, distanceFromLeaf) {
4184 if (null === fiber.return) {
4185 if (null === hydrationDiffRootDEV)
4186 hydrationDiffRootDEV = {
4187 fiber,
4188 children: [],
4189 serverProps: void 0,
4190 serverTail: [],
4191 distanceFromLeaf
4192 };
4193 else {
4194 if (hydrationDiffRootDEV.fiber !== fiber)
4195 throw Error(
4196 "Saw multiple hydration diff roots in a pass. This is a bug in React."
4197 );
4198 hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf && (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf);
4199 }
4200 return hydrationDiffRootDEV;
4201 }
4202 var siblings = buildHydrationDiffNode(
4203 fiber.return,
4204 distanceFromLeaf + 1
4205 ).children;
4206 if (0 < siblings.length && siblings[siblings.length - 1].fiber === fiber)
4207 return siblings = siblings[siblings.length - 1], siblings.distanceFromLeaf > distanceFromLeaf && (siblings.distanceFromLeaf = distanceFromLeaf), siblings;
4208 distanceFromLeaf = {
4209 fiber,
4210 children: [],
4211 serverProps: void 0,
4212 serverTail: [],
4213 distanceFromLeaf
4214 };
4215 siblings.push(distanceFromLeaf);
4216 return distanceFromLeaf;
4217 }
4218 function warnIfHydrating() {
4219 isHydrating && console.error(
4220 "We should not be hydrating here. This is a bug in React. Please file a bug."
4221 );
4222 }
4223 function warnNonHydratedInstance(fiber, rejectedCandidate) {
4224 didSuspendOrErrorDEV || (fiber = buildHydrationDiffNode(fiber, 0), fiber.serverProps = null, null !== rejectedCandidate && (rejectedCandidate = describeHydratableInstanceForDevWarnings(rejectedCandidate), fiber.serverTail.push(rejectedCandidate)));
4225 }
4226 function throwOnHydrationMismatch(fiber) {
4227 var fromText = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : false, diff = "", diffRoot = hydrationDiffRootDEV;
4228 null !== diffRoot && (hydrationDiffRootDEV = null, diff = describeDiff(diffRoot));
4229 queueHydrationError(
4230 createCapturedValueAtFiber(
4231 Error(
4232 "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
4233 ),
4234 fiber
4235 )
4236 );
4237 throw HydrationMismatchException;
4238 }
4239 function prepareToHydrateHostInstance(fiber) {
4240 var didHydrate = fiber.stateNode;
4241 var type = fiber.type, props = fiber.memoizedProps;
4242 didHydrate[internalInstanceKey] = fiber;
4243 didHydrate[internalPropsKey] = props;
4244 validatePropertiesInDevelopment(type, props);
4245 switch (type) {
4246 case "dialog":
4247 listenToNonDelegatedEvent("cancel", didHydrate);
4248 listenToNonDelegatedEvent("close", didHydrate);
4249 break;
4250 case "iframe":
4251 case "object":
4252 case "embed":
4253 listenToNonDelegatedEvent("load", didHydrate);
4254 break;
4255 case "video":
4256 case "audio":
4257 for (type = 0; type < mediaEventTypes.length; type++)
4258 listenToNonDelegatedEvent(mediaEventTypes[type], didHydrate);
4259 break;
4260 case "source":
4261 listenToNonDelegatedEvent("error", didHydrate);
4262 break;
4263 case "img":
4264 case "image":
4265 case "link":
4266 listenToNonDelegatedEvent("error", didHydrate);
4267 listenToNonDelegatedEvent("load", didHydrate);
4268 break;
4269 case "details":
4270 listenToNonDelegatedEvent("toggle", didHydrate);
4271 break;
4272 case "input":
4273 checkControlledValueProps("input", props);
4274 listenToNonDelegatedEvent("invalid", didHydrate);
4275 validateInputProps(didHydrate, props);
4276 initInput(
4277 didHydrate,
4278 props.value,
4279 props.defaultValue,
4280 props.checked,
4281 props.defaultChecked,
4282 props.type,
4283 props.name,
4284 true
4285 );
4286 break;
4287 case "option":
4288 validateOptionProps(didHydrate, props);
4289 break;
4290 case "select":
4291 checkControlledValueProps("select", props);
4292 listenToNonDelegatedEvent("invalid", didHydrate);
4293 validateSelectProps(didHydrate, props);
4294 break;
4295 case "textarea":
4296 checkControlledValueProps("textarea", props), listenToNonDelegatedEvent("invalid", didHydrate), validateTextareaProps(didHydrate, props), initTextarea(
4297 didHydrate,
4298 props.value,
4299 props.defaultValue,
4300 props.children
4301 );
4302 }
4303 type = props.children;
4304 "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;
4305 didHydrate || throwOnHydrationMismatch(fiber, true);
4306 }
4307 function popToNextHostParent(fiber) {
4308 for (hydrationParentFiber = fiber.return; hydrationParentFiber; )
4309 switch (hydrationParentFiber.tag) {
4310 case 5:
4311 case 31:
4312 case 13:
4313 rootOrSingletonContext = false;
4314 return;
4315 case 27:
4316 case 3:
4317 rootOrSingletonContext = true;
4318 return;
4319 default:
4320 hydrationParentFiber = hydrationParentFiber.return;
4321 }
4322 }
4323 function popHydrationState(fiber) {
4324 if (fiber !== hydrationParentFiber) return false;
4325 if (!isHydrating)
4326 return popToNextHostParent(fiber), isHydrating = true, false;
4327 var tag = fiber.tag, JSCompiler_temp;
4328 if (JSCompiler_temp = 3 !== tag && 27 !== tag) {
4329 if (JSCompiler_temp = 5 === tag)
4330 JSCompiler_temp = fiber.type, JSCompiler_temp = !("form" !== JSCompiler_temp && "button" !== JSCompiler_temp) || shouldSetTextContent(fiber.type, fiber.memoizedProps);
4331 JSCompiler_temp = !JSCompiler_temp;
4332 }
4333 if (JSCompiler_temp && nextHydratableInstance) {
4334 for (JSCompiler_temp = nextHydratableInstance; JSCompiler_temp; ) {
4335 var diffNode = buildHydrationDiffNode(fiber, 0), description = describeHydratableInstanceForDevWarnings(JSCompiler_temp);
4336 diffNode.serverTail.push(description);
4337 JSCompiler_temp = "Suspense" === description.type ? getNextHydratableInstanceAfterHydrationBoundary(JSCompiler_temp) : getNextHydratable(JSCompiler_temp.nextSibling);
4338 }
4339 throwOnHydrationMismatch(fiber);
4340 }
4341 popToNextHostParent(fiber);
4342 if (13 === tag) {
4343 fiber = fiber.memoizedState;
4344 fiber = null !== fiber ? fiber.dehydrated : null;
4345 if (!fiber)
4346 throw Error(
4347 "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
4348 );
4349 nextHydratableInstance = getNextHydratableInstanceAfterHydrationBoundary(fiber);
4350 } else if (31 === tag) {
4351 fiber = fiber.memoizedState;
4352 fiber = null !== fiber ? fiber.dehydrated : null;
4353 if (!fiber)
4354 throw Error(
4355 "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
4356 );
4357 nextHydratableInstance = getNextHydratableInstanceAfterHydrationBoundary(fiber);
4358 } else
4359 27 === tag ? (tag = nextHydratableInstance, isSingletonScope(fiber.type) ? (fiber = previousHydratableOnEnteringScopedSingleton, previousHydratableOnEnteringScopedSingleton = null, nextHydratableInstance = fiber) : nextHydratableInstance = tag) : nextHydratableInstance = hydrationParentFiber ? getNextHydratable(fiber.stateNode.nextSibling) : null;
4360 return true;
4361 }
4362 function resetHydrationState() {
4363 nextHydratableInstance = hydrationParentFiber = null;
4364 didSuspendOrErrorDEV = isHydrating = false;
4365 }
4366 function upgradeHydrationErrorsToRecoverable() {
4367 var queuedErrors = hydrationErrors;
4368 null !== queuedErrors && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = queuedErrors : workInProgressRootRecoverableErrors.push.apply(
4369 workInProgressRootRecoverableErrors,
4370 queuedErrors
4371 ), hydrationErrors = null);
4372 return queuedErrors;
4373 }
4374 function queueHydrationError(error) {
4375 null === hydrationErrors ? hydrationErrors = [error] : hydrationErrors.push(error);
4376 }
4377 function emitPendingHydrationWarnings() {
4378 var diffRoot = hydrationDiffRootDEV;
4379 if (null !== diffRoot) {
4380 hydrationDiffRootDEV = null;
4381 for (var diff = describeDiff(diffRoot); 0 < diffRoot.children.length; )
4382 diffRoot = diffRoot.children[0];
4383 runWithFiberInDEV(diffRoot.fiber, function() {
4384 console.error(
4385 "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",
4386 "https://react.dev/link/hydration-mismatch",
4387 diff
4388 );
4389 });
4390 }
4391 }
4392 function resetContextDependencies() {
4393 lastContextDependency = currentlyRenderingFiber$1 = null;
4394 isDisallowedContextReadInDEV = false;
4395 }
4396 function pushProvider(providerFiber, context, nextValue) {
4397 push(valueCursor, context._currentValue, providerFiber);
4398 context._currentValue = nextValue;
4399 push(rendererCursorDEV, context._currentRenderer, providerFiber);
4400 void 0 !== context._currentRenderer && null !== context._currentRenderer && context._currentRenderer !== rendererSigil && console.error(
4401 "Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."
4402 );
4403 context._currentRenderer = rendererSigil;
4404 }
4405 function popProvider(context, providerFiber) {
4406 context._currentValue = valueCursor.current;
4407 var currentRenderer = rendererCursorDEV.current;
4408 pop(rendererCursorDEV, providerFiber);
4409 context._currentRenderer = currentRenderer;
4410 pop(valueCursor, providerFiber);
4411 }
4412 function scheduleContextWorkOnParentPath(parent, renderLanes2, propagationRoot) {
4413 for (; null !== parent; ) {
4414 var alternate = parent.alternate;
4415 (parent.childLanes & renderLanes2) !== renderLanes2 ? (parent.childLanes |= renderLanes2, null !== alternate && (alternate.childLanes |= renderLanes2)) : null !== alternate && (alternate.childLanes & renderLanes2) !== renderLanes2 && (alternate.childLanes |= renderLanes2);
4416 if (parent === propagationRoot) break;
4417 parent = parent.return;
4418 }
4419 parent !== propagationRoot && console.error(
4420 "Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue."
4421 );
4422 }
4423 function propagateContextChanges(workInProgress2, contexts, renderLanes2, forcePropagateEntireTree) {
4424 var fiber = workInProgress2.child;
4425 null !== fiber && (fiber.return = workInProgress2);
4426 for (; null !== fiber; ) {
4427 var list = fiber.dependencies;
4428 if (null !== list) {
4429 var nextFiber = fiber.child;
4430 list = list.firstContext;
4431 a: for (; null !== list; ) {
4432 var dependency = list;
4433 list = fiber;
4434 for (var i = 0; i < contexts.length; i++)
4435 if (dependency.context === contexts[i]) {
4436 list.lanes |= renderLanes2;
4437 dependency = list.alternate;
4438 null !== dependency && (dependency.lanes |= renderLanes2);
4439 scheduleContextWorkOnParentPath(
4440 list.return,
4441 renderLanes2,
4442 workInProgress2
4443 );
4444 forcePropagateEntireTree || (nextFiber = null);
4445 break a;
4446 }
4447 list = dependency.next;
4448 }
4449 } else if (18 === fiber.tag) {
4450 nextFiber = fiber.return;
4451 if (null === nextFiber)
4452 throw Error(
4453 "We just came from a parent so we must have had a parent. This is a bug in React."
4454 );
4455 nextFiber.lanes |= renderLanes2;
4456 list = nextFiber.alternate;
4457 null !== list && (list.lanes |= renderLanes2);
4458 scheduleContextWorkOnParentPath(
4459 nextFiber,
4460 renderLanes2,
4461 workInProgress2
4462 );
4463 nextFiber = null;
4464 } else nextFiber = fiber.child;
4465 if (null !== nextFiber) nextFiber.return = fiber;
4466 else
4467 for (nextFiber = fiber; null !== nextFiber; ) {
4468 if (nextFiber === workInProgress2) {
4469 nextFiber = null;
4470 break;
4471 }
4472 fiber = nextFiber.sibling;
4473 if (null !== fiber) {
4474 fiber.return = nextFiber.return;
4475 nextFiber = fiber;
4476 break;
4477 }
4478 nextFiber = nextFiber.return;
4479 }
4480 fiber = nextFiber;
4481 }
4482 }
4483 function propagateParentContextChanges(current2, workInProgress2, renderLanes2, forcePropagateEntireTree) {
4484 current2 = null;
4485 for (var parent = workInProgress2, isInsidePropagationBailout = false; null !== parent; ) {
4486 if (!isInsidePropagationBailout) {
4487 if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = true;
4488 else if (0 !== (parent.flags & 262144)) break;
4489 }
4490 if (10 === parent.tag) {
4491 var currentParent = parent.alternate;
4492 if (null === currentParent)
4493 throw Error("Should have a current fiber. This is a bug in React.");
4494 currentParent = currentParent.memoizedProps;
4495 if (null !== currentParent) {
4496 var context = parent.type;
4497 objectIs(parent.pendingProps.value, currentParent.value) || (null !== current2 ? current2.push(context) : current2 = [context]);
4498 }
4499 } else if (parent === hostTransitionProviderCursor.current) {
4500 currentParent = parent.alternate;
4501 if (null === currentParent)
4502 throw Error("Should have a current fiber. This is a bug in React.");
4503 currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (null !== current2 ? current2.push(HostTransitionContext) : current2 = [HostTransitionContext]);
4504 }
4505 parent = parent.return;
4506 }
4507 null !== current2 && propagateContextChanges(
4508 workInProgress2,
4509 current2,
4510 renderLanes2,
4511 forcePropagateEntireTree
4512 );
4513 workInProgress2.flags |= 262144;
4514 }
4515 function checkIfContextChanged(currentDependencies) {
4516 for (currentDependencies = currentDependencies.firstContext; null !== currentDependencies; ) {
4517 if (!objectIs(
4518 currentDependencies.context._currentValue,
4519 currentDependencies.memoizedValue
4520 ))
4521 return true;
4522 currentDependencies = currentDependencies.next;
4523 }
4524 return false;
4525 }
4526 function prepareToReadContext(workInProgress2) {
4527 currentlyRenderingFiber$1 = workInProgress2;
4528 lastContextDependency = null;
4529 workInProgress2 = workInProgress2.dependencies;
4530 null !== workInProgress2 && (workInProgress2.firstContext = null);
4531 }
4532 function readContext(context) {
4533 isDisallowedContextReadInDEV && console.error(
4534 "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()."
4535 );
4536 return readContextForConsumer(currentlyRenderingFiber$1, context);
4537 }
4538 function readContextDuringReconciliation(consumer, context) {
4539 null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);
4540 return readContextForConsumer(consumer, context);
4541 }
4542 function readContextForConsumer(consumer, context) {
4543 var value = context._currentValue;
4544 context = { context, memoizedValue: value, next: null };
4545 if (null === lastContextDependency) {
4546 if (null === consumer)
4547 throw Error(
4548 "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()."
4549 );
4550 lastContextDependency = context;
4551 consumer.dependencies = {
4552 lanes: 0,
4553 firstContext: context,
4554 _debugThenableState: null
4555 };
4556 consumer.flags |= 524288;
4557 } else lastContextDependency = lastContextDependency.next = context;
4558 return value;
4559 }
4560 function createCache() {
4561 return {
4562 controller: new AbortControllerLocal(),
4563 data: /* @__PURE__ */ new Map(),
4564 refCount: 0
4565 };
4566 }
4567 function retainCache(cache) {
4568 cache.controller.signal.aborted && console.warn(
4569 "A cache instance was retained after it was already freed. This likely indicates a bug in React."
4570 );
4571 cache.refCount++;
4572 }
4573 function releaseCache(cache) {
4574 cache.refCount--;
4575 0 > cache.refCount && console.warn(
4576 "A cache instance was released after it was already freed. This likely indicates a bug in React."
4577 );
4578 0 === cache.refCount && scheduleCallback$2(NormalPriority, function() {
4579 cache.controller.abort();
4580 });
4581 }
4582 function startUpdateTimerByLane(lane, method, fiber) {
4583 if (0 !== (lane & 127))
4584 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);
4585 else if (0 !== (lane & 4194048) && 0 > transitionUpdateTime && (transitionUpdateTime = now(), transitionUpdateTask = createTask(method), transitionUpdateMethodName = method, null != fiber && (transitionUpdateComponentName = getComponentNameFromFiber(fiber)), 0 > transitionStartTime)) {
4586 lane = resolveEventTimeStamp();
4587 method = resolveEventType();
4588 if (lane !== transitionEventRepeatTime || method !== transitionEventType)
4589 transitionEventRepeatTime = -1.1;
4590 transitionEventTime = lane;
4591 transitionEventType = method;
4592 }
4593 }
4594 function startHostActionTimer(fiber) {
4595 if (0 > blockingUpdateTime) {
4596 blockingUpdateTime = now();
4597 blockingUpdateTask = null != fiber._debugTask ? fiber._debugTask : null;
4598 (executionContext & (RenderContext | CommitContext)) !== NoContext && (blockingUpdateType = SPAWNED_UPDATE);
4599 var newEventTime = resolveEventTimeStamp(), newEventType = resolveEventType();
4600 newEventTime !== blockingEventRepeatTime || newEventType !== blockingEventType ? blockingEventRepeatTime = -1.1 : null !== newEventType && (blockingUpdateType = SPAWNED_UPDATE);
4601 blockingEventTime = newEventTime;
4602 blockingEventType = newEventType;
4603 }
4604 if (0 > transitionUpdateTime && (transitionUpdateTime = now(), transitionUpdateTask = null != fiber._debugTask ? fiber._debugTask : null, 0 > transitionStartTime)) {
4605 fiber = resolveEventTimeStamp();
4606 newEventTime = resolveEventType();
4607 if (fiber !== transitionEventRepeatTime || newEventTime !== transitionEventType)
4608 transitionEventRepeatTime = -1.1;
4609 transitionEventTime = fiber;
4610 transitionEventType = newEventTime;
4611 }
4612 }
4613 function pushNestedEffectDurations() {
4614 var prevEffectDuration = profilerEffectDuration;
4615 profilerEffectDuration = 0;
4616 return prevEffectDuration;
4617 }
4618 function popNestedEffectDurations(prevEffectDuration) {
4619 var elapsedTime = profilerEffectDuration;
4620 profilerEffectDuration = prevEffectDuration;
4621 return elapsedTime;
4622 }
4623 function bubbleNestedEffectDurations(prevEffectDuration) {
4624 var elapsedTime = profilerEffectDuration;
4625 profilerEffectDuration += prevEffectDuration;
4626 return elapsedTime;
4627 }
4628 function resetComponentEffectTimers() {
4629 componentEffectEndTime = componentEffectStartTime = -1.1;
4630 }
4631 function pushComponentEffectStart() {
4632 var prevEffectStart = componentEffectStartTime;
4633 componentEffectStartTime = -1.1;
4634 return prevEffectStart;
4635 }
4636 function popComponentEffectStart(prevEffectStart) {
4637 0 <= prevEffectStart && (componentEffectStartTime = prevEffectStart);
4638 }
4639 function pushComponentEffectDuration() {
4640 var prevEffectDuration = componentEffectDuration;
4641 componentEffectDuration = -0;
4642 return prevEffectDuration;
4643 }
4644 function popComponentEffectDuration(prevEffectDuration) {
4645 0 <= prevEffectDuration && (componentEffectDuration = prevEffectDuration);
4646 }
4647 function pushComponentEffectErrors() {
4648 var prevErrors = componentEffectErrors;
4649 componentEffectErrors = null;
4650 return prevErrors;
4651 }
4652 function pushComponentEffectDidSpawnUpdate() {
4653 var prev = componentEffectSpawnedUpdate;
4654 componentEffectSpawnedUpdate = false;
4655 return prev;
4656 }
4657 function startProfilerTimer(fiber) {
4658 profilerStartTime = now();
4659 0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime);
4660 }
4661 function stopProfilerTimerIfRunningAndRecordDuration(fiber) {
4662 if (0 <= profilerStartTime) {
4663 var elapsedTime = now() - profilerStartTime;
4664 fiber.actualDuration += elapsedTime;
4665 fiber.selfBaseDuration = elapsedTime;
4666 profilerStartTime = -1;
4667 }
4668 }
4669 function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) {
4670 if (0 <= profilerStartTime) {
4671 var elapsedTime = now() - profilerStartTime;
4672 fiber.actualDuration += elapsedTime;
4673 profilerStartTime = -1;
4674 }
4675 }
4676 function recordEffectDuration() {
4677 if (0 <= profilerStartTime) {
4678 var endTime = now(), elapsedTime = endTime - profilerStartTime;
4679 profilerStartTime = -1;
4680 profilerEffectDuration += elapsedTime;
4681 componentEffectDuration += elapsedTime;
4682 componentEffectEndTime = endTime;
4683 }
4684 }
4685 function recordEffectError(errorInfo) {
4686 null === componentEffectErrors && (componentEffectErrors = []);
4687 componentEffectErrors.push(errorInfo);
4688 null === commitErrors && (commitErrors = []);
4689 commitErrors.push(errorInfo);
4690 }
4691 function startEffectTimer() {
4692 profilerStartTime = now();
4693 0 > componentEffectStartTime && (componentEffectStartTime = profilerStartTime);
4694 }
4695 function transferActualDuration(fiber) {
4696 for (var child = fiber.child; child; )
4697 fiber.actualDuration += child.actualDuration, child = child.sibling;
4698 }
4699 function entangleAsyncAction(transition, thenable) {
4700 if (null === currentEntangledListeners) {
4701 var entangledListeners = currentEntangledListeners = [];
4702 currentEntangledPendingCount = 0;
4703 currentEntangledLane = requestTransitionLane();
4704 currentEntangledActionThenable = {
4705 status: "pending",
4706 value: void 0,
4707 then: function(resolve) {
4708 entangledListeners.push(resolve);
4709 }
4710 };
4711 }
4712 currentEntangledPendingCount++;
4713 thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);
4714 return thenable;
4715 }
4716 function pingEngtangledActionScope() {
4717 if (0 === --currentEntangledPendingCount && (-1 < transitionUpdateTime || (transitionStartTime = -1.1), null !== currentEntangledListeners)) {
4718 null !== currentEntangledActionThenable && (currentEntangledActionThenable.status = "fulfilled");
4719 var listeners = currentEntangledListeners;
4720 currentEntangledListeners = null;
4721 currentEntangledLane = 0;
4722 currentEntangledActionThenable = null;
4723 for (var i = 0; i < listeners.length; i++) (0, listeners[i])();
4724 }
4725 }
4726 function chainThenableValue(thenable, result) {
4727 var listeners = [], thenableWithOverride = {
4728 status: "pending",
4729 value: null,
4730 reason: null,
4731 then: function(resolve) {
4732 listeners.push(resolve);
4733 }
4734 };
4735 thenable.then(
4736 function() {
4737 thenableWithOverride.status = "fulfilled";
4738 thenableWithOverride.value = result;
4739 for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);
4740 },
4741 function(error) {
4742 thenableWithOverride.status = "rejected";
4743 thenableWithOverride.reason = error;
4744 for (error = 0; error < listeners.length; error++)
4745 (0, listeners[error])(void 0);
4746 }
4747 );
4748 return thenableWithOverride;
4749 }
4750 function peekCacheFromPool() {
4751 var cacheResumedFromPreviousRender = resumedCache.current;
4752 return null !== cacheResumedFromPreviousRender ? cacheResumedFromPreviousRender : workInProgressRoot.pooledCache;
4753 }
4754 function pushTransition(offscreenWorkInProgress, prevCachePool) {
4755 null === prevCachePool ? push(resumedCache, resumedCache.current, offscreenWorkInProgress) : push(resumedCache, prevCachePool.pool, offscreenWorkInProgress);
4756 }
4757 function getSuspendedCache() {
4758 var cacheFromPool = peekCacheFromPool();
4759 return null === cacheFromPool ? null : { parent: CacheContext._currentValue, pool: cacheFromPool };
4760 }
4761 function createThenableState() {
4762 return { didWarnAboutUncachedPromise: false, thenables: [] };
4763 }
4764 function isThenableResolved(thenable) {
4765 thenable = thenable.status;
4766 return "fulfilled" === thenable || "rejected" === thenable;
4767 }
4768 function trackUsedThenable(thenableState2, thenable, index) {
4769 null !== ReactSharedInternals.actQueue && (ReactSharedInternals.didUsePromise = true);
4770 var trackedThenables = thenableState2.thenables;
4771 index = trackedThenables[index];
4772 void 0 === index ? trackedThenables.push(thenable) : index !== thenable && (thenableState2.didWarnAboutUncachedPromise || (thenableState2.didWarnAboutUncachedPromise = true, console.error(
4773 "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."
4774 )), thenable.then(noop$1, noop$1), thenable = index);
4775 if (void 0 === thenable._debugInfo) {
4776 thenableState2 = performance.now();
4777 trackedThenables = thenable.displayName;
4778 var ioInfo = {
4779 name: "string" === typeof trackedThenables ? trackedThenables : "Promise",
4780 start: thenableState2,
4781 end: thenableState2,
4782 value: thenable
4783 };
4784 thenable._debugInfo = [{ awaited: ioInfo }];
4785 "fulfilled" !== thenable.status && "rejected" !== thenable.status && (thenableState2 = function() {
4786 ioInfo.end = performance.now();
4787 }, thenable.then(thenableState2, thenableState2));
4788 }
4789 switch (thenable.status) {
4790 case "fulfilled":
4791 return thenable.value;
4792 case "rejected":
4793 throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2;
4794 default:
4795 if ("string" === typeof thenable.status)
4796 thenable.then(noop$1, noop$1);
4797 else {
4798 thenableState2 = workInProgressRoot;
4799 if (null !== thenableState2 && 100 < thenableState2.shellSuspendCounter)
4800 throw Error(
4801 "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."
4802 );
4803 thenableState2 = thenable;
4804 thenableState2.status = "pending";
4805 thenableState2.then(
4806 function(fulfilledValue) {
4807 if ("pending" === thenable.status) {
4808 var fulfilledThenable = thenable;
4809 fulfilledThenable.status = "fulfilled";
4810 fulfilledThenable.value = fulfilledValue;
4811 }
4812 },
4813 function(error) {
4814 if ("pending" === thenable.status) {
4815 var rejectedThenable = thenable;
4816 rejectedThenable.status = "rejected";
4817 rejectedThenable.reason = error;
4818 }
4819 }
4820 );
4821 }
4822 switch (thenable.status) {
4823 case "fulfilled":
4824 return thenable.value;
4825 case "rejected":
4826 throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2;
4827 }
4828 suspendedThenable = thenable;
4829 needsToResetSuspendedThenableDEV = true;
4830 throw SuspenseException;
4831 }
4832 }
4833 function resolveLazy(lazyType) {
4834 try {
4835 return callLazyInitInDEV(lazyType);
4836 } catch (x) {
4837 if (null !== x && "object" === typeof x && "function" === typeof x.then)
4838 throw suspendedThenable = x, needsToResetSuspendedThenableDEV = true, SuspenseException;
4839 throw x;
4840 }
4841 }
4842 function getSuspendedThenable() {
4843 if (null === suspendedThenable)
4844 throw Error(
4845 "Expected a suspended thenable. This is a bug in React. Please file an issue."
4846 );
4847 var thenable = suspendedThenable;
4848 suspendedThenable = null;
4849 needsToResetSuspendedThenableDEV = false;
4850 return thenable;
4851 }
4852 function checkIfUseWrappedInAsyncCatch(rejectedReason) {
4853 if (rejectedReason === SuspenseException || rejectedReason === SuspenseActionException)
4854 throw Error(
4855 "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."
4856 );
4857 }
4858 function pushDebugInfo(debugInfo) {
4859 var previousDebugInfo = currentDebugInfo;
4860 null != debugInfo && (currentDebugInfo = null === previousDebugInfo ? debugInfo : previousDebugInfo.concat(debugInfo));
4861 return previousDebugInfo;
4862 }
4863 function getCurrentDebugTask() {
4864 var debugInfo = currentDebugInfo;
4865 if (null != debugInfo) {
4866 for (var i = debugInfo.length - 1; 0 <= i; i--)
4867 if (null != debugInfo[i].name) {
4868 var debugTask = debugInfo[i].debugTask;
4869 if (null != debugTask) return debugTask;
4870 }
4871 }
4872 return null;
4873 }
4874 function validateFragmentProps(element, fiber, returnFiber) {
4875 for (var keys = Object.keys(element.props), i = 0; i < keys.length; i++) {
4876 var key = keys[i];
4877 if ("children" !== key && "key" !== key) {
4878 null === fiber && (fiber = createFiberFromElement(element, returnFiber.mode, 0), fiber._debugInfo = currentDebugInfo, fiber.return = returnFiber);
4879 runWithFiberInDEV(
4880 fiber,
4881 function(erroredKey) {
4882 console.error(
4883 "Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",
4884 erroredKey
4885 );
4886 },
4887 key
4888 );
4889 break;
4890 }
4891 }
4892 }
4893 function unwrapThenable(thenable) {
4894 var index = thenableIndexCounter$1;
4895 thenableIndexCounter$1 += 1;
4896 null === thenableState$1 && (thenableState$1 = createThenableState());
4897 return trackUsedThenable(thenableState$1, thenable, index);
4898 }
4899 function coerceRef(workInProgress2, element) {
4900 element = element.props.ref;
4901 workInProgress2.ref = void 0 !== element ? element : null;
4902 }
4903 function throwOnInvalidObjectTypeImpl(returnFiber, newChild) {
4904 if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)
4905 throw Error(
4906 '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.'
4907 );
4908 returnFiber = Object.prototype.toString.call(newChild);
4909 throw Error(
4910 "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."
4911 );
4912 }
4913 function throwOnInvalidObjectType(returnFiber, newChild) {
4914 var debugTask = getCurrentDebugTask();
4915 null !== debugTask ? debugTask.run(
4916 throwOnInvalidObjectTypeImpl.bind(null, returnFiber, newChild)
4917 ) : throwOnInvalidObjectTypeImpl(returnFiber, newChild);
4918 }
4919 function warnOnFunctionTypeImpl(returnFiber, invalidChild) {
4920 var parentName = getComponentNameFromFiber(returnFiber) || "Component";
4921 ownerHasFunctionTypeWarning[parentName] || (ownerHasFunctionTypeWarning[parentName] = true, invalidChild = invalidChild.displayName || invalidChild.name || "Component", 3 === returnFiber.tag ? console.error(
4922 "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)",
4923 invalidChild,
4924 invalidChild,
4925 invalidChild
4926 ) : console.error(
4927 "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>",
4928 invalidChild,
4929 invalidChild,
4930 parentName,
4931 invalidChild,
4932 parentName
4933 ));
4934 }
4935 function warnOnFunctionType(returnFiber, invalidChild) {
4936 var debugTask = getCurrentDebugTask();
4937 null !== debugTask ? debugTask.run(
4938 warnOnFunctionTypeImpl.bind(null, returnFiber, invalidChild)
4939 ) : warnOnFunctionTypeImpl(returnFiber, invalidChild);
4940 }
4941 function warnOnSymbolTypeImpl(returnFiber, invalidChild) {
4942 var parentName = getComponentNameFromFiber(returnFiber) || "Component";
4943 ownerHasSymbolTypeWarning[parentName] || (ownerHasSymbolTypeWarning[parentName] = true, invalidChild = String(invalidChild), 3 === returnFiber.tag ? console.error(
4944 "Symbols are not valid as a React child.\n root.render(%s)",
4945 invalidChild
4946 ) : console.error(
4947 "Symbols are not valid as a React child.\n <%s>%s</%s>",
4948 parentName,
4949 invalidChild,
4950 parentName
4951 ));
4952 }
4953 function warnOnSymbolType(returnFiber, invalidChild) {
4954 var debugTask = getCurrentDebugTask();
4955 null !== debugTask ? debugTask.run(
4956 warnOnSymbolTypeImpl.bind(null, returnFiber, invalidChild)
4957 ) : warnOnSymbolTypeImpl(returnFiber, invalidChild);
4958 }
4959 function createChildReconciler(shouldTrackSideEffects) {
4960 function deleteChild(returnFiber, childToDelete) {
4961 if (shouldTrackSideEffects) {
4962 var deletions = returnFiber.deletions;
4963 null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete);
4964 }
4965 }
4966 function deleteRemainingChildren(returnFiber, currentFirstChild) {
4967 if (!shouldTrackSideEffects) return null;
4968 for (; null !== currentFirstChild; )
4969 deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
4970 return null;
4971 }
4972 function mapRemainingChildren(currentFirstChild) {
4973 for (var existingChildren = /* @__PURE__ */ new Map(); null !== currentFirstChild; )
4974 null !== currentFirstChild.key ? existingChildren.set(currentFirstChild.key, currentFirstChild) : existingChildren.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
4975 return existingChildren;
4976 }
4977 function useFiber(fiber, pendingProps) {
4978 fiber = createWorkInProgress(fiber, pendingProps);
4979 fiber.index = 0;
4980 fiber.sibling = null;
4981 return fiber;
4982 }
4983 function placeChild(newFiber, lastPlacedIndex, newIndex) {
4984 newFiber.index = newIndex;
4985 if (!shouldTrackSideEffects)
4986 return newFiber.flags |= 1048576, lastPlacedIndex;
4987 newIndex = newFiber.alternate;
4988 if (null !== newIndex)
4989 return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 67108866, lastPlacedIndex) : newIndex;
4990 newFiber.flags |= 67108866;
4991 return lastPlacedIndex;
4992 }
4993 function placeSingleChild(newFiber) {
4994 shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 67108866);
4995 return newFiber;
4996 }
4997 function updateTextNode(returnFiber, current2, textContent, lanes) {
4998 if (null === current2 || 6 !== current2.tag)
4999 return current2 = createFiberFromText(
5000 textContent,
5001 returnFiber.mode,
5002 lanes
5003 ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2;
5004 current2 = useFiber(current2, textContent);
5005 current2.return = returnFiber;
5006 current2._debugInfo = currentDebugInfo;
5007 return current2;
5008 }
5009 function updateElement(returnFiber, current2, element, lanes) {
5010 var elementType = element.type;
5011 if (elementType === REACT_FRAGMENT_TYPE)
5012 return current2 = updateFragment(
5013 returnFiber,
5014 current2,
5015 element.props.children,
5016 lanes,
5017 element.key
5018 ), validateFragmentProps(element, current2, returnFiber), current2;
5019 if (null !== current2 && (current2.elementType === elementType || isCompatibleFamilyForHotReloading(current2, element) || "object" === typeof elementType && null !== elementType && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current2.type))
5020 return current2 = useFiber(current2, element.props), coerceRef(current2, element), current2.return = returnFiber, current2._debugOwner = element._owner, current2._debugInfo = currentDebugInfo, current2;
5021 current2 = createFiberFromElement(element, returnFiber.mode, lanes);
5022 coerceRef(current2, element);
5023 current2.return = returnFiber;
5024 current2._debugInfo = currentDebugInfo;
5025 return current2;
5026 }
5027 function updatePortal(returnFiber, current2, portal, lanes) {
5028 if (null === current2 || 4 !== current2.tag || current2.stateNode.containerInfo !== portal.containerInfo || current2.stateNode.implementation !== portal.implementation)
5029 return current2 = createFiberFromPortal(portal, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugInfo = currentDebugInfo, current2;
5030 current2 = useFiber(current2, portal.children || []);
5031 current2.return = returnFiber;
5032 current2._debugInfo = currentDebugInfo;
5033 return current2;
5034 }
5035 function updateFragment(returnFiber, current2, fragment, lanes, key) {
5036 if (null === current2 || 7 !== current2.tag)
5037 return current2 = createFiberFromFragment(
5038 fragment,
5039 returnFiber.mode,
5040 lanes,
5041 key
5042 ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2;
5043 current2 = useFiber(current2, fragment);
5044 current2.return = returnFiber;
5045 current2._debugInfo = currentDebugInfo;
5046 return current2;
5047 }
5048 function createChild(returnFiber, newChild, lanes) {
5049 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
5050 return newChild = createFiberFromText(
5051 "" + newChild,
5052 returnFiber.mode,
5053 lanes
5054 ), newChild.return = returnFiber, newChild._debugOwner = returnFiber, newChild._debugTask = returnFiber._debugTask, newChild._debugInfo = currentDebugInfo, newChild;
5055 if ("object" === typeof newChild && null !== newChild) {
5056 switch (newChild.$$typeof) {
5057 case REACT_ELEMENT_TYPE:
5058 return lanes = createFiberFromElement(
5059 newChild,
5060 returnFiber.mode,
5061 lanes
5062 ), coerceRef(lanes, newChild), lanes.return = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes;
5063 case REACT_PORTAL_TYPE:
5064 return newChild = createFiberFromPortal(
5065 newChild,
5066 returnFiber.mode,
5067 lanes
5068 ), newChild.return = returnFiber, newChild._debugInfo = currentDebugInfo, newChild;
5069 case REACT_LAZY_TYPE:
5070 var _prevDebugInfo = pushDebugInfo(newChild._debugInfo);
5071 newChild = resolveLazy(newChild);
5072 returnFiber = createChild(returnFiber, newChild, lanes);
5073 currentDebugInfo = _prevDebugInfo;
5074 return returnFiber;
5075 }
5076 if (isArrayImpl(newChild) || getIteratorFn(newChild))
5077 return lanes = createFiberFromFragment(
5078 newChild,
5079 returnFiber.mode,
5080 lanes,
5081 null
5082 ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes;
5083 if ("function" === typeof newChild.then)
5084 return _prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = createChild(
5085 returnFiber,
5086 unwrapThenable(newChild),
5087 lanes
5088 ), currentDebugInfo = _prevDebugInfo, returnFiber;
5089 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
5090 return createChild(
5091 returnFiber,
5092 readContextDuringReconciliation(returnFiber, newChild),
5093 lanes
5094 );
5095 throwOnInvalidObjectType(returnFiber, newChild);
5096 }
5097 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
5098 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
5099 return null;
5100 }
5101 function updateSlot(returnFiber, oldFiber, newChild, lanes) {
5102 var key = null !== oldFiber ? oldFiber.key : null;
5103 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
5104 return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);
5105 if ("object" === typeof newChild && null !== newChild) {
5106 switch (newChild.$$typeof) {
5107 case REACT_ELEMENT_TYPE:
5108 return newChild.key === key ? (key = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement(
5109 returnFiber,
5110 oldFiber,
5111 newChild,
5112 lanes
5113 ), currentDebugInfo = key, returnFiber) : null;
5114 case REACT_PORTAL_TYPE:
5115 return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null;
5116 case REACT_LAZY_TYPE:
5117 return key = pushDebugInfo(newChild._debugInfo), newChild = resolveLazy(newChild), returnFiber = updateSlot(
5118 returnFiber,
5119 oldFiber,
5120 newChild,
5121 lanes
5122 ), currentDebugInfo = key, returnFiber;
5123 }
5124 if (isArrayImpl(newChild) || getIteratorFn(newChild)) {
5125 if (null !== key) return null;
5126 key = pushDebugInfo(newChild._debugInfo);
5127 returnFiber = updateFragment(
5128 returnFiber,
5129 oldFiber,
5130 newChild,
5131 lanes,
5132 null
5133 );
5134 currentDebugInfo = key;
5135 return returnFiber;
5136 }
5137 if ("function" === typeof newChild.then)
5138 return key = pushDebugInfo(newChild._debugInfo), returnFiber = updateSlot(
5139 returnFiber,
5140 oldFiber,
5141 unwrapThenable(newChild),
5142 lanes
5143 ), currentDebugInfo = key, returnFiber;
5144 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
5145 return updateSlot(
5146 returnFiber,
5147 oldFiber,
5148 readContextDuringReconciliation(returnFiber, newChild),
5149 lanes
5150 );
5151 throwOnInvalidObjectType(returnFiber, newChild);
5152 }
5153 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
5154 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
5155 return null;
5156 }
5157 function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {
5158 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
5159 return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes);
5160 if ("object" === typeof newChild && null !== newChild) {
5161 switch (newChild.$$typeof) {
5162 case REACT_ELEMENT_TYPE:
5163 return newIdx = existingChildren.get(
5164 null === newChild.key ? newIdx : newChild.key
5165 ) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement(
5166 returnFiber,
5167 newIdx,
5168 newChild,
5169 lanes
5170 ), currentDebugInfo = existingChildren, returnFiber;
5171 case REACT_PORTAL_TYPE:
5172 return existingChildren = existingChildren.get(
5173 null === newChild.key ? newIdx : newChild.key
5174 ) || null, updatePortal(returnFiber, existingChildren, newChild, lanes);
5175 case REACT_LAZY_TYPE:
5176 var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo);
5177 newChild = resolveLazy(newChild);
5178 returnFiber = updateFromMap(
5179 existingChildren,
5180 returnFiber,
5181 newIdx,
5182 newChild,
5183 lanes
5184 );
5185 currentDebugInfo = _prevDebugInfo7;
5186 return returnFiber;
5187 }
5188 if (isArrayImpl(newChild) || getIteratorFn(newChild))
5189 return newIdx = existingChildren.get(newIdx) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateFragment(
5190 returnFiber,
5191 newIdx,
5192 newChild,
5193 lanes,
5194 null
5195 ), currentDebugInfo = existingChildren, returnFiber;
5196 if ("function" === typeof newChild.then)
5197 return _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo), returnFiber = updateFromMap(
5198 existingChildren,
5199 returnFiber,
5200 newIdx,
5201 unwrapThenable(newChild),
5202 lanes
5203 ), currentDebugInfo = _prevDebugInfo7, returnFiber;
5204 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
5205 return updateFromMap(
5206 existingChildren,
5207 returnFiber,
5208 newIdx,
5209 readContextDuringReconciliation(returnFiber, newChild),
5210 lanes
5211 );
5212 throwOnInvalidObjectType(returnFiber, newChild);
5213 }
5214 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
5215 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
5216 return null;
5217 }
5218 function warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys) {
5219 if ("object" !== typeof child || null === child) return knownKeys;
5220 switch (child.$$typeof) {
5221 case REACT_ELEMENT_TYPE:
5222 case REACT_PORTAL_TYPE:
5223 warnForMissingKey(returnFiber, workInProgress2, child);
5224 var key = child.key;
5225 if ("string" !== typeof key) break;
5226 if (null === knownKeys) {
5227 knownKeys = /* @__PURE__ */ new Set();
5228 knownKeys.add(key);
5229 break;
5230 }
5231 if (!knownKeys.has(key)) {
5232 knownKeys.add(key);
5233 break;
5234 }
5235 runWithFiberInDEV(workInProgress2, function() {
5236 console.error(
5237 "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.",
5238 key
5239 );
5240 });
5241 break;
5242 case REACT_LAZY_TYPE:
5243 child = resolveLazy(child), warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys);
5244 }
5245 return knownKeys;
5246 }
5247 function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {
5248 for (var knownKeys = null, resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) {
5249 oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
5250 var newFiber = updateSlot(
5251 returnFiber,
5252 oldFiber,
5253 newChildren[newIdx],
5254 lanes
5255 );
5256 if (null === newFiber) {
5257 null === oldFiber && (oldFiber = nextOldFiber);
5258 break;
5259 }
5260 knownKeys = warnOnInvalidKey(
5261 returnFiber,
5262 newFiber,
5263 newChildren[newIdx],
5264 knownKeys
5265 );
5266 shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
5267 currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
5268 null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
5269 previousNewFiber = newFiber;
5270 oldFiber = nextOldFiber;
5271 }
5272 if (newIdx === newChildren.length)
5273 return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild;
5274 if (null === oldFiber) {
5275 for (; newIdx < newChildren.length; newIdx++)
5276 oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey(
5277 returnFiber,
5278 oldFiber,
5279 newChildren[newIdx],
5280 knownKeys
5281 ), currentFirstChild = placeChild(
5282 oldFiber,
5283 currentFirstChild,
5284 newIdx
5285 ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
5286 isHydrating && pushTreeFork(returnFiber, newIdx);
5287 return resultingFirstChild;
5288 }
5289 for (oldFiber = mapRemainingChildren(oldFiber); newIdx < newChildren.length; newIdx++)
5290 nextOldFiber = updateFromMap(
5291 oldFiber,
5292 returnFiber,
5293 newIdx,
5294 newChildren[newIdx],
5295 lanes
5296 ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey(
5297 returnFiber,
5298 nextOldFiber,
5299 newChildren[newIdx],
5300 knownKeys
5301 ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete(
5302 null === nextOldFiber.key ? newIdx : nextOldFiber.key
5303 ), currentFirstChild = placeChild(
5304 nextOldFiber,
5305 currentFirstChild,
5306 newIdx
5307 ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
5308 shouldTrackSideEffects && oldFiber.forEach(function(child) {
5309 return deleteChild(returnFiber, child);
5310 });
5311 isHydrating && pushTreeFork(returnFiber, newIdx);
5312 return resultingFirstChild;
5313 }
5314 function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes) {
5315 if (null == newChildren)
5316 throw Error("An iterable object provided no iterator.");
5317 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()) {
5318 oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
5319 var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);
5320 if (null === newFiber) {
5321 null === oldFiber && (oldFiber = nextOldFiber);
5322 break;
5323 }
5324 knownKeys = warnOnInvalidKey(
5325 returnFiber,
5326 newFiber,
5327 step.value,
5328 knownKeys
5329 );
5330 shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
5331 currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
5332 null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
5333 previousNewFiber = newFiber;
5334 oldFiber = nextOldFiber;
5335 }
5336 if (step.done)
5337 return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild;
5338 if (null === oldFiber) {
5339 for (; !step.done; newIdx++, step = newChildren.next())
5340 oldFiber = createChild(returnFiber, step.value, lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey(
5341 returnFiber,
5342 oldFiber,
5343 step.value,
5344 knownKeys
5345 ), currentFirstChild = placeChild(
5346 oldFiber,
5347 currentFirstChild,
5348 newIdx
5349 ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
5350 isHydrating && pushTreeFork(returnFiber, newIdx);
5351 return resultingFirstChild;
5352 }
5353 for (oldFiber = mapRemainingChildren(oldFiber); !step.done; newIdx++, step = newChildren.next())
5354 nextOldFiber = updateFromMap(
5355 oldFiber,
5356 returnFiber,
5357 newIdx,
5358 step.value,
5359 lanes
5360 ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey(
5361 returnFiber,
5362 nextOldFiber,
5363 step.value,
5364 knownKeys
5365 ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete(
5366 null === nextOldFiber.key ? newIdx : nextOldFiber.key
5367 ), currentFirstChild = placeChild(
5368 nextOldFiber,
5369 currentFirstChild,
5370 newIdx
5371 ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
5372 shouldTrackSideEffects && oldFiber.forEach(function(child) {
5373 return deleteChild(returnFiber, child);
5374 });
5375 isHydrating && pushTreeFork(returnFiber, newIdx);
5376 return resultingFirstChild;
5377 }
5378 function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes) {
5379 "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key && (validateFragmentProps(newChild, null, returnFiber), newChild = newChild.props.children);
5380 if ("object" === typeof newChild && null !== newChild) {
5381 switch (newChild.$$typeof) {
5382 case REACT_ELEMENT_TYPE:
5383 var prevDebugInfo = pushDebugInfo(newChild._debugInfo);
5384 a: {
5385 for (var key = newChild.key; null !== currentFirstChild; ) {
5386 if (currentFirstChild.key === key) {
5387 key = newChild.type;
5388 if (key === REACT_FRAGMENT_TYPE) {
5389 if (7 === currentFirstChild.tag) {
5390 deleteRemainingChildren(
5391 returnFiber,
5392 currentFirstChild.sibling
5393 );
5394 lanes = useFiber(
5395 currentFirstChild,
5396 newChild.props.children
5397 );
5398 lanes.return = returnFiber;
5399 lanes._debugOwner = newChild._owner;
5400 lanes._debugInfo = currentDebugInfo;
5401 validateFragmentProps(newChild, lanes, returnFiber);
5402 returnFiber = lanes;
5403 break a;
5404 }
5405 } else if (currentFirstChild.elementType === key || isCompatibleFamilyForHotReloading(
5406 currentFirstChild,
5407 newChild
5408 ) || "object" === typeof key && null !== key && key.$$typeof === REACT_LAZY_TYPE && resolveLazy(key) === currentFirstChild.type) {
5409 deleteRemainingChildren(
5410 returnFiber,
5411 currentFirstChild.sibling
5412 );
5413 lanes = useFiber(currentFirstChild, newChild.props);
5414 coerceRef(lanes, newChild);
5415 lanes.return = returnFiber;
5416 lanes._debugOwner = newChild._owner;
5417 lanes._debugInfo = currentDebugInfo;
5418 returnFiber = lanes;
5419 break a;
5420 }
5421 deleteRemainingChildren(returnFiber, currentFirstChild);
5422 break;
5423 } else deleteChild(returnFiber, currentFirstChild);
5424 currentFirstChild = currentFirstChild.sibling;
5425 }
5426 newChild.type === REACT_FRAGMENT_TYPE ? (lanes = createFiberFromFragment(
5427 newChild.props.children,
5428 returnFiber.mode,
5429 lanes,
5430 newChild.key
5431 ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, validateFragmentProps(newChild, lanes, returnFiber), returnFiber = lanes) : (lanes = createFiberFromElement(
5432 newChild,
5433 returnFiber.mode,
5434 lanes
5435 ), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes);
5436 }
5437 returnFiber = placeSingleChild(returnFiber);
5438 currentDebugInfo = prevDebugInfo;
5439 return returnFiber;
5440 case REACT_PORTAL_TYPE:
5441 a: {
5442 prevDebugInfo = newChild;
5443 for (newChild = prevDebugInfo.key; null !== currentFirstChild; ) {
5444 if (currentFirstChild.key === newChild)
5445 if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === prevDebugInfo.containerInfo && currentFirstChild.stateNode.implementation === prevDebugInfo.implementation) {
5446 deleteRemainingChildren(
5447 returnFiber,
5448 currentFirstChild.sibling
5449 );
5450 lanes = useFiber(
5451 currentFirstChild,
5452 prevDebugInfo.children || []
5453 );
5454 lanes.return = returnFiber;
5455 returnFiber = lanes;
5456 break a;
5457 } else {
5458 deleteRemainingChildren(returnFiber, currentFirstChild);
5459 break;
5460 }
5461 else deleteChild(returnFiber, currentFirstChild);
5462 currentFirstChild = currentFirstChild.sibling;
5463 }
5464 lanes = createFiberFromPortal(
5465 prevDebugInfo,
5466 returnFiber.mode,
5467 lanes
5468 );
5469 lanes.return = returnFiber;
5470 returnFiber = lanes;
5471 }
5472 return placeSingleChild(returnFiber);
5473 case REACT_LAZY_TYPE:
5474 return prevDebugInfo = pushDebugInfo(newChild._debugInfo), newChild = resolveLazy(newChild), returnFiber = reconcileChildFibersImpl(
5475 returnFiber,
5476 currentFirstChild,
5477 newChild,
5478 lanes
5479 ), currentDebugInfo = prevDebugInfo, returnFiber;
5480 }
5481 if (isArrayImpl(newChild))
5482 return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildrenArray(
5483 returnFiber,
5484 currentFirstChild,
5485 newChild,
5486 lanes
5487 ), currentDebugInfo = prevDebugInfo, returnFiber;
5488 if (getIteratorFn(newChild)) {
5489 prevDebugInfo = pushDebugInfo(newChild._debugInfo);
5490 key = getIteratorFn(newChild);
5491 if ("function" !== typeof key)
5492 throw Error(
5493 "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue."
5494 );
5495 var newChildren = key.call(newChild);
5496 if (newChildren === newChild) {
5497 if (0 !== returnFiber.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(returnFiber.type) || "[object Generator]" !== Object.prototype.toString.call(newChildren))
5498 didWarnAboutGenerators || console.error(
5499 "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."
5500 ), didWarnAboutGenerators = true;
5501 } else
5502 newChild.entries !== key || didWarnAboutMaps || (console.error(
5503 "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
5504 ), didWarnAboutMaps = true);
5505 returnFiber = reconcileChildrenIterator(
5506 returnFiber,
5507 currentFirstChild,
5508 newChildren,
5509 lanes
5510 );
5511 currentDebugInfo = prevDebugInfo;
5512 return returnFiber;
5513 }
5514 if ("function" === typeof newChild.then)
5515 return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildFibersImpl(
5516 returnFiber,
5517 currentFirstChild,
5518 unwrapThenable(newChild),
5519 lanes
5520 ), currentDebugInfo = prevDebugInfo, returnFiber;
5521 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
5522 return reconcileChildFibersImpl(
5523 returnFiber,
5524 currentFirstChild,
5525 readContextDuringReconciliation(returnFiber, newChild),
5526 lanes
5527 );
5528 throwOnInvalidObjectType(returnFiber, newChild);
5529 }
5530 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
5531 return prevDebugInfo = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren(
5532 returnFiber,
5533 currentFirstChild.sibling
5534 ), lanes = useFiber(currentFirstChild, prevDebugInfo), lanes.return = returnFiber, returnFiber = lanes) : (deleteRemainingChildren(returnFiber, currentFirstChild), lanes = createFiberFromText(
5535 prevDebugInfo,
5536 returnFiber.mode,
5537 lanes
5538 ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, returnFiber = lanes), placeSingleChild(returnFiber);
5539 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
5540 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
5541 return deleteRemainingChildren(returnFiber, currentFirstChild);
5542 }
5543 return function(returnFiber, currentFirstChild, newChild, lanes) {
5544 var prevDebugInfo = currentDebugInfo;
5545 currentDebugInfo = null;
5546 try {
5547 thenableIndexCounter$1 = 0;
5548 var firstChildFiber = reconcileChildFibersImpl(
5549 returnFiber,
5550 currentFirstChild,
5551 newChild,
5552 lanes
5553 );
5554 thenableState$1 = null;
5555 return firstChildFiber;
5556 } catch (x) {
5557 if (x === SuspenseException || x === SuspenseActionException) throw x;
5558 var fiber = createFiber(29, x, null, returnFiber.mode);
5559 fiber.lanes = lanes;
5560 fiber.return = returnFiber;
5561 var debugInfo = fiber._debugInfo = currentDebugInfo;
5562 fiber._debugOwner = returnFiber._debugOwner;
5563 fiber._debugTask = returnFiber._debugTask;
5564 if (null != debugInfo) {
5565 for (var i = debugInfo.length - 1; 0 <= i; i--)
5566 if ("string" === typeof debugInfo[i].stack) {
5567 fiber._debugOwner = debugInfo[i];
5568 fiber._debugTask = debugInfo[i].debugTask;
5569 break;
5570 }
5571 }
5572 return fiber;
5573 } finally {
5574 currentDebugInfo = prevDebugInfo;
5575 }
5576 };
5577 }
5578 function validateSuspenseListNestedChild(childSlot, index) {
5579 var isAnArray = isArrayImpl(childSlot);
5580 childSlot = !isAnArray && "function" === typeof getIteratorFn(childSlot);
5581 return isAnArray || childSlot ? (isAnArray = isAnArray ? "array" : "iterable", console.error(
5582 "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>",
5583 isAnArray,
5584 index,
5585 isAnArray
5586 ), false) : true;
5587 }
5588 function initializeUpdateQueue(fiber) {
5589 fiber.updateQueue = {
5590 baseState: fiber.memoizedState,
5591 firstBaseUpdate: null,
5592 lastBaseUpdate: null,
5593 shared: { pending: null, lanes: 0, hiddenCallbacks: null },
5594 callbacks: null
5595 };
5596 }
5597 function cloneUpdateQueue(current2, workInProgress2) {
5598 current2 = current2.updateQueue;
5599 workInProgress2.updateQueue === current2 && (workInProgress2.updateQueue = {
5600 baseState: current2.baseState,
5601 firstBaseUpdate: current2.firstBaseUpdate,
5602 lastBaseUpdate: current2.lastBaseUpdate,
5603 shared: current2.shared,
5604 callbacks: null
5605 });
5606 }
5607 function createUpdate(lane) {
5608 return {
5609 lane,
5610 tag: UpdateState,
5611 payload: null,
5612 callback: null,
5613 next: null
5614 };
5615 }
5616 function enqueueUpdate(fiber, update, lane) {
5617 var updateQueue = fiber.updateQueue;
5618 if (null === updateQueue) return null;
5619 updateQueue = updateQueue.shared;
5620 if (currentlyProcessingQueue === updateQueue && !didWarnUpdateInsideUpdate) {
5621 var componentName2 = getComponentNameFromFiber(fiber);
5622 console.error(
5623 "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",
5624 componentName2
5625 );
5626 didWarnUpdateInsideUpdate = true;
5627 }
5628 if ((executionContext & RenderContext) !== NoContext)
5629 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;
5630 enqueueUpdate$1(fiber, updateQueue, update, lane);
5631 return getRootForUpdatedFiber(fiber);
5632 }
5633 function entangleTransitions(root2, fiber, lane) {
5634 fiber = fiber.updateQueue;
5635 if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194048))) {
5636 var queueLanes = fiber.lanes;
5637 queueLanes &= root2.pendingLanes;
5638 lane |= queueLanes;
5639 fiber.lanes = lane;
5640 markRootEntangled(root2, lane);
5641 }
5642 }
5643 function enqueueCapturedUpdate(workInProgress2, capturedUpdate) {
5644 var queue = workInProgress2.updateQueue, current2 = workInProgress2.alternate;
5645 if (null !== current2 && (current2 = current2.updateQueue, queue === current2)) {
5646 var newFirst = null, newLast = null;
5647 queue = queue.firstBaseUpdate;
5648 if (null !== queue) {
5649 do {
5650 var clone = {
5651 lane: queue.lane,
5652 tag: queue.tag,
5653 payload: queue.payload,
5654 callback: null,
5655 next: null
5656 };
5657 null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone;
5658 queue = queue.next;
5659 } while (null !== queue);
5660 null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate;
5661 } else newFirst = newLast = capturedUpdate;
5662 queue = {
5663 baseState: current2.baseState,
5664 firstBaseUpdate: newFirst,
5665 lastBaseUpdate: newLast,
5666 shared: current2.shared,
5667 callbacks: current2.callbacks
5668 };
5669 workInProgress2.updateQueue = queue;
5670 return;
5671 }
5672 workInProgress2 = queue.lastBaseUpdate;
5673 null === workInProgress2 ? queue.firstBaseUpdate = capturedUpdate : workInProgress2.next = capturedUpdate;
5674 queue.lastBaseUpdate = capturedUpdate;
5675 }
5676 function suspendIfUpdateReadFromEntangledAsyncAction() {
5677 if (didReadFromEntangledAsyncAction) {
5678 var entangledActionThenable = currentEntangledActionThenable;
5679 if (null !== entangledActionThenable) throw entangledActionThenable;
5680 }
5681 }
5682 function processUpdateQueue(workInProgress2, props, instance$jscomp$0, renderLanes2) {
5683 didReadFromEntangledAsyncAction = false;
5684 var queue = workInProgress2.updateQueue;
5685 hasForceUpdate = false;
5686 currentlyProcessingQueue = queue.shared;
5687 var firstBaseUpdate = queue.firstBaseUpdate, lastBaseUpdate = queue.lastBaseUpdate, pendingQueue = queue.shared.pending;
5688 if (null !== pendingQueue) {
5689 queue.shared.pending = null;
5690 var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next;
5691 lastPendingUpdate.next = null;
5692 null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate;
5693 lastBaseUpdate = lastPendingUpdate;
5694 var current2 = workInProgress2.alternate;
5695 null !== current2 && (current2 = current2.updateQueue, pendingQueue = current2.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current2.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current2.lastBaseUpdate = lastPendingUpdate));
5696 }
5697 if (null !== firstBaseUpdate) {
5698 var newState = queue.baseState;
5699 lastBaseUpdate = 0;
5700 current2 = firstPendingUpdate = lastPendingUpdate = null;
5701 pendingQueue = firstBaseUpdate;
5702 do {
5703 var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane;
5704 if (isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes2 & updateLane) === updateLane) {
5705 0 !== updateLane && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = true);
5706 null !== current2 && (current2 = current2.next = {
5707 lane: 0,
5708 tag: pendingQueue.tag,
5709 payload: pendingQueue.payload,
5710 callback: null,
5711 next: null
5712 });
5713 a: {
5714 updateLane = workInProgress2;
5715 var partialState = pendingQueue;
5716 var nextProps = props, instance = instance$jscomp$0;
5717 switch (partialState.tag) {
5718 case ReplaceState:
5719 partialState = partialState.payload;
5720 if ("function" === typeof partialState) {
5721 isDisallowedContextReadInDEV = true;
5722 var nextState = partialState.call(
5723 instance,
5724 newState,
5725 nextProps
5726 );
5727 if (updateLane.mode & StrictLegacyMode) {
5728 setIsStrictModeForDevtools(true);
5729 try {
5730 partialState.call(instance, newState, nextProps);
5731 } finally {
5732 setIsStrictModeForDevtools(false);
5733 }
5734 }
5735 isDisallowedContextReadInDEV = false;
5736 newState = nextState;
5737 break a;
5738 }
5739 newState = partialState;
5740 break a;
5741 case CaptureUpdate:
5742 updateLane.flags = updateLane.flags & -65537 | 128;
5743 case UpdateState:
5744 nextState = partialState.payload;
5745 if ("function" === typeof nextState) {
5746 isDisallowedContextReadInDEV = true;
5747 partialState = nextState.call(
5748 instance,
5749 newState,
5750 nextProps
5751 );
5752 if (updateLane.mode & StrictLegacyMode) {
5753 setIsStrictModeForDevtools(true);
5754 try {
5755 nextState.call(instance, newState, nextProps);
5756 } finally {
5757 setIsStrictModeForDevtools(false);
5758 }
5759 }
5760 isDisallowedContextReadInDEV = false;
5761 } else partialState = nextState;
5762 if (null === partialState || void 0 === partialState) break a;
5763 newState = assign({}, newState, partialState);
5764 break a;
5765 case ForceUpdate:
5766 hasForceUpdate = true;
5767 }
5768 }
5769 updateLane = pendingQueue.callback;
5770 null !== updateLane && (workInProgress2.flags |= 64, isHiddenUpdate && (workInProgress2.flags |= 8192), isHiddenUpdate = queue.callbacks, null === isHiddenUpdate ? queue.callbacks = [updateLane] : isHiddenUpdate.push(updateLane));
5771 } else
5772 isHiddenUpdate = {
5773 lane: updateLane,
5774 tag: pendingQueue.tag,
5775 payload: pendingQueue.payload,
5776 callback: pendingQueue.callback,
5777 next: null
5778 }, null === current2 ? (firstPendingUpdate = current2 = isHiddenUpdate, lastPendingUpdate = newState) : current2 = current2.next = isHiddenUpdate, lastBaseUpdate |= updateLane;
5779 pendingQueue = pendingQueue.next;
5780 if (null === pendingQueue)
5781 if (pendingQueue = queue.shared.pending, null === pendingQueue)
5782 break;
5783 else
5784 isHiddenUpdate = pendingQueue, pendingQueue = isHiddenUpdate.next, isHiddenUpdate.next = null, queue.lastBaseUpdate = isHiddenUpdate, queue.shared.pending = null;
5785 } while (1);
5786 null === current2 && (lastPendingUpdate = newState);
5787 queue.baseState = lastPendingUpdate;
5788 queue.firstBaseUpdate = firstPendingUpdate;
5789 queue.lastBaseUpdate = current2;
5790 null === firstBaseUpdate && (queue.shared.lanes = 0);
5791 workInProgressRootSkippedLanes |= lastBaseUpdate;
5792 workInProgress2.lanes = lastBaseUpdate;
5793 workInProgress2.memoizedState = newState;
5794 }
5795 currentlyProcessingQueue = null;
5796 }
5797 function callCallback(callback, context) {
5798 if ("function" !== typeof callback)
5799 throw Error(
5800 "Invalid argument passed as callback. Expected a function. Instead received: " + callback
5801 );
5802 callback.call(context);
5803 }
5804 function commitHiddenCallbacks(updateQueue, context) {
5805 var hiddenCallbacks = updateQueue.shared.hiddenCallbacks;
5806 if (null !== hiddenCallbacks)
5807 for (updateQueue.shared.hiddenCallbacks = null, updateQueue = 0; updateQueue < hiddenCallbacks.length; updateQueue++)
5808 callCallback(hiddenCallbacks[updateQueue], context);
5809 }
5810 function commitCallbacks(updateQueue, context) {
5811 var callbacks = updateQueue.callbacks;
5812 if (null !== callbacks)
5813 for (updateQueue.callbacks = null, updateQueue = 0; updateQueue < callbacks.length; updateQueue++)
5814 callCallback(callbacks[updateQueue], context);
5815 }
5816 function pushHiddenContext(fiber, context) {
5817 var prevEntangledRenderLanes = entangledRenderLanes;
5818 push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber);
5819 push(currentTreeHiddenStackCursor, context, fiber);
5820 entangledRenderLanes = prevEntangledRenderLanes | context.baseLanes;
5821 }
5822 function reuseHiddenContextOnStack(fiber) {
5823 push(prevEntangledRenderLanesCursor, entangledRenderLanes, fiber);
5824 push(
5825 currentTreeHiddenStackCursor,
5826 currentTreeHiddenStackCursor.current,
5827 fiber
5828 );
5829 }
5830 function popHiddenContext(fiber) {
5831 entangledRenderLanes = prevEntangledRenderLanesCursor.current;
5832 pop(currentTreeHiddenStackCursor, fiber);
5833 pop(prevEntangledRenderLanesCursor, fiber);
5834 }
5835 function pushPrimaryTreeSuspenseHandler(handler) {
5836 var current2 = handler.alternate;
5837 push(
5838 suspenseStackCursor,
5839 suspenseStackCursor.current & SubtreeSuspenseContextMask,
5840 handler
5841 );
5842 push(suspenseHandlerStackCursor, handler, handler);
5843 null === shellBoundary && (null === current2 || null !== currentTreeHiddenStackCursor.current ? shellBoundary = handler : null !== current2.memoizedState && (shellBoundary = handler));
5844 }
5845 function pushDehydratedActivitySuspenseHandler(fiber) {
5846 push(suspenseStackCursor, suspenseStackCursor.current, fiber);
5847 push(suspenseHandlerStackCursor, fiber, fiber);
5848 null === shellBoundary && (shellBoundary = fiber);
5849 }
5850 function pushOffscreenSuspenseHandler(fiber) {
5851 22 === fiber.tag ? (push(suspenseStackCursor, suspenseStackCursor.current, fiber), push(suspenseHandlerStackCursor, fiber, fiber), null === shellBoundary && (shellBoundary = fiber)) : reuseSuspenseHandlerOnStack(fiber);
5852 }
5853 function reuseSuspenseHandlerOnStack(fiber) {
5854 push(suspenseStackCursor, suspenseStackCursor.current, fiber);
5855 push(
5856 suspenseHandlerStackCursor,
5857 suspenseHandlerStackCursor.current,
5858 fiber
5859 );
5860 }
5861 function popSuspenseHandler(fiber) {
5862 pop(suspenseHandlerStackCursor, fiber);
5863 shellBoundary === fiber && (shellBoundary = null);
5864 pop(suspenseStackCursor, fiber);
5865 }
5866 function findFirstSuspended(row) {
5867 for (var node = row; null !== node; ) {
5868 if (13 === node.tag) {
5869 var state = node.memoizedState;
5870 if (null !== state && (state = state.dehydrated, null === state || isSuspenseInstancePending(state) || isSuspenseInstanceFallback(state)))
5871 return node;
5872 } else if (19 === node.tag && ("forwards" === node.memoizedProps.revealOrder || "backwards" === node.memoizedProps.revealOrder || "unstable_legacy-backwards" === node.memoizedProps.revealOrder || "together" === node.memoizedProps.revealOrder)) {
5873 if (0 !== (node.flags & 128)) return node;
5874 } else if (null !== node.child) {
5875 node.child.return = node;
5876 node = node.child;
5877 continue;
5878 }
5879 if (node === row) break;
5880 for (; null === node.sibling; ) {
5881 if (null === node.return || node.return === row) return null;
5882 node = node.return;
5883 }
5884 node.sibling.return = node.return;
5885 node = node.sibling;
5886 }
5887 return null;
5888 }
5889 function mountHookTypesDev() {
5890 var hookName = currentHookNameInDev;
5891 null === hookTypesDev ? hookTypesDev = [hookName] : hookTypesDev.push(hookName);
5892 }
5893 function updateHookTypesDev() {
5894 var hookName = currentHookNameInDev;
5895 if (null !== hookTypesDev && (hookTypesUpdateIndexDev++, hookTypesDev[hookTypesUpdateIndexDev] !== hookName)) {
5896 var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber);
5897 if (!didWarnAboutMismatchedHooksForComponent.has(componentName2) && (didWarnAboutMismatchedHooksForComponent.add(componentName2), null !== hookTypesDev)) {
5898 for (var table = "", i = 0; i <= hookTypesUpdateIndexDev; i++) {
5899 var oldHookName = hookTypesDev[i], newHookName = i === hookTypesUpdateIndexDev ? hookName : oldHookName;
5900 for (oldHookName = i + 1 + ". " + oldHookName; 30 > oldHookName.length; )
5901 oldHookName += " ";
5902 oldHookName += newHookName + "\n";
5903 table += oldHookName;
5904 }
5905 console.error(
5906 "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",
5907 componentName2,
5908 table
5909 );
5910 }
5911 }
5912 }
5913 function checkDepsAreArrayDev(deps) {
5914 void 0 === deps || null === deps || isArrayImpl(deps) || console.error(
5915 "%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.",
5916 currentHookNameInDev,
5917 typeof deps
5918 );
5919 }
5920 function warnOnUseFormStateInDev() {
5921 var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber);
5922 didWarnAboutUseFormState.has(componentName2) || (didWarnAboutUseFormState.add(componentName2), console.error(
5923 "ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.",
5924 componentName2
5925 ));
5926 }
5927 function throwInvalidHookError() {
5928 throw Error(
5929 "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."
5930 );
5931 }
5932 function areHookInputsEqual(nextDeps, prevDeps) {
5933 if (ignorePreviousDependencies) return false;
5934 if (null === prevDeps)
5935 return console.error(
5936 "%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.",
5937 currentHookNameInDev
5938 ), false;
5939 nextDeps.length !== prevDeps.length && console.error(
5940 "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",
5941 currentHookNameInDev,
5942 "[" + prevDeps.join(", ") + "]",
5943 "[" + nextDeps.join(", ") + "]"
5944 );
5945 for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)
5946 if (!objectIs(nextDeps[i], prevDeps[i])) return false;
5947 return true;
5948 }
5949 function renderWithHooks(current2, workInProgress2, Component, props, secondArg, nextRenderLanes) {
5950 renderLanes = nextRenderLanes;
5951 currentlyRenderingFiber = workInProgress2;
5952 hookTypesDev = null !== current2 ? current2._debugHookTypes : null;
5953 hookTypesUpdateIndexDev = -1;
5954 ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type;
5955 if ("[object AsyncFunction]" === Object.prototype.toString.call(Component) || "[object AsyncGeneratorFunction]" === Object.prototype.toString.call(Component))
5956 nextRenderLanes = getComponentNameFromFiber(currentlyRenderingFiber), didWarnAboutAsyncClientComponent.has(nextRenderLanes) || (didWarnAboutAsyncClientComponent.add(nextRenderLanes), console.error(
5957 "%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.",
5958 null === nextRenderLanes ? "An unknown Component" : "<" + nextRenderLanes + ">"
5959 ));
5960 workInProgress2.memoizedState = null;
5961 workInProgress2.updateQueue = null;
5962 workInProgress2.lanes = 0;
5963 ReactSharedInternals.H = null !== current2 && null !== current2.memoizedState ? HooksDispatcherOnUpdateInDEV : null !== hookTypesDev ? HooksDispatcherOnMountWithHookTypesInDEV : HooksDispatcherOnMountInDEV;
5964 shouldDoubleInvokeUserFnsInHooksDEV = nextRenderLanes = (workInProgress2.mode & StrictLegacyMode) !== NoMode;
5965 var children = callComponentInDEV(Component, props, secondArg);
5966 shouldDoubleInvokeUserFnsInHooksDEV = false;
5967 didScheduleRenderPhaseUpdateDuringThisPass && (children = renderWithHooksAgain(
5968 workInProgress2,
5969 Component,
5970 props,
5971 secondArg
5972 ));
5973 if (nextRenderLanes) {
5974 setIsStrictModeForDevtools(true);
5975 try {
5976 children = renderWithHooksAgain(
5977 workInProgress2,
5978 Component,
5979 props,
5980 secondArg
5981 );
5982 } finally {
5983 setIsStrictModeForDevtools(false);
5984 }
5985 }
5986 finishRenderingHooks(current2, workInProgress2);
5987 return children;
5988 }
5989 function finishRenderingHooks(current2, workInProgress2) {
5990 workInProgress2._debugHookTypes = hookTypesDev;
5991 null === workInProgress2.dependencies ? null !== thenableState && (workInProgress2.dependencies = {
5992 lanes: 0,
5993 firstContext: null,
5994 _debugThenableState: thenableState
5995 }) : workInProgress2.dependencies._debugThenableState = thenableState;
5996 ReactSharedInternals.H = ContextOnlyDispatcher;
5997 var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;
5998 renderLanes = 0;
5999 hookTypesDev = currentHookNameInDev = workInProgressHook = currentHook = currentlyRenderingFiber = null;
6000 hookTypesUpdateIndexDev = -1;
6001 null !== current2 && (current2.flags & 65011712) !== (workInProgress2.flags & 65011712) && console.error(
6002 "Internal React error: Expected static flag was missing. Please notify the React team."
6003 );
6004 didScheduleRenderPhaseUpdate = false;
6005 thenableIndexCounter = 0;
6006 thenableState = null;
6007 if (didRenderTooFewHooks)
6008 throw Error(
6009 "Rendered fewer hooks than expected. This may be caused by an accidental early return statement."
6010 );
6011 null === current2 || didReceiveUpdate || (current2 = current2.dependencies, null !== current2 && checkIfContextChanged(current2) && (didReceiveUpdate = true));
6012 needsToResetSuspendedThenableDEV ? (needsToResetSuspendedThenableDEV = false, current2 = true) : current2 = false;
6013 current2 && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Unknown", didWarnAboutUseWrappedInTryCatch.has(workInProgress2) || didWarnAboutAsyncClientComponent.has(workInProgress2) || (didWarnAboutUseWrappedInTryCatch.add(workInProgress2), console.error(
6014 "`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."
6015 )));
6016 }
6017 function renderWithHooksAgain(workInProgress2, Component, props, secondArg) {
6018 currentlyRenderingFiber = workInProgress2;
6019 var numberOfReRenders = 0;
6020 do {
6021 didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);
6022 thenableIndexCounter = 0;
6023 didScheduleRenderPhaseUpdateDuringThisPass = false;
6024 if (numberOfReRenders >= RE_RENDER_LIMIT)
6025 throw Error(
6026 "Too many re-renders. React limits the number of renders to prevent an infinite loop."
6027 );
6028 numberOfReRenders += 1;
6029 ignorePreviousDependencies = false;
6030 workInProgressHook = currentHook = null;
6031 if (null != workInProgress2.updateQueue) {
6032 var children = workInProgress2.updateQueue;
6033 children.lastEffect = null;
6034 children.events = null;
6035 children.stores = null;
6036 null != children.memoCache && (children.memoCache.index = 0);
6037 }
6038 hookTypesUpdateIndexDev = -1;
6039 ReactSharedInternals.H = HooksDispatcherOnRerenderInDEV;
6040 children = callComponentInDEV(Component, props, secondArg);
6041 } while (didScheduleRenderPhaseUpdateDuringThisPass);
6042 return children;
6043 }
6044 function TransitionAwareHostComponent() {
6045 var dispatcher = ReactSharedInternals.H, maybeThenable = dispatcher.useState()[0];
6046 maybeThenable = "function" === typeof maybeThenable.then ? useThenable(maybeThenable) : maybeThenable;
6047 dispatcher = dispatcher.useState()[0];
6048 (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher && (currentlyRenderingFiber.flags |= 1024);
6049 return maybeThenable;
6050 }
6051 function checkDidRenderIdHook() {
6052 var didRenderIdHook = 0 !== localIdCounter;
6053 localIdCounter = 0;
6054 return didRenderIdHook;
6055 }
6056 function bailoutHooks(current2, workInProgress2, lanes) {
6057 workInProgress2.updateQueue = current2.updateQueue;
6058 workInProgress2.flags = (workInProgress2.mode & StrictEffectsMode) !== NoMode ? workInProgress2.flags & -402655237 : workInProgress2.flags & -2053;
6059 current2.lanes &= ~lanes;
6060 }
6061 function resetHooksOnUnwind(workInProgress2) {
6062 if (didScheduleRenderPhaseUpdate) {
6063 for (workInProgress2 = workInProgress2.memoizedState; null !== workInProgress2; ) {
6064 var queue = workInProgress2.queue;
6065 null !== queue && (queue.pending = null);
6066 workInProgress2 = workInProgress2.next;
6067 }
6068 didScheduleRenderPhaseUpdate = false;
6069 }
6070 renderLanes = 0;
6071 hookTypesDev = workInProgressHook = currentHook = currentlyRenderingFiber = null;
6072 hookTypesUpdateIndexDev = -1;
6073 currentHookNameInDev = null;
6074 didScheduleRenderPhaseUpdateDuringThisPass = false;
6075 thenableIndexCounter = localIdCounter = 0;
6076 thenableState = null;
6077 }
6078 function mountWorkInProgressHook() {
6079 var hook = {
6080 memoizedState: null,
6081 baseState: null,
6082 baseQueue: null,
6083 queue: null,
6084 next: null
6085 };
6086 null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook;
6087 return workInProgressHook;
6088 }
6089 function updateWorkInProgressHook() {
6090 if (null === currentHook) {
6091 var nextCurrentHook = currentlyRenderingFiber.alternate;
6092 nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;
6093 } else nextCurrentHook = currentHook.next;
6094 var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber.memoizedState : workInProgressHook.next;
6095 if (null !== nextWorkInProgressHook)
6096 workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook;
6097 else {
6098 if (null === nextCurrentHook) {
6099 if (null === currentlyRenderingFiber.alternate)
6100 throw Error(
6101 "Update hook called on initial render. This is likely a bug in React. Please file an issue."
6102 );
6103 throw Error("Rendered more hooks than during the previous render.");
6104 }
6105 currentHook = nextCurrentHook;
6106 nextCurrentHook = {
6107 memoizedState: currentHook.memoizedState,
6108 baseState: currentHook.baseState,
6109 baseQueue: currentHook.baseQueue,
6110 queue: currentHook.queue,
6111 next: null
6112 };
6113 null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook;
6114 }
6115 return workInProgressHook;
6116 }
6117 function createFunctionComponentUpdateQueue() {
6118 return { lastEffect: null, events: null, stores: null, memoCache: null };
6119 }
6120 function useThenable(thenable) {
6121 var index = thenableIndexCounter;
6122 thenableIndexCounter += 1;
6123 null === thenableState && (thenableState = createThenableState());
6124 thenable = trackUsedThenable(thenableState, thenable, index);
6125 index = currentlyRenderingFiber;
6126 null === (null === workInProgressHook ? index.memoizedState : workInProgressHook.next) && (index = index.alternate, ReactSharedInternals.H = null !== index && null !== index.memoizedState ? HooksDispatcherOnUpdateInDEV : HooksDispatcherOnMountInDEV);
6127 return thenable;
6128 }
6129 function use(usable) {
6130 if (null !== usable && "object" === typeof usable) {
6131 if ("function" === typeof usable.then) return useThenable(usable);
6132 if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);
6133 }
6134 throw Error("An unsupported type was passed to use(): " + String(usable));
6135 }
6136 function useMemoCache(size) {
6137 var memoCache = null, updateQueue = currentlyRenderingFiber.updateQueue;
6138 null !== updateQueue && (memoCache = updateQueue.memoCache);
6139 if (null == memoCache) {
6140 var current2 = currentlyRenderingFiber.alternate;
6141 null !== current2 && (current2 = current2.updateQueue, null !== current2 && (current2 = current2.memoCache, null != current2 && (memoCache = {
6142 data: current2.data.map(function(array) {
6143 return array.slice();
6144 }),
6145 index: 0
6146 })));
6147 }
6148 null == memoCache && (memoCache = { data: [], index: 0 });
6149 null === updateQueue && (updateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = updateQueue);
6150 updateQueue.memoCache = memoCache;
6151 updateQueue = memoCache.data[memoCache.index];
6152 if (void 0 === updateQueue || ignorePreviousDependencies)
6153 for (updateQueue = memoCache.data[memoCache.index] = Array(size), current2 = 0; current2 < size; current2++)
6154 updateQueue[current2] = REACT_MEMO_CACHE_SENTINEL;
6155 else
6156 updateQueue.length !== size && console.error(
6157 "Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.",
6158 updateQueue.length,
6159 size
6160 );
6161 memoCache.index++;
6162 return updateQueue;
6163 }
6164 function basicStateReducer(state, action) {
6165 return "function" === typeof action ? action(state) : action;
6166 }
6167 function mountReducer(reducer, initialArg, init) {
6168 var hook = mountWorkInProgressHook();
6169 if (void 0 !== init) {
6170 var initialState = init(initialArg);
6171 if (shouldDoubleInvokeUserFnsInHooksDEV) {
6172 setIsStrictModeForDevtools(true);
6173 try {
6174 init(initialArg);
6175 } finally {
6176 setIsStrictModeForDevtools(false);
6177 }
6178 }
6179 } else initialState = initialArg;
6180 hook.memoizedState = hook.baseState = initialState;
6181 reducer = {
6182 pending: null,
6183 lanes: 0,
6184 dispatch: null,
6185 lastRenderedReducer: reducer,
6186 lastRenderedState: initialState
6187 };
6188 hook.queue = reducer;
6189 reducer = reducer.dispatch = dispatchReducerAction.bind(
6190 null,
6191 currentlyRenderingFiber,
6192 reducer
6193 );
6194 return [hook.memoizedState, reducer];
6195 }
6196 function updateReducer(reducer) {
6197 var hook = updateWorkInProgressHook();
6198 return updateReducerImpl(hook, currentHook, reducer);
6199 }
6200 function updateReducerImpl(hook, current2, reducer) {
6201 var queue = hook.queue;
6202 if (null === queue)
6203 throw Error(
6204 "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)"
6205 );
6206 queue.lastRenderedReducer = reducer;
6207 var baseQueue = hook.baseQueue, pendingQueue = queue.pending;
6208 if (null !== pendingQueue) {
6209 if (null !== baseQueue) {
6210 var baseFirst = baseQueue.next;
6211 baseQueue.next = pendingQueue.next;
6212 pendingQueue.next = baseFirst;
6213 }
6214 current2.baseQueue !== baseQueue && console.error(
6215 "Internal error: Expected work-in-progress queue to be a clone. This is a bug in React."
6216 );
6217 current2.baseQueue = baseQueue = pendingQueue;
6218 queue.pending = null;
6219 }
6220 pendingQueue = hook.baseState;
6221 if (null === baseQueue) hook.memoizedState = pendingQueue;
6222 else {
6223 current2 = baseQueue.next;
6224 var newBaseQueueFirst = baseFirst = null, newBaseQueueLast = null, update = current2, didReadFromEntangledAsyncAction2 = false;
6225 do {
6226 var updateLane = update.lane & -536870913;
6227 if (updateLane !== update.lane ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane) {
6228 var revertLane = update.revertLane;
6229 if (0 === revertLane)
6230 null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = {
6231 lane: 0,
6232 revertLane: 0,
6233 gesture: null,
6234 action: update.action,
6235 hasEagerState: update.hasEagerState,
6236 eagerState: update.eagerState,
6237 next: null
6238 }), updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true);
6239 else if ((renderLanes & revertLane) === revertLane) {
6240 update = update.next;
6241 revertLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true);
6242 continue;
6243 } else
6244 updateLane = {
6245 lane: 0,
6246 revertLane: update.revertLane,
6247 gesture: null,
6248 action: update.action,
6249 hasEagerState: update.hasEagerState,
6250 eagerState: update.eagerState,
6251 next: null
6252 }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = updateLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = updateLane, currentlyRenderingFiber.lanes |= revertLane, workInProgressRootSkippedLanes |= revertLane;
6253 updateLane = update.action;
6254 shouldDoubleInvokeUserFnsInHooksDEV && reducer(pendingQueue, updateLane);
6255 pendingQueue = update.hasEagerState ? update.eagerState : reducer(pendingQueue, updateLane);
6256 } else
6257 revertLane = {
6258 lane: updateLane,
6259 revertLane: update.revertLane,
6260 gesture: update.gesture,
6261 action: update.action,
6262 hasEagerState: update.hasEagerState,
6263 eagerState: update.eagerState,
6264 next: null
6265 }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = revertLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = revertLane, currentlyRenderingFiber.lanes |= updateLane, workInProgressRootSkippedLanes |= updateLane;
6266 update = update.next;
6267 } while (null !== update && update !== current2);
6268 null === newBaseQueueLast ? baseFirst = pendingQueue : newBaseQueueLast.next = newBaseQueueFirst;
6269 if (!objectIs(pendingQueue, hook.memoizedState) && (didReceiveUpdate = true, didReadFromEntangledAsyncAction2 && (reducer = currentEntangledActionThenable, null !== reducer)))
6270 throw reducer;
6271 hook.memoizedState = pendingQueue;
6272 hook.baseState = baseFirst;
6273 hook.baseQueue = newBaseQueueLast;
6274 queue.lastRenderedState = pendingQueue;
6275 }
6276 null === baseQueue && (queue.lanes = 0);
6277 return [hook.memoizedState, queue.dispatch];
6278 }
6279 function rerenderReducer(reducer) {
6280 var hook = updateWorkInProgressHook(), queue = hook.queue;
6281 if (null === queue)
6282 throw Error(
6283 "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)"
6284 );
6285 queue.lastRenderedReducer = reducer;
6286 var dispatch = queue.dispatch, lastRenderPhaseUpdate = queue.pending, newState = hook.memoizedState;
6287 if (null !== lastRenderPhaseUpdate) {
6288 queue.pending = null;
6289 var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next;
6290 do
6291 newState = reducer(newState, update.action), update = update.next;
6292 while (update !== lastRenderPhaseUpdate);
6293 objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true);
6294 hook.memoizedState = newState;
6295 null === hook.baseQueue && (hook.baseState = newState);
6296 queue.lastRenderedState = newState;
6297 }
6298 return [newState, dispatch];
6299 }
6300 function mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
6301 var fiber = currentlyRenderingFiber, hook = mountWorkInProgressHook();
6302 if (isHydrating) {
6303 if (void 0 === getServerSnapshot)
6304 throw Error(
6305 "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering."
6306 );
6307 var nextSnapshot = getServerSnapshot();
6308 didWarnUncachedGetSnapshot || nextSnapshot === getServerSnapshot() || (console.error(
6309 "The result of getServerSnapshot should be cached to avoid an infinite loop"
6310 ), didWarnUncachedGetSnapshot = true);
6311 } else {
6312 nextSnapshot = getSnapshot();
6313 didWarnUncachedGetSnapshot || (getServerSnapshot = getSnapshot(), objectIs(nextSnapshot, getServerSnapshot) || (console.error(
6314 "The result of getSnapshot should be cached to avoid an infinite loop"
6315 ), didWarnUncachedGetSnapshot = true));
6316 if (null === workInProgressRoot)
6317 throw Error(
6318 "Expected a work-in-progress root. This is a bug in React. Please file an issue."
6319 );
6320 0 !== (workInProgressRootRenderLanes & 127) || pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);
6321 }
6322 hook.memoizedState = nextSnapshot;
6323 getServerSnapshot = { value: nextSnapshot, getSnapshot };
6324 hook.queue = getServerSnapshot;
6325 mountEffect(
6326 subscribeToStore.bind(null, fiber, getServerSnapshot, subscribe),
6327 [subscribe]
6328 );
6329 fiber.flags |= 2048;
6330 pushSimpleEffect(
6331 HasEffect | Passive,
6332 { destroy: void 0 },
6333 updateStoreInstance.bind(
6334 null,
6335 fiber,
6336 getServerSnapshot,
6337 nextSnapshot,
6338 getSnapshot
6339 ),
6340 null
6341 );
6342 return nextSnapshot;
6343 }
6344 function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
6345 var fiber = currentlyRenderingFiber, hook = updateWorkInProgressHook(), isHydrating$jscomp$0 = isHydrating;
6346 if (isHydrating$jscomp$0) {
6347 if (void 0 === getServerSnapshot)
6348 throw Error(
6349 "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering."
6350 );
6351 getServerSnapshot = getServerSnapshot();
6352 } else if (getServerSnapshot = getSnapshot(), !didWarnUncachedGetSnapshot) {
6353 var cachedSnapshot = getSnapshot();
6354 objectIs(getServerSnapshot, cachedSnapshot) || (console.error(
6355 "The result of getSnapshot should be cached to avoid an infinite loop"
6356 ), didWarnUncachedGetSnapshot = true);
6357 }
6358 if (cachedSnapshot = !objectIs(
6359 (currentHook || hook).memoizedState,
6360 getServerSnapshot
6361 ))
6362 hook.memoizedState = getServerSnapshot, didReceiveUpdate = true;
6363 hook = hook.queue;
6364 var create = subscribeToStore.bind(null, fiber, hook, subscribe);
6365 updateEffectImpl(2048, Passive, create, [subscribe]);
6366 if (hook.getSnapshot !== getSnapshot || cachedSnapshot || null !== workInProgressHook && workInProgressHook.memoizedState.tag & HasEffect) {
6367 fiber.flags |= 2048;
6368 pushSimpleEffect(
6369 HasEffect | Passive,
6370 { destroy: void 0 },
6371 updateStoreInstance.bind(
6372 null,
6373 fiber,
6374 hook,
6375 getServerSnapshot,
6376 getSnapshot
6377 ),
6378 null
6379 );
6380 if (null === workInProgressRoot)
6381 throw Error(
6382 "Expected a work-in-progress root. This is a bug in React. Please file an issue."
6383 );
6384 isHydrating$jscomp$0 || 0 !== (renderLanes & 127) || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);
6385 }
6386 return getServerSnapshot;
6387 }
6388 function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {
6389 fiber.flags |= 16384;
6390 fiber = { getSnapshot, value: renderedSnapshot };
6391 getSnapshot = currentlyRenderingFiber.updateQueue;
6392 null === getSnapshot ? (getSnapshot = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = getSnapshot, getSnapshot.stores = [fiber]) : (renderedSnapshot = getSnapshot.stores, null === renderedSnapshot ? getSnapshot.stores = [fiber] : renderedSnapshot.push(fiber));
6393 }
6394 function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {
6395 inst.value = nextSnapshot;
6396 inst.getSnapshot = getSnapshot;
6397 checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);
6398 }
6399 function subscribeToStore(fiber, inst, subscribe) {
6400 return subscribe(function() {
6401 checkIfSnapshotChanged(inst) && (startUpdateTimerByLane(2, "updateSyncExternalStore()", fiber), forceStoreRerender(fiber));
6402 });
6403 }
6404 function checkIfSnapshotChanged(inst) {
6405 var latestGetSnapshot = inst.getSnapshot;
6406 inst = inst.value;
6407 try {
6408 var nextValue = latestGetSnapshot();
6409 return !objectIs(inst, nextValue);
6410 } catch (error) {
6411 return true;
6412 }
6413 }
6414 function forceStoreRerender(fiber) {
6415 var root2 = enqueueConcurrentRenderForLane(fiber, 2);
6416 null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2);
6417 }
6418 function mountStateImpl(initialState) {
6419 var hook = mountWorkInProgressHook();
6420 if ("function" === typeof initialState) {
6421 var initialStateInitializer = initialState;
6422 initialState = initialStateInitializer();
6423 if (shouldDoubleInvokeUserFnsInHooksDEV) {
6424 setIsStrictModeForDevtools(true);
6425 try {
6426 initialStateInitializer();
6427 } finally {
6428 setIsStrictModeForDevtools(false);
6429 }
6430 }
6431 }
6432 hook.memoizedState = hook.baseState = initialState;
6433 hook.queue = {
6434 pending: null,
6435 lanes: 0,
6436 dispatch: null,
6437 lastRenderedReducer: basicStateReducer,
6438 lastRenderedState: initialState
6439 };
6440 return hook;
6441 }
6442 function mountState(initialState) {
6443 initialState = mountStateImpl(initialState);
6444 var queue = initialState.queue, dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);
6445 queue.dispatch = dispatch;
6446 return [initialState.memoizedState, dispatch];
6447 }
6448 function mountOptimistic(passthrough) {
6449 var hook = mountWorkInProgressHook();
6450 hook.memoizedState = hook.baseState = passthrough;
6451 var queue = {
6452 pending: null,
6453 lanes: 0,
6454 dispatch: null,
6455 lastRenderedReducer: null,
6456 lastRenderedState: null
6457 };
6458 hook.queue = queue;
6459 hook = dispatchOptimisticSetState.bind(
6460 null,
6461 currentlyRenderingFiber,
6462 true,
6463 queue
6464 );
6465 queue.dispatch = hook;
6466 return [passthrough, hook];
6467 }
6468 function updateOptimistic(passthrough, reducer) {
6469 var hook = updateWorkInProgressHook();
6470 return updateOptimisticImpl(hook, currentHook, passthrough, reducer);
6471 }
6472 function updateOptimisticImpl(hook, current2, passthrough, reducer) {
6473 hook.baseState = passthrough;
6474 return updateReducerImpl(
6475 hook,
6476 currentHook,
6477 "function" === typeof reducer ? reducer : basicStateReducer
6478 );
6479 }
6480 function rerenderOptimistic(passthrough, reducer) {
6481 var hook = updateWorkInProgressHook();
6482 if (null !== currentHook)
6483 return updateOptimisticImpl(hook, currentHook, passthrough, reducer);
6484 hook.baseState = passthrough;
6485 return [passthrough, hook.queue.dispatch];
6486 }
6487 function dispatchActionState(fiber, actionQueue, setPendingState, setState, payload) {
6488 if (isRenderPhaseUpdate(fiber))
6489 throw Error("Cannot update form state while rendering.");
6490 fiber = actionQueue.action;
6491 if (null !== fiber) {
6492 var actionNode = {
6493 payload,
6494 action: fiber,
6495 next: null,
6496 isTransition: true,
6497 status: "pending",
6498 value: null,
6499 reason: null,
6500 listeners: [],
6501 then: function(listener) {
6502 actionNode.listeners.push(listener);
6503 }
6504 };
6505 null !== ReactSharedInternals.T ? setPendingState(true) : actionNode.isTransition = false;
6506 setState(actionNode);
6507 setPendingState = actionQueue.pending;
6508 null === setPendingState ? (actionNode.next = actionQueue.pending = actionNode, runActionStateAction(actionQueue, actionNode)) : (actionNode.next = setPendingState.next, actionQueue.pending = setPendingState.next = actionNode);
6509 }
6510 }
6511 function runActionStateAction(actionQueue, node) {
6512 var action = node.action, payload = node.payload, prevState = actionQueue.state;
6513 if (node.isTransition) {
6514 var prevTransition = ReactSharedInternals.T, currentTransition = {};
6515 currentTransition._updatedFibers = /* @__PURE__ */ new Set();
6516 ReactSharedInternals.T = currentTransition;
6517 try {
6518 var returnValue = action(prevState, payload), onStartTransitionFinish = ReactSharedInternals.S;
6519 null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
6520 handleActionReturnValue(actionQueue, node, returnValue);
6521 } catch (error) {
6522 onActionError(actionQueue, node, error);
6523 } finally {
6524 null !== prevTransition && null !== currentTransition.types && (null !== prevTransition.types && prevTransition.types !== currentTransition.types && console.error(
6525 "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."
6526 ), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (actionQueue = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < actionQueue && console.warn(
6527 "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."
6528 ));
6529 }
6530 } else
6531 try {
6532 currentTransition = action(prevState, payload), handleActionReturnValue(actionQueue, node, currentTransition);
6533 } catch (error$4) {
6534 onActionError(actionQueue, node, error$4);
6535 }
6536 }
6537 function handleActionReturnValue(actionQueue, node, returnValue) {
6538 null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then ? (ReactSharedInternals.asyncTransitions++, returnValue.then(releaseAsyncTransition, releaseAsyncTransition), returnValue.then(
6539 function(nextState) {
6540 onActionSuccess(actionQueue, node, nextState);
6541 },
6542 function(error) {
6543 return onActionError(actionQueue, node, error);
6544 }
6545 ), node.isTransition || console.error(
6546 "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."
6547 )) : onActionSuccess(actionQueue, node, returnValue);
6548 }
6549 function onActionSuccess(actionQueue, actionNode, nextState) {
6550 actionNode.status = "fulfilled";
6551 actionNode.value = nextState;
6552 notifyActionListeners(actionNode);
6553 actionQueue.state = nextState;
6554 actionNode = actionQueue.pending;
6555 null !== actionNode && (nextState = actionNode.next, nextState === actionNode ? actionQueue.pending = null : (nextState = nextState.next, actionNode.next = nextState, runActionStateAction(actionQueue, nextState)));
6556 }
6557 function onActionError(actionQueue, actionNode, error) {
6558 var last = actionQueue.pending;
6559 actionQueue.pending = null;
6560 if (null !== last) {
6561 last = last.next;
6562 do
6563 actionNode.status = "rejected", actionNode.reason = error, notifyActionListeners(actionNode), actionNode = actionNode.next;
6564 while (actionNode !== last);
6565 }
6566 actionQueue.action = null;
6567 }
6568 function notifyActionListeners(actionNode) {
6569 actionNode = actionNode.listeners;
6570 for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();
6571 }
6572 function actionStateReducer(oldState, newState) {
6573 return newState;
6574 }
6575 function mountActionState(action, initialStateProp) {
6576 if (isHydrating) {
6577 var ssrFormState = workInProgressRoot.formState;
6578 if (null !== ssrFormState) {
6579 a: {
6580 var isMatching = currentlyRenderingFiber;
6581 if (isHydrating) {
6582 if (nextHydratableInstance) {
6583 b: {
6584 var markerInstance = nextHydratableInstance;
6585 for (var inRootOrSingleton = rootOrSingletonContext; 8 !== markerInstance.nodeType; ) {
6586 if (!inRootOrSingleton) {
6587 markerInstance = null;
6588 break b;
6589 }
6590 markerInstance = getNextHydratable(
6591 markerInstance.nextSibling
6592 );
6593 if (null === markerInstance) {
6594 markerInstance = null;
6595 break b;
6596 }
6597 }
6598 inRootOrSingleton = markerInstance.data;
6599 markerInstance = inRootOrSingleton === FORM_STATE_IS_MATCHING || inRootOrSingleton === FORM_STATE_IS_NOT_MATCHING ? markerInstance : null;
6600 }
6601 if (markerInstance) {
6602 nextHydratableInstance = getNextHydratable(
6603 markerInstance.nextSibling
6604 );
6605 isMatching = markerInstance.data === FORM_STATE_IS_MATCHING;
6606 break a;
6607 }
6608 }
6609 throwOnHydrationMismatch(isMatching);
6610 }
6611 isMatching = false;
6612 }
6613 isMatching && (initialStateProp = ssrFormState[0]);
6614 }
6615 }
6616 ssrFormState = mountWorkInProgressHook();
6617 ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;
6618 isMatching = {
6619 pending: null,
6620 lanes: 0,
6621 dispatch: null,
6622 lastRenderedReducer: actionStateReducer,
6623 lastRenderedState: initialStateProp
6624 };
6625 ssrFormState.queue = isMatching;
6626 ssrFormState = dispatchSetState.bind(
6627 null,
6628 currentlyRenderingFiber,
6629 isMatching
6630 );
6631 isMatching.dispatch = ssrFormState;
6632 isMatching = mountStateImpl(false);
6633 inRootOrSingleton = dispatchOptimisticSetState.bind(
6634 null,
6635 currentlyRenderingFiber,
6636 false,
6637 isMatching.queue
6638 );
6639 isMatching = mountWorkInProgressHook();
6640 markerInstance = {
6641 state: initialStateProp,
6642 dispatch: null,
6643 action,
6644 pending: null
6645 };
6646 isMatching.queue = markerInstance;
6647 ssrFormState = dispatchActionState.bind(
6648 null,
6649 currentlyRenderingFiber,
6650 markerInstance,
6651 inRootOrSingleton,
6652 ssrFormState
6653 );
6654 markerInstance.dispatch = ssrFormState;
6655 isMatching.memoizedState = action;
6656 return [initialStateProp, ssrFormState, false];
6657 }
6658 function updateActionState(action) {
6659 var stateHook = updateWorkInProgressHook();
6660 return updateActionStateImpl(stateHook, currentHook, action);
6661 }
6662 function updateActionStateImpl(stateHook, currentStateHook, action) {
6663 currentStateHook = updateReducerImpl(
6664 stateHook,
6665 currentStateHook,
6666 actionStateReducer
6667 )[0];
6668 stateHook = updateReducer(basicStateReducer)[0];
6669 if ("object" === typeof currentStateHook && null !== currentStateHook && "function" === typeof currentStateHook.then)
6670 try {
6671 var state = useThenable(currentStateHook);
6672 } catch (x) {
6673 if (x === SuspenseException) throw SuspenseActionException;
6674 throw x;
6675 }
6676 else state = currentStateHook;
6677 currentStateHook = updateWorkInProgressHook();
6678 var actionQueue = currentStateHook.queue, dispatch = actionQueue.dispatch;
6679 action !== currentStateHook.memoizedState && (currentlyRenderingFiber.flags |= 2048, pushSimpleEffect(
6680 HasEffect | Passive,
6681 { destroy: void 0 },
6682 actionStateActionEffect.bind(null, actionQueue, action),
6683 null
6684 ));
6685 return [state, dispatch, stateHook];
6686 }
6687 function actionStateActionEffect(actionQueue, action) {
6688 actionQueue.action = action;
6689 }
6690 function rerenderActionState(action) {
6691 var stateHook = updateWorkInProgressHook(), currentStateHook = currentHook;
6692 if (null !== currentStateHook)
6693 return updateActionStateImpl(stateHook, currentStateHook, action);
6694 updateWorkInProgressHook();
6695 stateHook = stateHook.memoizedState;
6696 currentStateHook = updateWorkInProgressHook();
6697 var dispatch = currentStateHook.queue.dispatch;
6698 currentStateHook.memoizedState = action;
6699 return [stateHook, dispatch, false];
6700 }
6701 function pushSimpleEffect(tag, inst, create, deps) {
6702 tag = { tag, create, deps, inst, next: null };
6703 inst = currentlyRenderingFiber.updateQueue;
6704 null === inst && (inst = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = inst);
6705 create = inst.lastEffect;
6706 null === create ? inst.lastEffect = tag.next = tag : (deps = create.next, create.next = tag, tag.next = deps, inst.lastEffect = tag);
6707 return tag;
6708 }
6709 function mountRef(initialValue) {
6710 var hook = mountWorkInProgressHook();
6711 initialValue = { current: initialValue };
6712 return hook.memoizedState = initialValue;
6713 }
6714 function mountEffectImpl(fiberFlags, hookFlags, create, deps) {
6715 var hook = mountWorkInProgressHook();
6716 currentlyRenderingFiber.flags |= fiberFlags;
6717 hook.memoizedState = pushSimpleEffect(
6718 HasEffect | hookFlags,
6719 { destroy: void 0 },
6720 create,
6721 void 0 === deps ? null : deps
6722 );
6723 }
6724 function updateEffectImpl(fiberFlags, hookFlags, create, deps) {
6725 var hook = updateWorkInProgressHook();
6726 deps = void 0 === deps ? null : deps;
6727 var inst = hook.memoizedState.inst;
6728 null !== currentHook && null !== deps && areHookInputsEqual(deps, currentHook.memoizedState.deps) ? hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps) : (currentlyRenderingFiber.flags |= fiberFlags, hook.memoizedState = pushSimpleEffect(
6729 HasEffect | hookFlags,
6730 inst,
6731 create,
6732 deps
6733 ));
6734 }
6735 function mountEffect(create, deps) {
6736 (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode ? mountEffectImpl(276826112, Passive, create, deps) : mountEffectImpl(8390656, Passive, create, deps);
6737 }
6738 function useEffectEventImpl(payload) {
6739 currentlyRenderingFiber.flags |= 4;
6740 var componentUpdateQueue = currentlyRenderingFiber.updateQueue;
6741 if (null === componentUpdateQueue)
6742 componentUpdateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = componentUpdateQueue, componentUpdateQueue.events = [payload];
6743 else {
6744 var events = componentUpdateQueue.events;
6745 null === events ? componentUpdateQueue.events = [payload] : events.push(payload);
6746 }
6747 }
6748 function mountEvent(callback) {
6749 var hook = mountWorkInProgressHook(), ref = { impl: callback };
6750 hook.memoizedState = ref;
6751 return function() {
6752 if ((executionContext & RenderContext) !== NoContext)
6753 throw Error(
6754 "A function wrapped in useEffectEvent can't be called during rendering."
6755 );
6756 return ref.impl.apply(void 0, arguments);
6757 };
6758 }
6759 function updateEvent(callback) {
6760 var ref = updateWorkInProgressHook().memoizedState;
6761 useEffectEventImpl({ ref, nextImpl: callback });
6762 return function() {
6763 if ((executionContext & RenderContext) !== NoContext)
6764 throw Error(
6765 "A function wrapped in useEffectEvent can't be called during rendering."
6766 );
6767 return ref.impl.apply(void 0, arguments);
6768 };
6769 }
6770 function mountLayoutEffect(create, deps) {
6771 var fiberFlags = 4194308;
6772 (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728);
6773 return mountEffectImpl(fiberFlags, Layout, create, deps);
6774 }
6775 function imperativeHandleEffect(create, ref) {
6776 if ("function" === typeof ref) {
6777 create = create();
6778 var refCleanup = ref(create);
6779 return function() {
6780 "function" === typeof refCleanup ? refCleanup() : ref(null);
6781 };
6782 }
6783 if (null !== ref && void 0 !== ref)
6784 return ref.hasOwnProperty("current") || console.error(
6785 "Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.",
6786 "an object with keys {" + Object.keys(ref).join(", ") + "}"
6787 ), create = create(), ref.current = create, function() {
6788 ref.current = null;
6789 };
6790 }
6791 function mountImperativeHandle(ref, create, deps) {
6792 "function" !== typeof create && console.error(
6793 "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",
6794 null !== create ? typeof create : "null"
6795 );
6796 deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;
6797 var fiberFlags = 4194308;
6798 (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728);
6799 mountEffectImpl(
6800 fiberFlags,
6801 Layout,
6802 imperativeHandleEffect.bind(null, create, ref),
6803 deps
6804 );
6805 }
6806 function updateImperativeHandle(ref, create, deps) {
6807 "function" !== typeof create && console.error(
6808 "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",
6809 null !== create ? typeof create : "null"
6810 );
6811 deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;
6812 updateEffectImpl(
6813 4,
6814 Layout,
6815 imperativeHandleEffect.bind(null, create, ref),
6816 deps
6817 );
6818 }
6819 function mountCallback(callback, deps) {
6820 mountWorkInProgressHook().memoizedState = [
6821 callback,
6822 void 0 === deps ? null : deps
6823 ];
6824 return callback;
6825 }
6826 function updateCallback(callback, deps) {
6827 var hook = updateWorkInProgressHook();
6828 deps = void 0 === deps ? null : deps;
6829 var prevState = hook.memoizedState;
6830 if (null !== deps && areHookInputsEqual(deps, prevState[1]))
6831 return prevState[0];
6832 hook.memoizedState = [callback, deps];
6833 return callback;
6834 }
6835 function mountMemo(nextCreate, deps) {
6836 var hook = mountWorkInProgressHook();
6837 deps = void 0 === deps ? null : deps;
6838 var nextValue = nextCreate();
6839 if (shouldDoubleInvokeUserFnsInHooksDEV) {
6840 setIsStrictModeForDevtools(true);
6841 try {
6842 nextCreate();
6843 } finally {
6844 setIsStrictModeForDevtools(false);
6845 }
6846 }
6847 hook.memoizedState = [nextValue, deps];
6848 return nextValue;
6849 }
6850 function updateMemo(nextCreate, deps) {
6851 var hook = updateWorkInProgressHook();
6852 deps = void 0 === deps ? null : deps;
6853 var prevState = hook.memoizedState;
6854 if (null !== deps && areHookInputsEqual(deps, prevState[1]))
6855 return prevState[0];
6856 prevState = nextCreate();
6857 if (shouldDoubleInvokeUserFnsInHooksDEV) {
6858 setIsStrictModeForDevtools(true);
6859 try {
6860 nextCreate();
6861 } finally {
6862 setIsStrictModeForDevtools(false);
6863 }
6864 }
6865 hook.memoizedState = [prevState, deps];
6866 return prevState;
6867 }
6868 function mountDeferredValue(value, initialValue) {
6869 var hook = mountWorkInProgressHook();
6870 return mountDeferredValueImpl(hook, value, initialValue);
6871 }
6872 function updateDeferredValue(value, initialValue) {
6873 var hook = updateWorkInProgressHook();
6874 return updateDeferredValueImpl(
6875 hook,
6876 currentHook.memoizedState,
6877 value,
6878 initialValue
6879 );
6880 }
6881 function rerenderDeferredValue(value, initialValue) {
6882 var hook = updateWorkInProgressHook();
6883 return null === currentHook ? mountDeferredValueImpl(hook, value, initialValue) : updateDeferredValueImpl(
6884 hook,
6885 currentHook.memoizedState,
6886 value,
6887 initialValue
6888 );
6889 }
6890 function mountDeferredValueImpl(hook, value, initialValue) {
6891 if (void 0 === initialValue || 0 !== (renderLanes & 1073741824) && 0 === (workInProgressRootRenderLanes & 261930))
6892 return hook.memoizedState = value;
6893 hook.memoizedState = initialValue;
6894 hook = requestDeferredLane();
6895 currentlyRenderingFiber.lanes |= hook;
6896 workInProgressRootSkippedLanes |= hook;
6897 return initialValue;
6898 }
6899 function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
6900 if (objectIs(value, prevValue)) return value;
6901 if (null !== currentTreeHiddenStackCursor.current)
6902 return hook = mountDeferredValueImpl(hook, value, initialValue), objectIs(hook, prevValue) || (didReceiveUpdate = true), hook;
6903 if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824) && 0 === (workInProgressRootRenderLanes & 261930))
6904 return didReceiveUpdate = true, hook.memoizedState = value;
6905 hook = requestDeferredLane();
6906 currentlyRenderingFiber.lanes |= hook;
6907 workInProgressRootSkippedLanes |= hook;
6908 return prevValue;
6909 }
6910 function releaseAsyncTransition() {
6911 ReactSharedInternals.asyncTransitions--;
6912 }
6913 function startTransition(fiber, queue, pendingState, finishedState, callback) {
6914 var previousPriority = ReactDOMSharedInternals.p;
6915 ReactDOMSharedInternals.p = 0 !== previousPriority && previousPriority < ContinuousEventPriority ? previousPriority : ContinuousEventPriority;
6916 var prevTransition = ReactSharedInternals.T, currentTransition = {};
6917 currentTransition._updatedFibers = /* @__PURE__ */ new Set();
6918 ReactSharedInternals.T = currentTransition;
6919 dispatchOptimisticSetState(fiber, false, queue, pendingState);
6920 try {
6921 var returnValue = callback(), onStartTransitionFinish = ReactSharedInternals.S;
6922 null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
6923 if (null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then) {
6924 ReactSharedInternals.asyncTransitions++;
6925 returnValue.then(releaseAsyncTransition, releaseAsyncTransition);
6926 var thenableForFinishedState = chainThenableValue(
6927 returnValue,
6928 finishedState
6929 );
6930 dispatchSetStateInternal(
6931 fiber,
6932 queue,
6933 thenableForFinishedState,
6934 requestUpdateLane(fiber)
6935 );
6936 } else
6937 dispatchSetStateInternal(
6938 fiber,
6939 queue,
6940 finishedState,
6941 requestUpdateLane(fiber)
6942 );
6943 } catch (error) {
6944 dispatchSetStateInternal(
6945 fiber,
6946 queue,
6947 { then: function() {
6948 }, status: "rejected", reason: error },
6949 requestUpdateLane(fiber)
6950 );
6951 } finally {
6952 ReactDOMSharedInternals.p = previousPriority, null !== prevTransition && null !== currentTransition.types && (null !== prevTransition.types && prevTransition.types !== currentTransition.types && console.error(
6953 "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."
6954 ), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (fiber = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < fiber && console.warn(
6955 "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."
6956 ));
6957 }
6958 }
6959 function startHostTransition(formFiber, pendingState, action, formData) {
6960 if (5 !== formFiber.tag)
6961 throw Error(
6962 "Expected the form instance to be a HostComponent. This is a bug in React."
6963 );
6964 var queue = ensureFormComponentIsStateful(formFiber).queue;
6965 startHostActionTimer(formFiber);
6966 startTransition(
6967 formFiber,
6968 queue,
6969 pendingState,
6970 NotPendingTransition,
6971 null === action ? noop : function() {
6972 requestFormReset$1(formFiber);
6973 return action(formData);
6974 }
6975 );
6976 }
6977 function ensureFormComponentIsStateful(formFiber) {
6978 var existingStateHook = formFiber.memoizedState;
6979 if (null !== existingStateHook) return existingStateHook;
6980 existingStateHook = {
6981 memoizedState: NotPendingTransition,
6982 baseState: NotPendingTransition,
6983 baseQueue: null,
6984 queue: {
6985 pending: null,
6986 lanes: 0,
6987 dispatch: null,
6988 lastRenderedReducer: basicStateReducer,
6989 lastRenderedState: NotPendingTransition
6990 },
6991 next: null
6992 };
6993 var initialResetState = {};
6994 existingStateHook.next = {
6995 memoizedState: initialResetState,
6996 baseState: initialResetState,
6997 baseQueue: null,
6998 queue: {
6999 pending: null,
7000 lanes: 0,
7001 dispatch: null,
7002 lastRenderedReducer: basicStateReducer,
7003 lastRenderedState: initialResetState
7004 },
7005 next: null
7006 };
7007 formFiber.memoizedState = existingStateHook;
7008 formFiber = formFiber.alternate;
7009 null !== formFiber && (formFiber.memoizedState = existingStateHook);
7010 return existingStateHook;
7011 }
7012 function requestFormReset$1(formFiber) {
7013 null === ReactSharedInternals.T && console.error(
7014 "requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition."
7015 );
7016 var stateHook = ensureFormComponentIsStateful(formFiber);
7017 null === stateHook.next && (stateHook = formFiber.alternate.memoizedState);
7018 dispatchSetStateInternal(
7019 formFiber,
7020 stateHook.next.queue,
7021 {},
7022 requestUpdateLane(formFiber)
7023 );
7024 }
7025 function mountTransition() {
7026 var stateHook = mountStateImpl(false);
7027 stateHook = startTransition.bind(
7028 null,
7029 currentlyRenderingFiber,
7030 stateHook.queue,
7031 true,
7032 false
7033 );
7034 mountWorkInProgressHook().memoizedState = stateHook;
7035 return [false, stateHook];
7036 }
7037 function updateTransition() {
7038 var booleanOrThenable = updateReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState;
7039 return [
7040 "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable),
7041 start
7042 ];
7043 }
7044 function rerenderTransition() {
7045 var booleanOrThenable = rerenderReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState;
7046 return [
7047 "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable),
7048 start
7049 ];
7050 }
7051 function useHostTransitionStatus() {
7052 return readContext(HostTransitionContext);
7053 }
7054 function mountId() {
7055 var hook = mountWorkInProgressHook(), identifierPrefix = workInProgressRoot.identifierPrefix;
7056 if (isHydrating) {
7057 var treeId = treeContextOverflow;
7058 var idWithLeadingBit = treeContextId;
7059 treeId = (idWithLeadingBit & ~(1 << 32 - clz32(idWithLeadingBit) - 1)).toString(32) + treeId;
7060 identifierPrefix = "_" + identifierPrefix + "R_" + treeId;
7061 treeId = localIdCounter++;
7062 0 < treeId && (identifierPrefix += "H" + treeId.toString(32));
7063 identifierPrefix += "_";
7064 } else
7065 treeId = globalClientIdCounter++, identifierPrefix = "_" + identifierPrefix + "r_" + treeId.toString(32) + "_";
7066 return hook.memoizedState = identifierPrefix;
7067 }
7068 function mountRefresh() {
7069 return mountWorkInProgressHook().memoizedState = refreshCache.bind(
7070 null,
7071 currentlyRenderingFiber
7072 );
7073 }
7074 function refreshCache(fiber, seedKey) {
7075 for (var provider = fiber.return; null !== provider; ) {
7076 switch (provider.tag) {
7077 case 24:
7078 case 3:
7079 var lane = requestUpdateLane(provider), refreshUpdate = createUpdate(lane), root2 = enqueueUpdate(provider, refreshUpdate, lane);
7080 null !== root2 && (startUpdateTimerByLane(lane, "refresh()", fiber), scheduleUpdateOnFiber(root2, provider, lane), entangleTransitions(root2, provider, lane));
7081 fiber = createCache();
7082 null !== seedKey && void 0 !== seedKey && null !== root2 && console.error(
7083 "The seed argument is not enabled outside experimental channels."
7084 );
7085 refreshUpdate.payload = { cache: fiber };
7086 return;
7087 }
7088 provider = provider.return;
7089 }
7090 }
7091 function dispatchReducerAction(fiber, queue, action) {
7092 var args = arguments;
7093 "function" === typeof args[3] && console.error(
7094 "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()."
7095 );
7096 args = requestUpdateLane(fiber);
7097 var update = {
7098 lane: args,
7099 revertLane: 0,
7100 gesture: null,
7101 action,
7102 hasEagerState: false,
7103 eagerState: null,
7104 next: null
7105 };
7106 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)));
7107 }
7108 function dispatchSetState(fiber, queue, action) {
7109 var args = arguments;
7110 "function" === typeof args[3] && console.error(
7111 "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()."
7112 );
7113 args = requestUpdateLane(fiber);
7114 dispatchSetStateInternal(fiber, queue, action, args) && startUpdateTimerByLane(args, "setState()", fiber);
7115 }
7116 function dispatchSetStateInternal(fiber, queue, action, lane) {
7117 var update = {
7118 lane,
7119 revertLane: 0,
7120 gesture: null,
7121 action,
7122 hasEagerState: false,
7123 eagerState: null,
7124 next: null
7125 };
7126 if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);
7127 else {
7128 var alternate = fiber.alternate;
7129 if (0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && (alternate = queue.lastRenderedReducer, null !== alternate)) {
7130 var prevDispatcher = ReactSharedInternals.H;
7131 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
7132 try {
7133 var currentState = queue.lastRenderedState, eagerState = alternate(currentState, action);
7134 update.hasEagerState = true;
7135 update.eagerState = eagerState;
7136 if (objectIs(eagerState, currentState))
7137 return enqueueUpdate$1(fiber, queue, update, 0), null === workInProgressRoot && finishQueueingConcurrentUpdates(), false;
7138 } catch (error) {
7139 } finally {
7140 ReactSharedInternals.H = prevDispatcher;
7141 }
7142 }
7143 action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);
7144 if (null !== action)
7145 return scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane), true;
7146 }
7147 return false;
7148 }
7149 function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {
7150 null === ReactSharedInternals.T && 0 === currentEntangledLane && console.error(
7151 "An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition."
7152 );
7153 action = {
7154 lane: 2,
7155 revertLane: requestTransitionLane(),
7156 gesture: null,
7157 action,
7158 hasEagerState: false,
7159 eagerState: null,
7160 next: null
7161 };
7162 if (isRenderPhaseUpdate(fiber)) {
7163 if (throwIfDuringRender)
7164 throw Error("Cannot update optimistic state while rendering.");
7165 console.error("Cannot call startTransition while rendering.");
7166 } else
7167 throwIfDuringRender = enqueueConcurrentHookUpdate(
7168 fiber,
7169 queue,
7170 action,
7171 2
7172 ), null !== throwIfDuringRender && (startUpdateTimerByLane(2, "setOptimistic()", fiber), scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2));
7173 }
7174 function isRenderPhaseUpdate(fiber) {
7175 var alternate = fiber.alternate;
7176 return fiber === currentlyRenderingFiber || null !== alternate && alternate === currentlyRenderingFiber;
7177 }
7178 function enqueueRenderPhaseUpdate(queue, update) {
7179 didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;
7180 var pending = queue.pending;
7181 null === pending ? update.next = update : (update.next = pending.next, pending.next = update);
7182 queue.pending = update;
7183 }
7184 function entangleTransitionUpdate(root2, queue, lane) {
7185 if (0 !== (lane & 4194048)) {
7186 var queueLanes = queue.lanes;
7187 queueLanes &= root2.pendingLanes;
7188 lane |= queueLanes;
7189 queue.lanes = lane;
7190 markRootEntangled(root2, lane);
7191 }
7192 }
7193 function warnOnInvalidCallback(callback) {
7194 if (null !== callback && "function" !== typeof callback) {
7195 var key = String(callback);
7196 didWarnOnInvalidCallback.has(key) || (didWarnOnInvalidCallback.add(key), console.error(
7197 "Expected the last optional `callback` argument to be a function. Instead received: %s.",
7198 callback
7199 ));
7200 }
7201 }
7202 function applyDerivedStateFromProps(workInProgress2, ctor, getDerivedStateFromProps, nextProps) {
7203 var prevState = workInProgress2.memoizedState, partialState = getDerivedStateFromProps(nextProps, prevState);
7204 if (workInProgress2.mode & StrictLegacyMode) {
7205 setIsStrictModeForDevtools(true);
7206 try {
7207 partialState = getDerivedStateFromProps(nextProps, prevState);
7208 } finally {
7209 setIsStrictModeForDevtools(false);
7210 }
7211 }
7212 void 0 === partialState && (ctor = getComponentNameFromType(ctor) || "Component", didWarnAboutUndefinedDerivedState.has(ctor) || (didWarnAboutUndefinedDerivedState.add(ctor), console.error(
7213 "%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.",
7214 ctor
7215 )));
7216 prevState = null === partialState || void 0 === partialState ? prevState : assign({}, prevState, partialState);
7217 workInProgress2.memoizedState = prevState;
7218 0 === workInProgress2.lanes && (workInProgress2.updateQueue.baseState = prevState);
7219 }
7220 function checkShouldComponentUpdate(workInProgress2, ctor, oldProps, newProps, oldState, newState, nextContext) {
7221 var instance = workInProgress2.stateNode;
7222 if ("function" === typeof instance.shouldComponentUpdate) {
7223 oldProps = instance.shouldComponentUpdate(
7224 newProps,
7225 newState,
7226 nextContext
7227 );
7228 if (workInProgress2.mode & StrictLegacyMode) {
7229 setIsStrictModeForDevtools(true);
7230 try {
7231 oldProps = instance.shouldComponentUpdate(
7232 newProps,
7233 newState,
7234 nextContext
7235 );
7236 } finally {
7237 setIsStrictModeForDevtools(false);
7238 }
7239 }
7240 void 0 === oldProps && console.error(
7241 "%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.",
7242 getComponentNameFromType(ctor) || "Component"
7243 );
7244 return oldProps;
7245 }
7246 return ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true;
7247 }
7248 function callComponentWillReceiveProps(workInProgress2, instance, newProps, nextContext) {
7249 var oldState = instance.state;
7250 "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, nextContext);
7251 "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);
7252 instance.state !== oldState && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Component", didWarnAboutStateAssignmentForComponent.has(workInProgress2) || (didWarnAboutStateAssignmentForComponent.add(workInProgress2), console.error(
7253 "%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.",
7254 workInProgress2
7255 )), classComponentUpdater.enqueueReplaceState(
7256 instance,
7257 instance.state,
7258 null
7259 ));
7260 }
7261 function resolveClassComponentProps(Component, baseProps) {
7262 var newProps = baseProps;
7263 if ("ref" in baseProps) {
7264 newProps = {};
7265 for (var propName in baseProps)
7266 "ref" !== propName && (newProps[propName] = baseProps[propName]);
7267 }
7268 if (Component = Component.defaultProps) {
7269 newProps === baseProps && (newProps = assign({}, newProps));
7270 for (var _propName in Component)
7271 void 0 === newProps[_propName] && (newProps[_propName] = Component[_propName]);
7272 }
7273 return newProps;
7274 }
7275 function defaultOnUncaughtError(error) {
7276 reportGlobalError(error);
7277 console.warn(
7278 "%s\n\n%s\n",
7279 componentName ? "An error occurred in the <" + componentName + "> component." : "An error occurred in one of your React components.",
7280 "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."
7281 );
7282 }
7283 function defaultOnCaughtError(error) {
7284 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") + ".");
7285 if ("object" === typeof error && null !== error && "string" === typeof error.environmentName) {
7286 var JSCompiler_inline_result = error.environmentName;
7287 error = [
7288 "%o\n\n%s\n\n%s\n",
7289 error,
7290 componentNameMessage,
7291 recreateMessage
7292 ].slice(0);
7293 "string" === typeof error[0] ? error.splice(
7294 0,
7295 1,
7296 badgeFormat + " " + error[0],
7297 badgeStyle,
7298 pad + JSCompiler_inline_result + pad,
7299 resetStyle
7300 ) : error.splice(
7301 0,
7302 0,
7303 badgeFormat,
7304 badgeStyle,
7305 pad + JSCompiler_inline_result + pad,
7306 resetStyle
7307 );
7308 error.unshift(console);
7309 JSCompiler_inline_result = bind.apply(console.error, error);
7310 JSCompiler_inline_result();
7311 } else
7312 console.error(
7313 "%o\n\n%s\n\n%s\n",
7314 error,
7315 componentNameMessage,
7316 recreateMessage
7317 );
7318 }
7319 function defaultOnRecoverableError(error) {
7320 reportGlobalError(error);
7321 }
7322 function logUncaughtError(root2, errorInfo) {
7323 try {
7324 componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null;
7325 errorBoundaryName = null;
7326 var error = errorInfo.value;
7327 if (null !== ReactSharedInternals.actQueue)
7328 ReactSharedInternals.thrownErrors.push(error);
7329 else {
7330 var onUncaughtError = root2.onUncaughtError;
7331 onUncaughtError(error, { componentStack: errorInfo.stack });
7332 }
7333 } catch (e$5) {
7334 setTimeout(function() {
7335 throw e$5;
7336 });
7337 }
7338 }
7339 function logCaughtError(root2, boundary, errorInfo) {
7340 try {
7341 componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null;
7342 errorBoundaryName = getComponentNameFromFiber(boundary);
7343 var onCaughtError = root2.onCaughtError;
7344 onCaughtError(errorInfo.value, {
7345 componentStack: errorInfo.stack,
7346 errorBoundary: 1 === boundary.tag ? boundary.stateNode : null
7347 });
7348 } catch (e$6) {
7349 setTimeout(function() {
7350 throw e$6;
7351 });
7352 }
7353 }
7354 function createRootErrorUpdate(root2, errorInfo, lane) {
7355 lane = createUpdate(lane);
7356 lane.tag = CaptureUpdate;
7357 lane.payload = { element: null };
7358 lane.callback = function() {
7359 runWithFiberInDEV(errorInfo.source, logUncaughtError, root2, errorInfo);
7360 };
7361 return lane;
7362 }
7363 function createClassErrorUpdate(lane) {
7364 lane = createUpdate(lane);
7365 lane.tag = CaptureUpdate;
7366 return lane;
7367 }
7368 function initializeClassErrorUpdate(update, root2, fiber, errorInfo) {
7369 var getDerivedStateFromError = fiber.type.getDerivedStateFromError;
7370 if ("function" === typeof getDerivedStateFromError) {
7371 var error = errorInfo.value;
7372 update.payload = function() {
7373 return getDerivedStateFromError(error);
7374 };
7375 update.callback = function() {
7376 markFailedErrorBoundaryForHotReloading(fiber);
7377 runWithFiberInDEV(
7378 errorInfo.source,
7379 logCaughtError,
7380 root2,
7381 fiber,
7382 errorInfo
7383 );
7384 };
7385 }
7386 var inst = fiber.stateNode;
7387 null !== inst && "function" === typeof inst.componentDidCatch && (update.callback = function() {
7388 markFailedErrorBoundaryForHotReloading(fiber);
7389 runWithFiberInDEV(
7390 errorInfo.source,
7391 logCaughtError,
7392 root2,
7393 fiber,
7394 errorInfo
7395 );
7396 "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = /* @__PURE__ */ new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this));
7397 callComponentDidCatchInDEV(this, errorInfo);
7398 "function" === typeof getDerivedStateFromError || 0 === (fiber.lanes & 2) && console.error(
7399 "%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.",
7400 getComponentNameFromFiber(fiber) || "Unknown"
7401 );
7402 });
7403 }
7404 function throwException(root2, returnFiber, sourceFiber, value, rootRenderLanes) {
7405 sourceFiber.flags |= 32768;
7406 isDevToolsPresent && restorePendingUpdaters(root2, rootRenderLanes);
7407 if (null !== value && "object" === typeof value && "function" === typeof value.then) {
7408 returnFiber = sourceFiber.alternate;
7409 null !== returnFiber && propagateParentContextChanges(
7410 returnFiber,
7411 sourceFiber,
7412 rootRenderLanes,
7413 true
7414 );
7415 isHydrating && (didSuspendOrErrorDEV = true);
7416 sourceFiber = suspenseHandlerStackCursor.current;
7417 if (null !== sourceFiber) {
7418 switch (sourceFiber.tag) {
7419 case 31:
7420 case 13:
7421 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;
7422 case 22:
7423 return sourceFiber.flags |= 65536, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? (returnFiber = {
7424 transitions: null,
7425 markerInstances: null,
7426 retryQueue: /* @__PURE__ */ new Set([value])
7427 }, sourceFiber.updateQueue = returnFiber) : (sourceFiber = returnFiber.retryQueue, null === sourceFiber ? returnFiber.retryQueue = /* @__PURE__ */ new Set([value]) : sourceFiber.add(value)), attachPingListener(root2, value, rootRenderLanes)), false;
7428 }
7429 throw Error(
7430 "Unexpected Suspense handler tag (" + sourceFiber.tag + "). This is a bug in React."
7431 );
7432 }
7433 attachPingListener(root2, value, rootRenderLanes);
7434 renderDidSuspendDelayIfPossible();
7435 return false;
7436 }
7437 if (isHydrating)
7438 return didSuspendOrErrorDEV = true, returnFiber = suspenseHandlerStackCursor.current, null !== returnFiber ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256), returnFiber.flags |= 65536, returnFiber.lanes = rootRenderLanes, value !== HydrationMismatchException && queueHydrationError(
7439 createCapturedValueAtFiber(
7440 Error(
7441 "There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.",
7442 { cause: value }
7443 ),
7444 sourceFiber
7445 )
7446 )) : (value !== HydrationMismatchException && queueHydrationError(
7447 createCapturedValueAtFiber(
7448 Error(
7449 "There was an error while hydrating but React was able to recover by instead client rendering the entire root.",
7450 { cause: value }
7451 ),
7452 sourceFiber
7453 )
7454 ), root2 = root2.current.alternate, root2.flags |= 65536, rootRenderLanes &= -rootRenderLanes, root2.lanes |= rootRenderLanes, value = createCapturedValueAtFiber(value, sourceFiber), rootRenderLanes = createRootErrorUpdate(
7455 root2.stateNode,
7456 value,
7457 rootRenderLanes
7458 ), enqueueCapturedUpdate(root2, rootRenderLanes), workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored)), false;
7459 var error = createCapturedValueAtFiber(
7460 Error(
7461 "There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.",
7462 { cause: value }
7463 ),
7464 sourceFiber
7465 );
7466 null === workInProgressRootConcurrentErrors ? workInProgressRootConcurrentErrors = [error] : workInProgressRootConcurrentErrors.push(error);
7467 workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored);
7468 if (null === returnFiber) return true;
7469 value = createCapturedValueAtFiber(value, sourceFiber);
7470 sourceFiber = returnFiber;
7471 do {
7472 switch (sourceFiber.tag) {
7473 case 3:
7474 return sourceFiber.flags |= 65536, root2 = rootRenderLanes & -rootRenderLanes, sourceFiber.lanes |= root2, root2 = createRootErrorUpdate(
7475 sourceFiber.stateNode,
7476 value,
7477 root2
7478 ), enqueueCapturedUpdate(sourceFiber, root2), false;
7479 case 1:
7480 if (returnFiber = sourceFiber.type, error = sourceFiber.stateNode, 0 === (sourceFiber.flags & 128) && ("function" === typeof returnFiber.getDerivedStateFromError || null !== error && "function" === typeof error.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(error))))
7481 return sourceFiber.flags |= 65536, rootRenderLanes &= -rootRenderLanes, sourceFiber.lanes |= rootRenderLanes, rootRenderLanes = createClassErrorUpdate(rootRenderLanes), initializeClassErrorUpdate(
7482 rootRenderLanes,
7483 root2,
7484 sourceFiber,
7485 value
7486 ), enqueueCapturedUpdate(sourceFiber, rootRenderLanes), false;
7487 }
7488 sourceFiber = sourceFiber.return;
7489 } while (null !== sourceFiber);
7490 return false;
7491 }
7492 function reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2) {
7493 workInProgress2.child = null === current2 ? mountChildFibers(workInProgress2, null, nextChildren, renderLanes2) : reconcileChildFibers(
7494 workInProgress2,
7495 current2.child,
7496 nextChildren,
7497 renderLanes2
7498 );
7499 }
7500 function updateForwardRef(current2, workInProgress2, Component, nextProps, renderLanes2) {
7501 Component = Component.render;
7502 var ref = workInProgress2.ref;
7503 if ("ref" in nextProps) {
7504 var propsWithoutRef = {};
7505 for (var key in nextProps)
7506 "ref" !== key && (propsWithoutRef[key] = nextProps[key]);
7507 } else propsWithoutRef = nextProps;
7508 prepareToReadContext(workInProgress2);
7509 nextProps = renderWithHooks(
7510 current2,
7511 workInProgress2,
7512 Component,
7513 propsWithoutRef,
7514 ref,
7515 renderLanes2
7516 );
7517 key = checkDidRenderIdHook();
7518 if (null !== current2 && !didReceiveUpdate)
7519 return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
7520 isHydrating && key && pushMaterializedTreeId(workInProgress2);
7521 workInProgress2.flags |= 1;
7522 reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
7523 return workInProgress2.child;
7524 }
7525 function updateMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
7526 if (null === current2) {
7527 var type = Component.type;
7528 if ("function" === typeof type && !shouldConstruct(type) && void 0 === type.defaultProps && null === Component.compare)
7529 return Component = resolveFunctionForHotReloading(type), workInProgress2.tag = 15, workInProgress2.type = Component, validateFunctionComponentInDev(workInProgress2, type), updateSimpleMemoComponent(
7530 current2,
7531 workInProgress2,
7532 Component,
7533 nextProps,
7534 renderLanes2
7535 );
7536 current2 = createFiberFromTypeAndProps(
7537 Component.type,
7538 null,
7539 nextProps,
7540 workInProgress2,
7541 workInProgress2.mode,
7542 renderLanes2
7543 );
7544 current2.ref = workInProgress2.ref;
7545 current2.return = workInProgress2;
7546 return workInProgress2.child = current2;
7547 }
7548 type = current2.child;
7549 if (!checkScheduledUpdateOrContext(current2, renderLanes2)) {
7550 var prevProps = type.memoizedProps;
7551 Component = Component.compare;
7552 Component = null !== Component ? Component : shallowEqual;
7553 if (Component(prevProps, nextProps) && current2.ref === workInProgress2.ref)
7554 return bailoutOnAlreadyFinishedWork(
7555 current2,
7556 workInProgress2,
7557 renderLanes2
7558 );
7559 }
7560 workInProgress2.flags |= 1;
7561 current2 = createWorkInProgress(type, nextProps);
7562 current2.ref = workInProgress2.ref;
7563 current2.return = workInProgress2;
7564 return workInProgress2.child = current2;
7565 }
7566 function updateSimpleMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
7567 if (null !== current2) {
7568 var prevProps = current2.memoizedProps;
7569 if (shallowEqual(prevProps, nextProps) && current2.ref === workInProgress2.ref && workInProgress2.type === current2.type)
7570 if (didReceiveUpdate = false, workInProgress2.pendingProps = nextProps = prevProps, checkScheduledUpdateOrContext(current2, renderLanes2))
7571 0 !== (current2.flags & 131072) && (didReceiveUpdate = true);
7572 else
7573 return workInProgress2.lanes = current2.lanes, bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
7574 }
7575 return updateFunctionComponent(
7576 current2,
7577 workInProgress2,
7578 Component,
7579 nextProps,
7580 renderLanes2
7581 );
7582 }
7583 function updateOffscreenComponent(current2, workInProgress2, renderLanes2, nextProps) {
7584 var nextChildren = nextProps.children, prevState = null !== current2 ? current2.memoizedState : null;
7585 null === current2 && null === workInProgress2.stateNode && (workInProgress2.stateNode = {
7586 _visibility: OffscreenVisible,
7587 _pendingMarkers: null,
7588 _retryCache: null,
7589 _transitions: null
7590 });
7591 if ("hidden" === nextProps.mode) {
7592 if (0 !== (workInProgress2.flags & 128)) {
7593 prevState = null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2;
7594 if (null !== current2) {
7595 nextProps = workInProgress2.child = current2.child;
7596 for (nextChildren = 0; null !== nextProps; )
7597 nextChildren = nextChildren | nextProps.lanes | nextProps.childLanes, nextProps = nextProps.sibling;
7598 nextProps = nextChildren & ~prevState;
7599 } else nextProps = 0, workInProgress2.child = null;
7600 return deferHiddenOffscreenComponent(
7601 current2,
7602 workInProgress2,
7603 prevState,
7604 renderLanes2,
7605 nextProps
7606 );
7607 }
7608 if (0 !== (renderLanes2 & 536870912))
7609 workInProgress2.memoizedState = { baseLanes: 0, cachePool: null }, null !== current2 && pushTransition(
7610 workInProgress2,
7611 null !== prevState ? prevState.cachePool : null
7612 ), null !== prevState ? pushHiddenContext(workInProgress2, prevState) : reuseHiddenContextOnStack(workInProgress2), pushOffscreenSuspenseHandler(workInProgress2);
7613 else
7614 return nextProps = workInProgress2.lanes = 536870912, deferHiddenOffscreenComponent(
7615 current2,
7616 workInProgress2,
7617 null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2,
7618 renderLanes2,
7619 nextProps
7620 );
7621 } else
7622 null !== prevState ? (pushTransition(workInProgress2, prevState.cachePool), pushHiddenContext(workInProgress2, prevState), reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.memoizedState = null) : (null !== current2 && pushTransition(workInProgress2, null), reuseHiddenContextOnStack(workInProgress2), reuseSuspenseHandlerOnStack(workInProgress2));
7623 reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2);
7624 return workInProgress2.child;
7625 }
7626 function bailoutOffscreenComponent(current2, workInProgress2) {
7627 null !== current2 && 22 === current2.tag || null !== workInProgress2.stateNode || (workInProgress2.stateNode = {
7628 _visibility: OffscreenVisible,
7629 _pendingMarkers: null,
7630 _retryCache: null,
7631 _transitions: null
7632 });
7633 return workInProgress2.sibling;
7634 }
7635 function deferHiddenOffscreenComponent(current2, workInProgress2, nextBaseLanes, renderLanes2, remainingChildLanes) {
7636 var JSCompiler_inline_result = peekCacheFromPool();
7637 JSCompiler_inline_result = null === JSCompiler_inline_result ? null : {
7638 parent: CacheContext._currentValue,
7639 pool: JSCompiler_inline_result
7640 };
7641 workInProgress2.memoizedState = {
7642 baseLanes: nextBaseLanes,
7643 cachePool: JSCompiler_inline_result
7644 };
7645 null !== current2 && pushTransition(workInProgress2, null);
7646 reuseHiddenContextOnStack(workInProgress2);
7647 pushOffscreenSuspenseHandler(workInProgress2);
7648 null !== current2 && propagateParentContextChanges(current2, workInProgress2, renderLanes2, true);
7649 workInProgress2.childLanes = remainingChildLanes;
7650 return null;
7651 }
7652 function mountActivityChildren(workInProgress2, nextProps) {
7653 var hiddenProp = nextProps.hidden;
7654 void 0 !== hiddenProp && console.error(
7655 `<Activity> doesn't accept a hidden prop. Use mode="hidden" instead.
7656 - <Activity %s>
7657 + <Activity %s>`,
7658 true === hiddenProp ? "hidden" : false === hiddenProp ? "hidden={false}" : "hidden={...}",
7659 hiddenProp ? 'mode="hidden"' : 'mode="visible"'
7660 );
7661 nextProps = mountWorkInProgressOffscreenFiber(
7662 { mode: nextProps.mode, children: nextProps.children },
7663 workInProgress2.mode
7664 );
7665 nextProps.ref = workInProgress2.ref;
7666 workInProgress2.child = nextProps;
7667 nextProps.return = workInProgress2;
7668 return nextProps;
7669 }
7670 function retryActivityComponentWithoutHydrating(current2, workInProgress2, renderLanes2) {
7671 reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
7672 current2 = mountActivityChildren(
7673 workInProgress2,
7674 workInProgress2.pendingProps
7675 );
7676 current2.flags |= 2;
7677 popSuspenseHandler(workInProgress2);
7678 workInProgress2.memoizedState = null;
7679 return current2;
7680 }
7681 function updateActivityComponent(current2, workInProgress2, renderLanes2) {
7682 var nextProps = workInProgress2.pendingProps, didSuspend = 0 !== (workInProgress2.flags & 128);
7683 workInProgress2.flags &= -129;
7684 if (null === current2) {
7685 if (isHydrating) {
7686 if ("hidden" === nextProps.mode)
7687 return current2 = mountActivityChildren(workInProgress2, nextProps), workInProgress2.lanes = 536870912, bailoutOffscreenComponent(null, current2);
7688 pushDehydratedActivitySuspenseHandler(workInProgress2);
7689 (current2 = nextHydratableInstance) ? (renderLanes2 = canHydrateHydrationBoundary(
7690 current2,
7691 rootOrSingletonContext
7692 ), renderLanes2 = null !== renderLanes2 && renderLanes2.data === ACTIVITY_START_DATA ? renderLanes2 : null, null !== renderLanes2 && (nextProps = {
7693 dehydrated: renderLanes2,
7694 treeContext: getSuspendedTreeContext(),
7695 retryLane: 536870912,
7696 hydrationErrors: null
7697 }, workInProgress2.memoizedState = nextProps, nextProps = createFiberFromDehydratedFragment(renderLanes2), nextProps.return = workInProgress2, workInProgress2.child = nextProps, hydrationParentFiber = workInProgress2, nextHydratableInstance = null)) : renderLanes2 = null;
7698 if (null === renderLanes2)
7699 throw warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2);
7700 workInProgress2.lanes = 536870912;
7701 return null;
7702 }
7703 return mountActivityChildren(workInProgress2, nextProps);
7704 }
7705 var prevState = current2.memoizedState;
7706 if (null !== prevState) {
7707 var activityInstance = prevState.dehydrated;
7708 pushDehydratedActivitySuspenseHandler(workInProgress2);
7709 if (didSuspend)
7710 if (workInProgress2.flags & 256)
7711 workInProgress2.flags &= -257, workInProgress2 = retryActivityComponentWithoutHydrating(
7712 current2,
7713 workInProgress2,
7714 renderLanes2
7715 );
7716 else if (null !== workInProgress2.memoizedState)
7717 workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null;
7718 else
7719 throw Error(
7720 "Client rendering an Activity suspended it again. This is a bug in React."
7721 );
7722 else if (warnIfHydrating(), 0 !== (renderLanes2 & 536870912) && markRenderDerivedCause(workInProgress2), didReceiveUpdate || propagateParentContextChanges(
7723 current2,
7724 workInProgress2,
7725 renderLanes2,
7726 false
7727 ), didSuspend = 0 !== (renderLanes2 & current2.childLanes), didReceiveUpdate || didSuspend) {
7728 nextProps = workInProgressRoot;
7729 if (null !== nextProps && (activityInstance = getBumpedLaneForHydration(
7730 nextProps,
7731 renderLanes2
7732 ), 0 !== activityInstance && activityInstance !== prevState.retryLane))
7733 throw prevState.retryLane = activityInstance, enqueueConcurrentRenderForLane(current2, activityInstance), scheduleUpdateOnFiber(nextProps, current2, activityInstance), SelectiveHydrationException;
7734 renderDidSuspendDelayIfPossible();
7735 workInProgress2 = retryActivityComponentWithoutHydrating(
7736 current2,
7737 workInProgress2,
7738 renderLanes2
7739 );
7740 } else
7741 current2 = prevState.treeContext, nextHydratableInstance = getNextHydratable(
7742 activityInstance.nextSibling
7743 ), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, null !== current2 && restoreSuspendedTreeContext(workInProgress2, current2), workInProgress2 = mountActivityChildren(workInProgress2, nextProps), workInProgress2.flags |= 4096;
7744 return workInProgress2;
7745 }
7746 prevState = current2.child;
7747 nextProps = { mode: nextProps.mode, children: nextProps.children };
7748 0 !== (renderLanes2 & 536870912) && 0 !== (renderLanes2 & current2.lanes) && markRenderDerivedCause(workInProgress2);
7749 current2 = createWorkInProgress(prevState, nextProps);
7750 current2.ref = workInProgress2.ref;
7751 workInProgress2.child = current2;
7752 current2.return = workInProgress2;
7753 return current2;
7754 }
7755 function markRef(current2, workInProgress2) {
7756 var ref = workInProgress2.ref;
7757 if (null === ref)
7758 null !== current2 && null !== current2.ref && (workInProgress2.flags |= 4194816);
7759 else {
7760 if ("function" !== typeof ref && "object" !== typeof ref)
7761 throw Error(
7762 "Expected ref to be a function, an object returned by React.createRef(), or undefined/null."
7763 );
7764 if (null === current2 || current2.ref !== ref)
7765 workInProgress2.flags |= 4194816;
7766 }
7767 }
7768 function updateFunctionComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
7769 if (Component.prototype && "function" === typeof Component.prototype.render) {
7770 var componentName2 = getComponentNameFromType(Component) || "Unknown";
7771 didWarnAboutBadClass[componentName2] || (console.error(
7772 "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.",
7773 componentName2,
7774 componentName2
7775 ), didWarnAboutBadClass[componentName2] = true);
7776 }
7777 workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning(
7778 workInProgress2,
7779 null
7780 );
7781 null === current2 && (validateFunctionComponentInDev(workInProgress2, workInProgress2.type), Component.contextTypes && (componentName2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypes[componentName2] || (didWarnAboutContextTypes[componentName2] = true, console.error(
7782 "%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)",
7783 componentName2
7784 ))));
7785 prepareToReadContext(workInProgress2);
7786 Component = renderWithHooks(
7787 current2,
7788 workInProgress2,
7789 Component,
7790 nextProps,
7791 void 0,
7792 renderLanes2
7793 );
7794 nextProps = checkDidRenderIdHook();
7795 if (null !== current2 && !didReceiveUpdate)
7796 return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
7797 isHydrating && nextProps && pushMaterializedTreeId(workInProgress2);
7798 workInProgress2.flags |= 1;
7799 reconcileChildren(current2, workInProgress2, Component, renderLanes2);
7800 return workInProgress2.child;
7801 }
7802 function replayFunctionComponent(current2, workInProgress2, nextProps, Component, secondArg, renderLanes2) {
7803 prepareToReadContext(workInProgress2);
7804 hookTypesUpdateIndexDev = -1;
7805 ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type;
7806 workInProgress2.updateQueue = null;
7807 nextProps = renderWithHooksAgain(
7808 workInProgress2,
7809 Component,
7810 nextProps,
7811 secondArg
7812 );
7813 finishRenderingHooks(current2, workInProgress2);
7814 Component = checkDidRenderIdHook();
7815 if (null !== current2 && !didReceiveUpdate)
7816 return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
7817 isHydrating && Component && pushMaterializedTreeId(workInProgress2);
7818 workInProgress2.flags |= 1;
7819 reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
7820 return workInProgress2.child;
7821 }
7822 function updateClassComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
7823 switch (shouldErrorImpl(workInProgress2)) {
7824 case false:
7825 var _instance = workInProgress2.stateNode, state = new workInProgress2.type(
7826 workInProgress2.memoizedProps,
7827 _instance.context
7828 ).state;
7829 _instance.updater.enqueueSetState(_instance, state, null);
7830 break;
7831 case true:
7832 workInProgress2.flags |= 128;
7833 workInProgress2.flags |= 65536;
7834 _instance = Error("Simulated error coming from DevTools");
7835 var lane = renderLanes2 & -renderLanes2;
7836 workInProgress2.lanes |= lane;
7837 state = workInProgressRoot;
7838 if (null === state)
7839 throw Error(
7840 "Expected a work-in-progress root. This is a bug in React. Please file an issue."
7841 );
7842 lane = createClassErrorUpdate(lane);
7843 initializeClassErrorUpdate(
7844 lane,
7845 state,
7846 workInProgress2,
7847 createCapturedValueAtFiber(_instance, workInProgress2)
7848 );
7849 enqueueCapturedUpdate(workInProgress2, lane);
7850 }
7851 prepareToReadContext(workInProgress2);
7852 if (null === workInProgress2.stateNode) {
7853 state = emptyContextObject;
7854 _instance = Component.contextType;
7855 "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(
7856 "%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s",
7857 getComponentNameFromType(Component) || "Component",
7858 lane
7859 ));
7860 "object" === typeof _instance && null !== _instance && (state = readContext(_instance));
7861 _instance = new Component(nextProps, state);
7862 if (workInProgress2.mode & StrictLegacyMode) {
7863 setIsStrictModeForDevtools(true);
7864 try {
7865 _instance = new Component(nextProps, state);
7866 } finally {
7867 setIsStrictModeForDevtools(false);
7868 }
7869 }
7870 state = workInProgress2.memoizedState = null !== _instance.state && void 0 !== _instance.state ? _instance.state : null;
7871 _instance.updater = classComponentUpdater;
7872 workInProgress2.stateNode = _instance;
7873 _instance._reactInternals = workInProgress2;
7874 _instance._reactInternalInstance = fakeInternalInstance;
7875 "function" === typeof Component.getDerivedStateFromProps && null === state && (state = getComponentNameFromType(Component) || "Component", didWarnAboutUninitializedState.has(state) || (didWarnAboutUninitializedState.add(state), console.error(
7876 "`%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.",
7877 state,
7878 null === _instance.state ? "null" : "undefined",
7879 state
7880 )));
7881 if ("function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate) {
7882 var foundWillUpdateName = lane = state = null;
7883 "function" === typeof _instance.componentWillMount && true !== _instance.componentWillMount.__suppressDeprecationWarning ? state = "componentWillMount" : "function" === typeof _instance.UNSAFE_componentWillMount && (state = "UNSAFE_componentWillMount");
7884 "function" === typeof _instance.componentWillReceiveProps && true !== _instance.componentWillReceiveProps.__suppressDeprecationWarning ? lane = "componentWillReceiveProps" : "function" === typeof _instance.UNSAFE_componentWillReceiveProps && (lane = "UNSAFE_componentWillReceiveProps");
7885 "function" === typeof _instance.componentWillUpdate && true !== _instance.componentWillUpdate.__suppressDeprecationWarning ? foundWillUpdateName = "componentWillUpdate" : "function" === typeof _instance.UNSAFE_componentWillUpdate && (foundWillUpdateName = "UNSAFE_componentWillUpdate");
7886 if (null !== state || null !== lane || null !== foundWillUpdateName) {
7887 _instance = getComponentNameFromType(Component) || "Component";
7888 var newApiName = "function" === typeof Component.getDerivedStateFromProps ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()";
7889 didWarnAboutLegacyLifecyclesAndDerivedState.has(_instance) || (didWarnAboutLegacyLifecyclesAndDerivedState.add(_instance), console.error(
7890 "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",
7891 _instance,
7892 newApiName,
7893 null !== state ? "\n " + state : "",
7894 null !== lane ? "\n " + lane : "",
7895 null !== foundWillUpdateName ? "\n " + foundWillUpdateName : ""
7896 ));
7897 }
7898 }
7899 _instance = workInProgress2.stateNode;
7900 state = getComponentNameFromType(Component) || "Component";
7901 _instance.render || (Component.prototype && "function" === typeof Component.prototype.render ? console.error(
7902 "No `render` method found on the %s instance: did you accidentally return an object from the constructor?",
7903 state
7904 ) : console.error(
7905 "No `render` method found on the %s instance: you may have forgotten to define `render`.",
7906 state
7907 ));
7908 !_instance.getInitialState || _instance.getInitialState.isReactClassApproved || _instance.state || console.error(
7909 "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?",
7910 state
7911 );
7912 _instance.getDefaultProps && !_instance.getDefaultProps.isReactClassApproved && console.error(
7913 "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.",
7914 state
7915 );
7916 _instance.contextType && console.error(
7917 "contextType was defined as an instance property on %s. Use a static property to define contextType instead.",
7918 state
7919 );
7920 Component.childContextTypes && !didWarnAboutChildContextTypes.has(Component) && (didWarnAboutChildContextTypes.add(Component), console.error(
7921 "%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)",
7922 state
7923 ));
7924 Component.contextTypes && !didWarnAboutContextTypes$1.has(Component) && (didWarnAboutContextTypes$1.add(Component), console.error(
7925 "%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)",
7926 state
7927 ));
7928 "function" === typeof _instance.componentShouldUpdate && console.error(
7929 "%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.",
7930 state
7931 );
7932 Component.prototype && Component.prototype.isPureReactComponent && "undefined" !== typeof _instance.shouldComponentUpdate && console.error(
7933 "%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.",
7934 getComponentNameFromType(Component) || "A pure component"
7935 );
7936 "function" === typeof _instance.componentDidUnmount && console.error(
7937 "%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?",
7938 state
7939 );
7940 "function" === typeof _instance.componentDidReceiveProps && console.error(
7941 "%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().",
7942 state
7943 );
7944 "function" === typeof _instance.componentWillRecieveProps && console.error(
7945 "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",
7946 state
7947 );
7948 "function" === typeof _instance.UNSAFE_componentWillRecieveProps && console.error(
7949 "%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?",
7950 state
7951 );
7952 lane = _instance.props !== nextProps;
7953 void 0 !== _instance.props && lane && console.error(
7954 "When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.",
7955 state
7956 );
7957 _instance.defaultProps && console.error(
7958 "Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.",
7959 state,
7960 state
7961 );
7962 "function" !== typeof _instance.getSnapshotBeforeUpdate || "function" === typeof _instance.componentDidUpdate || didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(Component) || (didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(Component), console.error(
7963 "%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.",
7964 getComponentNameFromType(Component)
7965 ));
7966 "function" === typeof _instance.getDerivedStateFromProps && console.error(
7967 "%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.",
7968 state
7969 );
7970 "function" === typeof _instance.getDerivedStateFromError && console.error(
7971 "%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.",
7972 state
7973 );
7974 "function" === typeof Component.getSnapshotBeforeUpdate && console.error(
7975 "%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.",
7976 state
7977 );
7978 (lane = _instance.state) && ("object" !== typeof lane || isArrayImpl(lane)) && console.error("%s.state: must be set to an object or null", state);
7979 "function" === typeof _instance.getChildContext && "object" !== typeof Component.childContextTypes && console.error(
7980 "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().",
7981 state
7982 );
7983 _instance = workInProgress2.stateNode;
7984 _instance.props = nextProps;
7985 _instance.state = workInProgress2.memoizedState;
7986 _instance.refs = {};
7987 initializeUpdateQueue(workInProgress2);
7988 state = Component.contextType;
7989 _instance.context = "object" === typeof state && null !== state ? readContext(state) : emptyContextObject;
7990 _instance.state === nextProps && (state = getComponentNameFromType(Component) || "Component", didWarnAboutDirectlyAssigningPropsToState.has(state) || (didWarnAboutDirectlyAssigningPropsToState.add(state), console.error(
7991 "%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.",
7992 state
7993 )));
7994 workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning(
7995 workInProgress2,
7996 _instance
7997 );
7998 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(
7999 workInProgress2,
8000 _instance
8001 );
8002 _instance.state = workInProgress2.memoizedState;
8003 state = Component.getDerivedStateFromProps;
8004 "function" === typeof state && (applyDerivedStateFromProps(
8005 workInProgress2,
8006 Component,
8007 state,
8008 nextProps
8009 ), _instance.state = workInProgress2.memoizedState);
8010 "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(
8011 "%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.",
8012 getComponentNameFromFiber(workInProgress2) || "Component"
8013 ), classComponentUpdater.enqueueReplaceState(
8014 _instance,
8015 _instance.state,
8016 null
8017 )), processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction(), _instance.state = workInProgress2.memoizedState);
8018 "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308);
8019 (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728);
8020 _instance = true;
8021 } else if (null === current2) {
8022 _instance = workInProgress2.stateNode;
8023 var unresolvedOldProps = workInProgress2.memoizedProps;
8024 lane = resolveClassComponentProps(Component, unresolvedOldProps);
8025 _instance.props = lane;
8026 var oldContext = _instance.context;
8027 foundWillUpdateName = Component.contextType;
8028 state = emptyContextObject;
8029 "object" === typeof foundWillUpdateName && null !== foundWillUpdateName && (state = readContext(foundWillUpdateName));
8030 newApiName = Component.getDerivedStateFromProps;
8031 foundWillUpdateName = "function" === typeof newApiName || "function" === typeof _instance.getSnapshotBeforeUpdate;
8032 unresolvedOldProps = workInProgress2.pendingProps !== unresolvedOldProps;
8033 foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (unresolvedOldProps || oldContext !== state) && callComponentWillReceiveProps(
8034 workInProgress2,
8035 _instance,
8036 nextProps,
8037 state
8038 );
8039 hasForceUpdate = false;
8040 var oldState = workInProgress2.memoizedState;
8041 _instance.state = oldState;
8042 processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2);
8043 suspendIfUpdateReadFromEntangledAsyncAction();
8044 oldContext = workInProgress2.memoizedState;
8045 unresolvedOldProps || oldState !== oldContext || hasForceUpdate ? ("function" === typeof newApiName && (applyDerivedStateFromProps(
8046 workInProgress2,
8047 Component,
8048 newApiName,
8049 nextProps
8050 ), oldContext = workInProgress2.memoizedState), (lane = hasForceUpdate || checkShouldComponentUpdate(
8051 workInProgress2,
8052 Component,
8053 lane,
8054 nextProps,
8055 oldState,
8056 oldContext,
8057 state
8058 )) ? (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 |= 134217728)) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), 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 |= 134217728), _instance = false);
8059 } else {
8060 _instance = workInProgress2.stateNode;
8061 cloneUpdateQueue(current2, workInProgress2);
8062 state = workInProgress2.memoizedProps;
8063 foundWillUpdateName = resolveClassComponentProps(Component, state);
8064 _instance.props = foundWillUpdateName;
8065 newApiName = workInProgress2.pendingProps;
8066 oldState = _instance.context;
8067 oldContext = Component.contextType;
8068 lane = emptyContextObject;
8069 "object" === typeof oldContext && null !== oldContext && (lane = readContext(oldContext));
8070 unresolvedOldProps = Component.getDerivedStateFromProps;
8071 (oldContext = "function" === typeof unresolvedOldProps || "function" === typeof _instance.getSnapshotBeforeUpdate) || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (state !== newApiName || oldState !== lane) && callComponentWillReceiveProps(
8072 workInProgress2,
8073 _instance,
8074 nextProps,
8075 lane
8076 );
8077 hasForceUpdate = false;
8078 oldState = workInProgress2.memoizedState;
8079 _instance.state = oldState;
8080 processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2);
8081 suspendIfUpdateReadFromEntangledAsyncAction();
8082 var newState = workInProgress2.memoizedState;
8083 state !== newApiName || oldState !== newState || hasForceUpdate || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies) ? ("function" === typeof unresolvedOldProps && (applyDerivedStateFromProps(
8084 workInProgress2,
8085 Component,
8086 unresolvedOldProps,
8087 nextProps
8088 ), newState = workInProgress2.memoizedState), (foundWillUpdateName = hasForceUpdate || checkShouldComponentUpdate(
8089 workInProgress2,
8090 Component,
8091 foundWillUpdateName,
8092 nextProps,
8093 oldState,
8094 newState,
8095 lane
8096 ) || 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(
8097 nextProps,
8098 newState,
8099 lane
8100 )), "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);
8101 }
8102 lane = _instance;
8103 markRef(current2, workInProgress2);
8104 state = 0 !== (workInProgress2.flags & 128);
8105 if (lane || state) {
8106 lane = workInProgress2.stateNode;
8107 setCurrentFiber(workInProgress2);
8108 if (state && "function" !== typeof Component.getDerivedStateFromError)
8109 Component = null, profilerStartTime = -1;
8110 else if (Component = callRenderInDEV(lane), workInProgress2.mode & StrictLegacyMode) {
8111 setIsStrictModeForDevtools(true);
8112 try {
8113 callRenderInDEV(lane);
8114 } finally {
8115 setIsStrictModeForDevtools(false);
8116 }
8117 }
8118 workInProgress2.flags |= 1;
8119 null !== current2 && state ? (workInProgress2.child = reconcileChildFibers(
8120 workInProgress2,
8121 current2.child,
8122 null,
8123 renderLanes2
8124 ), workInProgress2.child = reconcileChildFibers(
8125 workInProgress2,
8126 null,
8127 Component,
8128 renderLanes2
8129 )) : reconcileChildren(current2, workInProgress2, Component, renderLanes2);
8130 workInProgress2.memoizedState = lane.state;
8131 current2 = workInProgress2.child;
8132 } else
8133 current2 = bailoutOnAlreadyFinishedWork(
8134 current2,
8135 workInProgress2,
8136 renderLanes2
8137 );
8138 renderLanes2 = workInProgress2.stateNode;
8139 _instance && renderLanes2.props !== nextProps && (didWarnAboutReassigningProps || console.error(
8140 "It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.",
8141 getComponentNameFromFiber(workInProgress2) || "a component"
8142 ), didWarnAboutReassigningProps = true);
8143 return current2;
8144 }
8145 function mountHostRootWithoutHydrating(current2, workInProgress2, nextChildren, renderLanes2) {
8146 resetHydrationState();
8147 workInProgress2.flags |= 256;
8148 reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2);
8149 return workInProgress2.child;
8150 }
8151 function validateFunctionComponentInDev(workInProgress2, Component) {
8152 Component && Component.childContextTypes && console.error(
8153 "childContextTypes cannot be defined on a function component.\n %s.childContextTypes = ...",
8154 Component.displayName || Component.name || "Component"
8155 );
8156 "function" === typeof Component.getDerivedStateFromProps && (workInProgress2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] || (console.error(
8157 "%s: Function components do not support getDerivedStateFromProps.",
8158 workInProgress2
8159 ), didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] = true));
8160 "object" === typeof Component.contextType && null !== Component.contextType && (Component = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypeOnFunctionComponent[Component] || (console.error(
8161 "%s: Function components do not support contextType.",
8162 Component
8163 ), didWarnAboutContextTypeOnFunctionComponent[Component] = true));
8164 }
8165 function mountSuspenseOffscreenState(renderLanes2) {
8166 return { baseLanes: renderLanes2, cachePool: getSuspendedCache() };
8167 }
8168 function getRemainingWorkInPrimaryTree(current2, primaryTreeDidDefer, renderLanes2) {
8169 current2 = null !== current2 ? current2.childLanes & ~renderLanes2 : 0;
8170 primaryTreeDidDefer && (current2 |= workInProgressDeferredLane);
8171 return current2;
8172 }
8173 function updateSuspenseComponent(current2, workInProgress2, renderLanes2) {
8174 var JSCompiler_object_inline_digest_2724;
8175 var JSCompiler_object_inline_stack_2725 = workInProgress2.pendingProps;
8176 shouldSuspendImpl(workInProgress2) && (workInProgress2.flags |= 128);
8177 var JSCompiler_object_inline_message_2723 = false;
8178 var didSuspend = 0 !== (workInProgress2.flags & 128);
8179 (JSCompiler_object_inline_digest_2724 = didSuspend) || (JSCompiler_object_inline_digest_2724 = null !== current2 && null === current2.memoizedState ? false : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback));
8180 JSCompiler_object_inline_digest_2724 && (JSCompiler_object_inline_message_2723 = true, workInProgress2.flags &= -129);
8181 JSCompiler_object_inline_digest_2724 = 0 !== (workInProgress2.flags & 32);
8182 workInProgress2.flags &= -33;
8183 if (null === current2) {
8184 if (isHydrating) {
8185 JSCompiler_object_inline_message_2723 ? pushPrimaryTreeSuspenseHandler(workInProgress2) : reuseSuspenseHandlerOnStack(workInProgress2);
8186 (current2 = nextHydratableInstance) ? (renderLanes2 = canHydrateHydrationBoundary(
8187 current2,
8188 rootOrSingletonContext
8189 ), renderLanes2 = null !== renderLanes2 && renderLanes2.data !== ACTIVITY_START_DATA ? renderLanes2 : null, null !== renderLanes2 && (JSCompiler_object_inline_digest_2724 = {
8190 dehydrated: renderLanes2,
8191 treeContext: getSuspendedTreeContext(),
8192 retryLane: 536870912,
8193 hydrationErrors: null
8194 }, workInProgress2.memoizedState = JSCompiler_object_inline_digest_2724, JSCompiler_object_inline_digest_2724 = createFiberFromDehydratedFragment(renderLanes2), JSCompiler_object_inline_digest_2724.return = workInProgress2, workInProgress2.child = JSCompiler_object_inline_digest_2724, hydrationParentFiber = workInProgress2, nextHydratableInstance = null)) : renderLanes2 = null;
8195 if (null === renderLanes2)
8196 throw warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2);
8197 isSuspenseInstanceFallback(renderLanes2) ? workInProgress2.lanes = 32 : workInProgress2.lanes = 536870912;
8198 return null;
8199 }
8200 var nextPrimaryChildren = JSCompiler_object_inline_stack_2725.children;
8201 JSCompiler_object_inline_stack_2725 = JSCompiler_object_inline_stack_2725.fallback;
8202 if (JSCompiler_object_inline_message_2723) {
8203 reuseSuspenseHandlerOnStack(workInProgress2);
8204 var mode = workInProgress2.mode;
8205 nextPrimaryChildren = mountWorkInProgressOffscreenFiber(
8206 { mode: "hidden", children: nextPrimaryChildren },
8207 mode
8208 );
8209 JSCompiler_object_inline_stack_2725 = createFiberFromFragment(
8210 JSCompiler_object_inline_stack_2725,
8211 mode,
8212 renderLanes2,
8213 null
8214 );
8215 nextPrimaryChildren.return = workInProgress2;
8216 JSCompiler_object_inline_stack_2725.return = workInProgress2;
8217 nextPrimaryChildren.sibling = JSCompiler_object_inline_stack_2725;
8218 workInProgress2.child = nextPrimaryChildren;
8219 JSCompiler_object_inline_stack_2725 = workInProgress2.child;
8220 JSCompiler_object_inline_stack_2725.memoizedState = mountSuspenseOffscreenState(renderLanes2);
8221 JSCompiler_object_inline_stack_2725.childLanes = getRemainingWorkInPrimaryTree(
8222 current2,
8223 JSCompiler_object_inline_digest_2724,
8224 renderLanes2
8225 );
8226 workInProgress2.memoizedState = SUSPENDED_MARKER;
8227 return bailoutOffscreenComponent(
8228 null,
8229 JSCompiler_object_inline_stack_2725
8230 );
8231 }
8232 pushPrimaryTreeSuspenseHandler(workInProgress2);
8233 return mountSuspensePrimaryChildren(
8234 workInProgress2,
8235 nextPrimaryChildren
8236 );
8237 }
8238 var prevState = current2.memoizedState;
8239 if (null !== prevState) {
8240 var JSCompiler_object_inline_componentStack_2726 = prevState.dehydrated;
8241 if (null !== JSCompiler_object_inline_componentStack_2726) {
8242 if (didSuspend)
8243 workInProgress2.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags &= -257, workInProgress2 = retrySuspenseComponentWithoutHydrating(
8244 current2,
8245 workInProgress2,
8246 renderLanes2
8247 )) : null !== workInProgress2.memoizedState ? (reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null) : (reuseSuspenseHandlerOnStack(workInProgress2), nextPrimaryChildren = JSCompiler_object_inline_stack_2725.fallback, mode = workInProgress2.mode, JSCompiler_object_inline_stack_2725 = mountWorkInProgressOffscreenFiber(
8248 {
8249 mode: "visible",
8250 children: JSCompiler_object_inline_stack_2725.children
8251 },
8252 mode
8253 ), nextPrimaryChildren = createFiberFromFragment(
8254 nextPrimaryChildren,
8255 mode,
8256 renderLanes2,
8257 null
8258 ), nextPrimaryChildren.flags |= 2, JSCompiler_object_inline_stack_2725.return = workInProgress2, nextPrimaryChildren.return = workInProgress2, JSCompiler_object_inline_stack_2725.sibling = nextPrimaryChildren, workInProgress2.child = JSCompiler_object_inline_stack_2725, reconcileChildFibers(
8259 workInProgress2,
8260 current2.child,
8261 null,
8262 renderLanes2
8263 ), JSCompiler_object_inline_stack_2725 = workInProgress2.child, JSCompiler_object_inline_stack_2725.memoizedState = mountSuspenseOffscreenState(renderLanes2), JSCompiler_object_inline_stack_2725.childLanes = getRemainingWorkInPrimaryTree(
8264 current2,
8265 JSCompiler_object_inline_digest_2724,
8266 renderLanes2
8267 ), workInProgress2.memoizedState = SUSPENDED_MARKER, workInProgress2 = bailoutOffscreenComponent(
8268 null,
8269 JSCompiler_object_inline_stack_2725
8270 ));
8271 else if (pushPrimaryTreeSuspenseHandler(workInProgress2), warnIfHydrating(), 0 !== (renderLanes2 & 536870912) && markRenderDerivedCause(workInProgress2), isSuspenseInstanceFallback(
8272 JSCompiler_object_inline_componentStack_2726
8273 )) {
8274 JSCompiler_object_inline_digest_2724 = JSCompiler_object_inline_componentStack_2726.nextSibling && JSCompiler_object_inline_componentStack_2726.nextSibling.dataset;
8275 if (JSCompiler_object_inline_digest_2724) {
8276 nextPrimaryChildren = JSCompiler_object_inline_digest_2724.dgst;
8277 var message = JSCompiler_object_inline_digest_2724.msg;
8278 mode = JSCompiler_object_inline_digest_2724.stck;
8279 var componentStack = JSCompiler_object_inline_digest_2724.cstck;
8280 }
8281 JSCompiler_object_inline_message_2723 = message;
8282 JSCompiler_object_inline_digest_2724 = nextPrimaryChildren;
8283 JSCompiler_object_inline_stack_2725 = mode;
8284 JSCompiler_object_inline_componentStack_2726 = componentStack;
8285 nextPrimaryChildren = JSCompiler_object_inline_message_2723;
8286 mode = JSCompiler_object_inline_componentStack_2726;
8287 nextPrimaryChildren = nextPrimaryChildren ? Error(nextPrimaryChildren) : Error(
8288 "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering."
8289 );
8290 nextPrimaryChildren.stack = JSCompiler_object_inline_stack_2725 || "";
8291 nextPrimaryChildren.digest = JSCompiler_object_inline_digest_2724;
8292 JSCompiler_object_inline_digest_2724 = void 0 === mode ? null : mode;
8293 JSCompiler_object_inline_stack_2725 = {
8294 value: nextPrimaryChildren,
8295 source: null,
8296 stack: JSCompiler_object_inline_digest_2724
8297 };
8298 "string" === typeof JSCompiler_object_inline_digest_2724 && CapturedStacks.set(
8299 nextPrimaryChildren,
8300 JSCompiler_object_inline_stack_2725
8301 );
8302 queueHydrationError(JSCompiler_object_inline_stack_2725);
8303 workInProgress2 = retrySuspenseComponentWithoutHydrating(
8304 current2,
8305 workInProgress2,
8306 renderLanes2
8307 );
8308 } else if (didReceiveUpdate || propagateParentContextChanges(
8309 current2,
8310 workInProgress2,
8311 renderLanes2,
8312 false
8313 ), JSCompiler_object_inline_digest_2724 = 0 !== (renderLanes2 & current2.childLanes), didReceiveUpdate || JSCompiler_object_inline_digest_2724) {
8314 JSCompiler_object_inline_digest_2724 = workInProgressRoot;
8315 if (null !== JSCompiler_object_inline_digest_2724 && (JSCompiler_object_inline_stack_2725 = getBumpedLaneForHydration(
8316 JSCompiler_object_inline_digest_2724,
8317 renderLanes2
8318 ), 0 !== JSCompiler_object_inline_stack_2725 && JSCompiler_object_inline_stack_2725 !== prevState.retryLane))
8319 throw prevState.retryLane = JSCompiler_object_inline_stack_2725, enqueueConcurrentRenderForLane(
8320 current2,
8321 JSCompiler_object_inline_stack_2725
8322 ), scheduleUpdateOnFiber(
8323 JSCompiler_object_inline_digest_2724,
8324 current2,
8325 JSCompiler_object_inline_stack_2725
8326 ), SelectiveHydrationException;
8327 isSuspenseInstancePending(
8328 JSCompiler_object_inline_componentStack_2726
8329 ) || renderDidSuspendDelayIfPossible();
8330 workInProgress2 = retrySuspenseComponentWithoutHydrating(
8331 current2,
8332 workInProgress2,
8333 renderLanes2
8334 );
8335 } else
8336 isSuspenseInstancePending(
8337 JSCompiler_object_inline_componentStack_2726
8338 ) ? (workInProgress2.flags |= 192, workInProgress2.child = current2.child, workInProgress2 = null) : (current2 = prevState.treeContext, nextHydratableInstance = getNextHydratable(
8339 JSCompiler_object_inline_componentStack_2726.nextSibling
8340 ), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, null !== current2 && restoreSuspendedTreeContext(workInProgress2, current2), workInProgress2 = mountSuspensePrimaryChildren(
8341 workInProgress2,
8342 JSCompiler_object_inline_stack_2725.children
8343 ), workInProgress2.flags |= 4096);
8344 return workInProgress2;
8345 }
8346 }
8347 if (JSCompiler_object_inline_message_2723)
8348 return reuseSuspenseHandlerOnStack(workInProgress2), nextPrimaryChildren = JSCompiler_object_inline_stack_2725.fallback, mode = workInProgress2.mode, componentStack = current2.child, JSCompiler_object_inline_componentStack_2726 = componentStack.sibling, JSCompiler_object_inline_stack_2725 = createWorkInProgress(
8349 componentStack,
8350 {
8351 mode: "hidden",
8352 children: JSCompiler_object_inline_stack_2725.children
8353 }
8354 ), JSCompiler_object_inline_stack_2725.subtreeFlags = componentStack.subtreeFlags & 65011712, null !== JSCompiler_object_inline_componentStack_2726 ? nextPrimaryChildren = createWorkInProgress(
8355 JSCompiler_object_inline_componentStack_2726,
8356 nextPrimaryChildren
8357 ) : (nextPrimaryChildren = createFiberFromFragment(
8358 nextPrimaryChildren,
8359 mode,
8360 renderLanes2,
8361 null
8362 ), nextPrimaryChildren.flags |= 2), nextPrimaryChildren.return = workInProgress2, JSCompiler_object_inline_stack_2725.return = workInProgress2, JSCompiler_object_inline_stack_2725.sibling = nextPrimaryChildren, workInProgress2.child = JSCompiler_object_inline_stack_2725, bailoutOffscreenComponent(null, JSCompiler_object_inline_stack_2725), JSCompiler_object_inline_stack_2725 = workInProgress2.child, nextPrimaryChildren = current2.child.memoizedState, null === nextPrimaryChildren ? nextPrimaryChildren = mountSuspenseOffscreenState(renderLanes2) : (mode = nextPrimaryChildren.cachePool, null !== mode ? (componentStack = CacheContext._currentValue, mode = mode.parent !== componentStack ? { parent: componentStack, pool: componentStack } : mode) : mode = getSuspendedCache(), nextPrimaryChildren = {
8363 baseLanes: nextPrimaryChildren.baseLanes | renderLanes2,
8364 cachePool: mode
8365 }), JSCompiler_object_inline_stack_2725.memoizedState = nextPrimaryChildren, JSCompiler_object_inline_stack_2725.childLanes = getRemainingWorkInPrimaryTree(
8366 current2,
8367 JSCompiler_object_inline_digest_2724,
8368 renderLanes2
8369 ), workInProgress2.memoizedState = SUSPENDED_MARKER, bailoutOffscreenComponent(
8370 current2.child,
8371 JSCompiler_object_inline_stack_2725
8372 );
8373 null !== prevState && (renderLanes2 & 62914560) === renderLanes2 && 0 !== (renderLanes2 & current2.lanes) && markRenderDerivedCause(workInProgress2);
8374 pushPrimaryTreeSuspenseHandler(workInProgress2);
8375 renderLanes2 = current2.child;
8376 current2 = renderLanes2.sibling;
8377 renderLanes2 = createWorkInProgress(renderLanes2, {
8378 mode: "visible",
8379 children: JSCompiler_object_inline_stack_2725.children
8380 });
8381 renderLanes2.return = workInProgress2;
8382 renderLanes2.sibling = null;
8383 null !== current2 && (JSCompiler_object_inline_digest_2724 = workInProgress2.deletions, null === JSCompiler_object_inline_digest_2724 ? (workInProgress2.deletions = [current2], workInProgress2.flags |= 16) : JSCompiler_object_inline_digest_2724.push(current2));
8384 workInProgress2.child = renderLanes2;
8385 workInProgress2.memoizedState = null;
8386 return renderLanes2;
8387 }
8388 function mountSuspensePrimaryChildren(workInProgress2, primaryChildren) {
8389 primaryChildren = mountWorkInProgressOffscreenFiber(
8390 { mode: "visible", children: primaryChildren },
8391 workInProgress2.mode
8392 );
8393 primaryChildren.return = workInProgress2;
8394 return workInProgress2.child = primaryChildren;
8395 }
8396 function mountWorkInProgressOffscreenFiber(offscreenProps, mode) {
8397 offscreenProps = createFiber(22, offscreenProps, null, mode);
8398 offscreenProps.lanes = 0;
8399 return offscreenProps;
8400 }
8401 function retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2) {
8402 reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
8403 current2 = mountSuspensePrimaryChildren(
8404 workInProgress2,
8405 workInProgress2.pendingProps.children
8406 );
8407 current2.flags |= 2;
8408 workInProgress2.memoizedState = null;
8409 return current2;
8410 }
8411 function scheduleSuspenseWorkOnFiber(fiber, renderLanes2, propagationRoot) {
8412 fiber.lanes |= renderLanes2;
8413 var alternate = fiber.alternate;
8414 null !== alternate && (alternate.lanes |= renderLanes2);
8415 scheduleContextWorkOnParentPath(
8416 fiber.return,
8417 renderLanes2,
8418 propagationRoot
8419 );
8420 }
8421 function initSuspenseListRenderState(workInProgress2, isBackwards, tail, lastContentRow, tailMode, treeForkCount2) {
8422 var renderState = workInProgress2.memoizedState;
8423 null === renderState ? workInProgress2.memoizedState = {
8424 isBackwards,
8425 rendering: null,
8426 renderingStartTime: 0,
8427 last: lastContentRow,
8428 tail,
8429 tailMode,
8430 treeForkCount: treeForkCount2
8431 } : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode, renderState.treeForkCount = treeForkCount2);
8432 }
8433 function updateSuspenseListComponent(current2, workInProgress2, renderLanes2) {
8434 var nextProps = workInProgress2.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail, newChildren = nextProps.children, suspenseContext = suspenseStackCursor.current;
8435 (nextProps = 0 !== (suspenseContext & ForceSuspenseFallback)) ? (suspenseContext = suspenseContext & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2.flags |= 128) : suspenseContext &= SubtreeSuspenseContextMask;
8436 push(suspenseStackCursor, suspenseContext, workInProgress2);
8437 suspenseContext = null == revealOrder ? "null" : revealOrder;
8438 if ("forwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder && "together" !== revealOrder && "independent" !== revealOrder && !didWarnAboutRevealOrder[suspenseContext])
8439 if (didWarnAboutRevealOrder[suspenseContext] = true, null == revealOrder)
8440 console.error(
8441 'The default for the <SuspenseList revealOrder="..."> prop is changing. To be future compatible you must explictly specify either "independent" (the current default), "together", "forwards" or "legacy_unstable-backwards".'
8442 );
8443 else if ("backwards" === revealOrder)
8444 console.error(
8445 'The rendering order of <SuspenseList revealOrder="backwards"> is changing. To be future compatible you must specify revealOrder="legacy_unstable-backwards" instead.'
8446 );
8447 else if ("string" === typeof revealOrder)
8448 switch (revealOrder.toLowerCase()) {
8449 case "together":
8450 case "forwards":
8451 case "backwards":
8452 case "independent":
8453 console.error(
8454 '"%s" is not a valid value for revealOrder on <SuspenseList />. Use lowercase "%s" instead.',
8455 revealOrder,
8456 revealOrder.toLowerCase()
8457 );
8458 break;
8459 case "forward":
8460 case "backward":
8461 console.error(
8462 '"%s" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use "%ss" instead.',
8463 revealOrder,
8464 revealOrder.toLowerCase()
8465 );
8466 break;
8467 default:
8468 console.error(
8469 '"%s" is not a supported revealOrder on <SuspenseList />. Did you mean "independent", "together", "forwards" or "backwards"?',
8470 revealOrder
8471 );
8472 }
8473 else
8474 console.error(
8475 '%s is not a supported value for revealOrder on <SuspenseList />. Did you mean "independent", "together", "forwards" or "backwards"?',
8476 revealOrder
8477 );
8478 suspenseContext = null == tailMode ? "null" : tailMode;
8479 if (!didWarnAboutTailOptions[suspenseContext])
8480 if (null == tailMode) {
8481 if ("forwards" === revealOrder || "backwards" === revealOrder || "unstable_legacy-backwards" === revealOrder)
8482 didWarnAboutTailOptions[suspenseContext] = true, console.error(
8483 'The default for the <SuspenseList tail="..."> prop is changing. To be future compatible you must explictly specify either "visible" (the current default), "collapsed" or "hidden".'
8484 );
8485 } else
8486 "visible" !== tailMode && "collapsed" !== tailMode && "hidden" !== tailMode ? (didWarnAboutTailOptions[suspenseContext] = true, console.error(
8487 '"%s" is not a supported value for tail on <SuspenseList />. Did you mean "visible", "collapsed" or "hidden"?',
8488 tailMode
8489 )) : "forwards" !== revealOrder && "backwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder && (didWarnAboutTailOptions[suspenseContext] = true, console.error(
8490 '<SuspenseList tail="%s" /> is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?',
8491 tailMode
8492 ));
8493 a: if (("forwards" === revealOrder || "backwards" === revealOrder || "unstable_legacy-backwards" === revealOrder) && void 0 !== newChildren && null !== newChildren && false !== newChildren)
8494 if (isArrayImpl(newChildren))
8495 for (suspenseContext = 0; suspenseContext < newChildren.length; suspenseContext++) {
8496 if (!validateSuspenseListNestedChild(
8497 newChildren[suspenseContext],
8498 suspenseContext
8499 ))
8500 break a;
8501 }
8502 else if (suspenseContext = getIteratorFn(newChildren), "function" === typeof suspenseContext) {
8503 if (suspenseContext = suspenseContext.call(newChildren))
8504 for (var step = suspenseContext.next(), _i = 0; !step.done; step = suspenseContext.next()) {
8505 if (!validateSuspenseListNestedChild(step.value, _i)) break a;
8506 _i++;
8507 }
8508 } else
8509 console.error(
8510 '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?',
8511 revealOrder
8512 );
8513 reconcileChildren(current2, workInProgress2, newChildren, renderLanes2);
8514 isHydrating ? (warnIfNotHydrating(), newChildren = treeForkCount) : newChildren = 0;
8515 if (!nextProps && null !== current2 && 0 !== (current2.flags & 128))
8516 a: for (current2 = workInProgress2.child; null !== current2; ) {
8517 if (13 === current2.tag)
8518 null !== current2.memoizedState && scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2);
8519 else if (19 === current2.tag)
8520 scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2);
8521 else if (null !== current2.child) {
8522 current2.child.return = current2;
8523 current2 = current2.child;
8524 continue;
8525 }
8526 if (current2 === workInProgress2) break a;
8527 for (; null === current2.sibling; ) {
8528 if (null === current2.return || current2.return === workInProgress2)
8529 break a;
8530 current2 = current2.return;
8531 }
8532 current2.sibling.return = current2.return;
8533 current2 = current2.sibling;
8534 }
8535 switch (revealOrder) {
8536 case "forwards":
8537 renderLanes2 = workInProgress2.child;
8538 for (revealOrder = null; null !== renderLanes2; )
8539 current2 = renderLanes2.alternate, null !== current2 && null === findFirstSuspended(current2) && (revealOrder = renderLanes2), renderLanes2 = renderLanes2.sibling;
8540 renderLanes2 = revealOrder;
8541 null === renderLanes2 ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null);
8542 initSuspenseListRenderState(
8543 workInProgress2,
8544 false,
8545 revealOrder,
8546 renderLanes2,
8547 tailMode,
8548 newChildren
8549 );
8550 break;
8551 case "backwards":
8552 case "unstable_legacy-backwards":
8553 renderLanes2 = null;
8554 revealOrder = workInProgress2.child;
8555 for (workInProgress2.child = null; null !== revealOrder; ) {
8556 current2 = revealOrder.alternate;
8557 if (null !== current2 && null === findFirstSuspended(current2)) {
8558 workInProgress2.child = revealOrder;
8559 break;
8560 }
8561 current2 = revealOrder.sibling;
8562 revealOrder.sibling = renderLanes2;
8563 renderLanes2 = revealOrder;
8564 revealOrder = current2;
8565 }
8566 initSuspenseListRenderState(
8567 workInProgress2,
8568 true,
8569 renderLanes2,
8570 null,
8571 tailMode,
8572 newChildren
8573 );
8574 break;
8575 case "together":
8576 initSuspenseListRenderState(
8577 workInProgress2,
8578 false,
8579 null,
8580 null,
8581 void 0,
8582 newChildren
8583 );
8584 break;
8585 default:
8586 workInProgress2.memoizedState = null;
8587 }
8588 return workInProgress2.child;
8589 }
8590 function bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2) {
8591 null !== current2 && (workInProgress2.dependencies = current2.dependencies);
8592 profilerStartTime = -1;
8593 workInProgressRootSkippedLanes |= workInProgress2.lanes;
8594 if (0 === (renderLanes2 & workInProgress2.childLanes))
8595 if (null !== current2) {
8596 if (propagateParentContextChanges(
8597 current2,
8598 workInProgress2,
8599 renderLanes2,
8600 false
8601 ), 0 === (renderLanes2 & workInProgress2.childLanes))
8602 return null;
8603 } else return null;
8604 if (null !== current2 && workInProgress2.child !== current2.child)
8605 throw Error("Resuming work not yet implemented.");
8606 if (null !== workInProgress2.child) {
8607 current2 = workInProgress2.child;
8608 renderLanes2 = createWorkInProgress(current2, current2.pendingProps);
8609 workInProgress2.child = renderLanes2;
8610 for (renderLanes2.return = workInProgress2; null !== current2.sibling; )
8611 current2 = current2.sibling, renderLanes2 = renderLanes2.sibling = createWorkInProgress(current2, current2.pendingProps), renderLanes2.return = workInProgress2;
8612 renderLanes2.sibling = null;
8613 }
8614 return workInProgress2.child;
8615 }
8616 function checkScheduledUpdateOrContext(current2, renderLanes2) {
8617 if (0 !== (current2.lanes & renderLanes2)) return true;
8618 current2 = current2.dependencies;
8619 return null !== current2 && checkIfContextChanged(current2) ? true : false;
8620 }
8621 function attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2) {
8622 switch (workInProgress2.tag) {
8623 case 3:
8624 pushHostContainer(
8625 workInProgress2,
8626 workInProgress2.stateNode.containerInfo
8627 );
8628 pushProvider(
8629 workInProgress2,
8630 CacheContext,
8631 current2.memoizedState.cache
8632 );
8633 resetHydrationState();
8634 break;
8635 case 27:
8636 case 5:
8637 pushHostContext(workInProgress2);
8638 break;
8639 case 4:
8640 pushHostContainer(
8641 workInProgress2,
8642 workInProgress2.stateNode.containerInfo
8643 );
8644 break;
8645 case 10:
8646 pushProvider(
8647 workInProgress2,
8648 workInProgress2.type,
8649 workInProgress2.memoizedProps.value
8650 );
8651 break;
8652 case 12:
8653 0 !== (renderLanes2 & workInProgress2.childLanes) && (workInProgress2.flags |= 4);
8654 workInProgress2.flags |= 2048;
8655 var stateNode = workInProgress2.stateNode;
8656 stateNode.effectDuration = -0;
8657 stateNode.passiveEffectDuration = -0;
8658 break;
8659 case 31:
8660 if (null !== workInProgress2.memoizedState)
8661 return workInProgress2.flags |= 128, pushDehydratedActivitySuspenseHandler(workInProgress2), null;
8662 break;
8663 case 13:
8664 stateNode = workInProgress2.memoizedState;
8665 if (null !== stateNode) {
8666 if (null !== stateNode.dehydrated)
8667 return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags |= 128, null;
8668 if (0 !== (renderLanes2 & workInProgress2.child.childLanes))
8669 return updateSuspenseComponent(
8670 current2,
8671 workInProgress2,
8672 renderLanes2
8673 );
8674 pushPrimaryTreeSuspenseHandler(workInProgress2);
8675 current2 = bailoutOnAlreadyFinishedWork(
8676 current2,
8677 workInProgress2,
8678 renderLanes2
8679 );
8680 return null !== current2 ? current2.sibling : null;
8681 }
8682 pushPrimaryTreeSuspenseHandler(workInProgress2);
8683 break;
8684 case 19:
8685 var didSuspendBefore = 0 !== (current2.flags & 128);
8686 stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes);
8687 stateNode || (propagateParentContextChanges(
8688 current2,
8689 workInProgress2,
8690 renderLanes2,
8691 false
8692 ), stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes));
8693 if (didSuspendBefore) {
8694 if (stateNode)
8695 return updateSuspenseListComponent(
8696 current2,
8697 workInProgress2,
8698 renderLanes2
8699 );
8700 workInProgress2.flags |= 128;
8701 }
8702 didSuspendBefore = workInProgress2.memoizedState;
8703 null !== didSuspendBefore && (didSuspendBefore.rendering = null, didSuspendBefore.tail = null, didSuspendBefore.lastEffect = null);
8704 push(
8705 suspenseStackCursor,
8706 suspenseStackCursor.current,
8707 workInProgress2
8708 );
8709 if (stateNode) break;
8710 else return null;
8711 case 22:
8712 return workInProgress2.lanes = 0, updateOffscreenComponent(
8713 current2,
8714 workInProgress2,
8715 renderLanes2,
8716 workInProgress2.pendingProps
8717 );
8718 case 24:
8719 pushProvider(
8720 workInProgress2,
8721 CacheContext,
8722 current2.memoizedState.cache
8723 );
8724 }
8725 return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
8726 }
8727 function beginWork(current2, workInProgress2, renderLanes2) {
8728 if (workInProgress2._debugNeedsRemount && null !== current2) {
8729 renderLanes2 = createFiberFromTypeAndProps(
8730 workInProgress2.type,
8731 workInProgress2.key,
8732 workInProgress2.pendingProps,
8733 workInProgress2._debugOwner || null,
8734 workInProgress2.mode,
8735 workInProgress2.lanes
8736 );
8737 renderLanes2._debugStack = workInProgress2._debugStack;
8738 renderLanes2._debugTask = workInProgress2._debugTask;
8739 var returnFiber = workInProgress2.return;
8740 if (null === returnFiber) throw Error("Cannot swap the root fiber.");
8741 current2.alternate = null;
8742 workInProgress2.alternate = null;
8743 renderLanes2.index = workInProgress2.index;
8744 renderLanes2.sibling = workInProgress2.sibling;
8745 renderLanes2.return = workInProgress2.return;
8746 renderLanes2.ref = workInProgress2.ref;
8747 renderLanes2._debugInfo = workInProgress2._debugInfo;
8748 if (workInProgress2 === returnFiber.child)
8749 returnFiber.child = renderLanes2;
8750 else {
8751 var prevSibling = returnFiber.child;
8752 if (null === prevSibling)
8753 throw Error("Expected parent to have a child.");
8754 for (; prevSibling.sibling !== workInProgress2; )
8755 if (prevSibling = prevSibling.sibling, null === prevSibling)
8756 throw Error("Expected to find the previous sibling.");
8757 prevSibling.sibling = renderLanes2;
8758 }
8759 workInProgress2 = returnFiber.deletions;
8760 null === workInProgress2 ? (returnFiber.deletions = [current2], returnFiber.flags |= 16) : workInProgress2.push(current2);
8761 renderLanes2.flags |= 2;
8762 return renderLanes2;
8763 }
8764 if (null !== current2)
8765 if (current2.memoizedProps !== workInProgress2.pendingProps || workInProgress2.type !== current2.type)
8766 didReceiveUpdate = true;
8767 else {
8768 if (!checkScheduledUpdateOrContext(current2, renderLanes2) && 0 === (workInProgress2.flags & 128))
8769 return didReceiveUpdate = false, attemptEarlyBailoutIfNoScheduledUpdate(
8770 current2,
8771 workInProgress2,
8772 renderLanes2
8773 );
8774 didReceiveUpdate = 0 !== (current2.flags & 131072) ? true : false;
8775 }
8776 else {
8777 didReceiveUpdate = false;
8778 if (returnFiber = isHydrating)
8779 warnIfNotHydrating(), returnFiber = 0 !== (workInProgress2.flags & 1048576);
8780 returnFiber && (returnFiber = workInProgress2.index, warnIfNotHydrating(), pushTreeId(workInProgress2, treeForkCount, returnFiber));
8781 }
8782 workInProgress2.lanes = 0;
8783 switch (workInProgress2.tag) {
8784 case 16:
8785 a: if (returnFiber = workInProgress2.pendingProps, current2 = resolveLazy(workInProgress2.elementType), workInProgress2.type = current2, "function" === typeof current2)
8786 shouldConstruct(current2) ? (returnFiber = resolveClassComponentProps(
8787 current2,
8788 returnFiber
8789 ), workInProgress2.tag = 1, workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateClassComponent(
8790 null,
8791 workInProgress2,
8792 current2,
8793 returnFiber,
8794 renderLanes2
8795 )) : (workInProgress2.tag = 0, validateFunctionComponentInDev(workInProgress2, current2), workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateFunctionComponent(
8796 null,
8797 workInProgress2,
8798 current2,
8799 returnFiber,
8800 renderLanes2
8801 ));
8802 else {
8803 if (void 0 !== current2 && null !== current2) {
8804 if (prevSibling = current2.$$typeof, prevSibling === REACT_FORWARD_REF_TYPE) {
8805 workInProgress2.tag = 11;
8806 workInProgress2.type = current2 = resolveForwardRefForHotReloading(current2);
8807 workInProgress2 = updateForwardRef(
8808 null,
8809 workInProgress2,
8810 current2,
8811 returnFiber,
8812 renderLanes2
8813 );
8814 break a;
8815 } else if (prevSibling === REACT_MEMO_TYPE) {
8816 workInProgress2.tag = 14;
8817 workInProgress2 = updateMemoComponent(
8818 null,
8819 workInProgress2,
8820 current2,
8821 returnFiber,
8822 renderLanes2
8823 );
8824 break a;
8825 }
8826 }
8827 workInProgress2 = "";
8828 null !== current2 && "object" === typeof current2 && current2.$$typeof === REACT_LAZY_TYPE && (workInProgress2 = " Did you wrap a component in React.lazy() more than once?");
8829 renderLanes2 = getComponentNameFromType(current2) || current2;
8830 throw Error(
8831 "Element type is invalid. Received a promise that resolves to: " + renderLanes2 + ". Lazy element type must resolve to a class or function." + workInProgress2
8832 );
8833 }
8834 return workInProgress2;
8835 case 0:
8836 return updateFunctionComponent(
8837 current2,
8838 workInProgress2,
8839 workInProgress2.type,
8840 workInProgress2.pendingProps,
8841 renderLanes2
8842 );
8843 case 1:
8844 return returnFiber = workInProgress2.type, prevSibling = resolveClassComponentProps(
8845 returnFiber,
8846 workInProgress2.pendingProps
8847 ), updateClassComponent(
8848 current2,
8849 workInProgress2,
8850 returnFiber,
8851 prevSibling,
8852 renderLanes2
8853 );
8854 case 3:
8855 a: {
8856 pushHostContainer(
8857 workInProgress2,
8858 workInProgress2.stateNode.containerInfo
8859 );
8860 if (null === current2)
8861 throw Error(
8862 "Should have a current fiber. This is a bug in React."
8863 );
8864 returnFiber = workInProgress2.pendingProps;
8865 var prevState = workInProgress2.memoizedState;
8866 prevSibling = prevState.element;
8867 cloneUpdateQueue(current2, workInProgress2);
8868 processUpdateQueue(workInProgress2, returnFiber, null, renderLanes2);
8869 var nextState = workInProgress2.memoizedState;
8870 returnFiber = nextState.cache;
8871 pushProvider(workInProgress2, CacheContext, returnFiber);
8872 returnFiber !== prevState.cache && propagateContextChanges(
8873 workInProgress2,
8874 [CacheContext],
8875 renderLanes2,
8876 true
8877 );
8878 suspendIfUpdateReadFromEntangledAsyncAction();
8879 returnFiber = nextState.element;
8880 if (prevState.isDehydrated)
8881 if (prevState = {
8882 element: returnFiber,
8883 isDehydrated: false,
8884 cache: nextState.cache
8885 }, workInProgress2.updateQueue.baseState = prevState, workInProgress2.memoizedState = prevState, workInProgress2.flags & 256) {
8886 workInProgress2 = mountHostRootWithoutHydrating(
8887 current2,
8888 workInProgress2,
8889 returnFiber,
8890 renderLanes2
8891 );
8892 break a;
8893 } else if (returnFiber !== prevSibling) {
8894 prevSibling = createCapturedValueAtFiber(
8895 Error(
8896 "This root received an early update, before anything was able hydrate. Switched the entire root to client rendering."
8897 ),
8898 workInProgress2
8899 );
8900 queueHydrationError(prevSibling);
8901 workInProgress2 = mountHostRootWithoutHydrating(
8902 current2,
8903 workInProgress2,
8904 returnFiber,
8905 renderLanes2
8906 );
8907 break a;
8908 } else {
8909 current2 = workInProgress2.stateNode.containerInfo;
8910 switch (current2.nodeType) {
8911 case 9:
8912 current2 = current2.body;
8913 break;
8914 default:
8915 current2 = "HTML" === current2.nodeName ? current2.ownerDocument.body : current2;
8916 }
8917 nextHydratableInstance = getNextHydratable(current2.firstChild);
8918 hydrationParentFiber = workInProgress2;
8919 isHydrating = true;
8920 hydrationErrors = null;
8921 didSuspendOrErrorDEV = false;
8922 hydrationDiffRootDEV = null;
8923 rootOrSingletonContext = true;
8924 renderLanes2 = mountChildFibers(
8925 workInProgress2,
8926 null,
8927 returnFiber,
8928 renderLanes2
8929 );
8930 for (workInProgress2.child = renderLanes2; renderLanes2; )
8931 renderLanes2.flags = renderLanes2.flags & -3 | 4096, renderLanes2 = renderLanes2.sibling;
8932 }
8933 else {
8934 resetHydrationState();
8935 if (returnFiber === prevSibling) {
8936 workInProgress2 = bailoutOnAlreadyFinishedWork(
8937 current2,
8938 workInProgress2,
8939 renderLanes2
8940 );
8941 break a;
8942 }
8943 reconcileChildren(
8944 current2,
8945 workInProgress2,
8946 returnFiber,
8947 renderLanes2
8948 );
8949 }
8950 workInProgress2 = workInProgress2.child;
8951 }
8952 return workInProgress2;
8953 case 26:
8954 return markRef(current2, workInProgress2), null === current2 ? (renderLanes2 = getResource(
8955 workInProgress2.type,
8956 null,
8957 workInProgress2.pendingProps,
8958 null
8959 )) ? workInProgress2.memoizedState = renderLanes2 : isHydrating || (renderLanes2 = workInProgress2.type, current2 = workInProgress2.pendingProps, returnFiber = requiredContext(
8960 rootInstanceStackCursor.current
8961 ), returnFiber = getOwnerDocumentFromRootContainer(
8962 returnFiber
8963 ).createElement(renderLanes2), returnFiber[internalInstanceKey] = workInProgress2, returnFiber[internalPropsKey] = current2, setInitialProperties(returnFiber, renderLanes2, current2), markNodeAsHoistable(returnFiber), workInProgress2.stateNode = returnFiber) : workInProgress2.memoizedState = getResource(
8964 workInProgress2.type,
8965 current2.memoizedProps,
8966 workInProgress2.pendingProps,
8967 current2.memoizedState
8968 ), null;
8969 case 27:
8970 return pushHostContext(workInProgress2), null === current2 && isHydrating && (returnFiber = requiredContext(rootInstanceStackCursor.current), prevSibling = getHostContext(), returnFiber = workInProgress2.stateNode = resolveSingletonInstance(
8971 workInProgress2.type,
8972 workInProgress2.pendingProps,
8973 returnFiber,
8974 prevSibling,
8975 false
8976 ), didSuspendOrErrorDEV || (prevSibling = diffHydratedProperties(
8977 returnFiber,
8978 workInProgress2.type,
8979 workInProgress2.pendingProps,
8980 prevSibling
8981 ), null !== prevSibling && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevSibling)), hydrationParentFiber = workInProgress2, rootOrSingletonContext = true, prevSibling = nextHydratableInstance, isSingletonScope(workInProgress2.type) ? (previousHydratableOnEnteringScopedSingleton = prevSibling, nextHydratableInstance = getNextHydratable(
8982 returnFiber.firstChild
8983 )) : nextHydratableInstance = prevSibling), reconcileChildren(
8984 current2,
8985 workInProgress2,
8986 workInProgress2.pendingProps.children,
8987 renderLanes2
8988 ), markRef(current2, workInProgress2), null === current2 && (workInProgress2.flags |= 4194304), workInProgress2.child;
8989 case 5:
8990 return null === current2 && isHydrating && (prevState = getHostContext(), returnFiber = validateDOMNesting(
8991 workInProgress2.type,
8992 prevState.ancestorInfo
8993 ), prevSibling = nextHydratableInstance, (nextState = !prevSibling) || (nextState = canHydrateInstance(
8994 prevSibling,
8995 workInProgress2.type,
8996 workInProgress2.pendingProps,
8997 rootOrSingletonContext
8998 ), null !== nextState ? (workInProgress2.stateNode = nextState, didSuspendOrErrorDEV || (prevState = diffHydratedProperties(
8999 nextState,
9000 workInProgress2.type,
9001 workInProgress2.pendingProps,
9002 prevState
9003 ), null !== prevState && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevState)), hydrationParentFiber = workInProgress2, nextHydratableInstance = getNextHydratable(
9004 nextState.firstChild
9005 ), 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(
9006 current2,
9007 workInProgress2,
9008 TransitionAwareHostComponent,
9009 null,
9010 null,
9011 renderLanes2
9012 ), HostTransitionContext._currentValue = prevSibling), markRef(current2, workInProgress2), reconcileChildren(
9013 current2,
9014 workInProgress2,
9015 returnFiber,
9016 renderLanes2
9017 ), workInProgress2.child;
9018 case 6:
9019 return null === current2 && isHydrating && (renderLanes2 = workInProgress2.pendingProps, current2 = getHostContext(), returnFiber = current2.ancestorInfo.current, renderLanes2 = null != returnFiber ? validateTextNesting(
9020 renderLanes2,
9021 returnFiber.tag,
9022 current2.ancestorInfo.implicitRootScope
9023 ) : true, current2 = nextHydratableInstance, (returnFiber = !current2) || (returnFiber = canHydrateTextInstance(
9024 current2,
9025 workInProgress2.pendingProps,
9026 rootOrSingletonContext
9027 ), null !== returnFiber ? (workInProgress2.stateNode = returnFiber, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, returnFiber = true) : returnFiber = false, returnFiber = !returnFiber), returnFiber && (renderLanes2 && warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2))), null;
9028 case 13:
9029 return updateSuspenseComponent(current2, workInProgress2, renderLanes2);
9030 case 4:
9031 return pushHostContainer(
9032 workInProgress2,
9033 workInProgress2.stateNode.containerInfo
9034 ), returnFiber = workInProgress2.pendingProps, null === current2 ? workInProgress2.child = reconcileChildFibers(
9035 workInProgress2,
9036 null,
9037 returnFiber,
9038 renderLanes2
9039 ) : reconcileChildren(
9040 current2,
9041 workInProgress2,
9042 returnFiber,
9043 renderLanes2
9044 ), workInProgress2.child;
9045 case 11:
9046 return updateForwardRef(
9047 current2,
9048 workInProgress2,
9049 workInProgress2.type,
9050 workInProgress2.pendingProps,
9051 renderLanes2
9052 );
9053 case 7:
9054 return reconcileChildren(
9055 current2,
9056 workInProgress2,
9057 workInProgress2.pendingProps,
9058 renderLanes2
9059 ), workInProgress2.child;
9060 case 8:
9061 return reconcileChildren(
9062 current2,
9063 workInProgress2,
9064 workInProgress2.pendingProps.children,
9065 renderLanes2
9066 ), workInProgress2.child;
9067 case 12:
9068 return workInProgress2.flags |= 4, workInProgress2.flags |= 2048, returnFiber = workInProgress2.stateNode, returnFiber.effectDuration = -0, returnFiber.passiveEffectDuration = -0, reconcileChildren(
9069 current2,
9070 workInProgress2,
9071 workInProgress2.pendingProps.children,
9072 renderLanes2
9073 ), workInProgress2.child;
9074 case 10:
9075 return returnFiber = workInProgress2.type, prevSibling = workInProgress2.pendingProps, prevState = prevSibling.value, "value" in prevSibling || hasWarnedAboutUsingNoValuePropOnContextProvider || (hasWarnedAboutUsingNoValuePropOnContextProvider = true, console.error(
9076 "The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?"
9077 )), pushProvider(workInProgress2, returnFiber, prevState), reconcileChildren(
9078 current2,
9079 workInProgress2,
9080 prevSibling.children,
9081 renderLanes2
9082 ), workInProgress2.child;
9083 case 9:
9084 return prevSibling = workInProgress2.type._context, returnFiber = workInProgress2.pendingProps.children, "function" !== typeof returnFiber && console.error(
9085 "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."
9086 ), prepareToReadContext(workInProgress2), prevSibling = readContext(prevSibling), returnFiber = callComponentInDEV(
9087 returnFiber,
9088 prevSibling,
9089 void 0
9090 ), workInProgress2.flags |= 1, reconcileChildren(
9091 current2,
9092 workInProgress2,
9093 returnFiber,
9094 renderLanes2
9095 ), workInProgress2.child;
9096 case 14:
9097 return updateMemoComponent(
9098 current2,
9099 workInProgress2,
9100 workInProgress2.type,
9101 workInProgress2.pendingProps,
9102 renderLanes2
9103 );
9104 case 15:
9105 return updateSimpleMemoComponent(
9106 current2,
9107 workInProgress2,
9108 workInProgress2.type,
9109 workInProgress2.pendingProps,
9110 renderLanes2
9111 );
9112 case 19:
9113 return updateSuspenseListComponent(
9114 current2,
9115 workInProgress2,
9116 renderLanes2
9117 );
9118 case 31:
9119 return updateActivityComponent(current2, workInProgress2, renderLanes2);
9120 case 22:
9121 return updateOffscreenComponent(
9122 current2,
9123 workInProgress2,
9124 renderLanes2,
9125 workInProgress2.pendingProps
9126 );
9127 case 24:
9128 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 = {
9129 parent: returnFiber,
9130 cache: prevSibling
9131 }, 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 = {
9132 parent: returnFiber,
9133 cache: returnFiber
9134 }, 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(
9135 workInProgress2,
9136 [CacheContext],
9137 renderLanes2,
9138 true
9139 ))), reconcileChildren(
9140 current2,
9141 workInProgress2,
9142 workInProgress2.pendingProps.children,
9143 renderLanes2
9144 ), workInProgress2.child;
9145 case 29:
9146 throw workInProgress2.pendingProps;
9147 }
9148 throw Error(
9149 "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue."
9150 );
9151 }
9152 function markUpdate(workInProgress2) {
9153 workInProgress2.flags |= 4;
9154 }
9155 function preloadInstanceAndSuspendIfNeeded(workInProgress2, type, oldProps, newProps, renderLanes2) {
9156 if (type = (workInProgress2.mode & SuspenseyImagesMode) !== NoMode)
9157 type = false;
9158 if (type) {
9159 if (workInProgress2.flags |= 16777216, (renderLanes2 & 335544128) === renderLanes2)
9160 if (workInProgress2.stateNode.complete) workInProgress2.flags |= 8192;
9161 else if (shouldRemainOnPreviousScreen()) workInProgress2.flags |= 8192;
9162 else
9163 throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException;
9164 } else workInProgress2.flags &= -16777217;
9165 }
9166 function preloadResourceAndSuspendIfNeeded(workInProgress2, resource) {
9167 if ("stylesheet" !== resource.type || (resource.state.loading & Inserted) !== NotLoaded)
9168 workInProgress2.flags &= -16777217;
9169 else if (workInProgress2.flags |= 16777216, !preloadResource(resource))
9170 if (shouldRemainOnPreviousScreen()) workInProgress2.flags |= 8192;
9171 else
9172 throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException;
9173 }
9174 function scheduleRetryEffect(workInProgress2, retryQueue) {
9175 null !== retryQueue && (workInProgress2.flags |= 4);
9176 workInProgress2.flags & 16384 && (retryQueue = 22 !== workInProgress2.tag ? claimNextRetryLane() : 536870912, workInProgress2.lanes |= retryQueue, workInProgressSuspendedRetryLanes |= retryQueue);
9177 }
9178 function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {
9179 if (!isHydrating)
9180 switch (renderState.tailMode) {
9181 case "hidden":
9182 hasRenderedATailFallback = renderState.tail;
9183 for (var lastTailNode = null; null !== hasRenderedATailFallback; )
9184 null !== hasRenderedATailFallback.alternate && (lastTailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling;
9185 null === lastTailNode ? renderState.tail = null : lastTailNode.sibling = null;
9186 break;
9187 case "collapsed":
9188 lastTailNode = renderState.tail;
9189 for (var _lastTailNode = null; null !== lastTailNode; )
9190 null !== lastTailNode.alternate && (_lastTailNode = lastTailNode), lastTailNode = lastTailNode.sibling;
9191 null === _lastTailNode ? hasRenderedATailFallback || null === renderState.tail ? renderState.tail = null : renderState.tail.sibling = null : _lastTailNode.sibling = null;
9192 }
9193 }
9194 function bubbleProperties(completedWork) {
9195 var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child, newChildLanes = 0, subtreeFlags = 0;
9196 if (didBailout)
9197 if ((completedWork.mode & ProfileMode) !== NoMode) {
9198 for (var _treeBaseDuration = completedWork.selfBaseDuration, _child2 = completedWork.child; null !== _child2; )
9199 newChildLanes |= _child2.lanes | _child2.childLanes, subtreeFlags |= _child2.subtreeFlags & 65011712, subtreeFlags |= _child2.flags & 65011712, _treeBaseDuration += _child2.treeBaseDuration, _child2 = _child2.sibling;
9200 completedWork.treeBaseDuration = _treeBaseDuration;
9201 } else
9202 for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; )
9203 newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags & 65011712, subtreeFlags |= _treeBaseDuration.flags & 65011712, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling;
9204 else if ((completedWork.mode & ProfileMode) !== NoMode) {
9205 _treeBaseDuration = completedWork.actualDuration;
9206 _child2 = completedWork.selfBaseDuration;
9207 for (var child = completedWork.child; null !== child; )
9208 newChildLanes |= child.lanes | child.childLanes, subtreeFlags |= child.subtreeFlags, subtreeFlags |= child.flags, _treeBaseDuration += child.actualDuration, _child2 += child.treeBaseDuration, child = child.sibling;
9209 completedWork.actualDuration = _treeBaseDuration;
9210 completedWork.treeBaseDuration = _child2;
9211 } else
9212 for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; )
9213 newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags, subtreeFlags |= _treeBaseDuration.flags, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling;
9214 completedWork.subtreeFlags |= subtreeFlags;
9215 completedWork.childLanes = newChildLanes;
9216 return didBailout;
9217 }
9218 function completeWork(current2, workInProgress2, renderLanes2) {
9219 var newProps = workInProgress2.pendingProps;
9220 popTreeContext(workInProgress2);
9221 switch (workInProgress2.tag) {
9222 case 16:
9223 case 15:
9224 case 0:
9225 case 11:
9226 case 7:
9227 case 8:
9228 case 12:
9229 case 9:
9230 case 14:
9231 return bubbleProperties(workInProgress2), null;
9232 case 1:
9233 return bubbleProperties(workInProgress2), null;
9234 case 3:
9235 renderLanes2 = workInProgress2.stateNode;
9236 newProps = null;
9237 null !== current2 && (newProps = current2.memoizedState.cache);
9238 workInProgress2.memoizedState.cache !== newProps && (workInProgress2.flags |= 2048);
9239 popProvider(CacheContext, workInProgress2);
9240 popHostContainer(workInProgress2);
9241 renderLanes2.pendingContext && (renderLanes2.context = renderLanes2.pendingContext, renderLanes2.pendingContext = null);
9242 if (null === current2 || null === current2.child)
9243 popHydrationState(workInProgress2) ? (emitPendingHydrationWarnings(), markUpdate(workInProgress2)) : null === current2 || current2.memoizedState.isDehydrated && 0 === (workInProgress2.flags & 256) || (workInProgress2.flags |= 1024, upgradeHydrationErrorsToRecoverable());
9244 bubbleProperties(workInProgress2);
9245 return null;
9246 case 26:
9247 var type = workInProgress2.type, nextResource = workInProgress2.memoizedState;
9248 null === current2 ? (markUpdate(workInProgress2), null !== nextResource ? (bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded(
9249 workInProgress2,
9250 nextResource
9251 )) : (bubbleProperties(workInProgress2), preloadInstanceAndSuspendIfNeeded(
9252 workInProgress2,
9253 type,
9254 null,
9255 newProps,
9256 renderLanes2
9257 ))) : nextResource ? nextResource !== current2.memoizedState ? (markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded(
9258 workInProgress2,
9259 nextResource
9260 )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217) : (current2 = current2.memoizedProps, current2 !== newProps && markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadInstanceAndSuspendIfNeeded(
9261 workInProgress2,
9262 type,
9263 current2,
9264 newProps,
9265 renderLanes2
9266 ));
9267 return null;
9268 case 27:
9269 popHostContext(workInProgress2);
9270 renderLanes2 = requiredContext(rootInstanceStackCursor.current);
9271 type = workInProgress2.type;
9272 if (null !== current2 && null != workInProgress2.stateNode)
9273 current2.memoizedProps !== newProps && markUpdate(workInProgress2);
9274 else {
9275 if (!newProps) {
9276 if (null === workInProgress2.stateNode)
9277 throw Error(
9278 "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
9279 );
9280 bubbleProperties(workInProgress2);
9281 return null;
9282 }
9283 current2 = getHostContext();
9284 popHydrationState(workInProgress2) ? prepareToHydrateHostInstance(workInProgress2, current2) : (current2 = resolveSingletonInstance(
9285 type,
9286 newProps,
9287 renderLanes2,
9288 current2,
9289 true
9290 ), workInProgress2.stateNode = current2, markUpdate(workInProgress2));
9291 }
9292 bubbleProperties(workInProgress2);
9293 return null;
9294 case 5:
9295 popHostContext(workInProgress2);
9296 type = workInProgress2.type;
9297 if (null !== current2 && null != workInProgress2.stateNode)
9298 current2.memoizedProps !== newProps && markUpdate(workInProgress2);
9299 else {
9300 if (!newProps) {
9301 if (null === workInProgress2.stateNode)
9302 throw Error(
9303 "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
9304 );
9305 bubbleProperties(workInProgress2);
9306 return null;
9307 }
9308 var _currentHostContext = getHostContext();
9309 if (popHydrationState(workInProgress2))
9310 prepareToHydrateHostInstance(workInProgress2, _currentHostContext);
9311 else {
9312 nextResource = requiredContext(rootInstanceStackCursor.current);
9313 validateDOMNesting(type, _currentHostContext.ancestorInfo);
9314 _currentHostContext = _currentHostContext.context;
9315 nextResource = getOwnerDocumentFromRootContainer(nextResource);
9316 switch (_currentHostContext) {
9317 case HostContextNamespaceSvg:
9318 nextResource = nextResource.createElementNS(
9319 SVG_NAMESPACE,
9320 type
9321 );
9322 break;
9323 case HostContextNamespaceMath:
9324 nextResource = nextResource.createElementNS(
9325 MATH_NAMESPACE,
9326 type
9327 );
9328 break;
9329 default:
9330 switch (type) {
9331 case "svg":
9332 nextResource = nextResource.createElementNS(
9333 SVG_NAMESPACE,
9334 type
9335 );
9336 break;
9337 case "math":
9338 nextResource = nextResource.createElementNS(
9339 MATH_NAMESPACE,
9340 type
9341 );
9342 break;
9343 case "script":
9344 nextResource = nextResource.createElement("div");
9345 nextResource.innerHTML = "<script><\/script>";
9346 nextResource = nextResource.removeChild(
9347 nextResource.firstChild
9348 );
9349 break;
9350 case "select":
9351 nextResource = "string" === typeof newProps.is ? nextResource.createElement("select", {
9352 is: newProps.is
9353 }) : nextResource.createElement("select");
9354 newProps.multiple ? nextResource.multiple = true : newProps.size && (nextResource.size = newProps.size);
9355 break;
9356 default:
9357 nextResource = "string" === typeof newProps.is ? nextResource.createElement(type, {
9358 is: newProps.is
9359 }) : nextResource.createElement(type), -1 === type.indexOf("-") && (type !== type.toLowerCase() && console.error(
9360 "<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.",
9361 type
9362 ), "[object HTMLUnknownElement]" !== Object.prototype.toString.call(nextResource) || hasOwnProperty.call(warnedUnknownTags, type) || (warnedUnknownTags[type] = true, console.error(
9363 "The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.",
9364 type
9365 )));
9366 }
9367 }
9368 nextResource[internalInstanceKey] = workInProgress2;
9369 nextResource[internalPropsKey] = newProps;
9370 a: for (_currentHostContext = workInProgress2.child; null !== _currentHostContext; ) {
9371 if (5 === _currentHostContext.tag || 6 === _currentHostContext.tag)
9372 nextResource.appendChild(_currentHostContext.stateNode);
9373 else if (4 !== _currentHostContext.tag && 27 !== _currentHostContext.tag && null !== _currentHostContext.child) {
9374 _currentHostContext.child.return = _currentHostContext;
9375 _currentHostContext = _currentHostContext.child;
9376 continue;
9377 }
9378 if (_currentHostContext === workInProgress2) break a;
9379 for (; null === _currentHostContext.sibling; ) {
9380 if (null === _currentHostContext.return || _currentHostContext.return === workInProgress2)
9381 break a;
9382 _currentHostContext = _currentHostContext.return;
9383 }
9384 _currentHostContext.sibling.return = _currentHostContext.return;
9385 _currentHostContext = _currentHostContext.sibling;
9386 }
9387 workInProgress2.stateNode = nextResource;
9388 a: switch (setInitialProperties(nextResource, type, newProps), type) {
9389 case "button":
9390 case "input":
9391 case "select":
9392 case "textarea":
9393 newProps = !!newProps.autoFocus;
9394 break a;
9395 case "img":
9396 newProps = true;
9397 break a;
9398 default:
9399 newProps = false;
9400 }
9401 newProps && markUpdate(workInProgress2);
9402 }
9403 }
9404 bubbleProperties(workInProgress2);
9405 preloadInstanceAndSuspendIfNeeded(
9406 workInProgress2,
9407 workInProgress2.type,
9408 null === current2 ? null : current2.memoizedProps,
9409 workInProgress2.pendingProps,
9410 renderLanes2
9411 );
9412 return null;
9413 case 6:
9414 if (current2 && null != workInProgress2.stateNode)
9415 current2.memoizedProps !== newProps && markUpdate(workInProgress2);
9416 else {
9417 if ("string" !== typeof newProps && null === workInProgress2.stateNode)
9418 throw Error(
9419 "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
9420 );
9421 current2 = requiredContext(rootInstanceStackCursor.current);
9422 renderLanes2 = getHostContext();
9423 if (popHydrationState(workInProgress2)) {
9424 current2 = workInProgress2.stateNode;
9425 renderLanes2 = workInProgress2.memoizedProps;
9426 type = !didSuspendOrErrorDEV;
9427 newProps = null;
9428 nextResource = hydrationParentFiber;
9429 if (null !== nextResource)
9430 switch (nextResource.tag) {
9431 case 3:
9432 type && (type = diffHydratedTextForDevWarnings(
9433 current2,
9434 renderLanes2,
9435 newProps
9436 ), null !== type && (buildHydrationDiffNode(workInProgress2, 0).serverProps = type));
9437 break;
9438 case 27:
9439 case 5:
9440 newProps = nextResource.memoizedProps, type && (type = diffHydratedTextForDevWarnings(
9441 current2,
9442 renderLanes2,
9443 newProps
9444 ), null !== type && (buildHydrationDiffNode(
9445 workInProgress2,
9446 0
9447 ).serverProps = type));
9448 }
9449 current2[internalInstanceKey] = workInProgress2;
9450 current2 = current2.nodeValue === renderLanes2 || null !== newProps && true === newProps.suppressHydrationWarning || checkForUnmatchedText(current2.nodeValue, renderLanes2) ? true : false;
9451 current2 || throwOnHydrationMismatch(workInProgress2, true);
9452 } else
9453 type = renderLanes2.ancestorInfo.current, null != type && validateTextNesting(
9454 newProps,
9455 type.tag,
9456 renderLanes2.ancestorInfo.implicitRootScope
9457 ), current2 = getOwnerDocumentFromRootContainer(current2).createTextNode(
9458 newProps
9459 ), current2[internalInstanceKey] = workInProgress2, workInProgress2.stateNode = current2;
9460 }
9461 bubbleProperties(workInProgress2);
9462 return null;
9463 case 31:
9464 renderLanes2 = workInProgress2.memoizedState;
9465 if (null === current2 || null !== current2.memoizedState) {
9466 newProps = popHydrationState(workInProgress2);
9467 if (null !== renderLanes2) {
9468 if (null === current2) {
9469 if (!newProps)
9470 throw Error(
9471 "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React."
9472 );
9473 current2 = workInProgress2.memoizedState;
9474 current2 = null !== current2 ? current2.dehydrated : null;
9475 if (!current2)
9476 throw Error(
9477 "Expected to have a hydrated activity instance. This error is likely caused by a bug in React. Please file an issue."
9478 );
9479 current2[internalInstanceKey] = workInProgress2;
9480 bubbleProperties(workInProgress2);
9481 (workInProgress2.mode & ProfileMode) !== NoMode && null !== renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
9482 } else
9483 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));
9484 current2 = false;
9485 } else
9486 renderLanes2 = upgradeHydrationErrorsToRecoverable(), null !== current2 && null !== current2.memoizedState && (current2.memoizedState.hydrationErrors = renderLanes2), current2 = true;
9487 if (!current2) {
9488 if (workInProgress2.flags & 256)
9489 return popSuspenseHandler(workInProgress2), workInProgress2;
9490 popSuspenseHandler(workInProgress2);
9491 return null;
9492 }
9493 if (0 !== (workInProgress2.flags & 128))
9494 throw Error(
9495 "Client rendering an Activity suspended it again. This is a bug in React."
9496 );
9497 }
9498 bubbleProperties(workInProgress2);
9499 return null;
9500 case 13:
9501 newProps = workInProgress2.memoizedState;
9502 if (null === current2 || null !== current2.memoizedState && null !== current2.memoizedState.dehydrated) {
9503 type = newProps;
9504 nextResource = popHydrationState(workInProgress2);
9505 if (null !== type && null !== type.dehydrated) {
9506 if (null === current2) {
9507 if (!nextResource)
9508 throw Error(
9509 "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React."
9510 );
9511 nextResource = workInProgress2.memoizedState;
9512 nextResource = null !== nextResource ? nextResource.dehydrated : null;
9513 if (!nextResource)
9514 throw Error(
9515 "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
9516 );
9517 nextResource[internalInstanceKey] = workInProgress2;
9518 bubbleProperties(workInProgress2);
9519 (workInProgress2.mode & ProfileMode) !== NoMode && null !== type && (type = workInProgress2.child, null !== type && (workInProgress2.treeBaseDuration -= type.treeBaseDuration));
9520 } else
9521 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));
9522 type = false;
9523 } else
9524 type = upgradeHydrationErrorsToRecoverable(), null !== current2 && null !== current2.memoizedState && (current2.memoizedState.hydrationErrors = type), type = true;
9525 if (!type) {
9526 if (workInProgress2.flags & 256)
9527 return popSuspenseHandler(workInProgress2), workInProgress2;
9528 popSuspenseHandler(workInProgress2);
9529 return null;
9530 }
9531 }
9532 popSuspenseHandler(workInProgress2);
9533 if (0 !== (workInProgress2.flags & 128))
9534 return workInProgress2.lanes = renderLanes2, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2;
9535 renderLanes2 = null !== newProps;
9536 current2 = null !== current2 && null !== current2.memoizedState;
9537 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));
9538 renderLanes2 !== current2 && renderLanes2 && (workInProgress2.child.flags |= 8192);
9539 scheduleRetryEffect(workInProgress2, workInProgress2.updateQueue);
9540 bubbleProperties(workInProgress2);
9541 (workInProgress2.mode & ProfileMode) !== NoMode && renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
9542 return null;
9543 case 4:
9544 return popHostContainer(workInProgress2), null === current2 && listenToAllSupportedEvents(
9545 workInProgress2.stateNode.containerInfo
9546 ), bubbleProperties(workInProgress2), null;
9547 case 10:
9548 return popProvider(workInProgress2.type, workInProgress2), bubbleProperties(workInProgress2), null;
9549 case 19:
9550 pop(suspenseStackCursor, workInProgress2);
9551 newProps = workInProgress2.memoizedState;
9552 if (null === newProps) return bubbleProperties(workInProgress2), null;
9553 type = 0 !== (workInProgress2.flags & 128);
9554 nextResource = newProps.rendering;
9555 if (null === nextResource)
9556 if (type) cutOffTailIfNeeded(newProps, false);
9557 else {
9558 if (workInProgressRootExitStatus !== RootInProgress || null !== current2 && 0 !== (current2.flags & 128))
9559 for (current2 = workInProgress2.child; null !== current2; ) {
9560 nextResource = findFirstSuspended(current2);
9561 if (null !== nextResource) {
9562 workInProgress2.flags |= 128;
9563 cutOffTailIfNeeded(newProps, false);
9564 current2 = nextResource.updateQueue;
9565 workInProgress2.updateQueue = current2;
9566 scheduleRetryEffect(workInProgress2, current2);
9567 workInProgress2.subtreeFlags = 0;
9568 current2 = renderLanes2;
9569 for (renderLanes2 = workInProgress2.child; null !== renderLanes2; )
9570 resetWorkInProgress(renderLanes2, current2), renderLanes2 = renderLanes2.sibling;
9571 push(
9572 suspenseStackCursor,
9573 suspenseStackCursor.current & SubtreeSuspenseContextMask | ForceSuspenseFallback,
9574 workInProgress2
9575 );
9576 isHydrating && pushTreeFork(workInProgress2, newProps.treeForkCount);
9577 return workInProgress2.child;
9578 }
9579 current2 = current2.sibling;
9580 }
9581 null !== newProps.tail && now$1() > workInProgressRootRenderTargetTime && (workInProgress2.flags |= 128, type = true, cutOffTailIfNeeded(newProps, false), workInProgress2.lanes = 4194304);
9582 }
9583 else {
9584 if (!type)
9585 if (current2 = findFirstSuspended(nextResource), null !== current2) {
9586 if (workInProgress2.flags |= 128, type = true, current2 = current2.updateQueue, workInProgress2.updateQueue = current2, scheduleRetryEffect(workInProgress2, current2), cutOffTailIfNeeded(newProps, true), null === newProps.tail && "hidden" === newProps.tailMode && !nextResource.alternate && !isHydrating)
9587 return bubbleProperties(workInProgress2), null;
9588 } else
9589 2 * now$1() - newProps.renderingStartTime > workInProgressRootRenderTargetTime && 536870912 !== renderLanes2 && (workInProgress2.flags |= 128, type = true, cutOffTailIfNeeded(newProps, false), workInProgress2.lanes = 4194304);
9590 newProps.isBackwards ? (nextResource.sibling = workInProgress2.child, workInProgress2.child = nextResource) : (current2 = newProps.last, null !== current2 ? current2.sibling = nextResource : workInProgress2.child = nextResource, newProps.last = nextResource);
9591 }
9592 if (null !== newProps.tail)
9593 return current2 = newProps.tail, newProps.rendering = current2, newProps.tail = current2.sibling, newProps.renderingStartTime = now$1(), current2.sibling = null, renderLanes2 = suspenseStackCursor.current, renderLanes2 = type ? renderLanes2 & SubtreeSuspenseContextMask | ForceSuspenseFallback : renderLanes2 & SubtreeSuspenseContextMask, push(suspenseStackCursor, renderLanes2, workInProgress2), isHydrating && pushTreeFork(workInProgress2, newProps.treeForkCount), current2;
9594 bubbleProperties(workInProgress2);
9595 return null;
9596 case 22:
9597 case 23:
9598 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;
9599 case 24:
9600 return renderLanes2 = null, null !== current2 && (renderLanes2 = current2.memoizedState.cache), workInProgress2.memoizedState.cache !== renderLanes2 && (workInProgress2.flags |= 2048), popProvider(CacheContext, workInProgress2), bubbleProperties(workInProgress2), null;
9601 case 25:
9602 return null;
9603 case 30:
9604 return null;
9605 }
9606 throw Error(
9607 "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue."
9608 );
9609 }
9610 function unwindWork(current2, workInProgress2) {
9611 popTreeContext(workInProgress2);
9612 switch (workInProgress2.tag) {
9613 case 1:
9614 return current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
9615 case 3:
9616 return popProvider(CacheContext, workInProgress2), popHostContainer(workInProgress2), current2 = workInProgress2.flags, 0 !== (current2 & 65536) && 0 === (current2 & 128) ? (workInProgress2.flags = current2 & -65537 | 128, workInProgress2) : null;
9617 case 26:
9618 case 27:
9619 case 5:
9620 return popHostContext(workInProgress2), null;
9621 case 31:
9622 if (null !== workInProgress2.memoizedState) {
9623 popSuspenseHandler(workInProgress2);
9624 if (null === workInProgress2.alternate)
9625 throw Error(
9626 "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue."
9627 );
9628 resetHydrationState();
9629 }
9630 current2 = workInProgress2.flags;
9631 return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
9632 case 13:
9633 popSuspenseHandler(workInProgress2);
9634 current2 = workInProgress2.memoizedState;
9635 if (null !== current2 && null !== current2.dehydrated) {
9636 if (null === workInProgress2.alternate)
9637 throw Error(
9638 "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue."
9639 );
9640 resetHydrationState();
9641 }
9642 current2 = workInProgress2.flags;
9643 return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
9644 case 19:
9645 return pop(suspenseStackCursor, workInProgress2), null;
9646 case 4:
9647 return popHostContainer(workInProgress2), null;
9648 case 10:
9649 return popProvider(workInProgress2.type, workInProgress2), null;
9650 case 22:
9651 case 23:
9652 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;
9653 case 24:
9654 return popProvider(CacheContext, workInProgress2), null;
9655 case 25:
9656 return null;
9657 default:
9658 return null;
9659 }
9660 }
9661 function unwindInterruptedWork(current2, interruptedWork) {
9662 popTreeContext(interruptedWork);
9663 switch (interruptedWork.tag) {
9664 case 3:
9665 popProvider(CacheContext, interruptedWork);
9666 popHostContainer(interruptedWork);
9667 break;
9668 case 26:
9669 case 27:
9670 case 5:
9671 popHostContext(interruptedWork);
9672 break;
9673 case 4:
9674 popHostContainer(interruptedWork);
9675 break;
9676 case 31:
9677 null !== interruptedWork.memoizedState && popSuspenseHandler(interruptedWork);
9678 break;
9679 case 13:
9680 popSuspenseHandler(interruptedWork);
9681 break;
9682 case 19:
9683 pop(suspenseStackCursor, interruptedWork);
9684 break;
9685 case 10:
9686 popProvider(interruptedWork.type, interruptedWork);
9687 break;
9688 case 22:
9689 case 23:
9690 popSuspenseHandler(interruptedWork);
9691 popHiddenContext(interruptedWork);
9692 null !== current2 && pop(resumedCache, interruptedWork);
9693 break;
9694 case 24:
9695 popProvider(CacheContext, interruptedWork);
9696 }
9697 }
9698 function shouldProfile(current2) {
9699 return (current2.mode & ProfileMode) !== NoMode;
9700 }
9701 function commitHookLayoutEffects(finishedWork, hookFlags) {
9702 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
9703 }
9704 function commitHookLayoutUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
9705 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(
9706 hookFlags,
9707 finishedWork,
9708 nearestMountedAncestor
9709 ), recordEffectDuration()) : commitHookEffectListUnmount(
9710 hookFlags,
9711 finishedWork,
9712 nearestMountedAncestor
9713 );
9714 }
9715 function commitHookEffectListMount(flags, finishedWork) {
9716 try {
9717 var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;
9718 if (null !== lastEffect) {
9719 var firstEffect = lastEffect.next;
9720 updateQueue = firstEffect;
9721 do {
9722 if ((updateQueue.tag & flags) === flags && (lastEffect = void 0, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = runWithFiberInDEV(
9723 finishedWork,
9724 callCreateInDEV,
9725 updateQueue
9726 ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), void 0 !== lastEffect && "function" !== typeof lastEffect)) {
9727 var hookName = void 0;
9728 hookName = 0 !== (updateQueue.tag & Layout) ? "useLayoutEffect" : 0 !== (updateQueue.tag & Insertion) ? "useInsertionEffect" : "useEffect";
9729 var addendum = void 0;
9730 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;
9731 runWithFiberInDEV(
9732 finishedWork,
9733 function(n, a) {
9734 console.error(
9735 "%s must not return anything besides a function, which is used for clean-up.%s",
9736 n,
9737 a
9738 );
9739 },
9740 hookName,
9741 addendum
9742 );
9743 }
9744 updateQueue = updateQueue.next;
9745 } while (updateQueue !== firstEffect);
9746 }
9747 } catch (error) {
9748 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9749 }
9750 }
9751 function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {
9752 try {
9753 var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;
9754 if (null !== lastEffect) {
9755 var firstEffect = lastEffect.next;
9756 updateQueue = firstEffect;
9757 do {
9758 if ((updateQueue.tag & flags) === flags) {
9759 var inst = updateQueue.inst, destroy = inst.destroy;
9760 void 0 !== destroy && (inst.destroy = void 0, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = finishedWork, runWithFiberInDEV(
9761 lastEffect,
9762 callDestroyInDEV,
9763 lastEffect,
9764 nearestMountedAncestor,
9765 destroy
9766 ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false));
9767 }
9768 updateQueue = updateQueue.next;
9769 } while (updateQueue !== firstEffect);
9770 }
9771 } catch (error) {
9772 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9773 }
9774 }
9775 function commitHookPassiveMountEffects(finishedWork, hookFlags) {
9776 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
9777 }
9778 function commitHookPassiveUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
9779 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(
9780 hookFlags,
9781 finishedWork,
9782 nearestMountedAncestor
9783 ), recordEffectDuration()) : commitHookEffectListUnmount(
9784 hookFlags,
9785 finishedWork,
9786 nearestMountedAncestor
9787 );
9788 }
9789 function commitClassCallbacks(finishedWork) {
9790 var updateQueue = finishedWork.updateQueue;
9791 if (null !== updateQueue) {
9792 var instance = finishedWork.stateNode;
9793 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (instance.props !== finishedWork.memoizedProps && console.error(
9794 "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.",
9795 getComponentNameFromFiber(finishedWork) || "instance"
9796 ), instance.state !== finishedWork.memoizedState && console.error(
9797 "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.",
9798 getComponentNameFromFiber(finishedWork) || "instance"
9799 ));
9800 try {
9801 runWithFiberInDEV(
9802 finishedWork,
9803 commitCallbacks,
9804 updateQueue,
9805 instance
9806 );
9807 } catch (error) {
9808 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9809 }
9810 }
9811 }
9812 function callGetSnapshotBeforeUpdates(instance, prevProps, prevState) {
9813 return instance.getSnapshotBeforeUpdate(prevProps, prevState);
9814 }
9815 function commitClassSnapshot(finishedWork, current2) {
9816 var prevProps = current2.memoizedProps, prevState = current2.memoizedState;
9817 current2 = finishedWork.stateNode;
9818 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (current2.props !== finishedWork.memoizedProps && console.error(
9819 "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.",
9820 getComponentNameFromFiber(finishedWork) || "instance"
9821 ), current2.state !== finishedWork.memoizedState && console.error(
9822 "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.",
9823 getComponentNameFromFiber(finishedWork) || "instance"
9824 ));
9825 try {
9826 var resolvedPrevProps = resolveClassComponentProps(
9827 finishedWork.type,
9828 prevProps
9829 );
9830 var snapshot = runWithFiberInDEV(
9831 finishedWork,
9832 callGetSnapshotBeforeUpdates,
9833 current2,
9834 resolvedPrevProps,
9835 prevState
9836 );
9837 prevProps = didWarnAboutUndefinedSnapshotBeforeUpdate;
9838 void 0 !== snapshot || prevProps.has(finishedWork.type) || (prevProps.add(finishedWork.type), runWithFiberInDEV(finishedWork, function() {
9839 console.error(
9840 "%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.",
9841 getComponentNameFromFiber(finishedWork)
9842 );
9843 }));
9844 current2.__reactInternalSnapshotBeforeUpdate = snapshot;
9845 } catch (error) {
9846 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9847 }
9848 }
9849 function safelyCallComponentWillUnmount(current2, nearestMountedAncestor, instance) {
9850 instance.props = resolveClassComponentProps(
9851 current2.type,
9852 current2.memoizedProps
9853 );
9854 instance.state = current2.memoizedState;
9855 shouldProfile(current2) ? (startEffectTimer(), runWithFiberInDEV(
9856 current2,
9857 callComponentWillUnmountInDEV,
9858 current2,
9859 nearestMountedAncestor,
9860 instance
9861 ), recordEffectDuration()) : runWithFiberInDEV(
9862 current2,
9863 callComponentWillUnmountInDEV,
9864 current2,
9865 nearestMountedAncestor,
9866 instance
9867 );
9868 }
9869 function commitAttachRef(finishedWork) {
9870 var ref = finishedWork.ref;
9871 if (null !== ref) {
9872 switch (finishedWork.tag) {
9873 case 26:
9874 case 27:
9875 case 5:
9876 var instanceToUse = finishedWork.stateNode;
9877 break;
9878 case 30:
9879 instanceToUse = finishedWork.stateNode;
9880 break;
9881 default:
9882 instanceToUse = finishedWork.stateNode;
9883 }
9884 if ("function" === typeof ref)
9885 if (shouldProfile(finishedWork))
9886 try {
9887 startEffectTimer(), finishedWork.refCleanup = ref(instanceToUse);
9888 } finally {
9889 recordEffectDuration();
9890 }
9891 else finishedWork.refCleanup = ref(instanceToUse);
9892 else
9893 "string" === typeof ref ? console.error("String refs are no longer supported.") : ref.hasOwnProperty("current") || console.error(
9894 "Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().",
9895 getComponentNameFromFiber(finishedWork)
9896 ), ref.current = instanceToUse;
9897 }
9898 }
9899 function safelyAttachRef(current2, nearestMountedAncestor) {
9900 try {
9901 runWithFiberInDEV(current2, commitAttachRef, current2);
9902 } catch (error) {
9903 captureCommitPhaseError(current2, nearestMountedAncestor, error);
9904 }
9905 }
9906 function safelyDetachRef(current2, nearestMountedAncestor) {
9907 var ref = current2.ref, refCleanup = current2.refCleanup;
9908 if (null !== ref)
9909 if ("function" === typeof refCleanup)
9910 try {
9911 if (shouldProfile(current2))
9912 try {
9913 startEffectTimer(), runWithFiberInDEV(current2, refCleanup);
9914 } finally {
9915 recordEffectDuration(current2);
9916 }
9917 else runWithFiberInDEV(current2, refCleanup);
9918 } catch (error) {
9919 captureCommitPhaseError(current2, nearestMountedAncestor, error);
9920 } finally {
9921 current2.refCleanup = null, current2 = current2.alternate, null != current2 && (current2.refCleanup = null);
9922 }
9923 else if ("function" === typeof ref)
9924 try {
9925 if (shouldProfile(current2))
9926 try {
9927 startEffectTimer(), runWithFiberInDEV(current2, ref, null);
9928 } finally {
9929 recordEffectDuration(current2);
9930 }
9931 else runWithFiberInDEV(current2, ref, null);
9932 } catch (error$7) {
9933 captureCommitPhaseError(current2, nearestMountedAncestor, error$7);
9934 }
9935 else ref.current = null;
9936 }
9937 function commitProfiler(finishedWork, current2, commitStartTime2, effectDuration) {
9938 var _finishedWork$memoize = finishedWork.memoizedProps, id = _finishedWork$memoize.id, onCommit = _finishedWork$memoize.onCommit;
9939 _finishedWork$memoize = _finishedWork$memoize.onRender;
9940 current2 = null === current2 ? "mount" : "update";
9941 currentUpdateIsNested && (current2 = "nested-update");
9942 "function" === typeof _finishedWork$memoize && _finishedWork$memoize(
9943 id,
9944 current2,
9945 finishedWork.actualDuration,
9946 finishedWork.treeBaseDuration,
9947 finishedWork.actualStartTime,
9948 commitStartTime2
9949 );
9950 "function" === typeof onCommit && onCommit(id, current2, effectDuration, commitStartTime2);
9951 }
9952 function commitProfilerPostCommitImpl(finishedWork, current2, commitStartTime2, passiveEffectDuration) {
9953 var _finishedWork$memoize2 = finishedWork.memoizedProps;
9954 finishedWork = _finishedWork$memoize2.id;
9955 _finishedWork$memoize2 = _finishedWork$memoize2.onPostCommit;
9956 current2 = null === current2 ? "mount" : "update";
9957 currentUpdateIsNested && (current2 = "nested-update");
9958 "function" === typeof _finishedWork$memoize2 && _finishedWork$memoize2(
9959 finishedWork,
9960 current2,
9961 passiveEffectDuration,
9962 commitStartTime2
9963 );
9964 }
9965 function commitHostMount(finishedWork) {
9966 var type = finishedWork.type, props = finishedWork.memoizedProps, instance = finishedWork.stateNode;
9967 try {
9968 runWithFiberInDEV(
9969 finishedWork,
9970 commitMount,
9971 instance,
9972 type,
9973 props,
9974 finishedWork
9975 );
9976 } catch (error) {
9977 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9978 }
9979 }
9980 function commitHostUpdate(finishedWork, newProps, oldProps) {
9981 try {
9982 runWithFiberInDEV(
9983 finishedWork,
9984 commitUpdate,
9985 finishedWork.stateNode,
9986 finishedWork.type,
9987 oldProps,
9988 newProps,
9989 finishedWork
9990 );
9991 } catch (error) {
9992 captureCommitPhaseError(finishedWork, finishedWork.return, error);
9993 }
9994 }
9995 function isHostParent(fiber) {
9996 return 5 === fiber.tag || 3 === fiber.tag || 26 === fiber.tag || 27 === fiber.tag && isSingletonScope(fiber.type) || 4 === fiber.tag;
9997 }
9998 function getHostSibling(fiber) {
9999 a: for (; ; ) {
10000 for (; null === fiber.sibling; ) {
10001 if (null === fiber.return || isHostParent(fiber.return)) return null;
10002 fiber = fiber.return;
10003 }
10004 fiber.sibling.return = fiber.return;
10005 for (fiber = fiber.sibling; 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag; ) {
10006 if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a;
10007 if (fiber.flags & 2) continue a;
10008 if (null === fiber.child || 4 === fiber.tag) continue a;
10009 else fiber.child.return = fiber, fiber = fiber.child;
10010 }
10011 if (!(fiber.flags & 2)) return fiber.stateNode;
10012 }
10013 }
10014 function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {
10015 var tag = node.tag;
10016 if (5 === tag || 6 === tag)
10017 node = node.stateNode, before ? (warnForReactChildrenConflict(parent), (9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent).insertBefore(node, before)) : (warnForReactChildrenConflict(parent), before = 9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent, before.appendChild(node), parent = parent._reactRootContainer, null !== parent && void 0 !== parent || null !== before.onclick || (before.onclick = noop$1));
10018 else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode, before = null), node = node.child, null !== node))
10019 for (insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; null !== node; )
10020 insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling;
10021 }
10022 function insertOrAppendPlacementNode(node, before, parent) {
10023 var tag = node.tag;
10024 if (5 === tag || 6 === tag)
10025 node = node.stateNode, before ? parent.insertBefore(node, before) : parent.appendChild(node);
10026 else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode), node = node.child, null !== node))
10027 for (insertOrAppendPlacementNode(node, before, parent), node = node.sibling; null !== node; )
10028 insertOrAppendPlacementNode(node, before, parent), node = node.sibling;
10029 }
10030 function commitPlacement(finishedWork) {
10031 for (var hostParentFiber, parentFiber = finishedWork.return; null !== parentFiber; ) {
10032 if (isHostParent(parentFiber)) {
10033 hostParentFiber = parentFiber;
10034 break;
10035 }
10036 parentFiber = parentFiber.return;
10037 }
10038 if (null == hostParentFiber)
10039 throw Error(
10040 "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."
10041 );
10042 switch (hostParentFiber.tag) {
10043 case 27:
10044 hostParentFiber = hostParentFiber.stateNode;
10045 parentFiber = getHostSibling(finishedWork);
10046 insertOrAppendPlacementNode(
10047 finishedWork,
10048 parentFiber,
10049 hostParentFiber
10050 );
10051 break;
10052 case 5:
10053 parentFiber = hostParentFiber.stateNode;
10054 hostParentFiber.flags & 32 && (resetTextContent(parentFiber), hostParentFiber.flags &= -33);
10055 hostParentFiber = getHostSibling(finishedWork);
10056 insertOrAppendPlacementNode(
10057 finishedWork,
10058 hostParentFiber,
10059 parentFiber
10060 );
10061 break;
10062 case 3:
10063 case 4:
10064 hostParentFiber = hostParentFiber.stateNode.containerInfo;
10065 parentFiber = getHostSibling(finishedWork);
10066 insertOrAppendPlacementNodeIntoContainer(
10067 finishedWork,
10068 parentFiber,
10069 hostParentFiber
10070 );
10071 break;
10072 default:
10073 throw Error(
10074 "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue."
10075 );
10076 }
10077 }
10078 function commitHostSingletonAcquisition(finishedWork) {
10079 var singleton = finishedWork.stateNode, props = finishedWork.memoizedProps;
10080 try {
10081 runWithFiberInDEV(
10082 finishedWork,
10083 acquireSingletonInstance,
10084 finishedWork.type,
10085 props,
10086 singleton,
10087 finishedWork
10088 );
10089 } catch (error) {
10090 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10091 }
10092 }
10093 function isHydratingParent(current2, finishedWork) {
10094 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;
10095 }
10096 function commitBeforeMutationEffects(root2, firstChild) {
10097 root2 = root2.containerInfo;
10098 eventsEnabled = _enabled;
10099 root2 = getActiveElementDeep(root2);
10100 if (hasSelectionCapabilities(root2)) {
10101 if ("selectionStart" in root2)
10102 var JSCompiler_temp = {
10103 start: root2.selectionStart,
10104 end: root2.selectionEnd
10105 };
10106 else
10107 a: {
10108 JSCompiler_temp = (JSCompiler_temp = root2.ownerDocument) && JSCompiler_temp.defaultView || window;
10109 var selection = JSCompiler_temp.getSelection && JSCompiler_temp.getSelection();
10110 if (selection && 0 !== selection.rangeCount) {
10111 JSCompiler_temp = selection.anchorNode;
10112 var anchorOffset = selection.anchorOffset, focusNode = selection.focusNode;
10113 selection = selection.focusOffset;
10114 try {
10115 JSCompiler_temp.nodeType, focusNode.nodeType;
10116 } catch (e$2) {
10117 JSCompiler_temp = null;
10118 break a;
10119 }
10120 var length = 0, start = -1, end = -1, indexWithinAnchor = 0, indexWithinFocus = 0, node = root2, parentNode = null;
10121 b: for (; ; ) {
10122 for (var next; ; ) {
10123 node !== JSCompiler_temp || 0 !== anchorOffset && 3 !== node.nodeType || (start = length + anchorOffset);
10124 node !== focusNode || 0 !== selection && 3 !== node.nodeType || (end = length + selection);
10125 3 === node.nodeType && (length += node.nodeValue.length);
10126 if (null === (next = node.firstChild)) break;
10127 parentNode = node;
10128 node = next;
10129 }
10130 for (; ; ) {
10131 if (node === root2) break b;
10132 parentNode === JSCompiler_temp && ++indexWithinAnchor === anchorOffset && (start = length);
10133 parentNode === focusNode && ++indexWithinFocus === selection && (end = length);
10134 if (null !== (next = node.nextSibling)) break;
10135 node = parentNode;
10136 parentNode = node.parentNode;
10137 }
10138 node = next;
10139 }
10140 JSCompiler_temp = -1 === start || -1 === end ? null : { start, end };
10141 } else JSCompiler_temp = null;
10142 }
10143 JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };
10144 } else JSCompiler_temp = null;
10145 selectionInformation = {
10146 focusedElem: root2,
10147 selectionRange: JSCompiler_temp
10148 };
10149 _enabled = false;
10150 for (nextEffect = firstChild; null !== nextEffect; )
10151 if (firstChild = nextEffect, root2 = firstChild.child, 0 !== (firstChild.subtreeFlags & 1028) && null !== root2)
10152 root2.return = firstChild, nextEffect = root2;
10153 else
10154 for (; null !== nextEffect; ) {
10155 root2 = firstChild = nextEffect;
10156 JSCompiler_temp = root2.alternate;
10157 anchorOffset = root2.flags;
10158 switch (root2.tag) {
10159 case 0:
10160 if (0 !== (anchorOffset & 4) && (root2 = root2.updateQueue, root2 = null !== root2 ? root2.events : null, null !== root2))
10161 for (JSCompiler_temp = 0; JSCompiler_temp < root2.length; JSCompiler_temp++)
10162 anchorOffset = root2[JSCompiler_temp], anchorOffset.ref.impl = anchorOffset.nextImpl;
10163 break;
10164 case 11:
10165 case 15:
10166 break;
10167 case 1:
10168 0 !== (anchorOffset & 1024) && null !== JSCompiler_temp && commitClassSnapshot(root2, JSCompiler_temp);
10169 break;
10170 case 3:
10171 if (0 !== (anchorOffset & 1024)) {
10172 if (root2 = root2.stateNode.containerInfo, JSCompiler_temp = root2.nodeType, 9 === JSCompiler_temp)
10173 clearContainerSparingly(root2);
10174 else if (1 === JSCompiler_temp)
10175 switch (root2.nodeName) {
10176 case "HEAD":
10177 case "HTML":
10178 case "BODY":
10179 clearContainerSparingly(root2);
10180 break;
10181 default:
10182 root2.textContent = "";
10183 }
10184 }
10185 break;
10186 case 5:
10187 case 26:
10188 case 27:
10189 case 6:
10190 case 4:
10191 case 17:
10192 break;
10193 default:
10194 if (0 !== (anchorOffset & 1024))
10195 throw Error(
10196 "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."
10197 );
10198 }
10199 root2 = firstChild.sibling;
10200 if (null !== root2) {
10201 root2.return = firstChild.return;
10202 nextEffect = root2;
10203 break;
10204 }
10205 nextEffect = firstChild.return;
10206 }
10207 }
10208 function commitLayoutEffectOnFiber(finishedRoot, current2, finishedWork) {
10209 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), flags = finishedWork.flags;
10210 switch (finishedWork.tag) {
10211 case 0:
10212 case 11:
10213 case 15:
10214 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10215 flags & 4 && commitHookLayoutEffects(finishedWork, Layout | HasEffect);
10216 break;
10217 case 1:
10218 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10219 if (flags & 4)
10220 if (finishedRoot = finishedWork.stateNode, null === current2)
10221 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error(
10222 "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.",
10223 getComponentNameFromFiber(finishedWork) || "instance"
10224 ), finishedRoot.state !== finishedWork.memoizedState && console.error(
10225 "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.",
10226 getComponentNameFromFiber(finishedWork) || "instance"
10227 )), shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV(
10228 finishedWork,
10229 callComponentDidMountInDEV,
10230 finishedWork,
10231 finishedRoot
10232 ), recordEffectDuration()) : runWithFiberInDEV(
10233 finishedWork,
10234 callComponentDidMountInDEV,
10235 finishedWork,
10236 finishedRoot
10237 );
10238 else {
10239 var prevProps = resolveClassComponentProps(
10240 finishedWork.type,
10241 current2.memoizedProps
10242 );
10243 current2 = current2.memoizedState;
10244 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error(
10245 "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.",
10246 getComponentNameFromFiber(finishedWork) || "instance"
10247 ), finishedRoot.state !== finishedWork.memoizedState && console.error(
10248 "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.",
10249 getComponentNameFromFiber(finishedWork) || "instance"
10250 ));
10251 shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV(
10252 finishedWork,
10253 callComponentDidUpdateInDEV,
10254 finishedWork,
10255 finishedRoot,
10256 prevProps,
10257 current2,
10258 finishedRoot.__reactInternalSnapshotBeforeUpdate
10259 ), recordEffectDuration()) : runWithFiberInDEV(
10260 finishedWork,
10261 callComponentDidUpdateInDEV,
10262 finishedWork,
10263 finishedRoot,
10264 prevProps,
10265 current2,
10266 finishedRoot.__reactInternalSnapshotBeforeUpdate
10267 );
10268 }
10269 flags & 64 && commitClassCallbacks(finishedWork);
10270 flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
10271 break;
10272 case 3:
10273 current2 = pushNestedEffectDurations();
10274 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10275 if (flags & 64 && (flags = finishedWork.updateQueue, null !== flags)) {
10276 prevProps = null;
10277 if (null !== finishedWork.child)
10278 switch (finishedWork.child.tag) {
10279 case 27:
10280 case 5:
10281 prevProps = finishedWork.child.stateNode;
10282 break;
10283 case 1:
10284 prevProps = finishedWork.child.stateNode;
10285 }
10286 try {
10287 runWithFiberInDEV(
10288 finishedWork,
10289 commitCallbacks,
10290 flags,
10291 prevProps
10292 );
10293 } catch (error) {
10294 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10295 }
10296 }
10297 finishedRoot.effectDuration += popNestedEffectDurations(current2);
10298 break;
10299 case 27:
10300 null === current2 && flags & 4 && commitHostSingletonAcquisition(finishedWork);
10301 case 26:
10302 case 5:
10303 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10304 if (null === current2) {
10305 if (flags & 4) commitHostMount(finishedWork);
10306 else if (flags & 64) {
10307 finishedRoot = finishedWork.type;
10308 current2 = finishedWork.memoizedProps;
10309 prevProps = finishedWork.stateNode;
10310 try {
10311 runWithFiberInDEV(
10312 finishedWork,
10313 commitHydratedInstance,
10314 prevProps,
10315 finishedRoot,
10316 current2,
10317 finishedWork
10318 );
10319 } catch (error) {
10320 captureCommitPhaseError(
10321 finishedWork,
10322 finishedWork.return,
10323 error
10324 );
10325 }
10326 }
10327 }
10328 flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
10329 break;
10330 case 12:
10331 if (flags & 4) {
10332 flags = pushNestedEffectDurations();
10333 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10334 finishedRoot = finishedWork.stateNode;
10335 finishedRoot.effectDuration += bubbleNestedEffectDurations(flags);
10336 try {
10337 runWithFiberInDEV(
10338 finishedWork,
10339 commitProfiler,
10340 finishedWork,
10341 current2,
10342 commitStartTime,
10343 finishedRoot.effectDuration
10344 );
10345 } catch (error) {
10346 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10347 }
10348 } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10349 break;
10350 case 31:
10351 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10352 flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);
10353 break;
10354 case 13:
10355 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10356 flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
10357 flags & 64 && (finishedRoot = finishedWork.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot && (flags = retryDehydratedSuspenseBoundary.bind(
10358 null,
10359 finishedWork
10360 ), registerSuspenseInstanceRetry(finishedRoot, flags))));
10361 break;
10362 case 22:
10363 flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;
10364 if (!flags) {
10365 current2 = null !== current2 && null !== current2.memoizedState || offscreenSubtreeWasHidden;
10366 prevProps = offscreenSubtreeIsHidden;
10367 var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;
10368 offscreenSubtreeIsHidden = flags;
10369 (offscreenSubtreeWasHidden = current2) && !prevOffscreenSubtreeWasHidden ? (recursivelyTraverseReappearLayoutEffects(
10370 finishedRoot,
10371 finishedWork,
10372 0 !== (finishedWork.subtreeFlags & 8772)
10373 ), (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(
10374 finishedWork,
10375 componentEffectStartTime,
10376 componentEffectEndTime
10377 )) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10378 offscreenSubtreeIsHidden = prevProps;
10379 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
10380 }
10381 break;
10382 case 30:
10383 break;
10384 default:
10385 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
10386 }
10387 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
10388 finishedWork,
10389 componentEffectStartTime,
10390 componentEffectEndTime,
10391 componentEffectDuration,
10392 componentEffectErrors
10393 ), null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate && 0.05 < componentEffectEndTime - componentEffectStartTime && (isHydratingParent(
10394 finishedWork.return.alternate,
10395 finishedWork.return
10396 ) || logComponentTrigger(
10397 finishedWork,
10398 componentEffectStartTime,
10399 componentEffectEndTime,
10400 "Mount"
10401 )));
10402 popComponentEffectStart(prevEffectStart);
10403 popComponentEffectDuration(prevEffectDuration);
10404 componentEffectErrors = prevEffectErrors;
10405 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
10406 }
10407 function detachFiberAfterEffects(fiber) {
10408 var alternate = fiber.alternate;
10409 null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate));
10410 fiber.child = null;
10411 fiber.deletions = null;
10412 fiber.sibling = null;
10413 5 === fiber.tag && (alternate = fiber.stateNode, null !== alternate && detachDeletedInstance(alternate));
10414 fiber.stateNode = null;
10415 fiber._debugOwner = null;
10416 fiber.return = null;
10417 fiber.dependencies = null;
10418 fiber.memoizedProps = null;
10419 fiber.memoizedState = null;
10420 fiber.pendingProps = null;
10421 fiber.stateNode = null;
10422 fiber.updateQueue = null;
10423 }
10424 function recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {
10425 for (parent = parent.child; null !== parent; )
10426 commitDeletionEffectsOnFiber(
10427 finishedRoot,
10428 nearestMountedAncestor,
10429 parent
10430 ), parent = parent.sibling;
10431 }
10432 function commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {
10433 if (injectedHook && "function" === typeof injectedHook.onCommitFiberUnmount)
10434 try {
10435 injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);
10436 } catch (err) {
10437 hasLoggedError || (hasLoggedError = true, console.error(
10438 "React instrumentation encountered an error: %o",
10439 err
10440 ));
10441 }
10442 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
10443 switch (deletedFiber.tag) {
10444 case 26:
10445 offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
10446 recursivelyTraverseDeletionEffects(
10447 finishedRoot,
10448 nearestMountedAncestor,
10449 deletedFiber
10450 );
10451 deletedFiber.memoizedState ? deletedFiber.memoizedState.count-- : deletedFiber.stateNode && (finishedRoot = deletedFiber.stateNode, finishedRoot.parentNode.removeChild(finishedRoot));
10452 break;
10453 case 27:
10454 offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
10455 var prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer;
10456 isSingletonScope(deletedFiber.type) && (hostParent = deletedFiber.stateNode, hostParentIsContainer = false);
10457 recursivelyTraverseDeletionEffects(
10458 finishedRoot,
10459 nearestMountedAncestor,
10460 deletedFiber
10461 );
10462 runWithFiberInDEV(
10463 deletedFiber,
10464 releaseSingletonInstance,
10465 deletedFiber.stateNode
10466 );
10467 hostParent = prevHostParent;
10468 hostParentIsContainer = prevHostParentIsContainer;
10469 break;
10470 case 5:
10471 offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
10472 case 6:
10473 prevHostParent = hostParent;
10474 prevHostParentIsContainer = hostParentIsContainer;
10475 hostParent = null;
10476 recursivelyTraverseDeletionEffects(
10477 finishedRoot,
10478 nearestMountedAncestor,
10479 deletedFiber
10480 );
10481 hostParent = prevHostParent;
10482 hostParentIsContainer = prevHostParentIsContainer;
10483 if (null !== hostParent)
10484 if (hostParentIsContainer)
10485 try {
10486 runWithFiberInDEV(
10487 deletedFiber,
10488 removeChildFromContainer,
10489 hostParent,
10490 deletedFiber.stateNode
10491 );
10492 } catch (error) {
10493 captureCommitPhaseError(
10494 deletedFiber,
10495 nearestMountedAncestor,
10496 error
10497 );
10498 }
10499 else
10500 try {
10501 runWithFiberInDEV(
10502 deletedFiber,
10503 removeChild,
10504 hostParent,
10505 deletedFiber.stateNode
10506 );
10507 } catch (error) {
10508 captureCommitPhaseError(
10509 deletedFiber,
10510 nearestMountedAncestor,
10511 error
10512 );
10513 }
10514 break;
10515 case 18:
10516 null !== hostParent && (hostParentIsContainer ? (finishedRoot = hostParent, clearHydrationBoundary(
10517 9 === finishedRoot.nodeType ? finishedRoot.body : "HTML" === finishedRoot.nodeName ? finishedRoot.ownerDocument.body : finishedRoot,
10518 deletedFiber.stateNode
10519 ), retryIfBlockedOn(finishedRoot)) : clearHydrationBoundary(hostParent, deletedFiber.stateNode));
10520 break;
10521 case 4:
10522 prevHostParent = hostParent;
10523 prevHostParentIsContainer = hostParentIsContainer;
10524 hostParent = deletedFiber.stateNode.containerInfo;
10525 hostParentIsContainer = true;
10526 recursivelyTraverseDeletionEffects(
10527 finishedRoot,
10528 nearestMountedAncestor,
10529 deletedFiber
10530 );
10531 hostParent = prevHostParent;
10532 hostParentIsContainer = prevHostParentIsContainer;
10533 break;
10534 case 0:
10535 case 11:
10536 case 14:
10537 case 15:
10538 commitHookEffectListUnmount(
10539 Insertion,
10540 deletedFiber,
10541 nearestMountedAncestor
10542 );
10543 offscreenSubtreeWasHidden || commitHookLayoutUnmountEffects(
10544 deletedFiber,
10545 nearestMountedAncestor,
10546 Layout
10547 );
10548 recursivelyTraverseDeletionEffects(
10549 finishedRoot,
10550 nearestMountedAncestor,
10551 deletedFiber
10552 );
10553 break;
10554 case 1:
10555 offscreenSubtreeWasHidden || (safelyDetachRef(deletedFiber, nearestMountedAncestor), prevHostParent = deletedFiber.stateNode, "function" === typeof prevHostParent.componentWillUnmount && safelyCallComponentWillUnmount(
10556 deletedFiber,
10557 nearestMountedAncestor,
10558 prevHostParent
10559 ));
10560 recursivelyTraverseDeletionEffects(
10561 finishedRoot,
10562 nearestMountedAncestor,
10563 deletedFiber
10564 );
10565 break;
10566 case 21:
10567 recursivelyTraverseDeletionEffects(
10568 finishedRoot,
10569 nearestMountedAncestor,
10570 deletedFiber
10571 );
10572 break;
10573 case 22:
10574 offscreenSubtreeWasHidden = (prevHostParent = offscreenSubtreeWasHidden) || null !== deletedFiber.memoizedState;
10575 recursivelyTraverseDeletionEffects(
10576 finishedRoot,
10577 nearestMountedAncestor,
10578 deletedFiber
10579 );
10580 offscreenSubtreeWasHidden = prevHostParent;
10581 break;
10582 default:
10583 recursivelyTraverseDeletionEffects(
10584 finishedRoot,
10585 nearestMountedAncestor,
10586 deletedFiber
10587 );
10588 }
10589 (deletedFiber.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
10590 deletedFiber,
10591 componentEffectStartTime,
10592 componentEffectEndTime,
10593 componentEffectDuration,
10594 componentEffectErrors
10595 );
10596 popComponentEffectStart(prevEffectStart);
10597 popComponentEffectDuration(prevEffectDuration);
10598 componentEffectErrors = prevEffectErrors;
10599 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
10600 }
10601 function commitActivityHydrationCallbacks(finishedRoot, finishedWork) {
10602 if (null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot))) {
10603 finishedRoot = finishedRoot.dehydrated;
10604 try {
10605 runWithFiberInDEV(
10606 finishedWork,
10607 commitHydratedActivityInstance,
10608 finishedRoot
10609 );
10610 } catch (error) {
10611 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10612 }
10613 }
10614 }
10615 function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {
10616 if (null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot))))
10617 try {
10618 runWithFiberInDEV(
10619 finishedWork,
10620 commitHydratedSuspenseInstance,
10621 finishedRoot
10622 );
10623 } catch (error) {
10624 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10625 }
10626 }
10627 function getRetryCache(finishedWork) {
10628 switch (finishedWork.tag) {
10629 case 31:
10630 case 13:
10631 case 19:
10632 var retryCache = finishedWork.stateNode;
10633 null === retryCache && (retryCache = finishedWork.stateNode = new PossiblyWeakSet());
10634 return retryCache;
10635 case 22:
10636 return finishedWork = finishedWork.stateNode, retryCache = finishedWork._retryCache, null === retryCache && (retryCache = finishedWork._retryCache = new PossiblyWeakSet()), retryCache;
10637 default:
10638 throw Error(
10639 "Unexpected Suspense handler tag (" + finishedWork.tag + "). This is a bug in React."
10640 );
10641 }
10642 }
10643 function attachSuspenseRetryListeners(finishedWork, wakeables) {
10644 var retryCache = getRetryCache(finishedWork);
10645 wakeables.forEach(function(wakeable) {
10646 if (!retryCache.has(wakeable)) {
10647 retryCache.add(wakeable);
10648 if (isDevToolsPresent)
10649 if (null !== inProgressLanes && null !== inProgressRoot)
10650 restorePendingUpdaters(inProgressRoot, inProgressLanes);
10651 else
10652 throw Error(
10653 "Expected finished root and lanes to be set. This is a bug in React."
10654 );
10655 var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);
10656 wakeable.then(retry, retry);
10657 }
10658 });
10659 }
10660 function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {
10661 var deletions = parentFiber.deletions;
10662 if (null !== deletions)
10663 for (var i = 0; i < deletions.length; i++) {
10664 var root2 = root$jscomp$0, returnFiber = parentFiber, deletedFiber = deletions[i], prevEffectStart = pushComponentEffectStart(), parent = returnFiber;
10665 a: for (; null !== parent; ) {
10666 switch (parent.tag) {
10667 case 27:
10668 if (isSingletonScope(parent.type)) {
10669 hostParent = parent.stateNode;
10670 hostParentIsContainer = false;
10671 break a;
10672 }
10673 break;
10674 case 5:
10675 hostParent = parent.stateNode;
10676 hostParentIsContainer = false;
10677 break a;
10678 case 3:
10679 case 4:
10680 hostParent = parent.stateNode.containerInfo;
10681 hostParentIsContainer = true;
10682 break a;
10683 }
10684 parent = parent.return;
10685 }
10686 if (null === hostParent)
10687 throw Error(
10688 "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."
10689 );
10690 commitDeletionEffectsOnFiber(root2, returnFiber, deletedFiber);
10691 hostParent = null;
10692 hostParentIsContainer = false;
10693 (deletedFiber.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
10694 deletedFiber,
10695 componentEffectStartTime,
10696 componentEffectEndTime,
10697 "Unmount"
10698 );
10699 popComponentEffectStart(prevEffectStart);
10700 root2 = deletedFiber;
10701 returnFiber = root2.alternate;
10702 null !== returnFiber && (returnFiber.return = null);
10703 root2.return = null;
10704 }
10705 if (parentFiber.subtreeFlags & 13886)
10706 for (parentFiber = parentFiber.child; null !== parentFiber; )
10707 commitMutationEffectsOnFiber(parentFiber, root$jscomp$0), parentFiber = parentFiber.sibling;
10708 }
10709 function commitMutationEffectsOnFiber(finishedWork, root2) {
10710 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), current2 = finishedWork.alternate, flags = finishedWork.flags;
10711 switch (finishedWork.tag) {
10712 case 0:
10713 case 11:
10714 case 14:
10715 case 15:
10716 recursivelyTraverseMutationEffects(root2, finishedWork);
10717 commitReconciliationEffects(finishedWork);
10718 flags & 4 && (commitHookEffectListUnmount(
10719 Insertion | HasEffect,
10720 finishedWork,
10721 finishedWork.return
10722 ), commitHookEffectListMount(Insertion | HasEffect, finishedWork), commitHookLayoutUnmountEffects(
10723 finishedWork,
10724 finishedWork.return,
10725 Layout | HasEffect
10726 ));
10727 break;
10728 case 1:
10729 recursivelyTraverseMutationEffects(root2, finishedWork);
10730 commitReconciliationEffects(finishedWork);
10731 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
10732 if (flags & 64 && offscreenSubtreeIsHidden && (flags = finishedWork.updateQueue, null !== flags && (current2 = flags.callbacks, null !== current2))) {
10733 var existingHiddenCallbacks = flags.shared.hiddenCallbacks;
10734 flags.shared.hiddenCallbacks = null === existingHiddenCallbacks ? current2 : existingHiddenCallbacks.concat(current2);
10735 }
10736 break;
10737 case 26:
10738 existingHiddenCallbacks = currentHoistableRoot;
10739 recursivelyTraverseMutationEffects(root2, finishedWork);
10740 commitReconciliationEffects(finishedWork);
10741 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
10742 if (flags & 4) {
10743 var currentResource = null !== current2 ? current2.memoizedState : null;
10744 flags = finishedWork.memoizedState;
10745 if (null === current2)
10746 if (null === flags)
10747 if (null === finishedWork.stateNode) {
10748 a: {
10749 flags = finishedWork.type;
10750 current2 = finishedWork.memoizedProps;
10751 existingHiddenCallbacks = existingHiddenCallbacks.ownerDocument || existingHiddenCallbacks;
10752 b: switch (flags) {
10753 case "title":
10754 currentResource = existingHiddenCallbacks.getElementsByTagName(
10755 "title"
10756 )[0];
10757 if (!currentResource || currentResource[internalHoistableMarker] || currentResource[internalInstanceKey] || currentResource.namespaceURI === SVG_NAMESPACE || currentResource.hasAttribute("itemprop"))
10758 currentResource = existingHiddenCallbacks.createElement(flags), existingHiddenCallbacks.head.insertBefore(
10759 currentResource,
10760 existingHiddenCallbacks.querySelector(
10761 "head > title"
10762 )
10763 );
10764 setInitialProperties(currentResource, flags, current2);
10765 currentResource[internalInstanceKey] = finishedWork;
10766 markNodeAsHoistable(currentResource);
10767 flags = currentResource;
10768 break a;
10769 case "link":
10770 var maybeNodes = getHydratableHoistableCache(
10771 "link",
10772 "href",
10773 existingHiddenCallbacks
10774 ).get(flags + (current2.href || ""));
10775 if (maybeNodes) {
10776 for (var i = 0; i < maybeNodes.length; i++)
10777 if (currentResource = maybeNodes[i], currentResource.getAttribute("href") === (null == current2.href || "" === current2.href ? null : current2.href) && currentResource.getAttribute("rel") === (null == current2.rel ? null : current2.rel) && currentResource.getAttribute("title") === (null == current2.title ? null : current2.title) && currentResource.getAttribute("crossorigin") === (null == current2.crossOrigin ? null : current2.crossOrigin)) {
10778 maybeNodes.splice(i, 1);
10779 break b;
10780 }
10781 }
10782 currentResource = existingHiddenCallbacks.createElement(flags);
10783 setInitialProperties(currentResource, flags, current2);
10784 existingHiddenCallbacks.head.appendChild(
10785 currentResource
10786 );
10787 break;
10788 case "meta":
10789 if (maybeNodes = getHydratableHoistableCache(
10790 "meta",
10791 "content",
10792 existingHiddenCallbacks
10793 ).get(flags + (current2.content || ""))) {
10794 for (i = 0; i < maybeNodes.length; i++)
10795 if (currentResource = maybeNodes[i], checkAttributeStringCoercion(
10796 current2.content,
10797 "content"
10798 ), currentResource.getAttribute("content") === (null == current2.content ? null : "" + current2.content) && currentResource.getAttribute("name") === (null == current2.name ? null : current2.name) && currentResource.getAttribute("property") === (null == current2.property ? null : current2.property) && currentResource.getAttribute("http-equiv") === (null == current2.httpEquiv ? null : current2.httpEquiv) && currentResource.getAttribute("charset") === (null == current2.charSet ? null : current2.charSet)) {
10799 maybeNodes.splice(i, 1);
10800 break b;
10801 }
10802 }
10803 currentResource = existingHiddenCallbacks.createElement(flags);
10804 setInitialProperties(currentResource, flags, current2);
10805 existingHiddenCallbacks.head.appendChild(
10806 currentResource
10807 );
10808 break;
10809 default:
10810 throw Error(
10811 'getNodesForType encountered a type it did not expect: "' + flags + '". This is a bug in React.'
10812 );
10813 }
10814 currentResource[internalInstanceKey] = finishedWork;
10815 markNodeAsHoistable(currentResource);
10816 flags = currentResource;
10817 }
10818 finishedWork.stateNode = flags;
10819 } else
10820 mountHoistable(
10821 existingHiddenCallbacks,
10822 finishedWork.type,
10823 finishedWork.stateNode
10824 );
10825 else
10826 finishedWork.stateNode = acquireResource(
10827 existingHiddenCallbacks,
10828 flags,
10829 finishedWork.memoizedProps
10830 );
10831 else
10832 currentResource !== flags ? (null === currentResource ? null !== current2.stateNode && (current2 = current2.stateNode, current2.parentNode.removeChild(current2)) : currentResource.count--, null === flags ? mountHoistable(
10833 existingHiddenCallbacks,
10834 finishedWork.type,
10835 finishedWork.stateNode
10836 ) : acquireResource(
10837 existingHiddenCallbacks,
10838 flags,
10839 finishedWork.memoizedProps
10840 )) : null === flags && null !== finishedWork.stateNode && commitHostUpdate(
10841 finishedWork,
10842 finishedWork.memoizedProps,
10843 current2.memoizedProps
10844 );
10845 }
10846 break;
10847 case 27:
10848 recursivelyTraverseMutationEffects(root2, finishedWork);
10849 commitReconciliationEffects(finishedWork);
10850 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
10851 null !== current2 && flags & 4 && commitHostUpdate(
10852 finishedWork,
10853 finishedWork.memoizedProps,
10854 current2.memoizedProps
10855 );
10856 break;
10857 case 5:
10858 recursivelyTraverseMutationEffects(root2, finishedWork);
10859 commitReconciliationEffects(finishedWork);
10860 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
10861 if (finishedWork.flags & 32) {
10862 existingHiddenCallbacks = finishedWork.stateNode;
10863 try {
10864 runWithFiberInDEV(
10865 finishedWork,
10866 resetTextContent,
10867 existingHiddenCallbacks
10868 );
10869 } catch (error) {
10870 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10871 }
10872 }
10873 flags & 4 && null != finishedWork.stateNode && (existingHiddenCallbacks = finishedWork.memoizedProps, commitHostUpdate(
10874 finishedWork,
10875 existingHiddenCallbacks,
10876 null !== current2 ? current2.memoizedProps : existingHiddenCallbacks
10877 ));
10878 flags & 1024 && (needsFormReset = true, "form" !== finishedWork.type && console.error(
10879 "Unexpected host component type. Expected a form. This is a bug in React."
10880 ));
10881 break;
10882 case 6:
10883 recursivelyTraverseMutationEffects(root2, finishedWork);
10884 commitReconciliationEffects(finishedWork);
10885 if (flags & 4) {
10886 if (null === finishedWork.stateNode)
10887 throw Error(
10888 "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue."
10889 );
10890 flags = finishedWork.memoizedProps;
10891 current2 = null !== current2 ? current2.memoizedProps : flags;
10892 existingHiddenCallbacks = finishedWork.stateNode;
10893 try {
10894 runWithFiberInDEV(
10895 finishedWork,
10896 commitTextUpdate,
10897 existingHiddenCallbacks,
10898 current2,
10899 flags
10900 );
10901 } catch (error) {
10902 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10903 }
10904 }
10905 break;
10906 case 3:
10907 existingHiddenCallbacks = pushNestedEffectDurations();
10908 tagCaches = null;
10909 currentResource = currentHoistableRoot;
10910 currentHoistableRoot = getHoistableRoot(root2.containerInfo);
10911 recursivelyTraverseMutationEffects(root2, finishedWork);
10912 currentHoistableRoot = currentResource;
10913 commitReconciliationEffects(finishedWork);
10914 if (flags & 4 && null !== current2 && current2.memoizedState.isDehydrated)
10915 try {
10916 runWithFiberInDEV(
10917 finishedWork,
10918 commitHydratedContainer,
10919 root2.containerInfo
10920 );
10921 } catch (error) {
10922 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10923 }
10924 needsFormReset && (needsFormReset = false, recursivelyResetForms(finishedWork));
10925 root2.effectDuration += popNestedEffectDurations(
10926 existingHiddenCallbacks
10927 );
10928 break;
10929 case 4:
10930 flags = currentHoistableRoot;
10931 currentHoistableRoot = getHoistableRoot(
10932 finishedWork.stateNode.containerInfo
10933 );
10934 recursivelyTraverseMutationEffects(root2, finishedWork);
10935 commitReconciliationEffects(finishedWork);
10936 currentHoistableRoot = flags;
10937 break;
10938 case 12:
10939 flags = pushNestedEffectDurations();
10940 recursivelyTraverseMutationEffects(root2, finishedWork);
10941 commitReconciliationEffects(finishedWork);
10942 finishedWork.stateNode.effectDuration += bubbleNestedEffectDurations(flags);
10943 break;
10944 case 31:
10945 recursivelyTraverseMutationEffects(root2, finishedWork);
10946 commitReconciliationEffects(finishedWork);
10947 flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
10948 break;
10949 case 13:
10950 recursivelyTraverseMutationEffects(root2, finishedWork);
10951 commitReconciliationEffects(finishedWork);
10952 finishedWork.child.flags & 8192 && null !== finishedWork.memoizedState !== (null !== current2 && null !== current2.memoizedState) && (globalMostRecentFallbackTime = now$1());
10953 flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
10954 break;
10955 case 22:
10956 existingHiddenCallbacks = null !== finishedWork.memoizedState;
10957 var wasHidden = null !== current2 && null !== current2.memoizedState, prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;
10958 offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || existingHiddenCallbacks;
10959 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;
10960 recursivelyTraverseMutationEffects(root2, finishedWork);
10961 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
10962 offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;
10963 wasHidden && !existingHiddenCallbacks && !prevOffscreenSubtreeIsHidden && !prevOffscreenSubtreeWasHidden && (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(
10964 finishedWork,
10965 componentEffectStartTime,
10966 componentEffectEndTime
10967 );
10968 commitReconciliationEffects(finishedWork);
10969 if (flags & 8192)
10970 a: for (root2 = finishedWork.stateNode, root2._visibility = existingHiddenCallbacks ? root2._visibility & ~OffscreenVisible : root2._visibility | OffscreenVisible, !existingHiddenCallbacks || null === current2 || wasHidden || offscreenSubtreeIsHidden || offscreenSubtreeWasHidden || (recursivelyTraverseDisappearLayoutEffects(finishedWork), (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
10971 finishedWork,
10972 componentEffectStartTime,
10973 componentEffectEndTime,
10974 "Disconnect"
10975 )), current2 = null, root2 = finishedWork; ; ) {
10976 if (5 === root2.tag || 26 === root2.tag) {
10977 if (null === current2) {
10978 wasHidden = current2 = root2;
10979 try {
10980 currentResource = wasHidden.stateNode, existingHiddenCallbacks ? runWithFiberInDEV(
10981 wasHidden,
10982 hideInstance,
10983 currentResource
10984 ) : runWithFiberInDEV(
10985 wasHidden,
10986 unhideInstance,
10987 wasHidden.stateNode,
10988 wasHidden.memoizedProps
10989 );
10990 } catch (error) {
10991 captureCommitPhaseError(wasHidden, wasHidden.return, error);
10992 }
10993 }
10994 } else if (6 === root2.tag) {
10995 if (null === current2) {
10996 wasHidden = root2;
10997 try {
10998 maybeNodes = wasHidden.stateNode, existingHiddenCallbacks ? runWithFiberInDEV(
10999 wasHidden,
11000 hideTextInstance,
11001 maybeNodes
11002 ) : runWithFiberInDEV(
11003 wasHidden,
11004 unhideTextInstance,
11005 maybeNodes,
11006 wasHidden.memoizedProps
11007 );
11008 } catch (error) {
11009 captureCommitPhaseError(wasHidden, wasHidden.return, error);
11010 }
11011 }
11012 } else if (18 === root2.tag) {
11013 if (null === current2) {
11014 wasHidden = root2;
11015 try {
11016 i = wasHidden.stateNode, existingHiddenCallbacks ? runWithFiberInDEV(
11017 wasHidden,
11018 hideDehydratedBoundary,
11019 i
11020 ) : runWithFiberInDEV(
11021 wasHidden,
11022 unhideDehydratedBoundary,
11023 wasHidden.stateNode
11024 );
11025 } catch (error) {
11026 captureCommitPhaseError(wasHidden, wasHidden.return, error);
11027 }
11028 }
11029 } else if ((22 !== root2.tag && 23 !== root2.tag || null === root2.memoizedState || root2 === finishedWork) && null !== root2.child) {
11030 root2.child.return = root2;
11031 root2 = root2.child;
11032 continue;
11033 }
11034 if (root2 === finishedWork) break a;
11035 for (; null === root2.sibling; ) {
11036 if (null === root2.return || root2.return === finishedWork)
11037 break a;
11038 current2 === root2 && (current2 = null);
11039 root2 = root2.return;
11040 }
11041 current2 === root2 && (current2 = null);
11042 root2.sibling.return = root2.return;
11043 root2 = root2.sibling;
11044 }
11045 flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (current2 = flags.retryQueue, null !== current2 && (flags.retryQueue = null, attachSuspenseRetryListeners(finishedWork, current2))));
11046 break;
11047 case 19:
11048 recursivelyTraverseMutationEffects(root2, finishedWork);
11049 commitReconciliationEffects(finishedWork);
11050 flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
11051 break;
11052 case 30:
11053 break;
11054 case 21:
11055 break;
11056 default:
11057 recursivelyTraverseMutationEffects(root2, finishedWork), commitReconciliationEffects(finishedWork);
11058 }
11059 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11060 finishedWork,
11061 componentEffectStartTime,
11062 componentEffectEndTime,
11063 componentEffectDuration,
11064 componentEffectErrors
11065 ), null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate && 0.05 < componentEffectEndTime - componentEffectStartTime && (isHydratingParent(
11066 finishedWork.return.alternate,
11067 finishedWork.return
11068 ) || logComponentTrigger(
11069 finishedWork,
11070 componentEffectStartTime,
11071 componentEffectEndTime,
11072 "Mount"
11073 )));
11074 popComponentEffectStart(prevEffectStart);
11075 popComponentEffectDuration(prevEffectDuration);
11076 componentEffectErrors = prevEffectErrors;
11077 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11078 }
11079 function commitReconciliationEffects(finishedWork) {
11080 var flags = finishedWork.flags;
11081 if (flags & 2) {
11082 try {
11083 runWithFiberInDEV(finishedWork, commitPlacement, finishedWork);
11084 } catch (error) {
11085 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11086 }
11087 finishedWork.flags &= -3;
11088 }
11089 flags & 4096 && (finishedWork.flags &= -4097);
11090 }
11091 function recursivelyResetForms(parentFiber) {
11092 if (parentFiber.subtreeFlags & 1024)
11093 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
11094 var fiber = parentFiber;
11095 recursivelyResetForms(fiber);
11096 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset();
11097 parentFiber = parentFiber.sibling;
11098 }
11099 }
11100 function recursivelyTraverseLayoutEffects(root2, parentFiber) {
11101 if (parentFiber.subtreeFlags & 8772)
11102 for (parentFiber = parentFiber.child; null !== parentFiber; )
11103 commitLayoutEffectOnFiber(root2, parentFiber.alternate, parentFiber), parentFiber = parentFiber.sibling;
11104 }
11105 function disappearLayoutEffects(finishedWork) {
11106 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
11107 switch (finishedWork.tag) {
11108 case 0:
11109 case 11:
11110 case 14:
11111 case 15:
11112 commitHookLayoutUnmountEffects(
11113 finishedWork,
11114 finishedWork.return,
11115 Layout
11116 );
11117 recursivelyTraverseDisappearLayoutEffects(finishedWork);
11118 break;
11119 case 1:
11120 safelyDetachRef(finishedWork, finishedWork.return);
11121 var instance = finishedWork.stateNode;
11122 "function" === typeof instance.componentWillUnmount && safelyCallComponentWillUnmount(
11123 finishedWork,
11124 finishedWork.return,
11125 instance
11126 );
11127 recursivelyTraverseDisappearLayoutEffects(finishedWork);
11128 break;
11129 case 27:
11130 runWithFiberInDEV(
11131 finishedWork,
11132 releaseSingletonInstance,
11133 finishedWork.stateNode
11134 );
11135 case 26:
11136 case 5:
11137 safelyDetachRef(finishedWork, finishedWork.return);
11138 recursivelyTraverseDisappearLayoutEffects(finishedWork);
11139 break;
11140 case 22:
11141 null === finishedWork.memoizedState && recursivelyTraverseDisappearLayoutEffects(finishedWork);
11142 break;
11143 case 30:
11144 recursivelyTraverseDisappearLayoutEffects(finishedWork);
11145 break;
11146 default:
11147 recursivelyTraverseDisappearLayoutEffects(finishedWork);
11148 }
11149 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11150 finishedWork,
11151 componentEffectStartTime,
11152 componentEffectEndTime,
11153 componentEffectDuration,
11154 componentEffectErrors
11155 );
11156 popComponentEffectStart(prevEffectStart);
11157 popComponentEffectDuration(prevEffectDuration);
11158 componentEffectErrors = prevEffectErrors;
11159 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11160 }
11161 function recursivelyTraverseDisappearLayoutEffects(parentFiber) {
11162 for (parentFiber = parentFiber.child; null !== parentFiber; )
11163 disappearLayoutEffects(parentFiber), parentFiber = parentFiber.sibling;
11164 }
11165 function reappearLayoutEffects(finishedRoot, current2, finishedWork, includeWorkInProgressEffects) {
11166 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), flags = finishedWork.flags;
11167 switch (finishedWork.tag) {
11168 case 0:
11169 case 11:
11170 case 15:
11171 recursivelyTraverseReappearLayoutEffects(
11172 finishedRoot,
11173 finishedWork,
11174 includeWorkInProgressEffects
11175 );
11176 commitHookLayoutEffects(finishedWork, Layout);
11177 break;
11178 case 1:
11179 recursivelyTraverseReappearLayoutEffects(
11180 finishedRoot,
11181 finishedWork,
11182 includeWorkInProgressEffects
11183 );
11184 current2 = finishedWork.stateNode;
11185 "function" === typeof current2.componentDidMount && runWithFiberInDEV(
11186 finishedWork,
11187 callComponentDidMountInDEV,
11188 finishedWork,
11189 current2
11190 );
11191 current2 = finishedWork.updateQueue;
11192 if (null !== current2) {
11193 finishedRoot = finishedWork.stateNode;
11194 try {
11195 runWithFiberInDEV(
11196 finishedWork,
11197 commitHiddenCallbacks,
11198 current2,
11199 finishedRoot
11200 );
11201 } catch (error) {
11202 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11203 }
11204 }
11205 includeWorkInProgressEffects && flags & 64 && commitClassCallbacks(finishedWork);
11206 safelyAttachRef(finishedWork, finishedWork.return);
11207 break;
11208 case 27:
11209 commitHostSingletonAcquisition(finishedWork);
11210 case 26:
11211 case 5:
11212 recursivelyTraverseReappearLayoutEffects(
11213 finishedRoot,
11214 finishedWork,
11215 includeWorkInProgressEffects
11216 );
11217 includeWorkInProgressEffects && null === current2 && flags & 4 && commitHostMount(finishedWork);
11218 safelyAttachRef(finishedWork, finishedWork.return);
11219 break;
11220 case 12:
11221 if (includeWorkInProgressEffects && flags & 4) {
11222 flags = pushNestedEffectDurations();
11223 recursivelyTraverseReappearLayoutEffects(
11224 finishedRoot,
11225 finishedWork,
11226 includeWorkInProgressEffects
11227 );
11228 includeWorkInProgressEffects = finishedWork.stateNode;
11229 includeWorkInProgressEffects.effectDuration += bubbleNestedEffectDurations(flags);
11230 try {
11231 runWithFiberInDEV(
11232 finishedWork,
11233 commitProfiler,
11234 finishedWork,
11235 current2,
11236 commitStartTime,
11237 includeWorkInProgressEffects.effectDuration
11238 );
11239 } catch (error) {
11240 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11241 }
11242 } else
11243 recursivelyTraverseReappearLayoutEffects(
11244 finishedRoot,
11245 finishedWork,
11246 includeWorkInProgressEffects
11247 );
11248 break;
11249 case 31:
11250 recursivelyTraverseReappearLayoutEffects(
11251 finishedRoot,
11252 finishedWork,
11253 includeWorkInProgressEffects
11254 );
11255 includeWorkInProgressEffects && flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);
11256 break;
11257 case 13:
11258 recursivelyTraverseReappearLayoutEffects(
11259 finishedRoot,
11260 finishedWork,
11261 includeWorkInProgressEffects
11262 );
11263 includeWorkInProgressEffects && flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
11264 break;
11265 case 22:
11266 null === finishedWork.memoizedState && recursivelyTraverseReappearLayoutEffects(
11267 finishedRoot,
11268 finishedWork,
11269 includeWorkInProgressEffects
11270 );
11271 safelyAttachRef(finishedWork, finishedWork.return);
11272 break;
11273 case 30:
11274 break;
11275 default:
11276 recursivelyTraverseReappearLayoutEffects(
11277 finishedRoot,
11278 finishedWork,
11279 includeWorkInProgressEffects
11280 );
11281 }
11282 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11283 finishedWork,
11284 componentEffectStartTime,
11285 componentEffectEndTime,
11286 componentEffectDuration,
11287 componentEffectErrors
11288 );
11289 popComponentEffectStart(prevEffectStart);
11290 popComponentEffectDuration(prevEffectDuration);
11291 componentEffectErrors = prevEffectErrors;
11292 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11293 }
11294 function recursivelyTraverseReappearLayoutEffects(finishedRoot, parentFiber, includeWorkInProgressEffects) {
11295 includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);
11296 for (parentFiber = parentFiber.child; null !== parentFiber; )
11297 reappearLayoutEffects(
11298 finishedRoot,
11299 parentFiber.alternate,
11300 parentFiber,
11301 includeWorkInProgressEffects
11302 ), parentFiber = parentFiber.sibling;
11303 }
11304 function commitOffscreenPassiveMountEffects(current2, finishedWork) {
11305 var previousCache = null;
11306 null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (previousCache = current2.memoizedState.cachePool.pool);
11307 current2 = null;
11308 null !== finishedWork.memoizedState && null !== finishedWork.memoizedState.cachePool && (current2 = finishedWork.memoizedState.cachePool.pool);
11309 current2 !== previousCache && (null != current2 && retainCache(current2), null != previousCache && releaseCache(previousCache));
11310 }
11311 function commitCachePassiveMountEffect(current2, finishedWork) {
11312 current2 = null;
11313 null !== finishedWork.alternate && (current2 = finishedWork.alternate.memoizedState.cache);
11314 finishedWork = finishedWork.memoizedState.cache;
11315 finishedWork !== current2 && (retainCache(finishedWork), null != current2 && releaseCache(current2));
11316 }
11317 function recursivelyTraversePassiveMountEffects(root2, parentFiber, committedLanes, committedTransitions, endTime) {
11318 if (parentFiber.subtreeFlags & 10256 || 0 !== parentFiber.actualDuration && (null === parentFiber.alternate || parentFiber.alternate.child !== parentFiber.child))
11319 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
11320 var nextSibling = parentFiber.sibling;
11321 commitPassiveMountOnFiber(
11322 root2,
11323 parentFiber,
11324 committedLanes,
11325 committedTransitions,
11326 null !== nextSibling ? nextSibling.actualStartTime : endTime
11327 );
11328 parentFiber = nextSibling;
11329 }
11330 }
11331 function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime) {
11332 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), prevDeepEquality = alreadyWarnedForDeepEquality, flags = finishedWork.flags;
11333 switch (finishedWork.tag) {
11334 case 0:
11335 case 11:
11336 case 15:
11337 (finishedWork.mode & ProfileMode) !== NoMode && 0 < finishedWork.actualStartTime && 0 !== (finishedWork.flags & 1) && logComponentRender(
11338 finishedWork,
11339 finishedWork.actualStartTime,
11340 endTime,
11341 inHydratedSubtree,
11342 committedLanes
11343 );
11344 recursivelyTraversePassiveMountEffects(
11345 finishedRoot,
11346 finishedWork,
11347 committedLanes,
11348 committedTransitions,
11349 endTime
11350 );
11351 flags & 2048 && commitHookPassiveMountEffects(finishedWork, Passive | HasEffect);
11352 break;
11353 case 1:
11354 (finishedWork.mode & ProfileMode) !== NoMode && 0 < finishedWork.actualStartTime && (0 !== (finishedWork.flags & 128) ? logComponentErrored(
11355 finishedWork,
11356 finishedWork.actualStartTime,
11357 endTime,
11358 []
11359 ) : 0 !== (finishedWork.flags & 1) && logComponentRender(
11360 finishedWork,
11361 finishedWork.actualStartTime,
11362 endTime,
11363 inHydratedSubtree,
11364 committedLanes
11365 ));
11366 recursivelyTraversePassiveMountEffects(
11367 finishedRoot,
11368 finishedWork,
11369 committedLanes,
11370 committedTransitions,
11371 endTime
11372 );
11373 break;
11374 case 3:
11375 var prevProfilerEffectDuration = pushNestedEffectDurations(), wasInHydratedSubtree = inHydratedSubtree;
11376 inHydratedSubtree = null !== finishedWork.alternate && finishedWork.alternate.memoizedState.isDehydrated && 0 === (finishedWork.flags & 256);
11377 recursivelyTraversePassiveMountEffects(
11378 finishedRoot,
11379 finishedWork,
11380 committedLanes,
11381 committedTransitions,
11382 endTime
11383 );
11384 inHydratedSubtree = wasInHydratedSubtree;
11385 flags & 2048 && (committedLanes = null, null !== finishedWork.alternate && (committedLanes = finishedWork.alternate.memoizedState.cache), committedTransitions = finishedWork.memoizedState.cache, committedTransitions !== committedLanes && (retainCache(committedTransitions), null != committedLanes && releaseCache(committedLanes)));
11386 finishedRoot.passiveEffectDuration += popNestedEffectDurations(
11387 prevProfilerEffectDuration
11388 );
11389 break;
11390 case 12:
11391 if (flags & 2048) {
11392 flags = pushNestedEffectDurations();
11393 recursivelyTraversePassiveMountEffects(
11394 finishedRoot,
11395 finishedWork,
11396 committedLanes,
11397 committedTransitions,
11398 endTime
11399 );
11400 finishedRoot = finishedWork.stateNode;
11401 finishedRoot.passiveEffectDuration += bubbleNestedEffectDurations(flags);
11402 try {
11403 runWithFiberInDEV(
11404 finishedWork,
11405 commitProfilerPostCommitImpl,
11406 finishedWork,
11407 finishedWork.alternate,
11408 commitStartTime,
11409 finishedRoot.passiveEffectDuration
11410 );
11411 } catch (error) {
11412 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11413 }
11414 } else
11415 recursivelyTraversePassiveMountEffects(
11416 finishedRoot,
11417 finishedWork,
11418 committedLanes,
11419 committedTransitions,
11420 endTime
11421 );
11422 break;
11423 case 31:
11424 flags = inHydratedSubtree;
11425 prevProfilerEffectDuration = null !== finishedWork.alternate ? finishedWork.alternate.memoizedState : null;
11426 wasInHydratedSubtree = finishedWork.memoizedState;
11427 null !== prevProfilerEffectDuration && null === wasInHydratedSubtree ? (wasInHydratedSubtree = finishedWork.deletions, null !== wasInHydratedSubtree && 0 < wasInHydratedSubtree.length && 18 === wasInHydratedSubtree[0].tag ? (inHydratedSubtree = false, prevProfilerEffectDuration = prevProfilerEffectDuration.hydrationErrors, null !== prevProfilerEffectDuration && logComponentErrored(
11428 finishedWork,
11429 finishedWork.actualStartTime,
11430 endTime,
11431 prevProfilerEffectDuration
11432 )) : inHydratedSubtree = true) : inHydratedSubtree = false;
11433 recursivelyTraversePassiveMountEffects(
11434 finishedRoot,
11435 finishedWork,
11436 committedLanes,
11437 committedTransitions,
11438 endTime
11439 );
11440 inHydratedSubtree = flags;
11441 break;
11442 case 13:
11443 flags = inHydratedSubtree;
11444 prevProfilerEffectDuration = null !== finishedWork.alternate ? finishedWork.alternate.memoizedState : null;
11445 wasInHydratedSubtree = finishedWork.memoizedState;
11446 null === prevProfilerEffectDuration || null === prevProfilerEffectDuration.dehydrated || null !== wasInHydratedSubtree && null !== wasInHydratedSubtree.dehydrated ? inHydratedSubtree = false : (wasInHydratedSubtree = finishedWork.deletions, null !== wasInHydratedSubtree && 0 < wasInHydratedSubtree.length && 18 === wasInHydratedSubtree[0].tag ? (inHydratedSubtree = false, prevProfilerEffectDuration = prevProfilerEffectDuration.hydrationErrors, null !== prevProfilerEffectDuration && logComponentErrored(
11447 finishedWork,
11448 finishedWork.actualStartTime,
11449 endTime,
11450 prevProfilerEffectDuration
11451 )) : inHydratedSubtree = true);
11452 recursivelyTraversePassiveMountEffects(
11453 finishedRoot,
11454 finishedWork,
11455 committedLanes,
11456 committedTransitions,
11457 endTime
11458 );
11459 inHydratedSubtree = flags;
11460 break;
11461 case 23:
11462 break;
11463 case 22:
11464 wasInHydratedSubtree = finishedWork.stateNode;
11465 prevProfilerEffectDuration = finishedWork.alternate;
11466 null !== finishedWork.memoizedState ? wasInHydratedSubtree._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects(
11467 finishedRoot,
11468 finishedWork,
11469 committedLanes,
11470 committedTransitions,
11471 endTime
11472 ) : recursivelyTraverseAtomicPassiveEffects(
11473 finishedRoot,
11474 finishedWork,
11475 committedLanes,
11476 committedTransitions,
11477 endTime
11478 ) : wasInHydratedSubtree._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects(
11479 finishedRoot,
11480 finishedWork,
11481 committedLanes,
11482 committedTransitions,
11483 endTime
11484 ) : (wasInHydratedSubtree._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects(
11485 finishedRoot,
11486 finishedWork,
11487 committedLanes,
11488 committedTransitions,
11489 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== finishedWork.actualDuration && (null === finishedWork.alternate || finishedWork.alternate.child !== finishedWork.child),
11490 endTime
11491 ), (finishedWork.mode & ProfileMode) === NoMode || inHydratedSubtree || (finishedRoot = finishedWork.actualStartTime, 0 <= finishedRoot && 0.05 < endTime - finishedRoot && logComponentReappeared(finishedWork, finishedRoot, endTime), 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(
11492 finishedWork,
11493 componentEffectStartTime,
11494 componentEffectEndTime
11495 )));
11496 flags & 2048 && commitOffscreenPassiveMountEffects(
11497 prevProfilerEffectDuration,
11498 finishedWork
11499 );
11500 break;
11501 case 24:
11502 recursivelyTraversePassiveMountEffects(
11503 finishedRoot,
11504 finishedWork,
11505 committedLanes,
11506 committedTransitions,
11507 endTime
11508 );
11509 flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
11510 break;
11511 default:
11512 recursivelyTraversePassiveMountEffects(
11513 finishedRoot,
11514 finishedWork,
11515 committedLanes,
11516 committedTransitions,
11517 endTime
11518 );
11519 }
11520 if ((finishedWork.mode & ProfileMode) !== NoMode) {
11521 if (finishedRoot = !inHydratedSubtree && null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate)
11522 committedLanes = finishedWork.actualStartTime, 0 <= committedLanes && 0.05 < endTime - committedLanes && logComponentTrigger(
11523 finishedWork,
11524 committedLanes,
11525 endTime,
11526 "Mount"
11527 );
11528 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11529 finishedWork,
11530 componentEffectStartTime,
11531 componentEffectEndTime,
11532 componentEffectDuration,
11533 componentEffectErrors
11534 ), finishedRoot && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
11535 finishedWork,
11536 componentEffectStartTime,
11537 componentEffectEndTime,
11538 "Mount"
11539 ));
11540 }
11541 popComponentEffectStart(prevEffectStart);
11542 popComponentEffectDuration(prevEffectDuration);
11543 componentEffectErrors = prevEffectErrors;
11544 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11545 alreadyWarnedForDeepEquality = prevDeepEquality;
11546 }
11547 function recursivelyTraverseReconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime) {
11548 includeWorkInProgressEffects = includeWorkInProgressEffects && (0 !== (parentFiber.subtreeFlags & 10256) || 0 !== parentFiber.actualDuration && (null === parentFiber.alternate || parentFiber.alternate.child !== parentFiber.child));
11549 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
11550 var nextSibling = parentFiber.sibling;
11551 reconnectPassiveEffects(
11552 finishedRoot,
11553 parentFiber,
11554 committedLanes,
11555 committedTransitions,
11556 includeWorkInProgressEffects,
11557 null !== nextSibling ? nextSibling.actualStartTime : endTime
11558 );
11559 parentFiber = nextSibling;
11560 }
11561 }
11562 function reconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime) {
11563 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), prevDeepEquality = alreadyWarnedForDeepEquality;
11564 includeWorkInProgressEffects && (finishedWork.mode & ProfileMode) !== NoMode && 0 < finishedWork.actualStartTime && 0 !== (finishedWork.flags & 1) && logComponentRender(
11565 finishedWork,
11566 finishedWork.actualStartTime,
11567 endTime,
11568 inHydratedSubtree,
11569 committedLanes
11570 );
11571 var flags = finishedWork.flags;
11572 switch (finishedWork.tag) {
11573 case 0:
11574 case 11:
11575 case 15:
11576 recursivelyTraverseReconnectPassiveEffects(
11577 finishedRoot,
11578 finishedWork,
11579 committedLanes,
11580 committedTransitions,
11581 includeWorkInProgressEffects,
11582 endTime
11583 );
11584 commitHookPassiveMountEffects(finishedWork, Passive);
11585 break;
11586 case 23:
11587 break;
11588 case 22:
11589 var _instance2 = finishedWork.stateNode;
11590 null !== finishedWork.memoizedState ? _instance2._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraverseReconnectPassiveEffects(
11591 finishedRoot,
11592 finishedWork,
11593 committedLanes,
11594 committedTransitions,
11595 includeWorkInProgressEffects,
11596 endTime
11597 ) : recursivelyTraverseAtomicPassiveEffects(
11598 finishedRoot,
11599 finishedWork,
11600 committedLanes,
11601 committedTransitions,
11602 endTime
11603 ) : (_instance2._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects(
11604 finishedRoot,
11605 finishedWork,
11606 committedLanes,
11607 committedTransitions,
11608 includeWorkInProgressEffects,
11609 endTime
11610 ));
11611 includeWorkInProgressEffects && flags & 2048 && commitOffscreenPassiveMountEffects(
11612 finishedWork.alternate,
11613 finishedWork
11614 );
11615 break;
11616 case 24:
11617 recursivelyTraverseReconnectPassiveEffects(
11618 finishedRoot,
11619 finishedWork,
11620 committedLanes,
11621 committedTransitions,
11622 includeWorkInProgressEffects,
11623 endTime
11624 );
11625 includeWorkInProgressEffects && flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
11626 break;
11627 default:
11628 recursivelyTraverseReconnectPassiveEffects(
11629 finishedRoot,
11630 finishedWork,
11631 committedLanes,
11632 committedTransitions,
11633 includeWorkInProgressEffects,
11634 endTime
11635 );
11636 }
11637 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11638 finishedWork,
11639 componentEffectStartTime,
11640 componentEffectEndTime,
11641 componentEffectDuration,
11642 componentEffectErrors
11643 );
11644 popComponentEffectStart(prevEffectStart);
11645 popComponentEffectDuration(prevEffectDuration);
11646 componentEffectErrors = prevEffectErrors;
11647 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11648 alreadyWarnedForDeepEquality = prevDeepEquality;
11649 }
11650 function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0, parentFiber, committedLanes$jscomp$0, committedTransitions$jscomp$0, endTime$jscomp$0) {
11651 if (parentFiber.subtreeFlags & 10256 || 0 !== parentFiber.actualDuration && (null === parentFiber.alternate || parentFiber.alternate.child !== parentFiber.child))
11652 for (var child = parentFiber.child; null !== child; ) {
11653 parentFiber = child.sibling;
11654 var finishedRoot = finishedRoot$jscomp$0, committedLanes = committedLanes$jscomp$0, committedTransitions = committedTransitions$jscomp$0, endTime = null !== parentFiber ? parentFiber.actualStartTime : endTime$jscomp$0, prevDeepEquality = alreadyWarnedForDeepEquality;
11655 (child.mode & ProfileMode) !== NoMode && 0 < child.actualStartTime && 0 !== (child.flags & 1) && logComponentRender(
11656 child,
11657 child.actualStartTime,
11658 endTime,
11659 inHydratedSubtree,
11660 committedLanes
11661 );
11662 var flags = child.flags;
11663 switch (child.tag) {
11664 case 22:
11665 recursivelyTraverseAtomicPassiveEffects(
11666 finishedRoot,
11667 child,
11668 committedLanes,
11669 committedTransitions,
11670 endTime
11671 );
11672 flags & 2048 && commitOffscreenPassiveMountEffects(child.alternate, child);
11673 break;
11674 case 24:
11675 recursivelyTraverseAtomicPassiveEffects(
11676 finishedRoot,
11677 child,
11678 committedLanes,
11679 committedTransitions,
11680 endTime
11681 );
11682 flags & 2048 && commitCachePassiveMountEffect(child.alternate, child);
11683 break;
11684 default:
11685 recursivelyTraverseAtomicPassiveEffects(
11686 finishedRoot,
11687 child,
11688 committedLanes,
11689 committedTransitions,
11690 endTime
11691 );
11692 }
11693 alreadyWarnedForDeepEquality = prevDeepEquality;
11694 child = parentFiber;
11695 }
11696 }
11697 function recursivelyAccumulateSuspenseyCommit(parentFiber, committedLanes, suspendedState) {
11698 if (parentFiber.subtreeFlags & suspenseyCommitFlag)
11699 for (parentFiber = parentFiber.child; null !== parentFiber; )
11700 accumulateSuspenseyCommitOnFiber(
11701 parentFiber,
11702 committedLanes,
11703 suspendedState
11704 ), parentFiber = parentFiber.sibling;
11705 }
11706 function accumulateSuspenseyCommitOnFiber(fiber, committedLanes, suspendedState) {
11707 switch (fiber.tag) {
11708 case 26:
11709 recursivelyAccumulateSuspenseyCommit(
11710 fiber,
11711 committedLanes,
11712 suspendedState
11713 );
11714 fiber.flags & suspenseyCommitFlag && null !== fiber.memoizedState && suspendResource(
11715 suspendedState,
11716 currentHoistableRoot,
11717 fiber.memoizedState,
11718 fiber.memoizedProps
11719 );
11720 break;
11721 case 5:
11722 recursivelyAccumulateSuspenseyCommit(
11723 fiber,
11724 committedLanes,
11725 suspendedState
11726 );
11727 break;
11728 case 3:
11729 case 4:
11730 var previousHoistableRoot = currentHoistableRoot;
11731 currentHoistableRoot = getHoistableRoot(
11732 fiber.stateNode.containerInfo
11733 );
11734 recursivelyAccumulateSuspenseyCommit(
11735 fiber,
11736 committedLanes,
11737 suspendedState
11738 );
11739 currentHoistableRoot = previousHoistableRoot;
11740 break;
11741 case 22:
11742 null === fiber.memoizedState && (previousHoistableRoot = fiber.alternate, null !== previousHoistableRoot && null !== previousHoistableRoot.memoizedState ? (previousHoistableRoot = suspenseyCommitFlag, suspenseyCommitFlag = 16777216, recursivelyAccumulateSuspenseyCommit(
11743 fiber,
11744 committedLanes,
11745 suspendedState
11746 ), suspenseyCommitFlag = previousHoistableRoot) : recursivelyAccumulateSuspenseyCommit(
11747 fiber,
11748 committedLanes,
11749 suspendedState
11750 ));
11751 break;
11752 default:
11753 recursivelyAccumulateSuspenseyCommit(
11754 fiber,
11755 committedLanes,
11756 suspendedState
11757 );
11758 }
11759 }
11760 function detachAlternateSiblings(parentFiber) {
11761 var previousFiber = parentFiber.alternate;
11762 if (null !== previousFiber && (parentFiber = previousFiber.child, null !== parentFiber)) {
11763 previousFiber.child = null;
11764 do
11765 previousFiber = parentFiber.sibling, parentFiber.sibling = null, parentFiber = previousFiber;
11766 while (null !== parentFiber);
11767 }
11768 }
11769 function recursivelyTraversePassiveUnmountEffects(parentFiber) {
11770 var deletions = parentFiber.deletions;
11771 if (0 !== (parentFiber.flags & 16)) {
11772 if (null !== deletions)
11773 for (var i = 0; i < deletions.length; i++) {
11774 var childToDelete = deletions[i], prevEffectStart = pushComponentEffectStart();
11775 nextEffect = childToDelete;
11776 commitPassiveUnmountEffectsInsideOfDeletedTree_begin(
11777 childToDelete,
11778 parentFiber
11779 );
11780 (childToDelete.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
11781 childToDelete,
11782 componentEffectStartTime,
11783 componentEffectEndTime,
11784 "Unmount"
11785 );
11786 popComponentEffectStart(prevEffectStart);
11787 }
11788 detachAlternateSiblings(parentFiber);
11789 }
11790 if (parentFiber.subtreeFlags & 10256)
11791 for (parentFiber = parentFiber.child; null !== parentFiber; )
11792 commitPassiveUnmountOnFiber(parentFiber), parentFiber = parentFiber.sibling;
11793 }
11794 function commitPassiveUnmountOnFiber(finishedWork) {
11795 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
11796 switch (finishedWork.tag) {
11797 case 0:
11798 case 11:
11799 case 15:
11800 recursivelyTraversePassiveUnmountEffects(finishedWork);
11801 finishedWork.flags & 2048 && commitHookPassiveUnmountEffects(
11802 finishedWork,
11803 finishedWork.return,
11804 Passive | HasEffect
11805 );
11806 break;
11807 case 3:
11808 var prevProfilerEffectDuration = pushNestedEffectDurations();
11809 recursivelyTraversePassiveUnmountEffects(finishedWork);
11810 finishedWork.stateNode.passiveEffectDuration += popNestedEffectDurations(prevProfilerEffectDuration);
11811 break;
11812 case 12:
11813 prevProfilerEffectDuration = pushNestedEffectDurations();
11814 recursivelyTraversePassiveUnmountEffects(finishedWork);
11815 finishedWork.stateNode.passiveEffectDuration += bubbleNestedEffectDurations(prevProfilerEffectDuration);
11816 break;
11817 case 22:
11818 prevProfilerEffectDuration = finishedWork.stateNode;
11819 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(
11820 finishedWork,
11821 componentEffectStartTime,
11822 componentEffectEndTime,
11823 "Disconnect"
11824 )) : recursivelyTraversePassiveUnmountEffects(finishedWork);
11825 break;
11826 default:
11827 recursivelyTraversePassiveUnmountEffects(finishedWork);
11828 }
11829 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11830 finishedWork,
11831 componentEffectStartTime,
11832 componentEffectEndTime,
11833 componentEffectDuration,
11834 componentEffectErrors
11835 );
11836 popComponentEffectStart(prevEffectStart);
11837 popComponentEffectDuration(prevEffectDuration);
11838 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11839 componentEffectErrors = prevEffectErrors;
11840 }
11841 function recursivelyTraverseDisconnectPassiveEffects(parentFiber) {
11842 var deletions = parentFiber.deletions;
11843 if (0 !== (parentFiber.flags & 16)) {
11844 if (null !== deletions)
11845 for (var i = 0; i < deletions.length; i++) {
11846 var childToDelete = deletions[i], prevEffectStart = pushComponentEffectStart();
11847 nextEffect = childToDelete;
11848 commitPassiveUnmountEffectsInsideOfDeletedTree_begin(
11849 childToDelete,
11850 parentFiber
11851 );
11852 (childToDelete.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
11853 childToDelete,
11854 componentEffectStartTime,
11855 componentEffectEndTime,
11856 "Unmount"
11857 );
11858 popComponentEffectStart(prevEffectStart);
11859 }
11860 detachAlternateSiblings(parentFiber);
11861 }
11862 for (parentFiber = parentFiber.child; null !== parentFiber; )
11863 disconnectPassiveEffect(parentFiber), parentFiber = parentFiber.sibling;
11864 }
11865 function disconnectPassiveEffect(finishedWork) {
11866 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
11867 switch (finishedWork.tag) {
11868 case 0:
11869 case 11:
11870 case 15:
11871 commitHookPassiveUnmountEffects(
11872 finishedWork,
11873 finishedWork.return,
11874 Passive
11875 );
11876 recursivelyTraverseDisconnectPassiveEffects(finishedWork);
11877 break;
11878 case 22:
11879 var instance = finishedWork.stateNode;
11880 instance._visibility & OffscreenPassiveEffectsConnected && (instance._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork));
11881 break;
11882 default:
11883 recursivelyTraverseDisconnectPassiveEffects(finishedWork);
11884 }
11885 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11886 finishedWork,
11887 componentEffectStartTime,
11888 componentEffectEndTime,
11889 componentEffectDuration,
11890 componentEffectErrors
11891 );
11892 popComponentEffectStart(prevEffectStart);
11893 popComponentEffectDuration(prevEffectDuration);
11894 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11895 componentEffectErrors = prevEffectErrors;
11896 }
11897 function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor$jscomp$0) {
11898 for (; null !== nextEffect; ) {
11899 var fiber = nextEffect, current2 = fiber, nearestMountedAncestor = nearestMountedAncestor$jscomp$0, prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
11900 switch (current2.tag) {
11901 case 0:
11902 case 11:
11903 case 15:
11904 commitHookPassiveUnmountEffects(
11905 current2,
11906 nearestMountedAncestor,
11907 Passive
11908 );
11909 break;
11910 case 23:
11911 case 22:
11912 null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (nearestMountedAncestor = current2.memoizedState.cachePool.pool, null != nearestMountedAncestor && retainCache(nearestMountedAncestor));
11913 break;
11914 case 24:
11915 releaseCache(current2.memoizedState.cache);
11916 }
11917 (current2.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11918 current2,
11919 componentEffectStartTime,
11920 componentEffectEndTime,
11921 componentEffectDuration,
11922 componentEffectErrors
11923 );
11924 popComponentEffectStart(prevEffectStart);
11925 popComponentEffectDuration(prevEffectDuration);
11926 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11927 componentEffectErrors = prevEffectErrors;
11928 current2 = fiber.child;
11929 if (null !== current2) current2.return = fiber, nextEffect = current2;
11930 else
11931 a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {
11932 current2 = nextEffect;
11933 prevEffectStart = current2.sibling;
11934 prevEffectDuration = current2.return;
11935 detachFiberAfterEffects(current2);
11936 if (current2 === fiber) {
11937 nextEffect = null;
11938 break a;
11939 }
11940 if (null !== prevEffectStart) {
11941 prevEffectStart.return = prevEffectDuration;
11942 nextEffect = prevEffectStart;
11943 break a;
11944 }
11945 nextEffect = prevEffectDuration;
11946 }
11947 }
11948 }
11949 function onCommitRoot() {
11950 commitHooks.forEach(function(commitHook) {
11951 return commitHook();
11952 });
11953 }
11954 function isConcurrentActEnvironment() {
11955 var isReactActEnvironmentGlobal = "undefined" !== typeof IS_REACT_ACT_ENVIRONMENT ? IS_REACT_ACT_ENVIRONMENT : void 0;
11956 isReactActEnvironmentGlobal || null === ReactSharedInternals.actQueue || console.error(
11957 "The current testing environment is not configured to support act(...)"
11958 );
11959 return isReactActEnvironmentGlobal;
11960 }
11961 function requestUpdateLane(fiber) {
11962 if ((executionContext & RenderContext) !== NoContext && 0 !== workInProgressRootRenderLanes)
11963 return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;
11964 var transition = ReactSharedInternals.T;
11965 return null !== transition ? (transition._updatedFibers || (transition._updatedFibers = /* @__PURE__ */ new Set()), transition._updatedFibers.add(fiber), requestTransitionLane()) : resolveUpdatePriority();
11966 }
11967 function requestDeferredLane() {
11968 if (0 === workInProgressDeferredLane)
11969 if (0 === (workInProgressRootRenderLanes & 536870912) || isHydrating) {
11970 var lane = nextTransitionDeferredLane;
11971 nextTransitionDeferredLane <<= 1;
11972 0 === (nextTransitionDeferredLane & 3932160) && (nextTransitionDeferredLane = 262144);
11973 workInProgressDeferredLane = lane;
11974 } else workInProgressDeferredLane = 536870912;
11975 lane = suspenseHandlerStackCursor.current;
11976 null !== lane && (lane.flags |= 32);
11977 return workInProgressDeferredLane;
11978 }
11979 function scheduleUpdateOnFiber(root2, fiber, lane) {
11980 isRunningInsertionEffect && console.error("useInsertionEffect must not schedule updates.");
11981 isFlushingPassiveEffects && (didScheduleUpdateDuringPassiveEffects = true);
11982 if (root2 === workInProgressRoot && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit)
11983 prepareFreshStack(root2, 0), markRootSuspended(
11984 root2,
11985 workInProgressRootRenderLanes,
11986 workInProgressDeferredLane,
11987 false
11988 );
11989 markRootUpdated$1(root2, lane);
11990 if ((executionContext & RenderContext) !== NoContext && root2 === workInProgressRoot) {
11991 if (isRendering)
11992 switch (fiber.tag) {
11993 case 0:
11994 case 11:
11995 case 15:
11996 root2 = workInProgress && getComponentNameFromFiber(workInProgress) || "Unknown";
11997 didWarnAboutUpdateInRenderForAnotherComponent.has(root2) || (didWarnAboutUpdateInRenderForAnotherComponent.add(root2), fiber = getComponentNameFromFiber(fiber) || "Unknown", console.error(
11998 "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",
11999 fiber,
12000 root2,
12001 root2
12002 ));
12003 break;
12004 case 1:
12005 didWarnAboutUpdateInRender || (console.error(
12006 "Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."
12007 ), didWarnAboutUpdateInRender = true);
12008 }
12009 } else
12010 isDevToolsPresent && addFiberToLanesMap(root2, fiber, lane), warnIfUpdatesNotWrappedWithActDEV(fiber), root2 === workInProgressRoot && ((executionContext & RenderContext) === NoContext && (workInProgressRootInterleavedUpdatedLanes |= lane), workInProgressRootExitStatus === RootSuspendedWithDelay && markRootSuspended(
12011 root2,
12012 workInProgressRootRenderLanes,
12013 workInProgressDeferredLane,
12014 false
12015 )), ensureRootIsScheduled(root2);
12016 }
12017 function performWorkOnRoot(root2, lanes, forceSync) {
12018 if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
12019 throw Error("Should not already be working.");
12020 if (0 !== workInProgressRootRenderLanes && null !== workInProgress) {
12021 var yieldedFiber = workInProgress, yieldEndTime = now$1();
12022 switch (yieldReason) {
12023 case SuspendedOnImmediate:
12024 case SuspendedOnData:
12025 var startTime = yieldStartTime;
12026 supportsUserTiming && ((yieldedFiber = yieldedFiber._debugTask) ? yieldedFiber.run(
12027 console.timeStamp.bind(
12028 console,
12029 "Suspended",
12030 startTime,
12031 yieldEndTime,
12032 COMPONENTS_TRACK,
12033 void 0,
12034 "primary-light"
12035 )
12036 ) : console.timeStamp(
12037 "Suspended",
12038 startTime,
12039 yieldEndTime,
12040 COMPONENTS_TRACK,
12041 void 0,
12042 "primary-light"
12043 ));
12044 break;
12045 case SuspendedOnAction:
12046 startTime = yieldStartTime;
12047 supportsUserTiming && ((yieldedFiber = yieldedFiber._debugTask) ? yieldedFiber.run(
12048 console.timeStamp.bind(
12049 console,
12050 "Action",
12051 startTime,
12052 yieldEndTime,
12053 COMPONENTS_TRACK,
12054 void 0,
12055 "primary-light"
12056 )
12057 ) : console.timeStamp(
12058 "Action",
12059 startTime,
12060 yieldEndTime,
12061 COMPONENTS_TRACK,
12062 void 0,
12063 "primary-light"
12064 ));
12065 break;
12066 default:
12067 supportsUserTiming && (yieldedFiber = yieldEndTime - yieldStartTime, 3 > yieldedFiber || console.timeStamp(
12068 "Blocked",
12069 yieldStartTime,
12070 yieldEndTime,
12071 COMPONENTS_TRACK,
12072 void 0,
12073 5 > yieldedFiber ? "primary-light" : 10 > yieldedFiber ? "primary" : 100 > yieldedFiber ? "primary-dark" : "error"
12074 ));
12075 }
12076 }
12077 startTime = (forceSync = !forceSync && 0 === (lanes & 127) && 0 === (lanes & root2.expiredLanes) || checkIfRootIsPrerendering(root2, lanes)) ? renderRootConcurrent(root2, lanes) : renderRootSync(root2, lanes, true);
12078 var renderWasConcurrent = forceSync;
12079 do {
12080 if (startTime === RootInProgress) {
12081 workInProgressRootIsPrerendering && !forceSync && markRootSuspended(root2, lanes, 0, false);
12082 lanes = workInProgressSuspendedReason;
12083 yieldStartTime = now();
12084 yieldReason = lanes;
12085 break;
12086 } else {
12087 yieldedFiber = now$1();
12088 yieldEndTime = root2.current.alternate;
12089 if (renderWasConcurrent && !isRenderConsistentWithExternalStores(yieldEndTime)) {
12090 setCurrentTrackFromLanes(lanes);
12091 yieldEndTime = renderStartTime;
12092 startTime = yieldedFiber;
12093 !supportsUserTiming || startTime <= yieldEndTime || (workInProgressUpdateTask ? workInProgressUpdateTask.run(
12094 console.timeStamp.bind(
12095 console,
12096 "Teared Render",
12097 yieldEndTime,
12098 startTime,
12099 currentTrack,
12100 LANES_TRACK_GROUP,
12101 "error"
12102 )
12103 ) : console.timeStamp(
12104 "Teared Render",
12105 yieldEndTime,
12106 startTime,
12107 currentTrack,
12108 LANES_TRACK_GROUP,
12109 "error"
12110 ));
12111 finalizeRender(lanes, yieldedFiber);
12112 startTime = renderRootSync(root2, lanes, false);
12113 renderWasConcurrent = false;
12114 continue;
12115 }
12116 if (startTime === RootErrored) {
12117 renderWasConcurrent = lanes;
12118 if (root2.errorRecoveryDisabledLanes & renderWasConcurrent)
12119 var errorRetryLanes = 0;
12120 else
12121 errorRetryLanes = root2.pendingLanes & -536870913, errorRetryLanes = 0 !== errorRetryLanes ? errorRetryLanes : errorRetryLanes & 536870912 ? 536870912 : 0;
12122 if (0 !== errorRetryLanes) {
12123 setCurrentTrackFromLanes(lanes);
12124 logErroredRenderPhase(
12125 renderStartTime,
12126 yieldedFiber,
12127 lanes,
12128 workInProgressUpdateTask
12129 );
12130 finalizeRender(lanes, yieldedFiber);
12131 lanes = errorRetryLanes;
12132 a: {
12133 yieldedFiber = root2;
12134 startTime = renderWasConcurrent;
12135 renderWasConcurrent = workInProgressRootConcurrentErrors;
12136 var wasRootDehydrated = yieldedFiber.current.memoizedState.isDehydrated;
12137 wasRootDehydrated && (prepareFreshStack(yieldedFiber, errorRetryLanes).flags |= 256);
12138 errorRetryLanes = renderRootSync(
12139 yieldedFiber,
12140 errorRetryLanes,
12141 false
12142 );
12143 if (errorRetryLanes !== RootErrored) {
12144 if (workInProgressRootDidAttachPingListener && !wasRootDehydrated) {
12145 yieldedFiber.errorRecoveryDisabledLanes |= startTime;
12146 workInProgressRootInterleavedUpdatedLanes |= startTime;
12147 startTime = RootSuspendedWithDelay;
12148 break a;
12149 }
12150 yieldedFiber = workInProgressRootRecoverableErrors;
12151 workInProgressRootRecoverableErrors = renderWasConcurrent;
12152 null !== yieldedFiber && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = yieldedFiber : workInProgressRootRecoverableErrors.push.apply(
12153 workInProgressRootRecoverableErrors,
12154 yieldedFiber
12155 ));
12156 }
12157 startTime = errorRetryLanes;
12158 }
12159 renderWasConcurrent = false;
12160 if (startTime !== RootErrored) continue;
12161 else yieldedFiber = now$1();
12162 }
12163 }
12164 if (startTime === RootFatalErrored) {
12165 setCurrentTrackFromLanes(lanes);
12166 logErroredRenderPhase(
12167 renderStartTime,
12168 yieldedFiber,
12169 lanes,
12170 workInProgressUpdateTask
12171 );
12172 finalizeRender(lanes, yieldedFiber);
12173 prepareFreshStack(root2, 0);
12174 markRootSuspended(root2, lanes, 0, true);
12175 break;
12176 }
12177 a: {
12178 forceSync = root2;
12179 switch (startTime) {
12180 case RootInProgress:
12181 case RootFatalErrored:
12182 throw Error("Root did not complete. This is a bug in React.");
12183 case RootSuspendedWithDelay:
12184 if ((lanes & 4194048) !== lanes) break;
12185 case RootSuspendedAtTheShell:
12186 setCurrentTrackFromLanes(lanes);
12187 logSuspendedRenderPhase(
12188 renderStartTime,
12189 yieldedFiber,
12190 lanes,
12191 workInProgressUpdateTask
12192 );
12193 finalizeRender(lanes, yieldedFiber);
12194 yieldEndTime = lanes;
12195 0 !== (yieldEndTime & 127) ? blockingSuspendedTime = yieldedFiber : 0 !== (yieldEndTime & 4194048) && (transitionSuspendedTime = yieldedFiber);
12196 markRootSuspended(
12197 forceSync,
12198 lanes,
12199 workInProgressDeferredLane,
12200 !workInProgressRootDidSkipSuspendedSiblings
12201 );
12202 break a;
12203 case RootErrored:
12204 workInProgressRootRecoverableErrors = null;
12205 break;
12206 case RootSuspended:
12207 case RootCompleted:
12208 break;
12209 default:
12210 throw Error("Unknown root exit status.");
12211 }
12212 if (null !== ReactSharedInternals.actQueue)
12213 commitRoot(
12214 forceSync,
12215 yieldEndTime,
12216 lanes,
12217 workInProgressRootRecoverableErrors,
12218 workInProgressTransitions,
12219 workInProgressRootDidIncludeRecursiveRenderUpdate,
12220 workInProgressDeferredLane,
12221 workInProgressRootInterleavedUpdatedLanes,
12222 workInProgressSuspendedRetryLanes,
12223 startTime,
12224 null,
12225 null,
12226 renderStartTime,
12227 yieldedFiber
12228 );
12229 else {
12230 if ((lanes & 62914560) === lanes && (renderWasConcurrent = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now$1(), 10 < renderWasConcurrent)) {
12231 markRootSuspended(
12232 forceSync,
12233 lanes,
12234 workInProgressDeferredLane,
12235 !workInProgressRootDidSkipSuspendedSiblings
12236 );
12237 if (0 !== getNextLanes(forceSync, 0, true)) break a;
12238 pendingEffectsLanes = lanes;
12239 forceSync.timeoutHandle = scheduleTimeout(
12240 commitRootWhenReady.bind(
12241 null,
12242 forceSync,
12243 yieldEndTime,
12244 workInProgressRootRecoverableErrors,
12245 workInProgressTransitions,
12246 workInProgressRootDidIncludeRecursiveRenderUpdate,
12247 lanes,
12248 workInProgressDeferredLane,
12249 workInProgressRootInterleavedUpdatedLanes,
12250 workInProgressSuspendedRetryLanes,
12251 workInProgressRootDidSkipSuspendedSiblings,
12252 startTime,
12253 "Throttled",
12254 renderStartTime,
12255 yieldedFiber
12256 ),
12257 renderWasConcurrent
12258 );
12259 break a;
12260 }
12261 commitRootWhenReady(
12262 forceSync,
12263 yieldEndTime,
12264 workInProgressRootRecoverableErrors,
12265 workInProgressTransitions,
12266 workInProgressRootDidIncludeRecursiveRenderUpdate,
12267 lanes,
12268 workInProgressDeferredLane,
12269 workInProgressRootInterleavedUpdatedLanes,
12270 workInProgressSuspendedRetryLanes,
12271 workInProgressRootDidSkipSuspendedSiblings,
12272 startTime,
12273 null,
12274 renderStartTime,
12275 yieldedFiber
12276 );
12277 }
12278 }
12279 }
12280 break;
12281 } while (1);
12282 ensureRootIsScheduled(root2);
12283 }
12284 function commitRootWhenReady(root2, finishedWork, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, lanes, spawnedLane, updatedLanes, suspendedRetryLanes, didSkipSuspendedSiblings, exitStatus, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) {
12285 root2.timeoutHandle = noTimeout;
12286 var subtreeFlags = finishedWork.subtreeFlags, suspendedState = null;
12287 if (subtreeFlags & 8192 || 16785408 === (subtreeFlags & 16785408)) {
12288 if (suspendedState = {
12289 stylesheets: null,
12290 count: 0,
12291 imgCount: 0,
12292 imgBytes: 0,
12293 suspenseyImages: [],
12294 waitingForImages: true,
12295 waitingForViewTransition: false,
12296 unsuspend: noop$1
12297 }, accumulateSuspenseyCommitOnFiber(finishedWork, lanes, suspendedState), subtreeFlags = (lanes & 62914560) === lanes ? globalMostRecentFallbackTime - now$1() : (lanes & 4194048) === lanes ? globalMostRecentTransitionTime - now$1() : 0, subtreeFlags = waitForCommitToBeReady(suspendedState, subtreeFlags), null !== subtreeFlags) {
12298 pendingEffectsLanes = lanes;
12299 root2.cancelPendingCommit = subtreeFlags(
12300 commitRoot.bind(
12301 null,
12302 root2,
12303 finishedWork,
12304 lanes,
12305 recoverableErrors,
12306 transitions,
12307 didIncludeRenderPhaseUpdate,
12308 spawnedLane,
12309 updatedLanes,
12310 suspendedRetryLanes,
12311 exitStatus,
12312 suspendedState,
12313 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,
12314 completedRenderStartTime,
12315 completedRenderEndTime
12316 )
12317 );
12318 markRootSuspended(
12319 root2,
12320 lanes,
12321 spawnedLane,
12322 !didSkipSuspendedSiblings
12323 );
12324 return;
12325 }
12326 }
12327 commitRoot(
12328 root2,
12329 finishedWork,
12330 lanes,
12331 recoverableErrors,
12332 transitions,
12333 didIncludeRenderPhaseUpdate,
12334 spawnedLane,
12335 updatedLanes,
12336 suspendedRetryLanes,
12337 exitStatus,
12338 suspendedState,
12339 suspendedCommitReason,
12340 completedRenderStartTime,
12341 completedRenderEndTime
12342 );
12343 }
12344 function isRenderConsistentWithExternalStores(finishedWork) {
12345 for (var node = finishedWork; ; ) {
12346 var tag = node.tag;
12347 if ((0 === tag || 11 === tag || 15 === tag) && node.flags & 16384 && (tag = node.updateQueue, null !== tag && (tag = tag.stores, null !== tag)))
12348 for (var i = 0; i < tag.length; i++) {
12349 var check = tag[i], getSnapshot = check.getSnapshot;
12350 check = check.value;
12351 try {
12352 if (!objectIs(getSnapshot(), check)) return false;
12353 } catch (error) {
12354 return false;
12355 }
12356 }
12357 tag = node.child;
12358 if (node.subtreeFlags & 16384 && null !== tag)
12359 tag.return = node, node = tag;
12360 else {
12361 if (node === finishedWork) break;
12362 for (; null === node.sibling; ) {
12363 if (null === node.return || node.return === finishedWork) return true;
12364 node = node.return;
12365 }
12366 node.sibling.return = node.return;
12367 node = node.sibling;
12368 }
12369 }
12370 return true;
12371 }
12372 function markRootSuspended(root2, suspendedLanes, spawnedLane, didAttemptEntireTree) {
12373 suspendedLanes &= ~workInProgressRootPingedLanes;
12374 suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;
12375 root2.suspendedLanes |= suspendedLanes;
12376 root2.pingedLanes &= ~suspendedLanes;
12377 didAttemptEntireTree && (root2.warmLanes |= suspendedLanes);
12378 didAttemptEntireTree = root2.expirationTimes;
12379 for (var lanes = suspendedLanes; 0 < lanes; ) {
12380 var index = 31 - clz32(lanes), lane = 1 << index;
12381 didAttemptEntireTree[index] = -1;
12382 lanes &= ~lane;
12383 }
12384 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, suspendedLanes);
12385 }
12386 function flushSyncWork$1() {
12387 return (executionContext & (RenderContext | CommitContext)) === NoContext ? (flushSyncWorkAcrossRoots_impl(0, false), false) : true;
12388 }
12389 function resetWorkInProgressStack() {
12390 if (null !== workInProgress) {
12391 if (workInProgressSuspendedReason === NotSuspended)
12392 var interruptedWork = workInProgress.return;
12393 else
12394 interruptedWork = workInProgress, resetContextDependencies(), resetHooksOnUnwind(interruptedWork), thenableState$1 = null, thenableIndexCounter$1 = 0, interruptedWork = workInProgress;
12395 for (; null !== interruptedWork; )
12396 unwindInterruptedWork(interruptedWork.alternate, interruptedWork), interruptedWork = interruptedWork.return;
12397 workInProgress = null;
12398 }
12399 }
12400 function finalizeRender(lanes, finalizationTime) {
12401 0 !== (lanes & 127) && (blockingClampTime = finalizationTime);
12402 0 !== (lanes & 4194048) && (transitionClampTime = finalizationTime);
12403 0 !== (lanes & 62914560) && (retryClampTime = finalizationTime);
12404 0 !== (lanes & 2080374784) && (idleClampTime = finalizationTime);
12405 }
12406 function prepareFreshStack(root2, lanes) {
12407 supportsUserTiming && (console.timeStamp(
12408 "Blocking Track",
12409 3e-3,
12410 3e-3,
12411 "Blocking",
12412 LANES_TRACK_GROUP,
12413 "primary-light"
12414 ), console.timeStamp(
12415 "Transition Track",
12416 3e-3,
12417 3e-3,
12418 "Transition",
12419 LANES_TRACK_GROUP,
12420 "primary-light"
12421 ), console.timeStamp(
12422 "Suspense Track",
12423 3e-3,
12424 3e-3,
12425 "Suspense",
12426 LANES_TRACK_GROUP,
12427 "primary-light"
12428 ), console.timeStamp(
12429 "Idle Track",
12430 3e-3,
12431 3e-3,
12432 "Idle",
12433 LANES_TRACK_GROUP,
12434 "primary-light"
12435 ));
12436 var previousRenderStartTime = renderStartTime;
12437 renderStartTime = now();
12438 if (0 !== workInProgressRootRenderLanes && 0 < previousRenderStartTime) {
12439 setCurrentTrackFromLanes(workInProgressRootRenderLanes);
12440 if (workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootSuspendedWithDelay)
12441 logSuspendedRenderPhase(
12442 previousRenderStartTime,
12443 renderStartTime,
12444 lanes,
12445 workInProgressUpdateTask
12446 );
12447 else {
12448 var endTime = renderStartTime, debugTask = workInProgressUpdateTask;
12449 if (supportsUserTiming && !(endTime <= previousRenderStartTime)) {
12450 var color = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", label = (lanes & 536870912) === lanes ? "Prewarm" : (lanes & 201326741) === lanes ? "Interrupted Hydration" : "Interrupted Render";
12451 debugTask ? debugTask.run(
12452 console.timeStamp.bind(
12453 console,
12454 label,
12455 previousRenderStartTime,
12456 endTime,
12457 currentTrack,
12458 LANES_TRACK_GROUP,
12459 color
12460 )
12461 ) : console.timeStamp(
12462 label,
12463 previousRenderStartTime,
12464 endTime,
12465 currentTrack,
12466 LANES_TRACK_GROUP,
12467 color
12468 );
12469 }
12470 }
12471 finalizeRender(workInProgressRootRenderLanes, renderStartTime);
12472 }
12473 previousRenderStartTime = workInProgressUpdateTask;
12474 workInProgressUpdateTask = null;
12475 if (0 !== (lanes & 127)) {
12476 workInProgressUpdateTask = blockingUpdateTask;
12477 debugTask = 0 <= blockingUpdateTime && blockingUpdateTime < blockingClampTime ? blockingClampTime : blockingUpdateTime;
12478 endTime = 0 <= blockingEventTime && blockingEventTime < blockingClampTime ? blockingClampTime : blockingEventTime;
12479 color = 0 <= endTime ? endTime : 0 <= debugTask ? debugTask : renderStartTime;
12480 0 <= blockingSuspendedTime ? (setCurrentTrackFromLanes(2), logSuspendedWithDelayPhase(
12481 blockingSuspendedTime,
12482 color,
12483 lanes,
12484 previousRenderStartTime
12485 )) : 0 !== (animatingLanes & 127) && (setCurrentTrackFromLanes(2), logAnimatingPhase(blockingClampTime, color, animatingTask));
12486 previousRenderStartTime = debugTask;
12487 var eventTime = endTime, eventType = blockingEventType, eventIsRepeat = 0 < blockingEventRepeatTime, isSpawnedUpdate = blockingUpdateType === SPAWNED_UPDATE, isPingedUpdate = blockingUpdateType === PINGED_UPDATE;
12488 debugTask = renderStartTime;
12489 endTime = blockingUpdateTask;
12490 color = blockingUpdateMethodName;
12491 label = blockingUpdateComponentName;
12492 if (supportsUserTiming) {
12493 currentTrack = "Blocking";
12494 0 < previousRenderStartTime ? previousRenderStartTime > debugTask && (previousRenderStartTime = debugTask) : previousRenderStartTime = debugTask;
12495 0 < eventTime ? eventTime > previousRenderStartTime && (eventTime = previousRenderStartTime) : eventTime = previousRenderStartTime;
12496 if (null !== eventType && previousRenderStartTime > eventTime) {
12497 var color$jscomp$0 = eventIsRepeat ? "secondary-light" : "warning";
12498 endTime ? endTime.run(
12499 console.timeStamp.bind(
12500 console,
12501 eventIsRepeat ? "Consecutive" : "Event: " + eventType,
12502 eventTime,
12503 previousRenderStartTime,
12504 currentTrack,
12505 LANES_TRACK_GROUP,
12506 color$jscomp$0
12507 )
12508 ) : console.timeStamp(
12509 eventIsRepeat ? "Consecutive" : "Event: " + eventType,
12510 eventTime,
12511 previousRenderStartTime,
12512 currentTrack,
12513 LANES_TRACK_GROUP,
12514 color$jscomp$0
12515 );
12516 }
12517 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 = {
12518 start: previousRenderStartTime,
12519 end: debugTask,
12520 detail: {
12521 devtools: {
12522 properties: isPingedUpdate,
12523 track: currentTrack,
12524 trackGroup: LANES_TRACK_GROUP,
12525 color: eventTime
12526 }
12527 }
12528 }, endTime ? endTime.run(
12529 performance.measure.bind(
12530 performance,
12531 isSpawnedUpdate,
12532 previousRenderStartTime
12533 )
12534 ) : performance.measure(isSpawnedUpdate, previousRenderStartTime));
12535 }
12536 blockingUpdateTime = -1.1;
12537 blockingUpdateType = 0;
12538 blockingUpdateComponentName = blockingUpdateMethodName = null;
12539 blockingSuspendedTime = -1.1;
12540 blockingEventRepeatTime = blockingEventTime;
12541 blockingEventTime = -1.1;
12542 blockingClampTime = now();
12543 }
12544 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(
12545 transitionSuspendedTime,
12546 color,
12547 lanes,
12548 workInProgressUpdateTask
12549 )) : 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(
12550 console.timeStamp.bind(
12551 console,
12552 eventType ? "Consecutive" : "Event: " + eventTime,
12553 isPingedUpdate,
12554 debugTask,
12555 currentTrack,
12556 LANES_TRACK_GROUP,
12557 color$jscomp$0
12558 )
12559 ) : console.timeStamp(
12560 eventType ? "Consecutive" : "Event: " + eventTime,
12561 isPingedUpdate,
12562 debugTask,
12563 currentTrack,
12564 LANES_TRACK_GROUP,
12565 color$jscomp$0
12566 )), previousRenderStartTime > debugTask && (endTime ? endTime.run(
12567 console.timeStamp.bind(
12568 console,
12569 "Action",
12570 debugTask,
12571 previousRenderStartTime,
12572 currentTrack,
12573 LANES_TRACK_GROUP,
12574 "primary-dark"
12575 )
12576 ) : console.timeStamp(
12577 "Action",
12578 debugTask,
12579 previousRenderStartTime,
12580 currentTrack,
12581 LANES_TRACK_GROUP,
12582 "primary-dark"
12583 )), 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 = {
12584 start: previousRenderStartTime,
12585 end: color,
12586 detail: {
12587 devtools: {
12588 properties: isPingedUpdate,
12589 track: currentTrack,
12590 trackGroup: LANES_TRACK_GROUP,
12591 color: "primary-light"
12592 }
12593 }
12594 }, endTime ? endTime.run(
12595 performance.measure.bind(
12596 performance,
12597 debugTask,
12598 previousRenderStartTime
12599 )
12600 ) : performance.measure(debugTask, previousRenderStartTime))), transitionUpdateTime = transitionStartTime = -1.1, transitionUpdateType = 0, transitionSuspendedTime = -1.1, transitionEventRepeatTime = transitionEventTime, transitionEventTime = -1.1, transitionClampTime = now());
12601 0 !== (lanes & 62914560) && 0 !== (animatingLanes & 62914560) && (setCurrentTrackFromLanes(4194304), logAnimatingPhase(retryClampTime, renderStartTime, animatingTask));
12602 0 !== (lanes & 2080374784) && 0 !== (animatingLanes & 2080374784) && (setCurrentTrackFromLanes(268435456), logAnimatingPhase(idleClampTime, renderStartTime, animatingTask));
12603 previousRenderStartTime = root2.timeoutHandle;
12604 previousRenderStartTime !== noTimeout && (root2.timeoutHandle = noTimeout, cancelTimeout(previousRenderStartTime));
12605 previousRenderStartTime = root2.cancelPendingCommit;
12606 null !== previousRenderStartTime && (root2.cancelPendingCommit = null, previousRenderStartTime());
12607 pendingEffectsLanes = 0;
12608 resetWorkInProgressStack();
12609 workInProgressRoot = root2;
12610 workInProgress = previousRenderStartTime = createWorkInProgress(
12611 root2.current,
12612 null
12613 );
12614 workInProgressRootRenderLanes = lanes;
12615 workInProgressSuspendedReason = NotSuspended;
12616 workInProgressThrownValue = null;
12617 workInProgressRootDidSkipSuspendedSiblings = false;
12618 workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root2, lanes);
12619 workInProgressRootDidAttachPingListener = false;
12620 workInProgressRootExitStatus = RootInProgress;
12621 workInProgressSuspendedRetryLanes = workInProgressDeferredLane = workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0;
12622 workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null;
12623 workInProgressRootDidIncludeRecursiveRenderUpdate = false;
12624 0 !== (lanes & 8) && (lanes |= lanes & 32);
12625 endTime = root2.entangledLanes;
12626 if (0 !== endTime)
12627 for (root2 = root2.entanglements, endTime &= lanes; 0 < endTime; )
12628 debugTask = 31 - clz32(endTime), color = 1 << debugTask, lanes |= root2[debugTask], endTime &= ~color;
12629 entangledRenderLanes = lanes;
12630 finishQueueingConcurrentUpdates();
12631 root2 = getCurrentTime();
12632 1e3 < root2 - lastResetTime && (ReactSharedInternals.recentlyCreatedOwnerStacks = 0, lastResetTime = root2);
12633 ReactStrictModeWarnings.discardPendingWarnings();
12634 return previousRenderStartTime;
12635 }
12636 function handleThrow(root2, thrownValue) {
12637 currentlyRenderingFiber = null;
12638 ReactSharedInternals.H = ContextOnlyDispatcher;
12639 ReactSharedInternals.getCurrentStack = null;
12640 isRendering = false;
12641 current = null;
12642 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;
12643 workInProgressThrownValue = thrownValue;
12644 var erroredWork = workInProgress;
12645 null === erroredWork ? (workInProgressRootExitStatus = RootFatalErrored, logUncaughtError(
12646 root2,
12647 createCapturedValueAtFiber(thrownValue, root2.current)
12648 )) : erroredWork.mode & ProfileMode && stopProfilerTimerIfRunningAndRecordDuration(erroredWork);
12649 }
12650 function shouldRemainOnPreviousScreen() {
12651 var handler = suspenseHandlerStackCursor.current;
12652 return null === handler ? true : (workInProgressRootRenderLanes & 4194048) === workInProgressRootRenderLanes ? null === shellBoundary ? true : false : (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes || 0 !== (workInProgressRootRenderLanes & 536870912) ? handler === shellBoundary : false;
12653 }
12654 function pushDispatcher() {
12655 var prevDispatcher = ReactSharedInternals.H;
12656 ReactSharedInternals.H = ContextOnlyDispatcher;
12657 return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;
12658 }
12659 function pushAsyncDispatcher() {
12660 var prevAsyncDispatcher = ReactSharedInternals.A;
12661 ReactSharedInternals.A = DefaultAsyncDispatcher;
12662 return prevAsyncDispatcher;
12663 }
12664 function markRenderDerivedCause(fiber) {
12665 null === workInProgressUpdateTask && (workInProgressUpdateTask = null == fiber._debugTask ? null : fiber._debugTask);
12666 }
12667 function renderDidSuspendDelayIfPossible() {
12668 workInProgressRootExitStatus = RootSuspendedWithDelay;
12669 workInProgressRootDidSkipSuspendedSiblings || (workInProgressRootRenderLanes & 4194048) !== workInProgressRootRenderLanes && null !== suspenseHandlerStackCursor.current || (workInProgressRootIsPrerendering = true);
12670 0 === (workInProgressRootSkippedLanes & 134217727) && 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727) || null === workInProgressRoot || markRootSuspended(
12671 workInProgressRoot,
12672 workInProgressRootRenderLanes,
12673 workInProgressDeferredLane,
12674 false
12675 );
12676 }
12677 function renderRootSync(root2, lanes, shouldYieldForPrerendering) {
12678 var prevExecutionContext = executionContext;
12679 executionContext |= RenderContext;
12680 var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher();
12681 if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) {
12682 if (isDevToolsPresent) {
12683 var memoizedUpdaters = root2.memoizedUpdaters;
12684 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear());
12685 movePendingFibersToMemoized(root2, lanes);
12686 }
12687 workInProgressTransitions = null;
12688 prepareFreshStack(root2, lanes);
12689 }
12690 lanes = false;
12691 memoizedUpdaters = workInProgressRootExitStatus;
12692 a: do
12693 try {
12694 if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) {
12695 var unitOfWork = workInProgress, thrownValue = workInProgressThrownValue;
12696 switch (workInProgressSuspendedReason) {
12697 case SuspendedOnHydration:
12698 resetWorkInProgressStack();
12699 memoizedUpdaters = RootSuspendedAtTheShell;
12700 break a;
12701 case SuspendedOnImmediate:
12702 case SuspendedOnData:
12703 case SuspendedOnAction:
12704 case SuspendedOnDeprecatedThrowPromise:
12705 null === suspenseHandlerStackCursor.current && (lanes = true);
12706 var reason = workInProgressSuspendedReason;
12707 workInProgressSuspendedReason = NotSuspended;
12708 workInProgressThrownValue = null;
12709 throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason);
12710 if (shouldYieldForPrerendering && workInProgressRootIsPrerendering) {
12711 memoizedUpdaters = RootInProgress;
12712 break a;
12713 }
12714 break;
12715 default:
12716 reason = workInProgressSuspendedReason, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason);
12717 }
12718 }
12719 workLoopSync();
12720 memoizedUpdaters = workInProgressRootExitStatus;
12721 break;
12722 } catch (thrownValue$8) {
12723 handleThrow(root2, thrownValue$8);
12724 }
12725 while (1);
12726 lanes && root2.shellSuspendCounter++;
12727 resetContextDependencies();
12728 executionContext = prevExecutionContext;
12729 ReactSharedInternals.H = prevDispatcher;
12730 ReactSharedInternals.A = prevAsyncDispatcher;
12731 null === workInProgress && (workInProgressRoot = null, workInProgressRootRenderLanes = 0, finishQueueingConcurrentUpdates());
12732 return memoizedUpdaters;
12733 }
12734 function workLoopSync() {
12735 for (; null !== workInProgress; ) performUnitOfWork(workInProgress);
12736 }
12737 function renderRootConcurrent(root2, lanes) {
12738 var prevExecutionContext = executionContext;
12739 executionContext |= RenderContext;
12740 var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher();
12741 if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) {
12742 if (isDevToolsPresent) {
12743 var memoizedUpdaters = root2.memoizedUpdaters;
12744 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear());
12745 movePendingFibersToMemoized(root2, lanes);
12746 }
12747 workInProgressTransitions = null;
12748 workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS;
12749 prepareFreshStack(root2, lanes);
12750 } else
12751 workInProgressRootIsPrerendering = checkIfRootIsPrerendering(
12752 root2,
12753 lanes
12754 );
12755 a: do
12756 try {
12757 if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress)
12758 b: switch (lanes = workInProgress, memoizedUpdaters = workInProgressThrownValue, workInProgressSuspendedReason) {
12759 case SuspendedOnError:
12760 workInProgressSuspendedReason = NotSuspended;
12761 workInProgressThrownValue = null;
12762 throwAndUnwindWorkLoop(
12763 root2,
12764 lanes,
12765 memoizedUpdaters,
12766 SuspendedOnError
12767 );
12768 break;
12769 case SuspendedOnData:
12770 case SuspendedOnAction:
12771 if (isThenableResolved(memoizedUpdaters)) {
12772 workInProgressSuspendedReason = NotSuspended;
12773 workInProgressThrownValue = null;
12774 replaySuspendedUnitOfWork(lanes);
12775 break;
12776 }
12777 lanes = function() {
12778 workInProgressSuspendedReason !== SuspendedOnData && workInProgressSuspendedReason !== SuspendedOnAction || workInProgressRoot !== root2 || (workInProgressSuspendedReason = SuspendedAndReadyToContinue);
12779 ensureRootIsScheduled(root2);
12780 };
12781 memoizedUpdaters.then(lanes, lanes);
12782 break a;
12783 case SuspendedOnImmediate:
12784 workInProgressSuspendedReason = SuspendedAndReadyToContinue;
12785 break a;
12786 case SuspendedOnInstance:
12787 workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue;
12788 break a;
12789 case SuspendedAndReadyToContinue:
12790 isThenableResolved(memoizedUpdaters) ? (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, replaySuspendedUnitOfWork(lanes)) : (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(
12791 root2,
12792 lanes,
12793 memoizedUpdaters,
12794 SuspendedAndReadyToContinue
12795 ));
12796 break;
12797 case SuspendedOnInstanceAndReadyToContinue:
12798 var resource = null;
12799 switch (workInProgress.tag) {
12800 case 26:
12801 resource = workInProgress.memoizedState;
12802 case 5:
12803 case 27:
12804 var hostFiber = workInProgress;
12805 if (resource ? preloadResource(resource) : hostFiber.stateNode.complete) {
12806 workInProgressSuspendedReason = NotSuspended;
12807 workInProgressThrownValue = null;
12808 var sibling = hostFiber.sibling;
12809 if (null !== sibling) workInProgress = sibling;
12810 else {
12811 var returnFiber = hostFiber.return;
12812 null !== returnFiber ? (workInProgress = returnFiber, completeUnitOfWork(returnFiber)) : workInProgress = null;
12813 }
12814 break b;
12815 }
12816 break;
12817 default:
12818 console.error(
12819 "Unexpected type of fiber triggered a suspensey commit. This is a bug in React."
12820 );
12821 }
12822 workInProgressSuspendedReason = NotSuspended;
12823 workInProgressThrownValue = null;
12824 throwAndUnwindWorkLoop(
12825 root2,
12826 lanes,
12827 memoizedUpdaters,
12828 SuspendedOnInstanceAndReadyToContinue
12829 );
12830 break;
12831 case SuspendedOnDeprecatedThrowPromise:
12832 workInProgressSuspendedReason = NotSuspended;
12833 workInProgressThrownValue = null;
12834 throwAndUnwindWorkLoop(
12835 root2,
12836 lanes,
12837 memoizedUpdaters,
12838 SuspendedOnDeprecatedThrowPromise
12839 );
12840 break;
12841 case SuspendedOnHydration:
12842 resetWorkInProgressStack();
12843 workInProgressRootExitStatus = RootSuspendedAtTheShell;
12844 break a;
12845 default:
12846 throw Error(
12847 "Unexpected SuspendedReason. This is a bug in React."
12848 );
12849 }
12850 null !== ReactSharedInternals.actQueue ? workLoopSync() : workLoopConcurrentByScheduler();
12851 break;
12852 } catch (thrownValue$9) {
12853 handleThrow(root2, thrownValue$9);
12854 }
12855 while (1);
12856 resetContextDependencies();
12857 ReactSharedInternals.H = prevDispatcher;
12858 ReactSharedInternals.A = prevAsyncDispatcher;
12859 executionContext = prevExecutionContext;
12860 if (null !== workInProgress) return RootInProgress;
12861 workInProgressRoot = null;
12862 workInProgressRootRenderLanes = 0;
12863 finishQueueingConcurrentUpdates();
12864 return workInProgressRootExitStatus;
12865 }
12866 function workLoopConcurrentByScheduler() {
12867 for (; null !== workInProgress && !shouldYield(); )
12868 performUnitOfWork(workInProgress);
12869 }
12870 function performUnitOfWork(unitOfWork) {
12871 var current2 = unitOfWork.alternate;
12872 (unitOfWork.mode & ProfileMode) !== NoMode ? (startProfilerTimer(unitOfWork), current2 = runWithFiberInDEV(
12873 unitOfWork,
12874 beginWork,
12875 current2,
12876 unitOfWork,
12877 entangledRenderLanes
12878 ), stopProfilerTimerIfRunningAndRecordDuration(unitOfWork)) : current2 = runWithFiberInDEV(
12879 unitOfWork,
12880 beginWork,
12881 current2,
12882 unitOfWork,
12883 entangledRenderLanes
12884 );
12885 unitOfWork.memoizedProps = unitOfWork.pendingProps;
12886 null === current2 ? completeUnitOfWork(unitOfWork) : workInProgress = current2;
12887 }
12888 function replaySuspendedUnitOfWork(unitOfWork) {
12889 var next = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork);
12890 unitOfWork.memoizedProps = unitOfWork.pendingProps;
12891 null === next ? completeUnitOfWork(unitOfWork) : workInProgress = next;
12892 }
12893 function replayBeginWork(unitOfWork) {
12894 var current2 = unitOfWork.alternate, isProfilingMode = (unitOfWork.mode & ProfileMode) !== NoMode;
12895 isProfilingMode && startProfilerTimer(unitOfWork);
12896 switch (unitOfWork.tag) {
12897 case 15:
12898 case 0:
12899 current2 = replayFunctionComponent(
12900 current2,
12901 unitOfWork,
12902 unitOfWork.pendingProps,
12903 unitOfWork.type,
12904 void 0,
12905 workInProgressRootRenderLanes
12906 );
12907 break;
12908 case 11:
12909 current2 = replayFunctionComponent(
12910 current2,
12911 unitOfWork,
12912 unitOfWork.pendingProps,
12913 unitOfWork.type.render,
12914 unitOfWork.ref,
12915 workInProgressRootRenderLanes
12916 );
12917 break;
12918 case 5:
12919 resetHooksOnUnwind(unitOfWork);
12920 default:
12921 unwindInterruptedWork(current2, unitOfWork), unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes), current2 = beginWork(current2, unitOfWork, entangledRenderLanes);
12922 }
12923 isProfilingMode && stopProfilerTimerIfRunningAndRecordDuration(unitOfWork);
12924 return current2;
12925 }
12926 function throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, suspendedReason) {
12927 resetContextDependencies();
12928 resetHooksOnUnwind(unitOfWork);
12929 thenableState$1 = null;
12930 thenableIndexCounter$1 = 0;
12931 var returnFiber = unitOfWork.return;
12932 try {
12933 if (throwException(
12934 root2,
12935 returnFiber,
12936 unitOfWork,
12937 thrownValue,
12938 workInProgressRootRenderLanes
12939 )) {
12940 workInProgressRootExitStatus = RootFatalErrored;
12941 logUncaughtError(
12942 root2,
12943 createCapturedValueAtFiber(thrownValue, root2.current)
12944 );
12945 workInProgress = null;
12946 return;
12947 }
12948 } catch (error) {
12949 if (null !== returnFiber) throw workInProgress = returnFiber, error;
12950 workInProgressRootExitStatus = RootFatalErrored;
12951 logUncaughtError(
12952 root2,
12953 createCapturedValueAtFiber(thrownValue, root2.current)
12954 );
12955 workInProgress = null;
12956 return;
12957 }
12958 if (unitOfWork.flags & 32768) {
12959 if (isHydrating || suspendedReason === SuspendedOnError) root2 = true;
12960 else if (workInProgressRootIsPrerendering || 0 !== (workInProgressRootRenderLanes & 536870912))
12961 root2 = false;
12962 else if (workInProgressRootDidSkipSuspendedSiblings = root2 = true, suspendedReason === SuspendedOnData || suspendedReason === SuspendedOnAction || suspendedReason === SuspendedOnImmediate || suspendedReason === SuspendedOnDeprecatedThrowPromise)
12963 suspendedReason = suspenseHandlerStackCursor.current, null !== suspendedReason && 13 === suspendedReason.tag && (suspendedReason.flags |= 16384);
12964 unwindUnitOfWork(unitOfWork, root2);
12965 } else completeUnitOfWork(unitOfWork);
12966 }
12967 function completeUnitOfWork(unitOfWork) {
12968 var completedWork = unitOfWork;
12969 do {
12970 if (0 !== (completedWork.flags & 32768)) {
12971 unwindUnitOfWork(
12972 completedWork,
12973 workInProgressRootDidSkipSuspendedSiblings
12974 );
12975 return;
12976 }
12977 var current2 = completedWork.alternate;
12978 unitOfWork = completedWork.return;
12979 startProfilerTimer(completedWork);
12980 current2 = runWithFiberInDEV(
12981 completedWork,
12982 completeWork,
12983 current2,
12984 completedWork,
12985 entangledRenderLanes
12986 );
12987 (completedWork.mode & ProfileMode) !== NoMode && stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork);
12988 if (null !== current2) {
12989 workInProgress = current2;
12990 return;
12991 }
12992 completedWork = completedWork.sibling;
12993 if (null !== completedWork) {
12994 workInProgress = completedWork;
12995 return;
12996 }
12997 workInProgress = completedWork = unitOfWork;
12998 } while (null !== completedWork);
12999 workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootCompleted);
13000 }
13001 function unwindUnitOfWork(unitOfWork, skipSiblings) {
13002 do {
13003 var next = unwindWork(unitOfWork.alternate, unitOfWork);
13004 if (null !== next) {
13005 next.flags &= 32767;
13006 workInProgress = next;
13007 return;
13008 }
13009 if ((unitOfWork.mode & ProfileMode) !== NoMode) {
13010 stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork);
13011 next = unitOfWork.actualDuration;
13012 for (var child = unitOfWork.child; null !== child; )
13013 next += child.actualDuration, child = child.sibling;
13014 unitOfWork.actualDuration = next;
13015 }
13016 next = unitOfWork.return;
13017 null !== next && (next.flags |= 32768, next.subtreeFlags = 0, next.deletions = null);
13018 if (!skipSiblings && (unitOfWork = unitOfWork.sibling, null !== unitOfWork)) {
13019 workInProgress = unitOfWork;
13020 return;
13021 }
13022 workInProgress = unitOfWork = next;
13023 } while (null !== unitOfWork);
13024 workInProgressRootExitStatus = RootSuspendedAtTheShell;
13025 workInProgress = null;
13026 }
13027 function commitRoot(root2, finishedWork, lanes, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes, exitStatus, suspendedState, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) {
13028 root2.cancelPendingCommit = null;
13029 do
13030 flushPendingEffects();
13031 while (pendingEffectsStatus !== NO_PENDING_EFFECTS);
13032 ReactStrictModeWarnings.flushLegacyContextWarning();
13033 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();
13034 if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
13035 throw Error("Should not already be working.");
13036 setCurrentTrackFromLanes(lanes);
13037 exitStatus === RootErrored ? logErroredRenderPhase(
13038 completedRenderStartTime,
13039 completedRenderEndTime,
13040 lanes,
13041 workInProgressUpdateTask
13042 ) : null !== recoverableErrors ? logRecoveredRenderPhase(
13043 completedRenderStartTime,
13044 completedRenderEndTime,
13045 lanes,
13046 recoverableErrors,
13047 null !== finishedWork && null !== finishedWork.alternate && finishedWork.alternate.memoizedState.isDehydrated && 0 !== (finishedWork.flags & 256),
13048 workInProgressUpdateTask
13049 ) : logRenderPhase(
13050 completedRenderStartTime,
13051 completedRenderEndTime,
13052 lanes,
13053 workInProgressUpdateTask
13054 );
13055 if (null !== finishedWork) {
13056 0 === lanes && console.error(
13057 "finishedLanes should not be empty during a commit. This is a bug in React."
13058 );
13059 if (finishedWork === root2.current)
13060 throw Error(
13061 "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue."
13062 );
13063 didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes;
13064 didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes;
13065 markRootFinished(
13066 root2,
13067 lanes,
13068 didIncludeRenderPhaseUpdate,
13069 spawnedLane,
13070 updatedLanes,
13071 suspendedRetryLanes
13072 );
13073 root2 === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0);
13074 pendingFinishedWork = finishedWork;
13075 pendingEffectsRoot = root2;
13076 pendingEffectsLanes = lanes;
13077 pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate;
13078 pendingPassiveTransitions = transitions;
13079 pendingRecoverableErrors = recoverableErrors;
13080 pendingEffectsRenderEndTime = completedRenderEndTime;
13081 pendingSuspendedCommitReason = suspendedCommitReason;
13082 pendingDelayedCommitReason = IMMEDIATE_COMMIT;
13083 pendingSuspendedViewTransitionReason = null;
13084 0 !== finishedWork.actualDuration || 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256) ? (root2.callbackNode = null, root2.callbackPriority = 0, scheduleCallback$1(NormalPriority$1, function() {
13085 schedulerEvent = window.event;
13086 pendingDelayedCommitReason === IMMEDIATE_COMMIT && (pendingDelayedCommitReason = DELAYED_PASSIVE_COMMIT);
13087 flushPassiveEffects();
13088 return null;
13089 })) : (root2.callbackNode = null, root2.callbackPriority = 0);
13090 commitErrors = null;
13091 commitStartTime = now();
13092 null !== suspendedCommitReason && logSuspendedCommitPhase(
13093 completedRenderEndTime,
13094 commitStartTime,
13095 suspendedCommitReason,
13096 workInProgressUpdateTask
13097 );
13098 recoverableErrors = 0 !== (finishedWork.flags & 13878);
13099 if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) {
13100 recoverableErrors = ReactSharedInternals.T;
13101 ReactSharedInternals.T = null;
13102 transitions = ReactDOMSharedInternals.p;
13103 ReactDOMSharedInternals.p = DiscreteEventPriority;
13104 spawnedLane = executionContext;
13105 executionContext |= CommitContext;
13106 try {
13107 commitBeforeMutationEffects(root2, finishedWork, lanes);
13108 } finally {
13109 executionContext = spawnedLane, ReactDOMSharedInternals.p = transitions, ReactSharedInternals.T = recoverableErrors;
13110 }
13111 }
13112 pendingEffectsStatus = PENDING_MUTATION_PHASE;
13113 flushMutationEffects();
13114 flushLayoutEffects();
13115 flushSpawnedWork();
13116 }
13117 }
13118 function flushMutationEffects() {
13119 if (pendingEffectsStatus === PENDING_MUTATION_PHASE) {
13120 pendingEffectsStatus = NO_PENDING_EFFECTS;
13121 var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootMutationHasEffect = 0 !== (finishedWork.flags & 13878);
13122 if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) {
13123 rootMutationHasEffect = ReactSharedInternals.T;
13124 ReactSharedInternals.T = null;
13125 var previousPriority = ReactDOMSharedInternals.p;
13126 ReactDOMSharedInternals.p = DiscreteEventPriority;
13127 var prevExecutionContext = executionContext;
13128 executionContext |= CommitContext;
13129 try {
13130 inProgressLanes = lanes;
13131 inProgressRoot = root2;
13132 resetComponentEffectTimers();
13133 commitMutationEffectsOnFiber(finishedWork, root2);
13134 inProgressRoot = inProgressLanes = null;
13135 lanes = selectionInformation;
13136 var curFocusedElem = getActiveElementDeep(root2.containerInfo), priorFocusedElem = lanes.focusedElem, priorSelectionRange = lanes.selectionRange;
13137 if (curFocusedElem !== priorFocusedElem && priorFocusedElem && priorFocusedElem.ownerDocument && containsNode(
13138 priorFocusedElem.ownerDocument.documentElement,
13139 priorFocusedElem
13140 )) {
13141 if (null !== priorSelectionRange && hasSelectionCapabilities(priorFocusedElem)) {
13142 var start = priorSelectionRange.start, end = priorSelectionRange.end;
13143 void 0 === end && (end = start);
13144 if ("selectionStart" in priorFocusedElem)
13145 priorFocusedElem.selectionStart = start, priorFocusedElem.selectionEnd = Math.min(
13146 end,
13147 priorFocusedElem.value.length
13148 );
13149 else {
13150 var doc = priorFocusedElem.ownerDocument || document, win = doc && doc.defaultView || window;
13151 if (win.getSelection) {
13152 var selection = win.getSelection(), length = priorFocusedElem.textContent.length, start$jscomp$0 = Math.min(
13153 priorSelectionRange.start,
13154 length
13155 ), end$jscomp$0 = void 0 === priorSelectionRange.end ? start$jscomp$0 : Math.min(priorSelectionRange.end, length);
13156 !selection.extend && start$jscomp$0 > end$jscomp$0 && (curFocusedElem = end$jscomp$0, end$jscomp$0 = start$jscomp$0, start$jscomp$0 = curFocusedElem);
13157 var startMarker = getNodeForCharacterOffset(
13158 priorFocusedElem,
13159 start$jscomp$0
13160 ), endMarker = getNodeForCharacterOffset(
13161 priorFocusedElem,
13162 end$jscomp$0
13163 );
13164 if (startMarker && endMarker && (1 !== selection.rangeCount || selection.anchorNode !== startMarker.node || selection.anchorOffset !== startMarker.offset || selection.focusNode !== endMarker.node || selection.focusOffset !== endMarker.offset)) {
13165 var range = doc.createRange();
13166 range.setStart(startMarker.node, startMarker.offset);
13167 selection.removeAllRanges();
13168 start$jscomp$0 > end$jscomp$0 ? (selection.addRange(range), selection.extend(endMarker.node, endMarker.offset)) : (range.setEnd(endMarker.node, endMarker.offset), selection.addRange(range));
13169 }
13170 }
13171 }
13172 }
13173 doc = [];
13174 for (selection = priorFocusedElem; selection = selection.parentNode; )
13175 1 === selection.nodeType && doc.push({
13176 element: selection,
13177 left: selection.scrollLeft,
13178 top: selection.scrollTop
13179 });
13180 "function" === typeof priorFocusedElem.focus && priorFocusedElem.focus();
13181 for (priorFocusedElem = 0; priorFocusedElem < doc.length; priorFocusedElem++) {
13182 var info = doc[priorFocusedElem];
13183 info.element.scrollLeft = info.left;
13184 info.element.scrollTop = info.top;
13185 }
13186 }
13187 _enabled = !!eventsEnabled;
13188 selectionInformation = eventsEnabled = null;
13189 } finally {
13190 executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootMutationHasEffect;
13191 }
13192 }
13193 root2.current = finishedWork;
13194 pendingEffectsStatus = PENDING_LAYOUT_PHASE;
13195 }
13196 }
13197 function flushLayoutEffects() {
13198 if (pendingEffectsStatus === PENDING_LAYOUT_PHASE) {
13199 pendingEffectsStatus = NO_PENDING_EFFECTS;
13200 var suspendedViewTransitionReason = pendingSuspendedViewTransitionReason;
13201 if (null !== suspendedViewTransitionReason) {
13202 commitStartTime = now();
13203 var startTime = commitEndTime, endTime = commitStartTime;
13204 !supportsUserTiming || endTime <= startTime || (animatingTask ? animatingTask.run(
13205 console.timeStamp.bind(
13206 console,
13207 suspendedViewTransitionReason,
13208 startTime,
13209 endTime,
13210 currentTrack,
13211 LANES_TRACK_GROUP,
13212 "secondary-light"
13213 )
13214 ) : console.timeStamp(
13215 suspendedViewTransitionReason,
13216 startTime,
13217 endTime,
13218 currentTrack,
13219 LANES_TRACK_GROUP,
13220 "secondary-light"
13221 ));
13222 }
13223 suspendedViewTransitionReason = pendingEffectsRoot;
13224 startTime = pendingFinishedWork;
13225 endTime = pendingEffectsLanes;
13226 var rootHasLayoutEffect = 0 !== (startTime.flags & 8772);
13227 if (0 !== (startTime.subtreeFlags & 8772) || rootHasLayoutEffect) {
13228 rootHasLayoutEffect = ReactSharedInternals.T;
13229 ReactSharedInternals.T = null;
13230 var _previousPriority = ReactDOMSharedInternals.p;
13231 ReactDOMSharedInternals.p = DiscreteEventPriority;
13232 var _prevExecutionContext = executionContext;
13233 executionContext |= CommitContext;
13234 try {
13235 inProgressLanes = endTime, inProgressRoot = suspendedViewTransitionReason, resetComponentEffectTimers(), commitLayoutEffectOnFiber(
13236 suspendedViewTransitionReason,
13237 startTime.alternate,
13238 startTime
13239 ), inProgressRoot = inProgressLanes = null;
13240 } finally {
13241 executionContext = _prevExecutionContext, ReactDOMSharedInternals.p = _previousPriority, ReactSharedInternals.T = rootHasLayoutEffect;
13242 }
13243 }
13244 suspendedViewTransitionReason = pendingEffectsRenderEndTime;
13245 startTime = pendingSuspendedCommitReason;
13246 commitEndTime = now();
13247 suspendedViewTransitionReason = null === startTime ? suspendedViewTransitionReason : commitStartTime;
13248 startTime = commitEndTime;
13249 endTime = pendingDelayedCommitReason === ABORTED_VIEW_TRANSITION_COMMIT;
13250 rootHasLayoutEffect = workInProgressUpdateTask;
13251 null !== commitErrors ? logCommitErrored(
13252 suspendedViewTransitionReason,
13253 startTime,
13254 commitErrors,
13255 false,
13256 rootHasLayoutEffect
13257 ) : !supportsUserTiming || startTime <= suspendedViewTransitionReason || (rootHasLayoutEffect ? rootHasLayoutEffect.run(
13258 console.timeStamp.bind(
13259 console,
13260 endTime ? "Commit Interrupted View Transition" : "Commit",
13261 suspendedViewTransitionReason,
13262 startTime,
13263 currentTrack,
13264 LANES_TRACK_GROUP,
13265 endTime ? "error" : "secondary-dark"
13266 )
13267 ) : console.timeStamp(
13268 endTime ? "Commit Interrupted View Transition" : "Commit",
13269 suspendedViewTransitionReason,
13270 startTime,
13271 currentTrack,
13272 LANES_TRACK_GROUP,
13273 endTime ? "error" : "secondary-dark"
13274 ));
13275 pendingEffectsStatus = PENDING_AFTER_MUTATION_PHASE;
13276 }
13277 }
13278 function flushSpawnedWork() {
13279 if (pendingEffectsStatus === PENDING_SPAWNED_WORK || pendingEffectsStatus === PENDING_AFTER_MUTATION_PHASE) {
13280 if (pendingEffectsStatus === PENDING_SPAWNED_WORK) {
13281 var startViewTransitionStartTime = commitEndTime;
13282 commitEndTime = now();
13283 var endTime = commitEndTime, abortedViewTransition = pendingDelayedCommitReason === ABORTED_VIEW_TRANSITION_COMMIT;
13284 !supportsUserTiming || endTime <= startViewTransitionStartTime || (animatingTask ? animatingTask.run(
13285 console.timeStamp.bind(
13286 console,
13287 abortedViewTransition ? "Interrupted View Transition" : "Starting Animation",
13288 startViewTransitionStartTime,
13289 endTime,
13290 currentTrack,
13291 LANES_TRACK_GROUP,
13292 abortedViewTransition ? "error" : "secondary-light"
13293 )
13294 ) : console.timeStamp(
13295 abortedViewTransition ? "Interrupted View Transition" : "Starting Animation",
13296 startViewTransitionStartTime,
13297 endTime,
13298 currentTrack,
13299 LANES_TRACK_GROUP,
13300 abortedViewTransition ? " error" : "secondary-light"
13301 ));
13302 pendingDelayedCommitReason !== ABORTED_VIEW_TRANSITION_COMMIT && (pendingDelayedCommitReason = ANIMATION_STARTED_COMMIT);
13303 }
13304 pendingEffectsStatus = NO_PENDING_EFFECTS;
13305 requestPaint();
13306 startViewTransitionStartTime = pendingEffectsRoot;
13307 var finishedWork = pendingFinishedWork;
13308 endTime = pendingEffectsLanes;
13309 abortedViewTransition = pendingRecoverableErrors;
13310 var rootDidHavePassiveEffects = 0 !== finishedWork.actualDuration || 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256);
13311 rootDidHavePassiveEffects ? pendingEffectsStatus = PENDING_PASSIVE_PHASE : (pendingEffectsStatus = NO_PENDING_EFFECTS, pendingFinishedWork = pendingEffectsRoot = null, releaseRootPooledCache(
13312 startViewTransitionStartTime,
13313 startViewTransitionStartTime.pendingLanes
13314 ), nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null);
13315 var remainingLanes = startViewTransitionStartTime.pendingLanes;
13316 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);
13317 rootDidHavePassiveEffects || commitDoubleInvokeEffectsInDEV(startViewTransitionStartTime);
13318 remainingLanes = lanesToEventPriority(endTime);
13319 finishedWork = finishedWork.stateNode;
13320 if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot)
13321 try {
13322 var didError = 128 === (finishedWork.current.flags & 128);
13323 switch (remainingLanes) {
13324 case DiscreteEventPriority:
13325 var schedulerPriority = ImmediatePriority;
13326 break;
13327 case ContinuousEventPriority:
13328 schedulerPriority = UserBlockingPriority;
13329 break;
13330 case DefaultEventPriority:
13331 schedulerPriority = NormalPriority$1;
13332 break;
13333 case IdleEventPriority:
13334 schedulerPriority = IdlePriority;
13335 break;
13336 default:
13337 schedulerPriority = NormalPriority$1;
13338 }
13339 injectedHook.onCommitFiberRoot(
13340 rendererID,
13341 finishedWork,
13342 schedulerPriority,
13343 didError
13344 );
13345 } catch (err) {
13346 hasLoggedError || (hasLoggedError = true, console.error(
13347 "React instrumentation encountered an error: %o",
13348 err
13349 ));
13350 }
13351 isDevToolsPresent && startViewTransitionStartTime.memoizedUpdaters.clear();
13352 onCommitRoot();
13353 if (null !== abortedViewTransition) {
13354 didError = ReactSharedInternals.T;
13355 schedulerPriority = ReactDOMSharedInternals.p;
13356 ReactDOMSharedInternals.p = DiscreteEventPriority;
13357 ReactSharedInternals.T = null;
13358 try {
13359 var onRecoverableError = startViewTransitionStartTime.onRecoverableError;
13360 for (finishedWork = 0; finishedWork < abortedViewTransition.length; finishedWork++) {
13361 var recoverableError = abortedViewTransition[finishedWork], errorInfo = makeErrorInfo(recoverableError.stack);
13362 runWithFiberInDEV(
13363 recoverableError.source,
13364 onRecoverableError,
13365 recoverableError.value,
13366 errorInfo
13367 );
13368 }
13369 } finally {
13370 ReactSharedInternals.T = didError, ReactDOMSharedInternals.p = schedulerPriority;
13371 }
13372 }
13373 0 !== (pendingEffectsLanes & 3) && flushPendingEffects();
13374 ensureRootIsScheduled(startViewTransitionStartTime);
13375 remainingLanes = startViewTransitionStartTime.pendingLanes;
13376 0 !== (endTime & 261930) && 0 !== (remainingLanes & 42) ? (nestedUpdateScheduled = true, startViewTransitionStartTime === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = startViewTransitionStartTime)) : nestedUpdateCount = 0;
13377 rootDidHavePassiveEffects || finalizeRender(endTime, commitEndTime);
13378 flushSyncWorkAcrossRoots_impl(0, false);
13379 }
13380 }
13381 function makeErrorInfo(componentStack) {
13382 componentStack = { componentStack };
13383 Object.defineProperty(componentStack, "digest", {
13384 get: function() {
13385 console.error(
13386 '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.'
13387 );
13388 }
13389 });
13390 return componentStack;
13391 }
13392 function releaseRootPooledCache(root2, remainingLanes) {
13393 0 === (root2.pooledCacheLanes &= remainingLanes) && (remainingLanes = root2.pooledCache, null != remainingLanes && (root2.pooledCache = null, releaseCache(remainingLanes)));
13394 }
13395 function flushPendingEffects() {
13396 flushMutationEffects();
13397 flushLayoutEffects();
13398 flushSpawnedWork();
13399 return flushPassiveEffects();
13400 }
13401 function flushPassiveEffects() {
13402 if (pendingEffectsStatus !== PENDING_PASSIVE_PHASE) return false;
13403 var root2 = pendingEffectsRoot, remainingLanes = pendingEffectsRemainingLanes;
13404 pendingEffectsRemainingLanes = 0;
13405 var renderPriority = lanesToEventPriority(pendingEffectsLanes), priority = 0 === DefaultEventPriority || DefaultEventPriority > renderPriority ? DefaultEventPriority : renderPriority;
13406 renderPriority = ReactSharedInternals.T;
13407 var previousPriority = ReactDOMSharedInternals.p;
13408 try {
13409 ReactDOMSharedInternals.p = priority;
13410 ReactSharedInternals.T = null;
13411 var transitions = pendingPassiveTransitions;
13412 pendingPassiveTransitions = null;
13413 priority = pendingEffectsRoot;
13414 var lanes = pendingEffectsLanes;
13415 pendingEffectsStatus = NO_PENDING_EFFECTS;
13416 pendingFinishedWork = pendingEffectsRoot = null;
13417 pendingEffectsLanes = 0;
13418 if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
13419 throw Error("Cannot flush passive effects while already rendering.");
13420 setCurrentTrackFromLanes(lanes);
13421 isFlushingPassiveEffects = true;
13422 didScheduleUpdateDuringPassiveEffects = false;
13423 var passiveEffectStartTime = 0;
13424 commitErrors = null;
13425 passiveEffectStartTime = now$1();
13426 if (pendingDelayedCommitReason === ANIMATION_STARTED_COMMIT)
13427 logAnimatingPhase(
13428 commitEndTime,
13429 passiveEffectStartTime,
13430 animatingTask
13431 );
13432 else {
13433 var startTime = commitEndTime, endTime = passiveEffectStartTime, delayedUntilPaint = pendingDelayedCommitReason === DELAYED_PASSIVE_COMMIT;
13434 !supportsUserTiming || endTime <= startTime || (workInProgressUpdateTask ? workInProgressUpdateTask.run(
13435 console.timeStamp.bind(
13436 console,
13437 delayedUntilPaint ? "Waiting for Paint" : "Waiting",
13438 startTime,
13439 endTime,
13440 currentTrack,
13441 LANES_TRACK_GROUP,
13442 "secondary-light"
13443 )
13444 ) : console.timeStamp(
13445 delayedUntilPaint ? "Waiting for Paint" : "Waiting",
13446 startTime,
13447 endTime,
13448 currentTrack,
13449 LANES_TRACK_GROUP,
13450 "secondary-light"
13451 ));
13452 }
13453 startTime = executionContext;
13454 executionContext |= CommitContext;
13455 var finishedWork = priority.current;
13456 resetComponentEffectTimers();
13457 commitPassiveUnmountOnFiber(finishedWork);
13458 var finishedWork$jscomp$0 = priority.current;
13459 finishedWork = pendingEffectsRenderEndTime;
13460 resetComponentEffectTimers();
13461 commitPassiveMountOnFiber(
13462 priority,
13463 finishedWork$jscomp$0,
13464 lanes,
13465 transitions,
13466 finishedWork
13467 );
13468 commitDoubleInvokeEffectsInDEV(priority);
13469 executionContext = startTime;
13470 var passiveEffectsEndTime = now$1();
13471 finishedWork$jscomp$0 = passiveEffectStartTime;
13472 finishedWork = workInProgressUpdateTask;
13473 null !== commitErrors ? logCommitErrored(
13474 finishedWork$jscomp$0,
13475 passiveEffectsEndTime,
13476 commitErrors,
13477 true,
13478 finishedWork
13479 ) : !supportsUserTiming || passiveEffectsEndTime <= finishedWork$jscomp$0 || (finishedWork ? finishedWork.run(
13480 console.timeStamp.bind(
13481 console,
13482 "Remaining Effects",
13483 finishedWork$jscomp$0,
13484 passiveEffectsEndTime,
13485 currentTrack,
13486 LANES_TRACK_GROUP,
13487 "secondary-dark"
13488 )
13489 ) : console.timeStamp(
13490 "Remaining Effects",
13491 finishedWork$jscomp$0,
13492 passiveEffectsEndTime,
13493 currentTrack,
13494 LANES_TRACK_GROUP,
13495 "secondary-dark"
13496 ));
13497 finalizeRender(lanes, passiveEffectsEndTime);
13498 flushSyncWorkAcrossRoots_impl(0, false);
13499 didScheduleUpdateDuringPassiveEffects ? priority === rootWithPassiveNestedUpdates ? nestedPassiveUpdateCount++ : (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = priority) : nestedPassiveUpdateCount = 0;
13500 didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = false;
13501 if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot)
13502 try {
13503 injectedHook.onPostCommitFiberRoot(rendererID, priority);
13504 } catch (err) {
13505 hasLoggedError || (hasLoggedError = true, console.error(
13506 "React instrumentation encountered an error: %o",
13507 err
13508 ));
13509 }
13510 var stateNode = priority.current.stateNode;
13511 stateNode.effectDuration = 0;
13512 stateNode.passiveEffectDuration = 0;
13513 return true;
13514 } finally {
13515 ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = renderPriority, releaseRootPooledCache(root2, remainingLanes);
13516 }
13517 }
13518 function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {
13519 sourceFiber = createCapturedValueAtFiber(error, sourceFiber);
13520 recordEffectError(sourceFiber);
13521 sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);
13522 rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);
13523 null !== rootFiber && (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));
13524 }
13525 function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {
13526 isRunningInsertionEffect = false;
13527 if (3 === sourceFiber.tag)
13528 captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);
13529 else {
13530 for (; null !== nearestMountedAncestor; ) {
13531 if (3 === nearestMountedAncestor.tag) {
13532 captureCommitPhaseErrorOnRoot(
13533 nearestMountedAncestor,
13534 sourceFiber,
13535 error
13536 );
13537 return;
13538 }
13539 if (1 === nearestMountedAncestor.tag) {
13540 var instance = nearestMountedAncestor.stateNode;
13541 if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) {
13542 sourceFiber = createCapturedValueAtFiber(error, sourceFiber);
13543 recordEffectError(sourceFiber);
13544 error = createClassErrorUpdate(2);
13545 instance = enqueueUpdate(nearestMountedAncestor, error, 2);
13546 null !== instance && (initializeClassErrorUpdate(
13547 error,
13548 instance,
13549 nearestMountedAncestor,
13550 sourceFiber
13551 ), markRootUpdated$1(instance, 2), ensureRootIsScheduled(instance));
13552 return;
13553 }
13554 }
13555 nearestMountedAncestor = nearestMountedAncestor.return;
13556 }
13557 console.error(
13558 "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",
13559 error
13560 );
13561 }
13562 }
13563 function attachPingListener(root2, wakeable, lanes) {
13564 var pingCache = root2.pingCache;
13565 if (null === pingCache) {
13566 pingCache = root2.pingCache = new PossiblyWeakMap();
13567 var threadIDs = /* @__PURE__ */ new Set();
13568 pingCache.set(wakeable, threadIDs);
13569 } else
13570 threadIDs = pingCache.get(wakeable), void 0 === threadIDs && (threadIDs = /* @__PURE__ */ new Set(), pingCache.set(wakeable, threadIDs));
13571 threadIDs.has(lanes) || (workInProgressRootDidAttachPingListener = true, threadIDs.add(lanes), pingCache = pingSuspendedRoot.bind(null, root2, wakeable, lanes), isDevToolsPresent && restorePendingUpdaters(root2, lanes), wakeable.then(pingCache, pingCache));
13572 }
13573 function pingSuspendedRoot(root2, wakeable, pingedLanes) {
13574 var pingCache = root2.pingCache;
13575 null !== pingCache && pingCache.delete(wakeable);
13576 root2.pingedLanes |= root2.suspendedLanes & pingedLanes;
13577 root2.warmLanes &= ~pingedLanes;
13578 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);
13579 isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && console.error(
13580 "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"
13581 );
13582 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, workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes && (workInProgressSuspendedRetryLanes = 0));
13583 ensureRootIsScheduled(root2);
13584 }
13585 function retryTimedOutBoundary(boundaryFiber, retryLane) {
13586 0 === retryLane && (retryLane = claimNextRetryLane());
13587 boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);
13588 null !== boundaryFiber && (markRootUpdated$1(boundaryFiber, retryLane), ensureRootIsScheduled(boundaryFiber));
13589 }
13590 function retryDehydratedSuspenseBoundary(boundaryFiber) {
13591 var suspenseState = boundaryFiber.memoizedState, retryLane = 0;
13592 null !== suspenseState && (retryLane = suspenseState.retryLane);
13593 retryTimedOutBoundary(boundaryFiber, retryLane);
13594 }
13595 function resolveRetryWakeable(boundaryFiber, wakeable) {
13596 var retryLane = 0;
13597 switch (boundaryFiber.tag) {
13598 case 31:
13599 case 13:
13600 var retryCache = boundaryFiber.stateNode;
13601 var suspenseState = boundaryFiber.memoizedState;
13602 null !== suspenseState && (retryLane = suspenseState.retryLane);
13603 break;
13604 case 19:
13605 retryCache = boundaryFiber.stateNode;
13606 break;
13607 case 22:
13608 retryCache = boundaryFiber.stateNode._retryCache;
13609 break;
13610 default:
13611 throw Error(
13612 "Pinged unknown suspense boundary type. This is probably a bug in React."
13613 );
13614 }
13615 null !== retryCache && retryCache.delete(wakeable);
13616 retryTimedOutBoundary(boundaryFiber, retryLane);
13617 }
13618 function recursivelyTraverseAndDoubleInvokeEffectsInDEV(root$jscomp$0, parentFiber, isInStrictMode) {
13619 if (0 !== (parentFiber.subtreeFlags & 67117056))
13620 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
13621 var root2 = root$jscomp$0, fiber = parentFiber, isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE;
13622 isStrictModeFiber = isInStrictMode || isStrictModeFiber;
13623 22 !== fiber.tag ? fiber.flags & 67108864 ? isStrictModeFiber && runWithFiberInDEV(
13624 fiber,
13625 doubleInvokeEffectsOnFiber,
13626 root2,
13627 fiber
13628 ) : recursivelyTraverseAndDoubleInvokeEffectsInDEV(
13629 root2,
13630 fiber,
13631 isStrictModeFiber
13632 ) : null === fiber.memoizedState && (isStrictModeFiber && fiber.flags & 8192 ? runWithFiberInDEV(
13633 fiber,
13634 doubleInvokeEffectsOnFiber,
13635 root2,
13636 fiber
13637 ) : fiber.subtreeFlags & 67108864 && runWithFiberInDEV(
13638 fiber,
13639 recursivelyTraverseAndDoubleInvokeEffectsInDEV,
13640 root2,
13641 fiber,
13642 isStrictModeFiber
13643 ));
13644 parentFiber = parentFiber.sibling;
13645 }
13646 }
13647 function doubleInvokeEffectsOnFiber(root2, fiber) {
13648 setIsStrictModeForDevtools(true);
13649 try {
13650 disappearLayoutEffects(fiber), disconnectPassiveEffect(fiber), reappearLayoutEffects(root2, fiber.alternate, fiber, false), reconnectPassiveEffects(root2, fiber, 0, null, false, 0);
13651 } finally {
13652 setIsStrictModeForDevtools(false);
13653 }
13654 }
13655 function commitDoubleInvokeEffectsInDEV(root2) {
13656 var doubleInvokeEffects = true;
13657 root2.current.mode & (StrictLegacyMode | StrictEffectsMode) || (doubleInvokeEffects = false);
13658 recursivelyTraverseAndDoubleInvokeEffectsInDEV(
13659 root2,
13660 root2.current,
13661 doubleInvokeEffects
13662 );
13663 }
13664 function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {
13665 if ((executionContext & RenderContext) === NoContext) {
13666 var tag = fiber.tag;
13667 if (3 === tag || 1 === tag || 0 === tag || 11 === tag || 14 === tag || 15 === tag) {
13668 tag = getComponentNameFromFiber(fiber) || "ReactComponent";
13669 if (null !== didWarnStateUpdateForNotYetMountedComponent) {
13670 if (didWarnStateUpdateForNotYetMountedComponent.has(tag)) return;
13671 didWarnStateUpdateForNotYetMountedComponent.add(tag);
13672 } else didWarnStateUpdateForNotYetMountedComponent = /* @__PURE__ */ new Set([tag]);
13673 runWithFiberInDEV(fiber, function() {
13674 console.error(
13675 "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."
13676 );
13677 });
13678 }
13679 }
13680 }
13681 function restorePendingUpdaters(root2, lanes) {
13682 isDevToolsPresent && root2.memoizedUpdaters.forEach(function(schedulingFiber) {
13683 addFiberToLanesMap(root2, schedulingFiber, lanes);
13684 });
13685 }
13686 function scheduleCallback$1(priorityLevel, callback) {
13687 var actQueue = ReactSharedInternals.actQueue;
13688 return null !== actQueue ? (actQueue.push(callback), fakeActCallbackNode$1) : scheduleCallback$3(priorityLevel, callback);
13689 }
13690 function warnIfUpdatesNotWrappedWithActDEV(fiber) {
13691 isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && runWithFiberInDEV(fiber, function() {
13692 console.error(
13693 "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",
13694 getComponentNameFromFiber(fiber)
13695 );
13696 });
13697 }
13698 function ensureRootIsScheduled(root2) {
13699 root2 !== lastScheduledRoot && null === root2.next && (null === lastScheduledRoot ? firstScheduledRoot = lastScheduledRoot = root2 : lastScheduledRoot = lastScheduledRoot.next = root2);
13700 mightHavePendingSyncWork = true;
13701 null !== ReactSharedInternals.actQueue ? didScheduleMicrotask_act || (didScheduleMicrotask_act = true, scheduleImmediateRootScheduleTask()) : didScheduleMicrotask || (didScheduleMicrotask = true, scheduleImmediateRootScheduleTask());
13702 }
13703 function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {
13704 if (!isFlushingWork && mightHavePendingSyncWork) {
13705 isFlushingWork = true;
13706 do {
13707 var didPerformSomeWork = false;
13708 for (var root2 = firstScheduledRoot; null !== root2; ) {
13709 if (!onlyLegacy)
13710 if (0 !== syncTransitionLanes) {
13711 var pendingLanes = root2.pendingLanes;
13712 if (0 === pendingLanes) var nextLanes = 0;
13713 else {
13714 var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes;
13715 nextLanes = (1 << 31 - clz32(42 | syncTransitionLanes) + 1) - 1;
13716 nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes);
13717 nextLanes = nextLanes & 201326741 ? nextLanes & 201326741 | 1 : nextLanes ? nextLanes | 2 : 0;
13718 }
13719 0 !== nextLanes && (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes));
13720 } else
13721 nextLanes = workInProgressRootRenderLanes, nextLanes = getNextLanes(
13722 root2,
13723 root2 === workInProgressRoot ? nextLanes : 0,
13724 null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout
13725 ), 0 === (nextLanes & 3) || checkIfRootIsPrerendering(root2, nextLanes) || (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes));
13726 root2 = root2.next;
13727 }
13728 } while (didPerformSomeWork);
13729 isFlushingWork = false;
13730 }
13731 }
13732 function processRootScheduleInImmediateTask() {
13733 schedulerEvent = window.event;
13734 processRootScheduleInMicrotask();
13735 }
13736 function processRootScheduleInMicrotask() {
13737 mightHavePendingSyncWork = didScheduleMicrotask_act = didScheduleMicrotask = false;
13738 var syncTransitionLanes = 0;
13739 0 !== currentEventTransitionLane && shouldAttemptEagerTransition() && (syncTransitionLanes = currentEventTransitionLane);
13740 for (var currentTime = now$1(), prev = null, root2 = firstScheduledRoot; null !== root2; ) {
13741 var next = root2.next, nextLanes = scheduleTaskForRootDuringMicrotask(root2, currentTime);
13742 if (0 === nextLanes)
13743 root2.next = null, null === prev ? firstScheduledRoot = next : prev.next = next, null === next && (lastScheduledRoot = prev);
13744 else if (prev = root2, 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))
13745 mightHavePendingSyncWork = true;
13746 root2 = next;
13747 }
13748 pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE || flushSyncWorkAcrossRoots_impl(syncTransitionLanes, false);
13749 0 !== currentEventTransitionLane && (currentEventTransitionLane = 0);
13750 }
13751 function scheduleTaskForRootDuringMicrotask(root2, currentTime) {
13752 for (var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes, expirationTimes = root2.expirationTimes, lanes = root2.pendingLanes & -62914561; 0 < lanes; ) {
13753 var index = 31 - clz32(lanes), lane = 1 << index, expirationTime = expirationTimes[index];
13754 if (-1 === expirationTime) {
13755 if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))
13756 expirationTimes[index] = computeExpirationTime(lane, currentTime);
13757 } else expirationTime <= currentTime && (root2.expiredLanes |= lane);
13758 lanes &= ~lane;
13759 }
13760 currentTime = workInProgressRoot;
13761 suspendedLanes = workInProgressRootRenderLanes;
13762 suspendedLanes = getNextLanes(
13763 root2,
13764 root2 === currentTime ? suspendedLanes : 0,
13765 null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout
13766 );
13767 pingedLanes = root2.callbackNode;
13768 if (0 === suspendedLanes || root2 === currentTime && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit)
13769 return null !== pingedLanes && cancelCallback(pingedLanes), root2.callbackNode = null, root2.callbackPriority = 0;
13770 if (0 === (suspendedLanes & 3) || checkIfRootIsPrerendering(root2, suspendedLanes)) {
13771 currentTime = suspendedLanes & -suspendedLanes;
13772 if (currentTime !== root2.callbackPriority || null !== ReactSharedInternals.actQueue && pingedLanes !== fakeActCallbackNode)
13773 cancelCallback(pingedLanes);
13774 else return currentTime;
13775 switch (lanesToEventPriority(suspendedLanes)) {
13776 case DiscreteEventPriority:
13777 case ContinuousEventPriority:
13778 suspendedLanes = UserBlockingPriority;
13779 break;
13780 case DefaultEventPriority:
13781 suspendedLanes = NormalPriority$1;
13782 break;
13783 case IdleEventPriority:
13784 suspendedLanes = IdlePriority;
13785 break;
13786 default:
13787 suspendedLanes = NormalPriority$1;
13788 }
13789 pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root2);
13790 null !== ReactSharedInternals.actQueue ? (ReactSharedInternals.actQueue.push(pingedLanes), suspendedLanes = fakeActCallbackNode) : suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);
13791 root2.callbackPriority = currentTime;
13792 root2.callbackNode = suspendedLanes;
13793 return currentTime;
13794 }
13795 null !== pingedLanes && cancelCallback(pingedLanes);
13796 root2.callbackPriority = 2;
13797 root2.callbackNode = null;
13798 return 2;
13799 }
13800 function performWorkOnRootViaSchedulerTask(root2, didTimeout) {
13801 nestedUpdateScheduled = currentUpdateIsNested = false;
13802 schedulerEvent = window.event;
13803 if (pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE)
13804 return root2.callbackNode = null, root2.callbackPriority = 0, null;
13805 var originalCallbackNode = root2.callbackNode;
13806 pendingDelayedCommitReason === IMMEDIATE_COMMIT && (pendingDelayedCommitReason = DELAYED_PASSIVE_COMMIT);
13807 if (flushPendingEffects() && root2.callbackNode !== originalCallbackNode)
13808 return null;
13809 var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;
13810 workInProgressRootRenderLanes$jscomp$0 = getNextLanes(
13811 root2,
13812 root2 === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0,
13813 null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout
13814 );
13815 if (0 === workInProgressRootRenderLanes$jscomp$0) return null;
13816 performWorkOnRoot(
13817 root2,
13818 workInProgressRootRenderLanes$jscomp$0,
13819 didTimeout
13820 );
13821 scheduleTaskForRootDuringMicrotask(root2, now$1());
13822 return null != root2.callbackNode && root2.callbackNode === originalCallbackNode ? performWorkOnRootViaSchedulerTask.bind(null, root2) : null;
13823 }
13824 function performSyncWorkOnRoot(root2, lanes) {
13825 if (flushPendingEffects()) return null;
13826 currentUpdateIsNested = nestedUpdateScheduled;
13827 nestedUpdateScheduled = false;
13828 performWorkOnRoot(root2, lanes, true);
13829 }
13830 function cancelCallback(callbackNode) {
13831 callbackNode !== fakeActCallbackNode && null !== callbackNode && cancelCallback$1(callbackNode);
13832 }
13833 function scheduleImmediateRootScheduleTask() {
13834 null !== ReactSharedInternals.actQueue && ReactSharedInternals.actQueue.push(function() {
13835 processRootScheduleInMicrotask();
13836 return null;
13837 });
13838 scheduleMicrotask(function() {
13839 (executionContext & (RenderContext | CommitContext)) !== NoContext ? scheduleCallback$3(
13840 ImmediatePriority,
13841 processRootScheduleInImmediateTask
13842 ) : processRootScheduleInMicrotask();
13843 });
13844 }
13845 function requestTransitionLane() {
13846 if (0 === currentEventTransitionLane) {
13847 var actionScopeLane = currentEntangledLane;
13848 0 === actionScopeLane && (actionScopeLane = nextTransitionUpdateLane, nextTransitionUpdateLane <<= 1, 0 === (nextTransitionUpdateLane & 261888) && (nextTransitionUpdateLane = 256));
13849 currentEventTransitionLane = actionScopeLane;
13850 }
13851 return currentEventTransitionLane;
13852 }
13853 function coerceFormActionProp(actionProp) {
13854 if (null == actionProp || "symbol" === typeof actionProp || "boolean" === typeof actionProp)
13855 return null;
13856 if ("function" === typeof actionProp) return actionProp;
13857 checkAttributeStringCoercion(actionProp, "action");
13858 return sanitizeURL("" + actionProp);
13859 }
13860 function createFormDataWithSubmitter(form, submitter) {
13861 var temp = submitter.ownerDocument.createElement("input");
13862 temp.name = submitter.name;
13863 temp.value = submitter.value;
13864 form.id && temp.setAttribute("form", form.id);
13865 submitter.parentNode.insertBefore(temp, submitter);
13866 form = new FormData(form);
13867 temp.parentNode.removeChild(temp);
13868 return form;
13869 }
13870 function extractEvents$1(dispatchQueue, domEventName, maybeTargetInst, nativeEvent, nativeEventTarget) {
13871 if ("submit" === domEventName && maybeTargetInst && maybeTargetInst.stateNode === nativeEventTarget) {
13872 var action = coerceFormActionProp(
13873 (nativeEventTarget[internalPropsKey] || null).action
13874 ), submitter = nativeEvent.submitter;
13875 submitter && (domEventName = (domEventName = submitter[internalPropsKey] || null) ? coerceFormActionProp(domEventName.formAction) : submitter.getAttribute("formAction"), null !== domEventName && (action = domEventName, submitter = null));
13876 var event = new SyntheticEvent(
13877 "action",
13878 "action",
13879 null,
13880 nativeEvent,
13881 nativeEventTarget
13882 );
13883 dispatchQueue.push({
13884 event,
13885 listeners: [
13886 {
13887 instance: null,
13888 listener: function() {
13889 if (nativeEvent.defaultPrevented) {
13890 if (0 !== currentEventTransitionLane) {
13891 var formData = submitter ? createFormDataWithSubmitter(
13892 nativeEventTarget,
13893 submitter
13894 ) : new FormData(nativeEventTarget), pendingState = {
13895 pending: true,
13896 data: formData,
13897 method: nativeEventTarget.method,
13898 action
13899 };
13900 Object.freeze(pendingState);
13901 startHostTransition(
13902 maybeTargetInst,
13903 pendingState,
13904 null,
13905 formData
13906 );
13907 }
13908 } else
13909 "function" === typeof action && (event.preventDefault(), formData = submitter ? createFormDataWithSubmitter(
13910 nativeEventTarget,
13911 submitter
13912 ) : new FormData(nativeEventTarget), pendingState = {
13913 pending: true,
13914 data: formData,
13915 method: nativeEventTarget.method,
13916 action
13917 }, Object.freeze(pendingState), startHostTransition(
13918 maybeTargetInst,
13919 pendingState,
13920 action,
13921 formData
13922 ));
13923 },
13924 currentTarget: nativeEventTarget
13925 }
13926 ]
13927 });
13928 }
13929 }
13930 function executeDispatch(event, listener, currentTarget) {
13931 event.currentTarget = currentTarget;
13932 try {
13933 listener(event);
13934 } catch (error) {
13935 reportGlobalError(error);
13936 }
13937 event.currentTarget = null;
13938 }
13939 function processDispatchQueue(dispatchQueue, eventSystemFlags) {
13940 eventSystemFlags = 0 !== (eventSystemFlags & 4);
13941 for (var i = 0; i < dispatchQueue.length; i++) {
13942 var _dispatchQueue$i = dispatchQueue[i];
13943 a: {
13944 var previousInstance = void 0, event = _dispatchQueue$i.event;
13945 _dispatchQueue$i = _dispatchQueue$i.listeners;
13946 if (eventSystemFlags)
13947 for (var i$jscomp$0 = _dispatchQueue$i.length - 1; 0 <= i$jscomp$0; i$jscomp$0--) {
13948 var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0], instance = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget;
13949 _dispatchListeners$i = _dispatchListeners$i.listener;
13950 if (instance !== previousInstance && event.isPropagationStopped())
13951 break a;
13952 null !== instance ? runWithFiberInDEV(
13953 instance,
13954 executeDispatch,
13955 event,
13956 _dispatchListeners$i,
13957 currentTarget
13958 ) : executeDispatch(event, _dispatchListeners$i, currentTarget);
13959 previousInstance = instance;
13960 }
13961 else
13962 for (i$jscomp$0 = 0; i$jscomp$0 < _dispatchQueue$i.length; i$jscomp$0++) {
13963 _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0];
13964 instance = _dispatchListeners$i.instance;
13965 currentTarget = _dispatchListeners$i.currentTarget;
13966 _dispatchListeners$i = _dispatchListeners$i.listener;
13967 if (instance !== previousInstance && event.isPropagationStopped())
13968 break a;
13969 null !== instance ? runWithFiberInDEV(
13970 instance,
13971 executeDispatch,
13972 event,
13973 _dispatchListeners$i,
13974 currentTarget
13975 ) : executeDispatch(event, _dispatchListeners$i, currentTarget);
13976 previousInstance = instance;
13977 }
13978 }
13979 }
13980 }
13981 function listenToNonDelegatedEvent(domEventName, targetElement) {
13982 nonDelegatedEvents.has(domEventName) || console.error(
13983 'Did not expect a listenToNonDelegatedEvent() call for "%s". This is a bug in React. Please file an issue.',
13984 domEventName
13985 );
13986 var listenerSet = targetElement[internalEventHandlersKey];
13987 void 0 === listenerSet && (listenerSet = targetElement[internalEventHandlersKey] = /* @__PURE__ */ new Set());
13988 var listenerSetKey = domEventName + "__bubble";
13989 listenerSet.has(listenerSetKey) || (addTrappedEventListener(targetElement, domEventName, 2, false), listenerSet.add(listenerSetKey));
13990 }
13991 function listenToNativeEvent(domEventName, isCapturePhaseListener, target) {
13992 nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener && console.error(
13993 'Did not expect a listenToNativeEvent() call for "%s" in the bubble phase. This is a bug in React. Please file an issue.',
13994 domEventName
13995 );
13996 var eventSystemFlags = 0;
13997 isCapturePhaseListener && (eventSystemFlags |= 4);
13998 addTrappedEventListener(
13999 target,
14000 domEventName,
14001 eventSystemFlags,
14002 isCapturePhaseListener
14003 );
14004 }
14005 function listenToAllSupportedEvents(rootContainerElement) {
14006 if (!rootContainerElement[listeningMarker]) {
14007 rootContainerElement[listeningMarker] = true;
14008 allNativeEvents.forEach(function(domEventName) {
14009 "selectionchange" !== domEventName && (nonDelegatedEvents.has(domEventName) || listenToNativeEvent(domEventName, false, rootContainerElement), listenToNativeEvent(domEventName, true, rootContainerElement));
14010 });
14011 var ownerDocument = 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument;
14012 null === ownerDocument || ownerDocument[listeningMarker] || (ownerDocument[listeningMarker] = true, listenToNativeEvent("selectionchange", false, ownerDocument));
14013 }
14014 }
14015 function addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener) {
14016 switch (getEventPriority(domEventName)) {
14017 case DiscreteEventPriority:
14018 var listenerWrapper = dispatchDiscreteEvent;
14019 break;
14020 case ContinuousEventPriority:
14021 listenerWrapper = dispatchContinuousEvent;
14022 break;
14023 default:
14024 listenerWrapper = dispatchEvent;
14025 }
14026 eventSystemFlags = listenerWrapper.bind(
14027 null,
14028 domEventName,
14029 eventSystemFlags,
14030 targetContainer
14031 );
14032 listenerWrapper = void 0;
14033 !passiveBrowserEventsSupported || "touchstart" !== domEventName && "touchmove" !== domEventName && "wheel" !== domEventName || (listenerWrapper = true);
14034 isCapturePhaseListener ? void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, {
14035 capture: true,
14036 passive: listenerWrapper
14037 }) : targetContainer.addEventListener(domEventName, eventSystemFlags, true) : void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, {
14038 passive: listenerWrapper
14039 }) : targetContainer.addEventListener(
14040 domEventName,
14041 eventSystemFlags,
14042 false
14043 );
14044 }
14045 function dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst$jscomp$0, targetContainer) {
14046 var ancestorInst = targetInst$jscomp$0;
14047 if (0 === (eventSystemFlags & 1) && 0 === (eventSystemFlags & 2) && null !== targetInst$jscomp$0)
14048 a: for (; ; ) {
14049 if (null === targetInst$jscomp$0) return;
14050 var nodeTag = targetInst$jscomp$0.tag;
14051 if (3 === nodeTag || 4 === nodeTag) {
14052 var container = targetInst$jscomp$0.stateNode.containerInfo;
14053 if (container === targetContainer) break;
14054 if (4 === nodeTag)
14055 for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) {
14056 var grandTag = nodeTag.tag;
14057 if ((3 === grandTag || 4 === grandTag) && nodeTag.stateNode.containerInfo === targetContainer)
14058 return;
14059 nodeTag = nodeTag.return;
14060 }
14061 for (; null !== container; ) {
14062 nodeTag = getClosestInstanceFromNode(container);
14063 if (null === nodeTag) return;
14064 grandTag = nodeTag.tag;
14065 if (5 === grandTag || 6 === grandTag || 26 === grandTag || 27 === grandTag) {
14066 targetInst$jscomp$0 = ancestorInst = nodeTag;
14067 continue a;
14068 }
14069 container = container.parentNode;
14070 }
14071 }
14072 targetInst$jscomp$0 = targetInst$jscomp$0.return;
14073 }
14074 batchedUpdates$1(function() {
14075 var targetInst = ancestorInst, nativeEventTarget = getEventTarget(nativeEvent), dispatchQueue = [];
14076 a: {
14077 var reactName = topLevelEventsToReactNames.get(domEventName);
14078 if (void 0 !== reactName) {
14079 var SyntheticEventCtor = SyntheticEvent, reactEventType = domEventName;
14080 switch (domEventName) {
14081 case "keypress":
14082 if (0 === getEventCharCode(nativeEvent)) break a;
14083 case "keydown":
14084 case "keyup":
14085 SyntheticEventCtor = SyntheticKeyboardEvent;
14086 break;
14087 case "focusin":
14088 reactEventType = "focus";
14089 SyntheticEventCtor = SyntheticFocusEvent;
14090 break;
14091 case "focusout":
14092 reactEventType = "blur";
14093 SyntheticEventCtor = SyntheticFocusEvent;
14094 break;
14095 case "beforeblur":
14096 case "afterblur":
14097 SyntheticEventCtor = SyntheticFocusEvent;
14098 break;
14099 case "click":
14100 if (2 === nativeEvent.button) break a;
14101 case "auxclick":
14102 case "dblclick":
14103 case "mousedown":
14104 case "mousemove":
14105 case "mouseup":
14106 case "mouseout":
14107 case "mouseover":
14108 case "contextmenu":
14109 SyntheticEventCtor = SyntheticMouseEvent;
14110 break;
14111 case "drag":
14112 case "dragend":
14113 case "dragenter":
14114 case "dragexit":
14115 case "dragleave":
14116 case "dragover":
14117 case "dragstart":
14118 case "drop":
14119 SyntheticEventCtor = SyntheticDragEvent;
14120 break;
14121 case "touchcancel":
14122 case "touchend":
14123 case "touchmove":
14124 case "touchstart":
14125 SyntheticEventCtor = SyntheticTouchEvent;
14126 break;
14127 case ANIMATION_END:
14128 case ANIMATION_ITERATION:
14129 case ANIMATION_START:
14130 SyntheticEventCtor = SyntheticAnimationEvent;
14131 break;
14132 case TRANSITION_END:
14133 SyntheticEventCtor = SyntheticTransitionEvent;
14134 break;
14135 case "scroll":
14136 case "scrollend":
14137 SyntheticEventCtor = SyntheticUIEvent;
14138 break;
14139 case "wheel":
14140 SyntheticEventCtor = SyntheticWheelEvent;
14141 break;
14142 case "copy":
14143 case "cut":
14144 case "paste":
14145 SyntheticEventCtor = SyntheticClipboardEvent;
14146 break;
14147 case "gotpointercapture":
14148 case "lostpointercapture":
14149 case "pointercancel":
14150 case "pointerdown":
14151 case "pointermove":
14152 case "pointerout":
14153 case "pointerover":
14154 case "pointerup":
14155 SyntheticEventCtor = SyntheticPointerEvent;
14156 break;
14157 case "toggle":
14158 case "beforetoggle":
14159 SyntheticEventCtor = SyntheticToggleEvent;
14160 }
14161 var inCapturePhase = 0 !== (eventSystemFlags & 4), accumulateTargetOnly = !inCapturePhase && ("scroll" === domEventName || "scrollend" === domEventName), reactEventName = inCapturePhase ? null !== reactName ? reactName + "Capture" : null : reactName;
14162 inCapturePhase = [];
14163 for (var instance = targetInst, lastHostComponent; null !== instance; ) {
14164 var _instance2 = instance;
14165 lastHostComponent = _instance2.stateNode;
14166 _instance2 = _instance2.tag;
14167 5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2 || null === lastHostComponent || null === reactEventName || (_instance2 = getListener(instance, reactEventName), null != _instance2 && inCapturePhase.push(
14168 createDispatchListener(
14169 instance,
14170 _instance2,
14171 lastHostComponent
14172 )
14173 ));
14174 if (accumulateTargetOnly) break;
14175 instance = instance.return;
14176 }
14177 0 < inCapturePhase.length && (reactName = new SyntheticEventCtor(
14178 reactName,
14179 reactEventType,
14180 null,
14181 nativeEvent,
14182 nativeEventTarget
14183 ), dispatchQueue.push({
14184 event: reactName,
14185 listeners: inCapturePhase
14186 }));
14187 }
14188 }
14189 if (0 === (eventSystemFlags & 7)) {
14190 a: {
14191 reactName = "mouseover" === domEventName || "pointerover" === domEventName;
14192 SyntheticEventCtor = "mouseout" === domEventName || "pointerout" === domEventName;
14193 if (reactName && nativeEvent !== currentReplayingEvent && (reactEventType = nativeEvent.relatedTarget || nativeEvent.fromElement) && (getClosestInstanceFromNode(reactEventType) || reactEventType[internalContainerInstanceKey]))
14194 break a;
14195 if (SyntheticEventCtor || reactName) {
14196 reactName = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget : (reactName = nativeEventTarget.ownerDocument) ? reactName.defaultView || reactName.parentWindow : window;
14197 if (SyntheticEventCtor) {
14198 if (reactEventType = nativeEvent.relatedTarget || nativeEvent.toElement, SyntheticEventCtor = targetInst, reactEventType = reactEventType ? getClosestInstanceFromNode(reactEventType) : null, null !== reactEventType && (accumulateTargetOnly = getNearestMountedFiber(reactEventType), inCapturePhase = reactEventType.tag, reactEventType !== accumulateTargetOnly || 5 !== inCapturePhase && 27 !== inCapturePhase && 6 !== inCapturePhase))
14199 reactEventType = null;
14200 } else SyntheticEventCtor = null, reactEventType = targetInst;
14201 if (SyntheticEventCtor !== reactEventType) {
14202 inCapturePhase = SyntheticMouseEvent;
14203 _instance2 = "onMouseLeave";
14204 reactEventName = "onMouseEnter";
14205 instance = "mouse";
14206 if ("pointerout" === domEventName || "pointerover" === domEventName)
14207 inCapturePhase = SyntheticPointerEvent, _instance2 = "onPointerLeave", reactEventName = "onPointerEnter", instance = "pointer";
14208 accumulateTargetOnly = null == SyntheticEventCtor ? reactName : getNodeFromInstance(SyntheticEventCtor);
14209 lastHostComponent = null == reactEventType ? reactName : getNodeFromInstance(reactEventType);
14210 reactName = new inCapturePhase(
14211 _instance2,
14212 instance + "leave",
14213 SyntheticEventCtor,
14214 nativeEvent,
14215 nativeEventTarget
14216 );
14217 reactName.target = accumulateTargetOnly;
14218 reactName.relatedTarget = lastHostComponent;
14219 _instance2 = null;
14220 getClosestInstanceFromNode(nativeEventTarget) === targetInst && (inCapturePhase = new inCapturePhase(
14221 reactEventName,
14222 instance + "enter",
14223 reactEventType,
14224 nativeEvent,
14225 nativeEventTarget
14226 ), inCapturePhase.target = lastHostComponent, inCapturePhase.relatedTarget = accumulateTargetOnly, _instance2 = inCapturePhase);
14227 accumulateTargetOnly = _instance2;
14228 if (SyntheticEventCtor && reactEventType)
14229 b: {
14230 inCapturePhase = getParent;
14231 reactEventName = SyntheticEventCtor;
14232 instance = reactEventType;
14233 lastHostComponent = 0;
14234 for (_instance2 = reactEventName; _instance2; _instance2 = inCapturePhase(_instance2))
14235 lastHostComponent++;
14236 _instance2 = 0;
14237 for (var tempB = instance; tempB; tempB = inCapturePhase(tempB))
14238 _instance2++;
14239 for (; 0 < lastHostComponent - _instance2; )
14240 reactEventName = inCapturePhase(reactEventName), lastHostComponent--;
14241 for (; 0 < _instance2 - lastHostComponent; )
14242 instance = inCapturePhase(instance), _instance2--;
14243 for (; lastHostComponent--; ) {
14244 if (reactEventName === instance || null !== instance && reactEventName === instance.alternate) {
14245 inCapturePhase = reactEventName;
14246 break b;
14247 }
14248 reactEventName = inCapturePhase(reactEventName);
14249 instance = inCapturePhase(instance);
14250 }
14251 inCapturePhase = null;
14252 }
14253 else inCapturePhase = null;
14254 null !== SyntheticEventCtor && accumulateEnterLeaveListenersForEvent(
14255 dispatchQueue,
14256 reactName,
14257 SyntheticEventCtor,
14258 inCapturePhase,
14259 false
14260 );
14261 null !== reactEventType && null !== accumulateTargetOnly && accumulateEnterLeaveListenersForEvent(
14262 dispatchQueue,
14263 accumulateTargetOnly,
14264 reactEventType,
14265 inCapturePhase,
14266 true
14267 );
14268 }
14269 }
14270 }
14271 a: {
14272 reactName = targetInst ? getNodeFromInstance(targetInst) : window;
14273 SyntheticEventCtor = reactName.nodeName && reactName.nodeName.toLowerCase();
14274 if ("select" === SyntheticEventCtor || "input" === SyntheticEventCtor && "file" === reactName.type)
14275 var getTargetInstFunc = getTargetInstForChangeEvent;
14276 else if (isTextInputElement(reactName))
14277 if (isInputEventSupported)
14278 getTargetInstFunc = getTargetInstForInputOrChangeEvent;
14279 else {
14280 getTargetInstFunc = getTargetInstForInputEventPolyfill;
14281 var handleEventFunc = handleEventsForInputEventPolyfill;
14282 }
14283 else
14284 SyntheticEventCtor = reactName.nodeName, !SyntheticEventCtor || "input" !== SyntheticEventCtor.toLowerCase() || "checkbox" !== reactName.type && "radio" !== reactName.type ? targetInst && isCustomElement(targetInst.elementType) && (getTargetInstFunc = getTargetInstForChangeEvent) : getTargetInstFunc = getTargetInstForClickEvent;
14285 if (getTargetInstFunc && (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))) {
14286 createAndAccumulateChangeEvent(
14287 dispatchQueue,
14288 getTargetInstFunc,
14289 nativeEvent,
14290 nativeEventTarget
14291 );
14292 break a;
14293 }
14294 handleEventFunc && handleEventFunc(domEventName, reactName, targetInst);
14295 "focusout" === domEventName && targetInst && "number" === reactName.type && null != targetInst.memoizedProps.value && setDefaultValue(reactName, "number", reactName.value);
14296 }
14297 handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window;
14298 switch (domEventName) {
14299 case "focusin":
14300 if (isTextInputElement(handleEventFunc) || "true" === handleEventFunc.contentEditable)
14301 activeElement = handleEventFunc, activeElementInst = targetInst, lastSelection = null;
14302 break;
14303 case "focusout":
14304 lastSelection = activeElementInst = activeElement = null;
14305 break;
14306 case "mousedown":
14307 mouseDown = true;
14308 break;
14309 case "contextmenu":
14310 case "mouseup":
14311 case "dragend":
14312 mouseDown = false;
14313 constructSelectEvent(
14314 dispatchQueue,
14315 nativeEvent,
14316 nativeEventTarget
14317 );
14318 break;
14319 case "selectionchange":
14320 if (skipSelectionChangeEvent) break;
14321 case "keydown":
14322 case "keyup":
14323 constructSelectEvent(
14324 dispatchQueue,
14325 nativeEvent,
14326 nativeEventTarget
14327 );
14328 }
14329 var fallbackData;
14330 if (canUseCompositionEvent)
14331 b: {
14332 switch (domEventName) {
14333 case "compositionstart":
14334 var eventType = "onCompositionStart";
14335 break b;
14336 case "compositionend":
14337 eventType = "onCompositionEnd";
14338 break b;
14339 case "compositionupdate":
14340 eventType = "onCompositionUpdate";
14341 break b;
14342 }
14343 eventType = void 0;
14344 }
14345 else
14346 isComposing ? isFallbackCompositionEnd(domEventName, nativeEvent) && (eventType = "onCompositionEnd") : "keydown" === domEventName && nativeEvent.keyCode === START_KEYCODE && (eventType = "onCompositionStart");
14347 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(
14348 targetInst,
14349 eventType
14350 ), 0 < handleEventFunc.length && (eventType = new SyntheticCompositionEvent(
14351 eventType,
14352 domEventName,
14353 null,
14354 nativeEvent,
14355 nativeEventTarget
14356 ), dispatchQueue.push({
14357 event: eventType,
14358 listeners: handleEventFunc
14359 }), fallbackData ? eventType.data = fallbackData : (fallbackData = getDataFromCustomEvent(nativeEvent), null !== fallbackData && (eventType.data = fallbackData))));
14360 if (fallbackData = canUseTextInputEvent ? getNativeBeforeInputChars(domEventName, nativeEvent) : getFallbackBeforeInputChars(domEventName, nativeEvent))
14361 eventType = accumulateTwoPhaseListeners(
14362 targetInst,
14363 "onBeforeInput"
14364 ), 0 < eventType.length && (handleEventFunc = new SyntheticInputEvent(
14365 "onBeforeInput",
14366 "beforeinput",
14367 null,
14368 nativeEvent,
14369 nativeEventTarget
14370 ), dispatchQueue.push({
14371 event: handleEventFunc,
14372 listeners: eventType
14373 }), handleEventFunc.data = fallbackData);
14374 extractEvents$1(
14375 dispatchQueue,
14376 domEventName,
14377 targetInst,
14378 nativeEvent,
14379 nativeEventTarget
14380 );
14381 }
14382 processDispatchQueue(dispatchQueue, eventSystemFlags);
14383 });
14384 }
14385 function createDispatchListener(instance, listener, currentTarget) {
14386 return {
14387 instance,
14388 listener,
14389 currentTarget
14390 };
14391 }
14392 function accumulateTwoPhaseListeners(targetFiber, reactName) {
14393 for (var captureName = reactName + "Capture", listeners = []; null !== targetFiber; ) {
14394 var _instance3 = targetFiber, stateNode = _instance3.stateNode;
14395 _instance3 = _instance3.tag;
14396 5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3 || null === stateNode || (_instance3 = getListener(targetFiber, captureName), null != _instance3 && listeners.unshift(
14397 createDispatchListener(targetFiber, _instance3, stateNode)
14398 ), _instance3 = getListener(targetFiber, reactName), null != _instance3 && listeners.push(
14399 createDispatchListener(targetFiber, _instance3, stateNode)
14400 ));
14401 if (3 === targetFiber.tag) return listeners;
14402 targetFiber = targetFiber.return;
14403 }
14404 return [];
14405 }
14406 function getParent(inst) {
14407 if (null === inst) return null;
14408 do
14409 inst = inst.return;
14410 while (inst && 5 !== inst.tag && 27 !== inst.tag);
14411 return inst ? inst : null;
14412 }
14413 function accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) {
14414 for (var registrationName = event._reactName, listeners = []; null !== target && target !== common; ) {
14415 var _instance4 = target, alternate = _instance4.alternate, stateNode = _instance4.stateNode;
14416 _instance4 = _instance4.tag;
14417 if (null !== alternate && alternate === common) break;
14418 5 !== _instance4 && 26 !== _instance4 && 27 !== _instance4 || null === stateNode || (alternate = stateNode, inCapturePhase ? (stateNode = getListener(target, registrationName), null != stateNode && listeners.unshift(
14419 createDispatchListener(target, stateNode, alternate)
14420 )) : inCapturePhase || (stateNode = getListener(target, registrationName), null != stateNode && listeners.push(
14421 createDispatchListener(target, stateNode, alternate)
14422 )));
14423 target = target.return;
14424 }
14425 0 !== listeners.length && dispatchQueue.push({ event, listeners });
14426 }
14427 function validatePropertiesInDevelopment(type, props) {
14428 validateProperties$2(type, props);
14429 "input" !== type && "textarea" !== type && "select" !== type || null == props || null !== props.value || didWarnValueNull || (didWarnValueNull = true, "select" === type && props.multiple ? console.error(
14430 "`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.",
14431 type
14432 ) : console.error(
14433 "`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.",
14434 type
14435 ));
14436 var eventRegistry = {
14437 registrationNameDependencies,
14438 possibleRegistrationNames
14439 };
14440 isCustomElement(type) || "string" === typeof props.is || warnUnknownProperties(type, props, eventRegistry);
14441 props.contentEditable && !props.suppressContentEditableWarning && null != props.children && console.error(
14442 "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."
14443 );
14444 }
14445 function warnForPropDifference(propName, serverValue, clientValue, serverDifferences) {
14446 serverValue !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(serverValue) !== clientValue && (serverDifferences[propName] = serverValue));
14447 }
14448 function warnForExtraAttributes(domElement, attributeNames, serverDifferences) {
14449 attributeNames.forEach(function(attributeName) {
14450 serverDifferences[getPropNameFromAttributeName(attributeName)] = "style" === attributeName ? getStylesObjectFromElement(domElement) : domElement.getAttribute(attributeName);
14451 });
14452 }
14453 function warnForInvalidEventListener(registrationName, listener) {
14454 false === listener ? console.error(
14455 "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.",
14456 registrationName,
14457 registrationName,
14458 registrationName
14459 ) : console.error(
14460 "Expected `%s` listener to be a function, instead got a value of `%s` type.",
14461 registrationName,
14462 typeof listener
14463 );
14464 }
14465 function normalizeHTML(parent, html) {
14466 parent = parent.namespaceURI === MATH_NAMESPACE || parent.namespaceURI === SVG_NAMESPACE ? parent.ownerDocument.createElementNS(
14467 parent.namespaceURI,
14468 parent.tagName
14469 ) : parent.ownerDocument.createElement(parent.tagName);
14470 parent.innerHTML = html;
14471 return parent.innerHTML;
14472 }
14473 function normalizeMarkupForTextOrAttribute(markup) {
14474 willCoercionThrow(markup) && (console.error(
14475 "The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before using it here.",
14476 typeName(markup)
14477 ), testStringCoercion(markup));
14478 return ("string" === typeof markup ? markup : "" + markup).replace(NORMALIZE_NEWLINES_REGEX, "\n").replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, "");
14479 }
14480 function checkForUnmatchedText(serverText, clientText) {
14481 clientText = normalizeMarkupForTextOrAttribute(clientText);
14482 return normalizeMarkupForTextOrAttribute(serverText) === clientText ? true : false;
14483 }
14484 function setProp(domElement, tag, key, value, props, prevValue) {
14485 switch (key) {
14486 case "children":
14487 if ("string" === typeof value)
14488 validateTextNesting(value, tag, false), "body" === tag || "textarea" === tag && "" === value || setTextContent(domElement, value);
14489 else if ("number" === typeof value || "bigint" === typeof value)
14490 validateTextNesting("" + value, tag, false), "body" !== tag && setTextContent(domElement, "" + value);
14491 break;
14492 case "className":
14493 setValueForKnownAttribute(domElement, "class", value);
14494 break;
14495 case "tabIndex":
14496 setValueForKnownAttribute(domElement, "tabindex", value);
14497 break;
14498 case "dir":
14499 case "role":
14500 case "viewBox":
14501 case "width":
14502 case "height":
14503 setValueForKnownAttribute(domElement, key, value);
14504 break;
14505 case "style":
14506 setValueForStyles(domElement, value, prevValue);
14507 break;
14508 case "data":
14509 if ("object" !== tag) {
14510 setValueForKnownAttribute(domElement, "data", value);
14511 break;
14512 }
14513 case "src":
14514 case "href":
14515 if ("" === value && ("a" !== tag || "href" !== key)) {
14516 "src" === key ? console.error(
14517 '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.',
14518 key,
14519 key
14520 ) : console.error(
14521 '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.',
14522 key,
14523 key
14524 );
14525 domElement.removeAttribute(key);
14526 break;
14527 }
14528 if (null == value || "function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) {
14529 domElement.removeAttribute(key);
14530 break;
14531 }
14532 checkAttributeStringCoercion(value, key);
14533 value = sanitizeURL("" + value);
14534 domElement.setAttribute(key, value);
14535 break;
14536 case "action":
14537 case "formAction":
14538 null != value && ("form" === tag ? "formAction" === key ? console.error(
14539 "You can only pass the formAction prop to <input> or <button>. Use the action prop on <form>."
14540 ) : "function" === typeof value && (null == props.encType && null == props.method || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error(
14541 "Cannot specify a encType or method for a form that specifies a function as the action. React provides those automatically. They will get overridden."
14542 )), null == props.target || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error(
14543 "Cannot specify a target for a form that specifies a function as the action. The function will always be executed in the same window."
14544 ))) : "input" === tag || "button" === tag ? "action" === key ? console.error(
14545 "You can only pass the action prop to <form>. Use the formAction prop on <input> or <button>."
14546 ) : "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(
14547 '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.'
14548 )), null == props.formEncType && null == props.formMethod || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error(
14549 "Cannot specify a formEncType or formMethod for a button that specifies a function as a formAction. React provides those automatically. They will get overridden."
14550 )), null == props.formTarget || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error(
14551 "Cannot specify a formTarget for a button that specifies a function as a formAction. The function will always be executed in the same window."
14552 ))) : (didWarnFormActionType = true, console.error(
14553 'A button can only specify a formAction along with type="submit" or no type.'
14554 )) : (didWarnFormActionType = true, console.error(
14555 'An input can only specify a formAction along with type="submit" or type="image".'
14556 )) : "action" === key ? console.error(
14557 "You can only pass the action prop to <form>."
14558 ) : console.error(
14559 "You can only pass the formAction prop to <input> or <button>."
14560 ));
14561 if ("function" === typeof value) {
14562 domElement.setAttribute(
14563 key,
14564 "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().')"
14565 );
14566 break;
14567 } else
14568 "function" === typeof prevValue && ("formAction" === key ? ("input" !== tag && setProp(domElement, tag, "name", props.name, props, null), setProp(
14569 domElement,
14570 tag,
14571 "formEncType",
14572 props.formEncType,
14573 props,
14574 null
14575 ), setProp(
14576 domElement,
14577 tag,
14578 "formMethod",
14579 props.formMethod,
14580 props,
14581 null
14582 ), setProp(
14583 domElement,
14584 tag,
14585 "formTarget",
14586 props.formTarget,
14587 props,
14588 null
14589 )) : (setProp(
14590 domElement,
14591 tag,
14592 "encType",
14593 props.encType,
14594 props,
14595 null
14596 ), setProp(domElement, tag, "method", props.method, props, null), setProp(
14597 domElement,
14598 tag,
14599 "target",
14600 props.target,
14601 props,
14602 null
14603 )));
14604 if (null == value || "symbol" === typeof value || "boolean" === typeof value) {
14605 domElement.removeAttribute(key);
14606 break;
14607 }
14608 checkAttributeStringCoercion(value, key);
14609 value = sanitizeURL("" + value);
14610 domElement.setAttribute(key, value);
14611 break;
14612 case "onClick":
14613 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1);
14614 break;
14615 case "onScroll":
14616 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement));
14617 break;
14618 case "onScrollEnd":
14619 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement));
14620 break;
14621 case "dangerouslySetInnerHTML":
14622 if (null != value) {
14623 if ("object" !== typeof value || !("__html" in value))
14624 throw Error(
14625 "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information."
14626 );
14627 key = value.__html;
14628 if (null != key) {
14629 if (null != props.children)
14630 throw Error(
14631 "Can only set one of `children` or `props.dangerouslySetInnerHTML`."
14632 );
14633 domElement.innerHTML = key;
14634 }
14635 }
14636 break;
14637 case "multiple":
14638 domElement.multiple = value && "function" !== typeof value && "symbol" !== typeof value;
14639 break;
14640 case "muted":
14641 domElement.muted = value && "function" !== typeof value && "symbol" !== typeof value;
14642 break;
14643 case "suppressContentEditableWarning":
14644 case "suppressHydrationWarning":
14645 case "defaultValue":
14646 case "defaultChecked":
14647 case "innerHTML":
14648 case "ref":
14649 break;
14650 case "autoFocus":
14651 break;
14652 case "xlinkHref":
14653 if (null == value || "function" === typeof value || "boolean" === typeof value || "symbol" === typeof value) {
14654 domElement.removeAttribute("xlink:href");
14655 break;
14656 }
14657 checkAttributeStringCoercion(value, key);
14658 key = sanitizeURL("" + value);
14659 domElement.setAttributeNS(xlinkNamespace, "xlink:href", key);
14660 break;
14661 case "contentEditable":
14662 case "spellCheck":
14663 case "draggable":
14664 case "value":
14665 case "autoReverse":
14666 case "externalResourcesRequired":
14667 case "focusable":
14668 case "preserveAlpha":
14669 null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, "" + value)) : domElement.removeAttribute(key);
14670 break;
14671 case "inert":
14672 "" !== value || didWarnForNewBooleanPropsWithEmptyValue[key] || (didWarnForNewBooleanPropsWithEmptyValue[key] = true, console.error(
14673 "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.",
14674 key
14675 ));
14676 case "allowFullScreen":
14677 case "async":
14678 case "autoPlay":
14679 case "controls":
14680 case "default":
14681 case "defer":
14682 case "disabled":
14683 case "disablePictureInPicture":
14684 case "disableRemotePlayback":
14685 case "formNoValidate":
14686 case "hidden":
14687 case "loop":
14688 case "noModule":
14689 case "noValidate":
14690 case "open":
14691 case "playsInline":
14692 case "readOnly":
14693 case "required":
14694 case "reversed":
14695 case "scoped":
14696 case "seamless":
14697 case "itemScope":
14698 value && "function" !== typeof value && "symbol" !== typeof value ? domElement.setAttribute(key, "") : domElement.removeAttribute(key);
14699 break;
14700 case "capture":
14701 case "download":
14702 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);
14703 break;
14704 case "cols":
14705 case "rows":
14706 case "size":
14707 case "span":
14708 null != value && "function" !== typeof value && "symbol" !== typeof value && !isNaN(value) && 1 <= value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key);
14709 break;
14710 case "rowSpan":
14711 case "start":
14712 null == value || "function" === typeof value || "symbol" === typeof value || isNaN(value) ? domElement.removeAttribute(key) : (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value));
14713 break;
14714 case "popover":
14715 listenToNonDelegatedEvent("beforetoggle", domElement);
14716 listenToNonDelegatedEvent("toggle", domElement);
14717 setValueForAttribute(domElement, "popover", value);
14718 break;
14719 case "xlinkActuate":
14720 setValueForNamespacedAttribute(
14721 domElement,
14722 xlinkNamespace,
14723 "xlink:actuate",
14724 value
14725 );
14726 break;
14727 case "xlinkArcrole":
14728 setValueForNamespacedAttribute(
14729 domElement,
14730 xlinkNamespace,
14731 "xlink:arcrole",
14732 value
14733 );
14734 break;
14735 case "xlinkRole":
14736 setValueForNamespacedAttribute(
14737 domElement,
14738 xlinkNamespace,
14739 "xlink:role",
14740 value
14741 );
14742 break;
14743 case "xlinkShow":
14744 setValueForNamespacedAttribute(
14745 domElement,
14746 xlinkNamespace,
14747 "xlink:show",
14748 value
14749 );
14750 break;
14751 case "xlinkTitle":
14752 setValueForNamespacedAttribute(
14753 domElement,
14754 xlinkNamespace,
14755 "xlink:title",
14756 value
14757 );
14758 break;
14759 case "xlinkType":
14760 setValueForNamespacedAttribute(
14761 domElement,
14762 xlinkNamespace,
14763 "xlink:type",
14764 value
14765 );
14766 break;
14767 case "xmlBase":
14768 setValueForNamespacedAttribute(
14769 domElement,
14770 xmlNamespace,
14771 "xml:base",
14772 value
14773 );
14774 break;
14775 case "xmlLang":
14776 setValueForNamespacedAttribute(
14777 domElement,
14778 xmlNamespace,
14779 "xml:lang",
14780 value
14781 );
14782 break;
14783 case "xmlSpace":
14784 setValueForNamespacedAttribute(
14785 domElement,
14786 xmlNamespace,
14787 "xml:space",
14788 value
14789 );
14790 break;
14791 case "is":
14792 null != prevValue && console.error(
14793 'Cannot update the "is" prop after it has been initialized.'
14794 );
14795 setValueForAttribute(domElement, "is", value);
14796 break;
14797 case "innerText":
14798 case "textContent":
14799 break;
14800 case "popoverTarget":
14801 didWarnPopoverTargetObject || null == value || "object" !== typeof value || (didWarnPopoverTargetObject = true, console.error(
14802 "The `popoverTarget` prop expects the ID of an Element as a string. Received %s instead.",
14803 value
14804 ));
14805 default:
14806 !(2 < key.length) || "o" !== key[0] && "O" !== key[0] || "n" !== key[1] && "N" !== key[1] ? (key = getAttributeAlias(key), setValueForAttribute(domElement, key, value)) : registrationNameDependencies.hasOwnProperty(key) && null != value && "function" !== typeof value && warnForInvalidEventListener(key, value);
14807 }
14808 }
14809 function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
14810 switch (key) {
14811 case "style":
14812 setValueForStyles(domElement, value, prevValue);
14813 break;
14814 case "dangerouslySetInnerHTML":
14815 if (null != value) {
14816 if ("object" !== typeof value || !("__html" in value))
14817 throw Error(
14818 "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information."
14819 );
14820 key = value.__html;
14821 if (null != key) {
14822 if (null != props.children)
14823 throw Error(
14824 "Can only set one of `children` or `props.dangerouslySetInnerHTML`."
14825 );
14826 domElement.innerHTML = key;
14827 }
14828 }
14829 break;
14830 case "children":
14831 "string" === typeof value ? setTextContent(domElement, value) : ("number" === typeof value || "bigint" === typeof value) && setTextContent(domElement, "" + value);
14832 break;
14833 case "onScroll":
14834 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement));
14835 break;
14836 case "onScrollEnd":
14837 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement));
14838 break;
14839 case "onClick":
14840 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1);
14841 break;
14842 case "suppressContentEditableWarning":
14843 case "suppressHydrationWarning":
14844 case "innerHTML":
14845 case "ref":
14846 break;
14847 case "innerText":
14848 case "textContent":
14849 break;
14850 default:
14851 if (registrationNameDependencies.hasOwnProperty(key))
14852 null != value && "function" !== typeof value && warnForInvalidEventListener(key, value);
14853 else
14854 a: {
14855 if ("o" === key[0] && "n" === key[1] && (props = key.endsWith("Capture"), tag = key.slice(2, props ? key.length - 7 : void 0), prevValue = domElement[internalPropsKey] || null, prevValue = null != prevValue ? prevValue[key] : null, "function" === typeof prevValue && domElement.removeEventListener(tag, prevValue, props), "function" === typeof value)) {
14856 "function" !== typeof prevValue && null !== prevValue && (key in domElement ? domElement[key] = null : domElement.hasAttribute(key) && domElement.removeAttribute(key));
14857 domElement.addEventListener(tag, value, props);
14858 break a;
14859 }
14860 key in domElement ? domElement[key] = value : true === value ? domElement.setAttribute(key, "") : setValueForAttribute(domElement, key, value);
14861 }
14862 }
14863 }
14864 function setInitialProperties(domElement, tag, props) {
14865 validatePropertiesInDevelopment(tag, props);
14866 switch (tag) {
14867 case "div":
14868 case "span":
14869 case "svg":
14870 case "path":
14871 case "a":
14872 case "g":
14873 case "p":
14874 case "li":
14875 break;
14876 case "img":
14877 listenToNonDelegatedEvent("error", domElement);
14878 listenToNonDelegatedEvent("load", domElement);
14879 var hasSrc = false, hasSrcSet = false, propKey;
14880 for (propKey in props)
14881 if (props.hasOwnProperty(propKey)) {
14882 var propValue = props[propKey];
14883 if (null != propValue)
14884 switch (propKey) {
14885 case "src":
14886 hasSrc = true;
14887 break;
14888 case "srcSet":
14889 hasSrcSet = true;
14890 break;
14891 case "children":
14892 case "dangerouslySetInnerHTML":
14893 throw Error(
14894 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
14895 );
14896 default:
14897 setProp(domElement, tag, propKey, propValue, props, null);
14898 }
14899 }
14900 hasSrcSet && setProp(domElement, tag, "srcSet", props.srcSet, props, null);
14901 hasSrc && setProp(domElement, tag, "src", props.src, props, null);
14902 return;
14903 case "input":
14904 checkControlledValueProps("input", props);
14905 listenToNonDelegatedEvent("invalid", domElement);
14906 var defaultValue = propKey = propValue = hasSrcSet = null, checked = null, defaultChecked = null;
14907 for (hasSrc in props)
14908 if (props.hasOwnProperty(hasSrc)) {
14909 var _propValue = props[hasSrc];
14910 if (null != _propValue)
14911 switch (hasSrc) {
14912 case "name":
14913 hasSrcSet = _propValue;
14914 break;
14915 case "type":
14916 propValue = _propValue;
14917 break;
14918 case "checked":
14919 checked = _propValue;
14920 break;
14921 case "defaultChecked":
14922 defaultChecked = _propValue;
14923 break;
14924 case "value":
14925 propKey = _propValue;
14926 break;
14927 case "defaultValue":
14928 defaultValue = _propValue;
14929 break;
14930 case "children":
14931 case "dangerouslySetInnerHTML":
14932 if (null != _propValue)
14933 throw Error(
14934 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
14935 );
14936 break;
14937 default:
14938 setProp(domElement, tag, hasSrc, _propValue, props, null);
14939 }
14940 }
14941 validateInputProps(domElement, props);
14942 initInput(
14943 domElement,
14944 propKey,
14945 defaultValue,
14946 checked,
14947 defaultChecked,
14948 propValue,
14949 hasSrcSet,
14950 false
14951 );
14952 return;
14953 case "select":
14954 checkControlledValueProps("select", props);
14955 listenToNonDelegatedEvent("invalid", domElement);
14956 hasSrc = propValue = propKey = null;
14957 for (hasSrcSet in props)
14958 if (props.hasOwnProperty(hasSrcSet) && (defaultValue = props[hasSrcSet], null != defaultValue))
14959 switch (hasSrcSet) {
14960 case "value":
14961 propKey = defaultValue;
14962 break;
14963 case "defaultValue":
14964 propValue = defaultValue;
14965 break;
14966 case "multiple":
14967 hasSrc = defaultValue;
14968 default:
14969 setProp(
14970 domElement,
14971 tag,
14972 hasSrcSet,
14973 defaultValue,
14974 props,
14975 null
14976 );
14977 }
14978 validateSelectProps(domElement, props);
14979 tag = propKey;
14980 props = propValue;
14981 domElement.multiple = !!hasSrc;
14982 null != tag ? updateOptions(domElement, !!hasSrc, tag, false) : null != props && updateOptions(domElement, !!hasSrc, props, true);
14983 return;
14984 case "textarea":
14985 checkControlledValueProps("textarea", props);
14986 listenToNonDelegatedEvent("invalid", domElement);
14987 propKey = hasSrcSet = hasSrc = null;
14988 for (propValue in props)
14989 if (props.hasOwnProperty(propValue) && (defaultValue = props[propValue], null != defaultValue))
14990 switch (propValue) {
14991 case "value":
14992 hasSrc = defaultValue;
14993 break;
14994 case "defaultValue":
14995 hasSrcSet = defaultValue;
14996 break;
14997 case "children":
14998 propKey = defaultValue;
14999 break;
15000 case "dangerouslySetInnerHTML":
15001 if (null != defaultValue)
15002 throw Error(
15003 "`dangerouslySetInnerHTML` does not make sense on <textarea>."
15004 );
15005 break;
15006 default:
15007 setProp(
15008 domElement,
15009 tag,
15010 propValue,
15011 defaultValue,
15012 props,
15013 null
15014 );
15015 }
15016 validateTextareaProps(domElement, props);
15017 initTextarea(domElement, hasSrc, hasSrcSet, propKey);
15018 return;
15019 case "option":
15020 validateOptionProps(domElement, props);
15021 for (checked in props)
15022 if (props.hasOwnProperty(checked) && (hasSrc = props[checked], null != hasSrc))
15023 switch (checked) {
15024 case "selected":
15025 domElement.selected = hasSrc && "function" !== typeof hasSrc && "symbol" !== typeof hasSrc;
15026 break;
15027 default:
15028 setProp(domElement, tag, checked, hasSrc, props, null);
15029 }
15030 return;
15031 case "dialog":
15032 listenToNonDelegatedEvent("beforetoggle", domElement);
15033 listenToNonDelegatedEvent("toggle", domElement);
15034 listenToNonDelegatedEvent("cancel", domElement);
15035 listenToNonDelegatedEvent("close", domElement);
15036 break;
15037 case "iframe":
15038 case "object":
15039 listenToNonDelegatedEvent("load", domElement);
15040 break;
15041 case "video":
15042 case "audio":
15043 for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++)
15044 listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement);
15045 break;
15046 case "image":
15047 listenToNonDelegatedEvent("error", domElement);
15048 listenToNonDelegatedEvent("load", domElement);
15049 break;
15050 case "details":
15051 listenToNonDelegatedEvent("toggle", domElement);
15052 break;
15053 case "embed":
15054 case "source":
15055 case "link":
15056 listenToNonDelegatedEvent("error", domElement), listenToNonDelegatedEvent("load", domElement);
15057 case "area":
15058 case "base":
15059 case "br":
15060 case "col":
15061 case "hr":
15062 case "keygen":
15063 case "meta":
15064 case "param":
15065 case "track":
15066 case "wbr":
15067 case "menuitem":
15068 for (defaultChecked in props)
15069 if (props.hasOwnProperty(defaultChecked) && (hasSrc = props[defaultChecked], null != hasSrc))
15070 switch (defaultChecked) {
15071 case "children":
15072 case "dangerouslySetInnerHTML":
15073 throw Error(
15074 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
15075 );
15076 default:
15077 setProp(domElement, tag, defaultChecked, hasSrc, props, null);
15078 }
15079 return;
15080 default:
15081 if (isCustomElement(tag)) {
15082 for (_propValue in props)
15083 props.hasOwnProperty(_propValue) && (hasSrc = props[_propValue], void 0 !== hasSrc && setPropOnCustomElement(
15084 domElement,
15085 tag,
15086 _propValue,
15087 hasSrc,
15088 props,
15089 void 0
15090 ));
15091 return;
15092 }
15093 }
15094 for (defaultValue in props)
15095 props.hasOwnProperty(defaultValue) && (hasSrc = props[defaultValue], null != hasSrc && setProp(domElement, tag, defaultValue, hasSrc, props, null));
15096 }
15097 function updateProperties(domElement, tag, lastProps, nextProps) {
15098 validatePropertiesInDevelopment(tag, nextProps);
15099 switch (tag) {
15100 case "div":
15101 case "span":
15102 case "svg":
15103 case "path":
15104 case "a":
15105 case "g":
15106 case "p":
15107 case "li":
15108 break;
15109 case "input":
15110 var name = null, type = null, value = null, defaultValue = null, lastDefaultValue = null, checked = null, defaultChecked = null;
15111 for (propKey in lastProps) {
15112 var lastProp = lastProps[propKey];
15113 if (lastProps.hasOwnProperty(propKey) && null != lastProp)
15114 switch (propKey) {
15115 case "checked":
15116 break;
15117 case "value":
15118 break;
15119 case "defaultValue":
15120 lastDefaultValue = lastProp;
15121 default:
15122 nextProps.hasOwnProperty(propKey) || setProp(
15123 domElement,
15124 tag,
15125 propKey,
15126 null,
15127 nextProps,
15128 lastProp
15129 );
15130 }
15131 }
15132 for (var _propKey8 in nextProps) {
15133 var propKey = nextProps[_propKey8];
15134 lastProp = lastProps[_propKey8];
15135 if (nextProps.hasOwnProperty(_propKey8) && (null != propKey || null != lastProp))
15136 switch (_propKey8) {
15137 case "type":
15138 type = propKey;
15139 break;
15140 case "name":
15141 name = propKey;
15142 break;
15143 case "checked":
15144 checked = propKey;
15145 break;
15146 case "defaultChecked":
15147 defaultChecked = propKey;
15148 break;
15149 case "value":
15150 value = propKey;
15151 break;
15152 case "defaultValue":
15153 defaultValue = propKey;
15154 break;
15155 case "children":
15156 case "dangerouslySetInnerHTML":
15157 if (null != propKey)
15158 throw Error(
15159 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
15160 );
15161 break;
15162 default:
15163 propKey !== lastProp && setProp(
15164 domElement,
15165 tag,
15166 _propKey8,
15167 propKey,
15168 nextProps,
15169 lastProp
15170 );
15171 }
15172 }
15173 tag = "checkbox" === lastProps.type || "radio" === lastProps.type ? null != lastProps.checked : null != lastProps.value;
15174 nextProps = "checkbox" === nextProps.type || "radio" === nextProps.type ? null != nextProps.checked : null != nextProps.value;
15175 tag || !nextProps || didWarnUncontrolledToControlled || (console.error(
15176 "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"
15177 ), didWarnUncontrolledToControlled = true);
15178 !tag || nextProps || didWarnControlledToUncontrolled || (console.error(
15179 "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"
15180 ), didWarnControlledToUncontrolled = true);
15181 updateInput(
15182 domElement,
15183 value,
15184 defaultValue,
15185 lastDefaultValue,
15186 checked,
15187 defaultChecked,
15188 type,
15189 name
15190 );
15191 return;
15192 case "select":
15193 propKey = value = defaultValue = _propKey8 = null;
15194 for (type in lastProps)
15195 if (lastDefaultValue = lastProps[type], lastProps.hasOwnProperty(type) && null != lastDefaultValue)
15196 switch (type) {
15197 case "value":
15198 break;
15199 case "multiple":
15200 propKey = lastDefaultValue;
15201 default:
15202 nextProps.hasOwnProperty(type) || setProp(
15203 domElement,
15204 tag,
15205 type,
15206 null,
15207 nextProps,
15208 lastDefaultValue
15209 );
15210 }
15211 for (name in nextProps)
15212 if (type = nextProps[name], lastDefaultValue = lastProps[name], nextProps.hasOwnProperty(name) && (null != type || null != lastDefaultValue))
15213 switch (name) {
15214 case "value":
15215 _propKey8 = type;
15216 break;
15217 case "defaultValue":
15218 defaultValue = type;
15219 break;
15220 case "multiple":
15221 value = type;
15222 default:
15223 type !== lastDefaultValue && setProp(
15224 domElement,
15225 tag,
15226 name,
15227 type,
15228 nextProps,
15229 lastDefaultValue
15230 );
15231 }
15232 nextProps = defaultValue;
15233 tag = value;
15234 lastProps = propKey;
15235 null != _propKey8 ? updateOptions(domElement, !!tag, _propKey8, false) : !!lastProps !== !!tag && (null != nextProps ? updateOptions(domElement, !!tag, nextProps, true) : updateOptions(domElement, !!tag, tag ? [] : "", false));
15236 return;
15237 case "textarea":
15238 propKey = _propKey8 = null;
15239 for (defaultValue in lastProps)
15240 if (name = lastProps[defaultValue], lastProps.hasOwnProperty(defaultValue) && null != name && !nextProps.hasOwnProperty(defaultValue))
15241 switch (defaultValue) {
15242 case "value":
15243 break;
15244 case "children":
15245 break;
15246 default:
15247 setProp(domElement, tag, defaultValue, null, nextProps, name);
15248 }
15249 for (value in nextProps)
15250 if (name = nextProps[value], type = lastProps[value], nextProps.hasOwnProperty(value) && (null != name || null != type))
15251 switch (value) {
15252 case "value":
15253 _propKey8 = name;
15254 break;
15255 case "defaultValue":
15256 propKey = name;
15257 break;
15258 case "children":
15259 break;
15260 case "dangerouslySetInnerHTML":
15261 if (null != name)
15262 throw Error(
15263 "`dangerouslySetInnerHTML` does not make sense on <textarea>."
15264 );
15265 break;
15266 default:
15267 name !== type && setProp(domElement, tag, value, name, nextProps, type);
15268 }
15269 updateTextarea(domElement, _propKey8, propKey);
15270 return;
15271 case "option":
15272 for (var _propKey13 in lastProps)
15273 if (_propKey8 = lastProps[_propKey13], lastProps.hasOwnProperty(_propKey13) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey13))
15274 switch (_propKey13) {
15275 case "selected":
15276 domElement.selected = false;
15277 break;
15278 default:
15279 setProp(
15280 domElement,
15281 tag,
15282 _propKey13,
15283 null,
15284 nextProps,
15285 _propKey8
15286 );
15287 }
15288 for (lastDefaultValue in nextProps)
15289 if (_propKey8 = nextProps[lastDefaultValue], propKey = lastProps[lastDefaultValue], nextProps.hasOwnProperty(lastDefaultValue) && _propKey8 !== propKey && (null != _propKey8 || null != propKey))
15290 switch (lastDefaultValue) {
15291 case "selected":
15292 domElement.selected = _propKey8 && "function" !== typeof _propKey8 && "symbol" !== typeof _propKey8;
15293 break;
15294 default:
15295 setProp(
15296 domElement,
15297 tag,
15298 lastDefaultValue,
15299 _propKey8,
15300 nextProps,
15301 propKey
15302 );
15303 }
15304 return;
15305 case "img":
15306 case "link":
15307 case "area":
15308 case "base":
15309 case "br":
15310 case "col":
15311 case "embed":
15312 case "hr":
15313 case "keygen":
15314 case "meta":
15315 case "param":
15316 case "source":
15317 case "track":
15318 case "wbr":
15319 case "menuitem":
15320 for (var _propKey15 in lastProps)
15321 _propKey8 = lastProps[_propKey15], lastProps.hasOwnProperty(_propKey15) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey15) && setProp(
15322 domElement,
15323 tag,
15324 _propKey15,
15325 null,
15326 nextProps,
15327 _propKey8
15328 );
15329 for (checked in nextProps)
15330 if (_propKey8 = nextProps[checked], propKey = lastProps[checked], nextProps.hasOwnProperty(checked) && _propKey8 !== propKey && (null != _propKey8 || null != propKey))
15331 switch (checked) {
15332 case "children":
15333 case "dangerouslySetInnerHTML":
15334 if (null != _propKey8)
15335 throw Error(
15336 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
15337 );
15338 break;
15339 default:
15340 setProp(
15341 domElement,
15342 tag,
15343 checked,
15344 _propKey8,
15345 nextProps,
15346 propKey
15347 );
15348 }
15349 return;
15350 default:
15351 if (isCustomElement(tag)) {
15352 for (var _propKey17 in lastProps)
15353 _propKey8 = lastProps[_propKey17], lastProps.hasOwnProperty(_propKey17) && void 0 !== _propKey8 && !nextProps.hasOwnProperty(_propKey17) && setPropOnCustomElement(
15354 domElement,
15355 tag,
15356 _propKey17,
15357 void 0,
15358 nextProps,
15359 _propKey8
15360 );
15361 for (defaultChecked in nextProps)
15362 _propKey8 = nextProps[defaultChecked], propKey = lastProps[defaultChecked], !nextProps.hasOwnProperty(defaultChecked) || _propKey8 === propKey || void 0 === _propKey8 && void 0 === propKey || setPropOnCustomElement(
15363 domElement,
15364 tag,
15365 defaultChecked,
15366 _propKey8,
15367 nextProps,
15368 propKey
15369 );
15370 return;
15371 }
15372 }
15373 for (var _propKey19 in lastProps)
15374 _propKey8 = lastProps[_propKey19], lastProps.hasOwnProperty(_propKey19) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey19) && setProp(domElement, tag, _propKey19, null, nextProps, _propKey8);
15375 for (lastProp in nextProps)
15376 _propKey8 = nextProps[lastProp], propKey = lastProps[lastProp], !nextProps.hasOwnProperty(lastProp) || _propKey8 === propKey || null == _propKey8 && null == propKey || setProp(domElement, tag, lastProp, _propKey8, nextProps, propKey);
15377 }
15378 function getPropNameFromAttributeName(attrName) {
15379 switch (attrName) {
15380 case "class":
15381 return "className";
15382 case "for":
15383 return "htmlFor";
15384 default:
15385 return attrName;
15386 }
15387 }
15388 function getStylesObjectFromElement(domElement) {
15389 var serverValueInObjectForm = {};
15390 domElement = domElement.style;
15391 for (var i = 0; i < domElement.length; i++) {
15392 var styleName = domElement[i];
15393 serverValueInObjectForm[styleName] = domElement.getPropertyValue(styleName);
15394 }
15395 return serverValueInObjectForm;
15396 }
15397 function diffHydratedStyles(domElement, value$jscomp$0, serverDifferences) {
15398 if (null != value$jscomp$0 && "object" !== typeof value$jscomp$0)
15399 console.error(
15400 "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX."
15401 );
15402 else {
15403 var clientValue;
15404 var delimiter = clientValue = "", styleName;
15405 for (styleName in value$jscomp$0)
15406 if (value$jscomp$0.hasOwnProperty(styleName)) {
15407 var value = value$jscomp$0[styleName];
15408 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 = ";");
15409 }
15410 clientValue = clientValue || null;
15411 value$jscomp$0 = domElement.getAttribute("style");
15412 value$jscomp$0 !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(value$jscomp$0) !== clientValue && (serverDifferences.style = getStylesObjectFromElement(domElement)));
15413 }
15414 }
15415 function hydrateAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
15416 extraAttributes.delete(attributeName);
15417 domElement = domElement.getAttribute(attributeName);
15418 if (null === domElement)
15419 switch (typeof value) {
15420 case "undefined":
15421 case "function":
15422 case "symbol":
15423 case "boolean":
15424 return;
15425 }
15426 else if (null != value)
15427 switch (typeof value) {
15428 case "function":
15429 case "symbol":
15430 case "boolean":
15431 break;
15432 default:
15433 if (checkAttributeStringCoercion(value, propKey), domElement === "" + value)
15434 return;
15435 }
15436 warnForPropDifference(propKey, domElement, value, serverDifferences);
15437 }
15438 function hydrateBooleanAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
15439 extraAttributes.delete(attributeName);
15440 domElement = domElement.getAttribute(attributeName);
15441 if (null === domElement) {
15442 switch (typeof value) {
15443 case "function":
15444 case "symbol":
15445 return;
15446 }
15447 if (!value) return;
15448 } else
15449 switch (typeof value) {
15450 case "function":
15451 case "symbol":
15452 break;
15453 default:
15454 if (value) return;
15455 }
15456 warnForPropDifference(propKey, domElement, value, serverDifferences);
15457 }
15458 function hydrateBooleanishAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
15459 extraAttributes.delete(attributeName);
15460 domElement = domElement.getAttribute(attributeName);
15461 if (null === domElement)
15462 switch (typeof value) {
15463 case "undefined":
15464 case "function":
15465 case "symbol":
15466 return;
15467 }
15468 else if (null != value)
15469 switch (typeof value) {
15470 case "function":
15471 case "symbol":
15472 break;
15473 default:
15474 if (checkAttributeStringCoercion(value, attributeName), domElement === "" + value)
15475 return;
15476 }
15477 warnForPropDifference(propKey, domElement, value, serverDifferences);
15478 }
15479 function hydrateNumericAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
15480 extraAttributes.delete(attributeName);
15481 domElement = domElement.getAttribute(attributeName);
15482 if (null === domElement)
15483 switch (typeof value) {
15484 case "undefined":
15485 case "function":
15486 case "symbol":
15487 case "boolean":
15488 return;
15489 default:
15490 if (isNaN(value)) return;
15491 }
15492 else if (null != value)
15493 switch (typeof value) {
15494 case "function":
15495 case "symbol":
15496 case "boolean":
15497 break;
15498 default:
15499 if (!isNaN(value) && (checkAttributeStringCoercion(value, propKey), domElement === "" + value))
15500 return;
15501 }
15502 warnForPropDifference(propKey, domElement, value, serverDifferences);
15503 }
15504 function hydrateSanitizedAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
15505 extraAttributes.delete(attributeName);
15506 domElement = domElement.getAttribute(attributeName);
15507 if (null === domElement)
15508 switch (typeof value) {
15509 case "undefined":
15510 case "function":
15511 case "symbol":
15512 case "boolean":
15513 return;
15514 }
15515 else if (null != value)
15516 switch (typeof value) {
15517 case "function":
15518 case "symbol":
15519 case "boolean":
15520 break;
15521 default:
15522 if (checkAttributeStringCoercion(value, propKey), attributeName = sanitizeURL("" + value), domElement === attributeName)
15523 return;
15524 }
15525 warnForPropDifference(propKey, domElement, value, serverDifferences);
15526 }
15527 function diffHydratedProperties(domElement, tag, props, hostContext) {
15528 for (var serverDifferences = {}, extraAttributes = /* @__PURE__ */ new Set(), attributes = domElement.attributes, i = 0; i < attributes.length; i++)
15529 switch (attributes[i].name.toLowerCase()) {
15530 case "value":
15531 break;
15532 case "checked":
15533 break;
15534 case "selected":
15535 break;
15536 default:
15537 extraAttributes.add(attributes[i].name);
15538 }
15539 if (isCustomElement(tag))
15540 for (var propKey in props) {
15541 if (props.hasOwnProperty(propKey)) {
15542 var value = props[propKey];
15543 if (null != value) {
15544 if (registrationNameDependencies.hasOwnProperty(propKey))
15545 "function" !== typeof value && warnForInvalidEventListener(propKey, value);
15546 else if (true !== props.suppressHydrationWarning)
15547 switch (propKey) {
15548 case "children":
15549 "string" !== typeof value && "number" !== typeof value || warnForPropDifference(
15550 "children",
15551 domElement.textContent,
15552 value,
15553 serverDifferences
15554 );
15555 continue;
15556 case "suppressContentEditableWarning":
15557 case "suppressHydrationWarning":
15558 case "defaultValue":
15559 case "defaultChecked":
15560 case "innerHTML":
15561 case "ref":
15562 continue;
15563 case "dangerouslySetInnerHTML":
15564 attributes = domElement.innerHTML;
15565 value = value ? value.__html : void 0;
15566 null != value && (value = normalizeHTML(domElement, value), warnForPropDifference(
15567 propKey,
15568 attributes,
15569 value,
15570 serverDifferences
15571 ));
15572 continue;
15573 case "style":
15574 extraAttributes.delete(propKey);
15575 diffHydratedStyles(domElement, value, serverDifferences);
15576 continue;
15577 case "offsetParent":
15578 case "offsetTop":
15579 case "offsetLeft":
15580 case "offsetWidth":
15581 case "offsetHeight":
15582 case "isContentEditable":
15583 case "outerText":
15584 case "outerHTML":
15585 extraAttributes.delete(propKey.toLowerCase());
15586 console.error(
15587 "Assignment to read-only property will result in a no-op: `%s`",
15588 propKey
15589 );
15590 continue;
15591 case "className":
15592 extraAttributes.delete("class");
15593 attributes = getValueForAttributeOnCustomComponent(
15594 domElement,
15595 "class",
15596 value
15597 );
15598 warnForPropDifference(
15599 "className",
15600 attributes,
15601 value,
15602 serverDifferences
15603 );
15604 continue;
15605 default:
15606 hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(propKey.toLowerCase()) : extraAttributes.delete(propKey), attributes = getValueForAttributeOnCustomComponent(
15607 domElement,
15608 propKey,
15609 value
15610 ), warnForPropDifference(
15611 propKey,
15612 attributes,
15613 value,
15614 serverDifferences
15615 );
15616 }
15617 }
15618 }
15619 }
15620 else
15621 for (value in props)
15622 if (props.hasOwnProperty(value) && (propKey = props[value], null != propKey)) {
15623 if (registrationNameDependencies.hasOwnProperty(value))
15624 "function" !== typeof propKey && warnForInvalidEventListener(value, propKey);
15625 else if (true !== props.suppressHydrationWarning)
15626 switch (value) {
15627 case "children":
15628 "string" !== typeof propKey && "number" !== typeof propKey || warnForPropDifference(
15629 "children",
15630 domElement.textContent,
15631 propKey,
15632 serverDifferences
15633 );
15634 continue;
15635 case "suppressContentEditableWarning":
15636 case "suppressHydrationWarning":
15637 case "value":
15638 case "checked":
15639 case "selected":
15640 case "defaultValue":
15641 case "defaultChecked":
15642 case "innerHTML":
15643 case "ref":
15644 continue;
15645 case "dangerouslySetInnerHTML":
15646 attributes = domElement.innerHTML;
15647 propKey = propKey ? propKey.__html : void 0;
15648 null != propKey && (propKey = normalizeHTML(domElement, propKey), attributes !== propKey && (serverDifferences[value] = { __html: attributes }));
15649 continue;
15650 case "className":
15651 hydrateAttribute(
15652 domElement,
15653 value,
15654 "class",
15655 propKey,
15656 extraAttributes,
15657 serverDifferences
15658 );
15659 continue;
15660 case "tabIndex":
15661 hydrateAttribute(
15662 domElement,
15663 value,
15664 "tabindex",
15665 propKey,
15666 extraAttributes,
15667 serverDifferences
15668 );
15669 continue;
15670 case "style":
15671 extraAttributes.delete(value);
15672 diffHydratedStyles(domElement, propKey, serverDifferences);
15673 continue;
15674 case "multiple":
15675 extraAttributes.delete(value);
15676 warnForPropDifference(
15677 value,
15678 domElement.multiple,
15679 propKey,
15680 serverDifferences
15681 );
15682 continue;
15683 case "muted":
15684 extraAttributes.delete(value);
15685 warnForPropDifference(
15686 value,
15687 domElement.muted,
15688 propKey,
15689 serverDifferences
15690 );
15691 continue;
15692 case "autoFocus":
15693 extraAttributes.delete("autofocus");
15694 warnForPropDifference(
15695 value,
15696 domElement.autofocus,
15697 propKey,
15698 serverDifferences
15699 );
15700 continue;
15701 case "data":
15702 if ("object" !== tag) {
15703 extraAttributes.delete(value);
15704 attributes = domElement.getAttribute("data");
15705 warnForPropDifference(
15706 value,
15707 attributes,
15708 propKey,
15709 serverDifferences
15710 );
15711 continue;
15712 }
15713 case "src":
15714 case "href":
15715 if (!("" !== propKey || "a" === tag && "href" === value || "object" === tag && "data" === value)) {
15716 "src" === value ? console.error(
15717 '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.',
15718 value,
15719 value
15720 ) : console.error(
15721 '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.',
15722 value,
15723 value
15724 );
15725 continue;
15726 }
15727 hydrateSanitizedAttribute(
15728 domElement,
15729 value,
15730 value,
15731 propKey,
15732 extraAttributes,
15733 serverDifferences
15734 );
15735 continue;
15736 case "action":
15737 case "formAction":
15738 attributes = domElement.getAttribute(value);
15739 if ("function" === typeof propKey) {
15740 extraAttributes.delete(value.toLowerCase());
15741 "formAction" === value ? (extraAttributes.delete("name"), extraAttributes.delete("formenctype"), extraAttributes.delete("formmethod"), extraAttributes.delete("formtarget")) : (extraAttributes.delete("enctype"), extraAttributes.delete("method"), extraAttributes.delete("target"));
15742 continue;
15743 } else if (attributes === EXPECTED_FORM_ACTION_URL) {
15744 extraAttributes.delete(value.toLowerCase());
15745 warnForPropDifference(
15746 value,
15747 "function",
15748 propKey,
15749 serverDifferences
15750 );
15751 continue;
15752 }
15753 hydrateSanitizedAttribute(
15754 domElement,
15755 value,
15756 value.toLowerCase(),
15757 propKey,
15758 extraAttributes,
15759 serverDifferences
15760 );
15761 continue;
15762 case "xlinkHref":
15763 hydrateSanitizedAttribute(
15764 domElement,
15765 value,
15766 "xlink:href",
15767 propKey,
15768 extraAttributes,
15769 serverDifferences
15770 );
15771 continue;
15772 case "contentEditable":
15773 hydrateBooleanishAttribute(
15774 domElement,
15775 value,
15776 "contenteditable",
15777 propKey,
15778 extraAttributes,
15779 serverDifferences
15780 );
15781 continue;
15782 case "spellCheck":
15783 hydrateBooleanishAttribute(
15784 domElement,
15785 value,
15786 "spellcheck",
15787 propKey,
15788 extraAttributes,
15789 serverDifferences
15790 );
15791 continue;
15792 case "draggable":
15793 case "autoReverse":
15794 case "externalResourcesRequired":
15795 case "focusable":
15796 case "preserveAlpha":
15797 hydrateBooleanishAttribute(
15798 domElement,
15799 value,
15800 value,
15801 propKey,
15802 extraAttributes,
15803 serverDifferences
15804 );
15805 continue;
15806 case "allowFullScreen":
15807 case "async":
15808 case "autoPlay":
15809 case "controls":
15810 case "default":
15811 case "defer":
15812 case "disabled":
15813 case "disablePictureInPicture":
15814 case "disableRemotePlayback":
15815 case "formNoValidate":
15816 case "hidden":
15817 case "loop":
15818 case "noModule":
15819 case "noValidate":
15820 case "open":
15821 case "playsInline":
15822 case "readOnly":
15823 case "required":
15824 case "reversed":
15825 case "scoped":
15826 case "seamless":
15827 case "itemScope":
15828 hydrateBooleanAttribute(
15829 domElement,
15830 value,
15831 value.toLowerCase(),
15832 propKey,
15833 extraAttributes,
15834 serverDifferences
15835 );
15836 continue;
15837 case "capture":
15838 case "download":
15839 a: {
15840 i = domElement;
15841 var attributeName = attributes = value, serverDifferences$jscomp$0 = serverDifferences;
15842 extraAttributes.delete(attributeName);
15843 i = i.getAttribute(attributeName);
15844 if (null === i)
15845 switch (typeof propKey) {
15846 case "undefined":
15847 case "function":
15848 case "symbol":
15849 break a;
15850 default:
15851 if (false === propKey) break a;
15852 }
15853 else if (null != propKey)
15854 switch (typeof propKey) {
15855 case "function":
15856 case "symbol":
15857 break;
15858 case "boolean":
15859 if (true === propKey && "" === i) break a;
15860 break;
15861 default:
15862 if (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey)
15863 break a;
15864 }
15865 warnForPropDifference(
15866 attributes,
15867 i,
15868 propKey,
15869 serverDifferences$jscomp$0
15870 );
15871 }
15872 continue;
15873 case "cols":
15874 case "rows":
15875 case "size":
15876 case "span":
15877 a: {
15878 i = domElement;
15879 attributeName = attributes = value;
15880 serverDifferences$jscomp$0 = serverDifferences;
15881 extraAttributes.delete(attributeName);
15882 i = i.getAttribute(attributeName);
15883 if (null === i)
15884 switch (typeof propKey) {
15885 case "undefined":
15886 case "function":
15887 case "symbol":
15888 case "boolean":
15889 break a;
15890 default:
15891 if (isNaN(propKey) || 1 > propKey) break a;
15892 }
15893 else if (null != propKey)
15894 switch (typeof propKey) {
15895 case "function":
15896 case "symbol":
15897 case "boolean":
15898 break;
15899 default:
15900 if (!(isNaN(propKey) || 1 > propKey) && (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey))
15901 break a;
15902 }
15903 warnForPropDifference(
15904 attributes,
15905 i,
15906 propKey,
15907 serverDifferences$jscomp$0
15908 );
15909 }
15910 continue;
15911 case "rowSpan":
15912 hydrateNumericAttribute(
15913 domElement,
15914 value,
15915 "rowspan",
15916 propKey,
15917 extraAttributes,
15918 serverDifferences
15919 );
15920 continue;
15921 case "start":
15922 hydrateNumericAttribute(
15923 domElement,
15924 value,
15925 value,
15926 propKey,
15927 extraAttributes,
15928 serverDifferences
15929 );
15930 continue;
15931 case "xHeight":
15932 hydrateAttribute(
15933 domElement,
15934 value,
15935 "x-height",
15936 propKey,
15937 extraAttributes,
15938 serverDifferences
15939 );
15940 continue;
15941 case "xlinkActuate":
15942 hydrateAttribute(
15943 domElement,
15944 value,
15945 "xlink:actuate",
15946 propKey,
15947 extraAttributes,
15948 serverDifferences
15949 );
15950 continue;
15951 case "xlinkArcrole":
15952 hydrateAttribute(
15953 domElement,
15954 value,
15955 "xlink:arcrole",
15956 propKey,
15957 extraAttributes,
15958 serverDifferences
15959 );
15960 continue;
15961 case "xlinkRole":
15962 hydrateAttribute(
15963 domElement,
15964 value,
15965 "xlink:role",
15966 propKey,
15967 extraAttributes,
15968 serverDifferences
15969 );
15970 continue;
15971 case "xlinkShow":
15972 hydrateAttribute(
15973 domElement,
15974 value,
15975 "xlink:show",
15976 propKey,
15977 extraAttributes,
15978 serverDifferences
15979 );
15980 continue;
15981 case "xlinkTitle":
15982 hydrateAttribute(
15983 domElement,
15984 value,
15985 "xlink:title",
15986 propKey,
15987 extraAttributes,
15988 serverDifferences
15989 );
15990 continue;
15991 case "xlinkType":
15992 hydrateAttribute(
15993 domElement,
15994 value,
15995 "xlink:type",
15996 propKey,
15997 extraAttributes,
15998 serverDifferences
15999 );
16000 continue;
16001 case "xmlBase":
16002 hydrateAttribute(
16003 domElement,
16004 value,
16005 "xml:base",
16006 propKey,
16007 extraAttributes,
16008 serverDifferences
16009 );
16010 continue;
16011 case "xmlLang":
16012 hydrateAttribute(
16013 domElement,
16014 value,
16015 "xml:lang",
16016 propKey,
16017 extraAttributes,
16018 serverDifferences
16019 );
16020 continue;
16021 case "xmlSpace":
16022 hydrateAttribute(
16023 domElement,
16024 value,
16025 "xml:space",
16026 propKey,
16027 extraAttributes,
16028 serverDifferences
16029 );
16030 continue;
16031 case "inert":
16032 "" !== propKey || didWarnForNewBooleanPropsWithEmptyValue[value] || (didWarnForNewBooleanPropsWithEmptyValue[value] = true, console.error(
16033 "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.",
16034 value
16035 ));
16036 hydrateBooleanAttribute(
16037 domElement,
16038 value,
16039 value,
16040 propKey,
16041 extraAttributes,
16042 serverDifferences
16043 );
16044 continue;
16045 default:
16046 if (!(2 < value.length) || "o" !== value[0] && "O" !== value[0] || "n" !== value[1] && "N" !== value[1]) {
16047 i = getAttributeAlias(value);
16048 attributes = false;
16049 hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(i.toLowerCase()) : (attributeName = value.toLowerCase(), attributeName = possibleStandardNames.hasOwnProperty(
16050 attributeName
16051 ) ? possibleStandardNames[attributeName] || null : null, null !== attributeName && attributeName !== value && (attributes = true, extraAttributes.delete(attributeName)), extraAttributes.delete(i));
16052 a: if (attributeName = domElement, serverDifferences$jscomp$0 = i, i = propKey, isAttributeNameSafe(serverDifferences$jscomp$0))
16053 if (attributeName.hasAttribute(serverDifferences$jscomp$0))
16054 attributeName = attributeName.getAttribute(
16055 serverDifferences$jscomp$0
16056 ), checkAttributeStringCoercion(
16057 i,
16058 serverDifferences$jscomp$0
16059 ), i = attributeName === "" + i ? i : attributeName;
16060 else {
16061 switch (typeof i) {
16062 case "function":
16063 case "symbol":
16064 break a;
16065 case "boolean":
16066 if (attributeName = serverDifferences$jscomp$0.toLowerCase().slice(0, 5), "data-" !== attributeName && "aria-" !== attributeName)
16067 break a;
16068 }
16069 i = void 0 === i ? void 0 : null;
16070 }
16071 else i = void 0;
16072 attributes || warnForPropDifference(
16073 value,
16074 i,
16075 propKey,
16076 serverDifferences
16077 );
16078 }
16079 }
16080 }
16081 0 < extraAttributes.size && true !== props.suppressHydrationWarning && warnForExtraAttributes(domElement, extraAttributes, serverDifferences);
16082 return 0 === Object.keys(serverDifferences).length ? null : serverDifferences;
16083 }
16084 function propNamesListJoin(list, combinator) {
16085 switch (list.length) {
16086 case 0:
16087 return "";
16088 case 1:
16089 return list[0];
16090 case 2:
16091 return list[0] + " " + combinator + " " + list[1];
16092 default:
16093 return list.slice(0, -1).join(", ") + ", " + combinator + " " + list[list.length - 1];
16094 }
16095 }
16096 function isLikelyStaticResource(initiatorType) {
16097 switch (initiatorType) {
16098 case "css":
16099 case "script":
16100 case "font":
16101 case "img":
16102 case "image":
16103 case "input":
16104 case "link":
16105 return true;
16106 default:
16107 return false;
16108 }
16109 }
16110 function estimateBandwidth() {
16111 if ("function" === typeof performance.getEntriesByType) {
16112 for (var count = 0, bits = 0, resourceEntries = performance.getEntriesByType("resource"), i = 0; i < resourceEntries.length; i++) {
16113 var entry = resourceEntries[i], transferSize = entry.transferSize, initiatorType = entry.initiatorType, duration = entry.duration;
16114 if (transferSize && duration && isLikelyStaticResource(initiatorType)) {
16115 initiatorType = 0;
16116 duration = entry.responseEnd;
16117 for (i += 1; i < resourceEntries.length; i++) {
16118 var overlapEntry = resourceEntries[i], overlapStartTime = overlapEntry.startTime;
16119 if (overlapStartTime > duration) break;
16120 var overlapTransferSize = overlapEntry.transferSize, overlapInitiatorType = overlapEntry.initiatorType;
16121 overlapTransferSize && isLikelyStaticResource(overlapInitiatorType) && (overlapEntry = overlapEntry.responseEnd, initiatorType += overlapTransferSize * (overlapEntry < duration ? 1 : (duration - overlapStartTime) / (overlapEntry - overlapStartTime)));
16122 }
16123 --i;
16124 bits += 8 * (transferSize + initiatorType) / (entry.duration / 1e3);
16125 count++;
16126 if (10 < count) break;
16127 }
16128 }
16129 if (0 < count) return bits / count / 1e6;
16130 }
16131 return navigator.connection && (count = navigator.connection.downlink, "number" === typeof count) ? count : 5;
16132 }
16133 function getOwnerDocumentFromRootContainer(rootContainerElement) {
16134 return 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument;
16135 }
16136 function getOwnHostContext(namespaceURI) {
16137 switch (namespaceURI) {
16138 case SVG_NAMESPACE:
16139 return HostContextNamespaceSvg;
16140 case MATH_NAMESPACE:
16141 return HostContextNamespaceMath;
16142 default:
16143 return HostContextNamespaceNone;
16144 }
16145 }
16146 function getChildHostContextProd(parentNamespace, type) {
16147 if (parentNamespace === HostContextNamespaceNone)
16148 switch (type) {
16149 case "svg":
16150 return HostContextNamespaceSvg;
16151 case "math":
16152 return HostContextNamespaceMath;
16153 default:
16154 return HostContextNamespaceNone;
16155 }
16156 return parentNamespace === HostContextNamespaceSvg && "foreignObject" === type ? HostContextNamespaceNone : parentNamespace;
16157 }
16158 function shouldSetTextContent(type, props) {
16159 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;
16160 }
16161 function shouldAttemptEagerTransition() {
16162 var event = window.event;
16163 if (event && "popstate" === event.type) {
16164 if (event === currentPopstateTransitionEvent) return false;
16165 currentPopstateTransitionEvent = event;
16166 return true;
16167 }
16168 currentPopstateTransitionEvent = null;
16169 return false;
16170 }
16171 function resolveEventType() {
16172 var event = window.event;
16173 return event && event !== schedulerEvent ? event.type : null;
16174 }
16175 function resolveEventTimeStamp() {
16176 var event = window.event;
16177 return event && event !== schedulerEvent ? event.timeStamp : -1.1;
16178 }
16179 function handleErrorInNextTick(error) {
16180 setTimeout(function() {
16181 throw error;
16182 });
16183 }
16184 function commitMount(domElement, type, newProps) {
16185 switch (type) {
16186 case "button":
16187 case "input":
16188 case "select":
16189 case "textarea":
16190 newProps.autoFocus && domElement.focus();
16191 break;
16192 case "img":
16193 newProps.src ? domElement.src = newProps.src : newProps.srcSet && (domElement.srcset = newProps.srcSet);
16194 }
16195 }
16196 function commitHydratedInstance() {
16197 }
16198 function commitUpdate(domElement, type, oldProps, newProps) {
16199 updateProperties(domElement, type, oldProps, newProps);
16200 domElement[internalPropsKey] = newProps;
16201 }
16202 function resetTextContent(domElement) {
16203 setTextContent(domElement, "");
16204 }
16205 function commitTextUpdate(textInstance, oldText, newText) {
16206 textInstance.nodeValue = newText;
16207 }
16208 function warnForReactChildrenConflict(container) {
16209 if (!container.__reactWarnedAboutChildrenConflict) {
16210 var props = container[internalPropsKey] || null;
16211 if (null !== props) {
16212 var fiber = getInstanceFromNode(container);
16213 null !== fiber && ("string" === typeof props.children || "number" === typeof props.children ? (container.__reactWarnedAboutChildrenConflict = true, runWithFiberInDEV(fiber, function() {
16214 console.error(
16215 '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.'
16216 );
16217 })) : null != props.dangerouslySetInnerHTML && (container.__reactWarnedAboutChildrenConflict = true, runWithFiberInDEV(fiber, function() {
16218 console.error(
16219 '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.'
16220 );
16221 })));
16222 }
16223 }
16224 }
16225 function isSingletonScope(type) {
16226 return "head" === type;
16227 }
16228 function removeChild(parentInstance, child) {
16229 parentInstance.removeChild(child);
16230 }
16231 function removeChildFromContainer(container, child) {
16232 (9 === container.nodeType ? container.body : "HTML" === container.nodeName ? container.ownerDocument.body : container).removeChild(child);
16233 }
16234 function clearHydrationBoundary(parentInstance, hydrationInstance) {
16235 var node = hydrationInstance, depth = 0;
16236 do {
16237 var nextNode = node.nextSibling;
16238 parentInstance.removeChild(node);
16239 if (nextNode && 8 === nextNode.nodeType)
16240 if (node = nextNode.data, node === SUSPENSE_END_DATA || node === ACTIVITY_END_DATA) {
16241 if (0 === depth) {
16242 parentInstance.removeChild(nextNode);
16243 retryIfBlockedOn(hydrationInstance);
16244 return;
16245 }
16246 depth--;
16247 } 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)
16248 depth++;
16249 else if (node === PREAMBLE_CONTRIBUTION_HTML)
16250 releaseSingletonInstance(
16251 parentInstance.ownerDocument.documentElement
16252 );
16253 else if (node === PREAMBLE_CONTRIBUTION_HEAD) {
16254 node = parentInstance.ownerDocument.head;
16255 releaseSingletonInstance(node);
16256 for (var node$jscomp$0 = node.firstChild; node$jscomp$0; ) {
16257 var nextNode$jscomp$0 = node$jscomp$0.nextSibling, nodeName = node$jscomp$0.nodeName;
16258 node$jscomp$0[internalHoistableMarker] || "SCRIPT" === nodeName || "STYLE" === nodeName || "LINK" === nodeName && "stylesheet" === node$jscomp$0.rel.toLowerCase() || node.removeChild(node$jscomp$0);
16259 node$jscomp$0 = nextNode$jscomp$0;
16260 }
16261 } else
16262 node === PREAMBLE_CONTRIBUTION_BODY && releaseSingletonInstance(parentInstance.ownerDocument.body);
16263 node = nextNode;
16264 } while (node);
16265 retryIfBlockedOn(hydrationInstance);
16266 }
16267 function hideOrUnhideDehydratedBoundary(suspenseInstance, isHidden) {
16268 var node = suspenseInstance;
16269 suspenseInstance = 0;
16270 do {
16271 var nextNode = node.nextSibling;
16272 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 || "");
16273 if (nextNode && 8 === nextNode.nodeType)
16274 if (node = nextNode.data, node === SUSPENSE_END_DATA)
16275 if (0 === suspenseInstance) break;
16276 else suspenseInstance--;
16277 else
16278 node !== SUSPENSE_START_DATA && node !== SUSPENSE_PENDING_START_DATA && node !== SUSPENSE_QUEUED_START_DATA && node !== SUSPENSE_FALLBACK_START_DATA || suspenseInstance++;
16279 node = nextNode;
16280 } while (node);
16281 }
16282 function hideDehydratedBoundary(suspenseInstance) {
16283 hideOrUnhideDehydratedBoundary(suspenseInstance, true);
16284 }
16285 function hideInstance(instance) {
16286 instance = instance.style;
16287 "function" === typeof instance.setProperty ? instance.setProperty("display", "none", "important") : instance.display = "none";
16288 }
16289 function hideTextInstance(textInstance) {
16290 textInstance.nodeValue = "";
16291 }
16292 function unhideDehydratedBoundary(dehydratedInstance) {
16293 hideOrUnhideDehydratedBoundary(dehydratedInstance, false);
16294 }
16295 function unhideInstance(instance, props) {
16296 props = props[STYLE];
16297 props = void 0 !== props && null !== props && props.hasOwnProperty("display") ? props.display : null;
16298 instance.style.display = null == props || "boolean" === typeof props ? "" : ("" + props).trim();
16299 }
16300 function unhideTextInstance(textInstance, text) {
16301 textInstance.nodeValue = text;
16302 }
16303 function clearContainerSparingly(container) {
16304 var nextNode = container.firstChild;
16305 nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling);
16306 for (; nextNode; ) {
16307 var node = nextNode;
16308 nextNode = nextNode.nextSibling;
16309 switch (node.nodeName) {
16310 case "HTML":
16311 case "HEAD":
16312 case "BODY":
16313 clearContainerSparingly(node);
16314 detachDeletedInstance(node);
16315 continue;
16316 case "SCRIPT":
16317 case "STYLE":
16318 continue;
16319 case "LINK":
16320 if ("stylesheet" === node.rel.toLowerCase()) continue;
16321 }
16322 container.removeChild(node);
16323 }
16324 }
16325 function canHydrateInstance(instance, type, props, inRootOrSingleton) {
16326 for (; 1 === instance.nodeType; ) {
16327 var anyProps = props;
16328 if (instance.nodeName.toLowerCase() !== type.toLowerCase()) {
16329 if (!inRootOrSingleton && ("INPUT" !== instance.nodeName || "hidden" !== instance.type))
16330 break;
16331 } else if (!inRootOrSingleton)
16332 if ("input" === type && "hidden" === instance.type) {
16333 checkAttributeStringCoercion(anyProps.name, "name");
16334 var name = null == anyProps.name ? null : "" + anyProps.name;
16335 if ("hidden" === anyProps.type && instance.getAttribute("name") === name)
16336 return instance;
16337 } else return instance;
16338 else if (!instance[internalHoistableMarker])
16339 switch (type) {
16340 case "meta":
16341 if (!instance.hasAttribute("itemprop")) break;
16342 return instance;
16343 case "link":
16344 name = instance.getAttribute("rel");
16345 if ("stylesheet" === name && instance.hasAttribute("data-precedence"))
16346 break;
16347 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))
16348 break;
16349 return instance;
16350 case "style":
16351 if (instance.hasAttribute("data-precedence")) break;
16352 return instance;
16353 case "script":
16354 name = instance.getAttribute("src");
16355 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"))
16356 break;
16357 return instance;
16358 default:
16359 return instance;
16360 }
16361 instance = getNextHydratable(instance.nextSibling);
16362 if (null === instance) break;
16363 }
16364 return null;
16365 }
16366 function canHydrateTextInstance(instance, text, inRootOrSingleton) {
16367 if ("" === text) return null;
16368 for (; 3 !== instance.nodeType; ) {
16369 if ((1 !== instance.nodeType || "INPUT" !== instance.nodeName || "hidden" !== instance.type) && !inRootOrSingleton)
16370 return null;
16371 instance = getNextHydratable(instance.nextSibling);
16372 if (null === instance) return null;
16373 }
16374 return instance;
16375 }
16376 function canHydrateHydrationBoundary(instance, inRootOrSingleton) {
16377 for (; 8 !== instance.nodeType; ) {
16378 if ((1 !== instance.nodeType || "INPUT" !== instance.nodeName || "hidden" !== instance.type) && !inRootOrSingleton)
16379 return null;
16380 instance = getNextHydratable(instance.nextSibling);
16381 if (null === instance) return null;
16382 }
16383 return instance;
16384 }
16385 function isSuspenseInstancePending(instance) {
16386 return instance.data === SUSPENSE_PENDING_START_DATA || instance.data === SUSPENSE_QUEUED_START_DATA;
16387 }
16388 function isSuspenseInstanceFallback(instance) {
16389 return instance.data === SUSPENSE_FALLBACK_START_DATA || instance.data === SUSPENSE_PENDING_START_DATA && instance.ownerDocument.readyState !== DOCUMENT_READY_STATE_LOADING;
16390 }
16391 function registerSuspenseInstanceRetry(instance, callback) {
16392 var ownerDocument = instance.ownerDocument;
16393 if (instance.data === SUSPENSE_QUEUED_START_DATA)
16394 instance._reactRetry = callback;
16395 else if (instance.data !== SUSPENSE_PENDING_START_DATA || ownerDocument.readyState !== DOCUMENT_READY_STATE_LOADING)
16396 callback();
16397 else {
16398 var listener = function() {
16399 callback();
16400 ownerDocument.removeEventListener("DOMContentLoaded", listener);
16401 };
16402 ownerDocument.addEventListener("DOMContentLoaded", listener);
16403 instance._reactRetry = listener;
16404 }
16405 }
16406 function getNextHydratable(node) {
16407 for (; null != node; node = node.nextSibling) {
16408 var nodeType = node.nodeType;
16409 if (1 === nodeType || 3 === nodeType) break;
16410 if (8 === nodeType) {
16411 nodeType = node.data;
16412 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)
16413 break;
16414 if (nodeType === SUSPENSE_END_DATA || nodeType === ACTIVITY_END_DATA)
16415 return null;
16416 }
16417 }
16418 return node;
16419 }
16420 function describeHydratableInstanceForDevWarnings(instance) {
16421 if (1 === instance.nodeType) {
16422 for (var JSCompiler_temp_const = instance.nodeName.toLowerCase(), serverDifferences = {}, attributes = instance.attributes, i = 0; i < attributes.length; i++) {
16423 var attr = attributes[i];
16424 serverDifferences[getPropNameFromAttributeName(attr.name)] = "style" === attr.name.toLowerCase() ? getStylesObjectFromElement(instance) : attr.value;
16425 }
16426 return { type: JSCompiler_temp_const, props: serverDifferences };
16427 }
16428 return 8 === instance.nodeType ? instance.data === ACTIVITY_START_DATA ? { type: "Activity", props: {} } : { type: "Suspense", props: {} } : instance.nodeValue;
16429 }
16430 function diffHydratedTextForDevWarnings(textInstance, text, parentProps) {
16431 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;
16432 }
16433 function getNextHydratableInstanceAfterHydrationBoundary(hydrationInstance) {
16434 hydrationInstance = hydrationInstance.nextSibling;
16435 for (var depth = 0; hydrationInstance; ) {
16436 if (8 === hydrationInstance.nodeType) {
16437 var data = hydrationInstance.data;
16438 if (data === SUSPENSE_END_DATA || data === ACTIVITY_END_DATA) {
16439 if (0 === depth)
16440 return getNextHydratable(hydrationInstance.nextSibling);
16441 depth--;
16442 } else
16443 data !== SUSPENSE_START_DATA && data !== SUSPENSE_FALLBACK_START_DATA && data !== SUSPENSE_PENDING_START_DATA && data !== SUSPENSE_QUEUED_START_DATA && data !== ACTIVITY_START_DATA || depth++;
16444 }
16445 hydrationInstance = hydrationInstance.nextSibling;
16446 }
16447 return null;
16448 }
16449 function getParentHydrationBoundary(targetInstance) {
16450 targetInstance = targetInstance.previousSibling;
16451 for (var depth = 0; targetInstance; ) {
16452 if (8 === targetInstance.nodeType) {
16453 var data = targetInstance.data;
16454 if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA || data === SUSPENSE_QUEUED_START_DATA || data === ACTIVITY_START_DATA) {
16455 if (0 === depth) return targetInstance;
16456 depth--;
16457 } else
16458 data !== SUSPENSE_END_DATA && data !== ACTIVITY_END_DATA || depth++;
16459 }
16460 targetInstance = targetInstance.previousSibling;
16461 }
16462 return null;
16463 }
16464 function commitHydratedContainer(container) {
16465 retryIfBlockedOn(container);
16466 }
16467 function commitHydratedActivityInstance(activityInstance) {
16468 retryIfBlockedOn(activityInstance);
16469 }
16470 function commitHydratedSuspenseInstance(suspenseInstance) {
16471 retryIfBlockedOn(suspenseInstance);
16472 }
16473 function resolveSingletonInstance(type, props, rootContainerInstance, hostContext, validateDOMNestingDev) {
16474 validateDOMNestingDev && validateDOMNesting(type, hostContext.ancestorInfo);
16475 props = getOwnerDocumentFromRootContainer(rootContainerInstance);
16476 switch (type) {
16477 case "html":
16478 type = props.documentElement;
16479 if (!type)
16480 throw Error(
16481 "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."
16482 );
16483 return type;
16484 case "head":
16485 type = props.head;
16486 if (!type)
16487 throw Error(
16488 "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."
16489 );
16490 return type;
16491 case "body":
16492 type = props.body;
16493 if (!type)
16494 throw Error(
16495 "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."
16496 );
16497 return type;
16498 default:
16499 throw Error(
16500 "resolveSingletonInstance was called with an element type that is not supported. This is a bug in React."
16501 );
16502 }
16503 }
16504 function acquireSingletonInstance(type, props, instance, internalInstanceHandle) {
16505 if (!instance[internalContainerInstanceKey] && getInstanceFromNode(instance)) {
16506 var tagName = instance.tagName.toLowerCase();
16507 console.error(
16508 "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.",
16509 tagName,
16510 tagName,
16511 tagName
16512 );
16513 }
16514 switch (type) {
16515 case "html":
16516 case "head":
16517 case "body":
16518 break;
16519 default:
16520 console.error(
16521 "acquireSingletonInstance was called with an element type that is not supported. This is a bug in React."
16522 );
16523 }
16524 for (tagName = instance.attributes; tagName.length; )
16525 instance.removeAttributeNode(tagName[0]);
16526 setInitialProperties(instance, type, props);
16527 instance[internalInstanceKey] = internalInstanceHandle;
16528 instance[internalPropsKey] = props;
16529 }
16530 function releaseSingletonInstance(instance) {
16531 for (var attributes = instance.attributes; attributes.length; )
16532 instance.removeAttributeNode(attributes[0]);
16533 detachDeletedInstance(instance);
16534 }
16535 function getHoistableRoot(container) {
16536 return "function" === typeof container.getRootNode ? container.getRootNode() : 9 === container.nodeType ? container : container.ownerDocument;
16537 }
16538 function preconnectAs(rel, href, crossOrigin) {
16539 var ownerDocument = globalDocument;
16540 if (ownerDocument && "string" === typeof href && href) {
16541 var limitedEscapedHref = escapeSelectorAttributeValueInsideDoubleQuotes(href);
16542 limitedEscapedHref = 'link[rel="' + rel + '"][href="' + limitedEscapedHref + '"]';
16543 "string" === typeof crossOrigin && (limitedEscapedHref += '[crossorigin="' + crossOrigin + '"]');
16544 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)));
16545 }
16546 }
16547 function getResource(type, currentProps, pendingProps, currentResource) {
16548 var resourceRoot = (resourceRoot = rootInstanceStackCursor.current) ? getHoistableRoot(resourceRoot) : null;
16549 if (!resourceRoot)
16550 throw Error(
16551 '"resourceRoot" was expected to exist. This is a bug in React.'
16552 );
16553 switch (type) {
16554 case "meta":
16555 case "title":
16556 return null;
16557 case "style":
16558 return "string" === typeof pendingProps.precedence && "string" === typeof pendingProps.href ? (pendingProps = getStyleKey(pendingProps.href), currentProps = getResourcesFromRoot(resourceRoot).hoistableStyles, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = {
16559 type: "style",
16560 instance: null,
16561 count: 0,
16562 state: null
16563 }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null };
16564 case "link":
16565 if ("stylesheet" === pendingProps.rel && "string" === typeof pendingProps.href && "string" === typeof pendingProps.precedence) {
16566 type = getStyleKey(pendingProps.href);
16567 var _styles = getResourcesFromRoot(resourceRoot).hoistableStyles, _resource = _styles.get(type);
16568 if (!_resource && (resourceRoot = resourceRoot.ownerDocument || resourceRoot, _resource = {
16569 type: "stylesheet",
16570 instance: null,
16571 count: 0,
16572 state: { loading: NotLoaded, preload: null }
16573 }, _styles.set(type, _resource), (_styles = resourceRoot.querySelector(
16574 getStylesheetSelectorFromKey(type)
16575 )) && !_styles._p && (_resource.instance = _styles, _resource.state.loading = Loaded | Inserted), !preloadPropsMap.has(type))) {
16576 var preloadProps = {
16577 rel: "preload",
16578 as: "style",
16579 href: pendingProps.href,
16580 crossOrigin: pendingProps.crossOrigin,
16581 integrity: pendingProps.integrity,
16582 media: pendingProps.media,
16583 hrefLang: pendingProps.hrefLang,
16584 referrerPolicy: pendingProps.referrerPolicy
16585 };
16586 preloadPropsMap.set(type, preloadProps);
16587 _styles || preloadStylesheet(
16588 resourceRoot,
16589 type,
16590 preloadProps,
16591 _resource.state
16592 );
16593 }
16594 if (currentProps && null === currentResource)
16595 throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error(
16596 "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
16597 );
16598 return _resource;
16599 }
16600 if (currentProps && null !== currentResource)
16601 throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error(
16602 "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
16603 );
16604 return null;
16605 case "script":
16606 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 = {
16607 type: "script",
16608 instance: null,
16609 count: 0,
16610 state: null
16611 }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null };
16612 default:
16613 throw Error(
16614 'getResource encountered a type it did not expect: "' + type + '". this is a bug in React.'
16615 );
16616 }
16617 }
16618 function describeLinkForResourceErrorDEV(props) {
16619 var describedProps = 0, description = "<link";
16620 "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) + '"');
16621 "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) + '"');
16622 "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) + "}");
16623 Object.getOwnPropertyNames(props).length > describedProps && (description += " ...");
16624 return description + " />";
16625 }
16626 function getStyleKey(href) {
16627 return 'href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"';
16628 }
16629 function getStylesheetSelectorFromKey(key) {
16630 return 'link[rel="stylesheet"][' + key + "]";
16631 }
16632 function stylesheetPropsFromRawProps(rawProps) {
16633 return assign({}, rawProps, {
16634 "data-precedence": rawProps.precedence,
16635 precedence: null
16636 });
16637 }
16638 function preloadStylesheet(ownerDocument, key, preloadProps, state) {
16639 ownerDocument.querySelector(
16640 'link[rel="preload"][as="style"][' + key + "]"
16641 ) ? state.loading = Loaded : (key = ownerDocument.createElement("link"), state.preload = key, key.addEventListener("load", function() {
16642 return state.loading |= Loaded;
16643 }), key.addEventListener("error", function() {
16644 return state.loading |= Errored;
16645 }), setInitialProperties(key, "link", preloadProps), markNodeAsHoistable(key), ownerDocument.head.appendChild(key));
16646 }
16647 function getScriptKey(src) {
16648 return '[src="' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '"]';
16649 }
16650 function getScriptSelectorFromKey(key) {
16651 return "script[async]" + key;
16652 }
16653 function acquireResource(hoistableRoot, resource, props) {
16654 resource.count++;
16655 if (null === resource.instance)
16656 switch (resource.type) {
16657 case "style":
16658 var instance = hoistableRoot.querySelector(
16659 'style[data-href~="' + escapeSelectorAttributeValueInsideDoubleQuotes(props.href) + '"]'
16660 );
16661 if (instance)
16662 return resource.instance = instance, markNodeAsHoistable(instance), instance;
16663 var styleProps = assign({}, props, {
16664 "data-href": props.href,
16665 "data-precedence": props.precedence,
16666 href: null,
16667 precedence: null
16668 });
16669 instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("style");
16670 markNodeAsHoistable(instance);
16671 setInitialProperties(instance, "style", styleProps);
16672 insertStylesheet(instance, props.precedence, hoistableRoot);
16673 return resource.instance = instance;
16674 case "stylesheet":
16675 styleProps = getStyleKey(props.href);
16676 var _instance = hoistableRoot.querySelector(
16677 getStylesheetSelectorFromKey(styleProps)
16678 );
16679 if (_instance)
16680 return resource.state.loading |= Inserted, resource.instance = _instance, markNodeAsHoistable(_instance), _instance;
16681 instance = stylesheetPropsFromRawProps(props);
16682 (styleProps = preloadPropsMap.get(styleProps)) && adoptPreloadPropsForStylesheet(instance, styleProps);
16683 _instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("link");
16684 markNodeAsHoistable(_instance);
16685 var linkInstance = _instance;
16686 linkInstance._p = new Promise(function(resolve, reject) {
16687 linkInstance.onload = resolve;
16688 linkInstance.onerror = reject;
16689 });
16690 setInitialProperties(_instance, "link", instance);
16691 resource.state.loading |= Inserted;
16692 insertStylesheet(_instance, props.precedence, hoistableRoot);
16693 return resource.instance = _instance;
16694 case "script":
16695 _instance = getScriptKey(props.src);
16696 if (styleProps = hoistableRoot.querySelector(
16697 getScriptSelectorFromKey(_instance)
16698 ))
16699 return resource.instance = styleProps, markNodeAsHoistable(styleProps), styleProps;
16700 instance = props;
16701 if (styleProps = preloadPropsMap.get(_instance))
16702 instance = assign({}, props), adoptPreloadPropsForScript(instance, styleProps);
16703 hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;
16704 styleProps = hoistableRoot.createElement("script");
16705 markNodeAsHoistable(styleProps);
16706 setInitialProperties(styleProps, "link", instance);
16707 hoistableRoot.head.appendChild(styleProps);
16708 return resource.instance = styleProps;
16709 case "void":
16710 return null;
16711 default:
16712 throw Error(
16713 'acquireResource encountered a resource type it did not expect: "' + resource.type + '". this is a bug in React.'
16714 );
16715 }
16716 else
16717 "stylesheet" === resource.type && (resource.state.loading & Inserted) === NotLoaded && (instance = resource.instance, resource.state.loading |= Inserted, insertStylesheet(instance, props.precedence, hoistableRoot));
16718 return resource.instance;
16719 }
16720 function insertStylesheet(instance, precedence, root2) {
16721 for (var nodes = root2.querySelectorAll(
16722 'link[rel="stylesheet"][data-precedence],style[data-precedence]'
16723 ), last = nodes.length ? nodes[nodes.length - 1] : null, prior = last, i = 0; i < nodes.length; i++) {
16724 var node = nodes[i];
16725 if (node.dataset.precedence === precedence) prior = node;
16726 else if (prior !== last) break;
16727 }
16728 prior ? prior.parentNode.insertBefore(instance, prior.nextSibling) : (precedence = 9 === root2.nodeType ? root2.head : root2, precedence.insertBefore(instance, precedence.firstChild));
16729 }
16730 function adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {
16731 null == stylesheetProps.crossOrigin && (stylesheetProps.crossOrigin = preloadProps.crossOrigin);
16732 null == stylesheetProps.referrerPolicy && (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy);
16733 null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title);
16734 }
16735 function adoptPreloadPropsForScript(scriptProps, preloadProps) {
16736 null == scriptProps.crossOrigin && (scriptProps.crossOrigin = preloadProps.crossOrigin);
16737 null == scriptProps.referrerPolicy && (scriptProps.referrerPolicy = preloadProps.referrerPolicy);
16738 null == scriptProps.integrity && (scriptProps.integrity = preloadProps.integrity);
16739 }
16740 function getHydratableHoistableCache(type, keyAttribute, ownerDocument) {
16741 if (null === tagCaches) {
16742 var cache = /* @__PURE__ */ new Map();
16743 var caches = tagCaches = /* @__PURE__ */ new Map();
16744 caches.set(ownerDocument, cache);
16745 } else
16746 caches = tagCaches, cache = caches.get(ownerDocument), cache || (cache = /* @__PURE__ */ new Map(), caches.set(ownerDocument, cache));
16747 if (cache.has(type)) return cache;
16748 cache.set(type, null);
16749 ownerDocument = ownerDocument.getElementsByTagName(type);
16750 for (caches = 0; caches < ownerDocument.length; caches++) {
16751 var node = ownerDocument[caches];
16752 if (!(node[internalHoistableMarker] || node[internalInstanceKey] || "link" === type && "stylesheet" === node.getAttribute("rel")) && node.namespaceURI !== SVG_NAMESPACE) {
16753 var nodeKey = node.getAttribute(keyAttribute) || "";
16754 nodeKey = type + nodeKey;
16755 var existing = cache.get(nodeKey);
16756 existing ? existing.push(node) : cache.set(nodeKey, [node]);
16757 }
16758 }
16759 return cache;
16760 }
16761 function mountHoistable(hoistableRoot, type, instance) {
16762 hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;
16763 hoistableRoot.head.insertBefore(
16764 instance,
16765 "title" === type ? hoistableRoot.querySelector("head > title") : null
16766 );
16767 }
16768 function isHostHoistableType(type, props, hostContext) {
16769 var outsideHostContainerContext = !hostContext.ancestorInfo.containerTagInScope;
16770 if (hostContext.context === HostContextNamespaceSvg || null != props.itemProp)
16771 return !outsideHostContainerContext || null == props.itemProp || "meta" !== type && "title" !== type && "style" !== type && "link" !== type && "script" !== type || console.error(
16772 "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.",
16773 type,
16774 type
16775 ), false;
16776 switch (type) {
16777 case "meta":
16778 case "title":
16779 return true;
16780 case "style":
16781 if ("string" !== typeof props.precedence || "string" !== typeof props.href || "" === props.href) {
16782 outsideHostContainerContext && console.error(
16783 '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"`.'
16784 );
16785 break;
16786 }
16787 return true;
16788 case "link":
16789 if ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href || props.onLoad || props.onError) {
16790 if ("stylesheet" === props.rel && "string" === typeof props.precedence) {
16791 type = props.href;
16792 var onError = props.onError, disabled = props.disabled;
16793 hostContext = [];
16794 props.onLoad && hostContext.push("`onLoad`");
16795 onError && hostContext.push("`onError`");
16796 null != disabled && hostContext.push("`disabled`");
16797 onError = propNamesListJoin(hostContext, "and");
16798 onError += 1 === hostContext.length ? " prop" : " props";
16799 disabled = 1 === hostContext.length ? "an " + onError : "the " + onError;
16800 hostContext.length && console.error(
16801 '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.',
16802 type,
16803 disabled,
16804 onError
16805 );
16806 }
16807 outsideHostContainerContext && ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href ? console.error(
16808 "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"
16809 ) : (props.onError || props.onLoad) && console.error(
16810 "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>."
16811 ));
16812 break;
16813 }
16814 switch (props.rel) {
16815 case "stylesheet":
16816 return type = props.precedence, props = props.disabled, "string" !== typeof type && outsideHostContainerContext && console.error(
16817 '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.'
16818 ), "string" === typeof type && null == props;
16819 default:
16820 return true;
16821 }
16822 case "script":
16823 type = props.async && "function" !== typeof props.async && "symbol" !== typeof props.async;
16824 if (!type || props.onLoad || props.onError || !props.src || "string" !== typeof props.src) {
16825 outsideHostContainerContext && (type ? props.onLoad || props.onError ? console.error(
16826 "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>."
16827 ) : console.error(
16828 "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>."
16829 ) : console.error(
16830 '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.'
16831 ));
16832 break;
16833 }
16834 return true;
16835 case "noscript":
16836 case "template":
16837 outsideHostContainerContext && console.error(
16838 "Cannot render <%s> outside the main document. Try moving it into the root <head> tag.",
16839 type
16840 );
16841 }
16842 return false;
16843 }
16844 function preloadResource(resource) {
16845 return "stylesheet" === resource.type && (resource.state.loading & Settled) === NotLoaded ? false : true;
16846 }
16847 function suspendResource(state, hoistableRoot, resource, props) {
16848 if ("stylesheet" === resource.type && ("string" !== typeof props.media || false !== matchMedia(props.media).matches) && (resource.state.loading & Inserted) === NotLoaded) {
16849 if (null === resource.instance) {
16850 var key = getStyleKey(props.href), instance = hoistableRoot.querySelector(
16851 getStylesheetSelectorFromKey(key)
16852 );
16853 if (instance) {
16854 hoistableRoot = instance._p;
16855 null !== hoistableRoot && "object" === typeof hoistableRoot && "function" === typeof hoistableRoot.then && (state.count++, state = onUnsuspend.bind(state), hoistableRoot.then(state, state));
16856 resource.state.loading |= Inserted;
16857 resource.instance = instance;
16858 markNodeAsHoistable(instance);
16859 return;
16860 }
16861 instance = hoistableRoot.ownerDocument || hoistableRoot;
16862 props = stylesheetPropsFromRawProps(props);
16863 (key = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(props, key);
16864 instance = instance.createElement("link");
16865 markNodeAsHoistable(instance);
16866 var linkInstance = instance;
16867 linkInstance._p = new Promise(function(resolve, reject) {
16868 linkInstance.onload = resolve;
16869 linkInstance.onerror = reject;
16870 });
16871 setInitialProperties(instance, "link", props);
16872 resource.instance = instance;
16873 }
16874 null === state.stylesheets && (state.stylesheets = /* @__PURE__ */ new Map());
16875 state.stylesheets.set(resource, hoistableRoot);
16876 (hoistableRoot = resource.state.preload) && (resource.state.loading & Settled) === NotLoaded && (state.count++, resource = onUnsuspend.bind(state), hoistableRoot.addEventListener("load", resource), hoistableRoot.addEventListener("error", resource));
16877 }
16878 }
16879 function waitForCommitToBeReady(state, timeoutOffset) {
16880 state.stylesheets && 0 === state.count && insertSuspendedStylesheets(state, state.stylesheets);
16881 return 0 < state.count || 0 < state.imgCount ? function(commit) {
16882 var stylesheetTimer = setTimeout(function() {
16883 state.stylesheets && insertSuspendedStylesheets(state, state.stylesheets);
16884 if (state.unsuspend) {
16885 var unsuspend = state.unsuspend;
16886 state.unsuspend = null;
16887 unsuspend();
16888 }
16889 }, SUSPENSEY_STYLESHEET_TIMEOUT + timeoutOffset);
16890 0 < state.imgBytes && 0 === estimatedBytesWithinLimit && (estimatedBytesWithinLimit = 125 * estimateBandwidth() * SUSPENSEY_IMAGE_TIME_ESTIMATE);
16891 var imgTimer = setTimeout(
16892 function() {
16893 state.waitingForImages = false;
16894 if (0 === state.count && (state.stylesheets && insertSuspendedStylesheets(state, state.stylesheets), state.unsuspend)) {
16895 var unsuspend = state.unsuspend;
16896 state.unsuspend = null;
16897 unsuspend();
16898 }
16899 },
16900 (state.imgBytes > estimatedBytesWithinLimit ? 50 : SUSPENSEY_IMAGE_TIMEOUT) + timeoutOffset
16901 );
16902 state.unsuspend = commit;
16903 return function() {
16904 state.unsuspend = null;
16905 clearTimeout(stylesheetTimer);
16906 clearTimeout(imgTimer);
16907 };
16908 } : null;
16909 }
16910 function onUnsuspend() {
16911 this.count--;
16912 if (0 === this.count && (0 === this.imgCount || !this.waitingForImages)) {
16913 if (this.stylesheets)
16914 insertSuspendedStylesheets(this, this.stylesheets);
16915 else if (this.unsuspend) {
16916 var unsuspend = this.unsuspend;
16917 this.unsuspend = null;
16918 unsuspend();
16919 }
16920 }
16921 }
16922 function insertSuspendedStylesheets(state, resources) {
16923 state.stylesheets = null;
16924 null !== state.unsuspend && (state.count++, precedencesByRoot = /* @__PURE__ */ new Map(), resources.forEach(insertStylesheetIntoRoot, state), precedencesByRoot = null, onUnsuspend.call(state));
16925 }
16926 function insertStylesheetIntoRoot(root2, resource) {
16927 if (!(resource.state.loading & Inserted)) {
16928 var precedences = precedencesByRoot.get(root2);
16929 if (precedences) var last = precedences.get(LAST_PRECEDENCE);
16930 else {
16931 precedences = /* @__PURE__ */ new Map();
16932 precedencesByRoot.set(root2, precedences);
16933 for (var nodes = root2.querySelectorAll(
16934 "link[data-precedence],style[data-precedence]"
16935 ), i = 0; i < nodes.length; i++) {
16936 var node = nodes[i];
16937 if ("LINK" === node.nodeName || "not all" !== node.getAttribute("media"))
16938 precedences.set(node.dataset.precedence, node), last = node;
16939 }
16940 last && precedences.set(LAST_PRECEDENCE, last);
16941 }
16942 nodes = resource.instance;
16943 node = nodes.getAttribute("data-precedence");
16944 i = precedences.get(node) || last;
16945 i === last && precedences.set(LAST_PRECEDENCE, nodes);
16946 precedences.set(node, nodes);
16947 this.count++;
16948 last = onUnsuspend.bind(this);
16949 nodes.addEventListener("load", last);
16950 nodes.addEventListener("error", last);
16951 i ? i.parentNode.insertBefore(nodes, i.nextSibling) : (root2 = 9 === root2.nodeType ? root2.head : root2, root2.insertBefore(nodes, root2.firstChild));
16952 resource.state.loading |= Inserted;
16953 }
16954 }
16955 function FiberRootNode(containerInfo, tag, hydrate2, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator, formState) {
16956 this.tag = 1;
16957 this.containerInfo = containerInfo;
16958 this.pingCache = this.current = this.pendingChildren = null;
16959 this.timeoutHandle = noTimeout;
16960 this.callbackNode = this.next = this.pendingContext = this.context = this.cancelPendingCommit = null;
16961 this.callbackPriority = 0;
16962 this.expirationTimes = createLaneMap(-1);
16963 this.entangledLanes = this.shellSuspendCounter = this.errorRecoveryDisabledLanes = this.expiredLanes = this.warmLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0;
16964 this.entanglements = createLaneMap(0);
16965 this.hiddenUpdates = createLaneMap(null);
16966 this.identifierPrefix = identifierPrefix;
16967 this.onUncaughtError = onUncaughtError;
16968 this.onCaughtError = onCaughtError;
16969 this.onRecoverableError = onRecoverableError;
16970 this.pooledCache = null;
16971 this.pooledCacheLanes = 0;
16972 this.formState = formState;
16973 this.incompleteTransitions = /* @__PURE__ */ new Map();
16974 this.passiveEffectDuration = this.effectDuration = -0;
16975 this.memoizedUpdaters = /* @__PURE__ */ new Set();
16976 containerInfo = this.pendingUpdatersLaneMap = [];
16977 for (tag = 0; 31 > tag; tag++) containerInfo.push(/* @__PURE__ */ new Set());
16978 this._debugRootType = hydrate2 ? "hydrateRoot()" : "createRoot()";
16979 }
16980 function createFiberRoot(containerInfo, tag, hydrate2, initialChildren, hydrationCallbacks, isStrictMode, identifierPrefix, formState, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator) {
16981 containerInfo = new FiberRootNode(
16982 containerInfo,
16983 tag,
16984 hydrate2,
16985 identifierPrefix,
16986 onUncaughtError,
16987 onCaughtError,
16988 onRecoverableError,
16989 onDefaultTransitionIndicator,
16990 formState
16991 );
16992 tag = ConcurrentMode;
16993 true === isStrictMode && (tag |= StrictLegacyMode | StrictEffectsMode);
16994 tag |= ProfileMode;
16995 isStrictMode = createFiber(3, null, null, tag);
16996 containerInfo.current = isStrictMode;
16997 isStrictMode.stateNode = containerInfo;
16998 tag = createCache();
16999 retainCache(tag);
17000 containerInfo.pooledCache = tag;
17001 retainCache(tag);
17002 isStrictMode.memoizedState = {
17003 element: initialChildren,
17004 isDehydrated: hydrate2,
17005 cache: tag
17006 };
17007 initializeUpdateQueue(isStrictMode);
17008 return containerInfo;
17009 }
17010 function getContextForSubtree(parentComponent) {
17011 if (!parentComponent) return emptyContextObject;
17012 parentComponent = emptyContextObject;
17013 return parentComponent;
17014 }
17015 function updateContainerImpl(rootFiber, lane, element, container, parentComponent, callback) {
17016 if (injectedHook && "function" === typeof injectedHook.onScheduleFiberRoot)
17017 try {
17018 injectedHook.onScheduleFiberRoot(rendererID, container, element);
17019 } catch (err) {
17020 hasLoggedError || (hasLoggedError = true, console.error(
17021 "React instrumentation encountered an error: %o",
17022 err
17023 ));
17024 }
17025 parentComponent = getContextForSubtree(parentComponent);
17026 null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent;
17027 isRendering && null !== current && !didWarnAboutNestedUpdates && (didWarnAboutNestedUpdates = true, console.error(
17028 "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.",
17029 getComponentNameFromFiber(current) || "Unknown"
17030 ));
17031 container = createUpdate(lane);
17032 container.payload = { element };
17033 callback = void 0 === callback ? null : callback;
17034 null !== callback && ("function" !== typeof callback && console.error(
17035 "Expected the last optional `callback` argument to be a function. Instead received: %s.",
17036 callback
17037 ), container.callback = callback);
17038 element = enqueueUpdate(rootFiber, container, lane);
17039 null !== element && (startUpdateTimerByLane(lane, "root.render()", null), scheduleUpdateOnFiber(element, rootFiber, lane), entangleTransitions(element, rootFiber, lane));
17040 }
17041 function markRetryLaneImpl(fiber, retryLane) {
17042 fiber = fiber.memoizedState;
17043 if (null !== fiber && null !== fiber.dehydrated) {
17044 var a = fiber.retryLane;
17045 fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;
17046 }
17047 }
17048 function markRetryLaneIfNotHydrated(fiber, retryLane) {
17049 markRetryLaneImpl(fiber, retryLane);
17050 (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);
17051 }
17052 function attemptContinuousHydration(fiber) {
17053 if (13 === fiber.tag || 31 === fiber.tag) {
17054 var root2 = enqueueConcurrentRenderForLane(fiber, 67108864);
17055 null !== root2 && scheduleUpdateOnFiber(root2, fiber, 67108864);
17056 markRetryLaneIfNotHydrated(fiber, 67108864);
17057 }
17058 }
17059 function attemptHydrationAtCurrentPriority(fiber) {
17060 if (13 === fiber.tag || 31 === fiber.tag) {
17061 var lane = requestUpdateLane(fiber);
17062 lane = getBumpedLaneForHydrationByLane(lane);
17063 var root2 = enqueueConcurrentRenderForLane(fiber, lane);
17064 null !== root2 && scheduleUpdateOnFiber(root2, fiber, lane);
17065 markRetryLaneIfNotHydrated(fiber, lane);
17066 }
17067 }
17068 function getCurrentFiberForDevTools() {
17069 return current;
17070 }
17071 function dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) {
17072 var prevTransition = ReactSharedInternals.T;
17073 ReactSharedInternals.T = null;
17074 var previousPriority = ReactDOMSharedInternals.p;
17075 try {
17076 ReactDOMSharedInternals.p = DiscreteEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);
17077 } finally {
17078 ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition;
17079 }
17080 }
17081 function dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) {
17082 var prevTransition = ReactSharedInternals.T;
17083 ReactSharedInternals.T = null;
17084 var previousPriority = ReactDOMSharedInternals.p;
17085 try {
17086 ReactDOMSharedInternals.p = ContinuousEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);
17087 } finally {
17088 ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition;
17089 }
17090 }
17091 function dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {
17092 if (_enabled) {
17093 var blockedOn = findInstanceBlockingEvent(nativeEvent);
17094 if (null === blockedOn)
17095 dispatchEventForPluginEventSystem(
17096 domEventName,
17097 eventSystemFlags,
17098 nativeEvent,
17099 return_targetInst,
17100 targetContainer
17101 ), clearIfContinuousEvent(domEventName, nativeEvent);
17102 else if (queueIfContinuousEvent(
17103 blockedOn,
17104 domEventName,
17105 eventSystemFlags,
17106 targetContainer,
17107 nativeEvent
17108 ))
17109 nativeEvent.stopPropagation();
17110 else if (clearIfContinuousEvent(domEventName, nativeEvent), eventSystemFlags & 4 && -1 < discreteReplayableEvents.indexOf(domEventName)) {
17111 for (; null !== blockedOn; ) {
17112 var fiber = getInstanceFromNode(blockedOn);
17113 if (null !== fiber)
17114 switch (fiber.tag) {
17115 case 3:
17116 fiber = fiber.stateNode;
17117 if (fiber.current.memoizedState.isDehydrated) {
17118 var lanes = getHighestPriorityLanes(fiber.pendingLanes);
17119 if (0 !== lanes) {
17120 var root2 = fiber;
17121 root2.pendingLanes |= 2;
17122 for (root2.entangledLanes |= 2; lanes; ) {
17123 var lane = 1 << 31 - clz32(lanes);
17124 root2.entanglements[1] |= lane;
17125 lanes &= ~lane;
17126 }
17127 ensureRootIsScheduled(fiber);
17128 (executionContext & (RenderContext | CommitContext)) === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS, flushSyncWorkAcrossRoots_impl(0, false));
17129 }
17130 }
17131 break;
17132 case 31:
17133 case 13:
17134 root2 = enqueueConcurrentRenderForLane(fiber, 2), null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2), flushSyncWork$1(), markRetryLaneIfNotHydrated(fiber, 2);
17135 }
17136 fiber = findInstanceBlockingEvent(nativeEvent);
17137 null === fiber && dispatchEventForPluginEventSystem(
17138 domEventName,
17139 eventSystemFlags,
17140 nativeEvent,
17141 return_targetInst,
17142 targetContainer
17143 );
17144 if (fiber === blockedOn) break;
17145 blockedOn = fiber;
17146 }
17147 null !== blockedOn && nativeEvent.stopPropagation();
17148 } else
17149 dispatchEventForPluginEventSystem(
17150 domEventName,
17151 eventSystemFlags,
17152 nativeEvent,
17153 null,
17154 targetContainer
17155 );
17156 }
17157 }
17158 function findInstanceBlockingEvent(nativeEvent) {
17159 nativeEvent = getEventTarget(nativeEvent);
17160 return findInstanceBlockingTarget(nativeEvent);
17161 }
17162 function findInstanceBlockingTarget(targetNode) {
17163 return_targetInst = null;
17164 targetNode = getClosestInstanceFromNode(targetNode);
17165 if (null !== targetNode) {
17166 var nearestMounted = getNearestMountedFiber(targetNode);
17167 if (null === nearestMounted) targetNode = null;
17168 else {
17169 var tag = nearestMounted.tag;
17170 if (13 === tag) {
17171 targetNode = getSuspenseInstanceFromFiber(nearestMounted);
17172 if (null !== targetNode) return targetNode;
17173 targetNode = null;
17174 } else if (31 === tag) {
17175 targetNode = getActivityInstanceFromFiber(nearestMounted);
17176 if (null !== targetNode) return targetNode;
17177 targetNode = null;
17178 } else if (3 === tag) {
17179 if (nearestMounted.stateNode.current.memoizedState.isDehydrated)
17180 return 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null;
17181 targetNode = null;
17182 } else nearestMounted !== targetNode && (targetNode = null);
17183 }
17184 }
17185 return_targetInst = targetNode;
17186 return null;
17187 }
17188 function getEventPriority(domEventName) {
17189 switch (domEventName) {
17190 case "beforetoggle":
17191 case "cancel":
17192 case "click":
17193 case "close":
17194 case "contextmenu":
17195 case "copy":
17196 case "cut":
17197 case "auxclick":
17198 case "dblclick":
17199 case "dragend":
17200 case "dragstart":
17201 case "drop":
17202 case "focusin":
17203 case "focusout":
17204 case "input":
17205 case "invalid":
17206 case "keydown":
17207 case "keypress":
17208 case "keyup":
17209 case "mousedown":
17210 case "mouseup":
17211 case "paste":
17212 case "pause":
17213 case "play":
17214 case "pointercancel":
17215 case "pointerdown":
17216 case "pointerup":
17217 case "ratechange":
17218 case "reset":
17219 case "resize":
17220 case "seeked":
17221 case "submit":
17222 case "toggle":
17223 case "touchcancel":
17224 case "touchend":
17225 case "touchstart":
17226 case "volumechange":
17227 case "change":
17228 case "selectionchange":
17229 case "textInput":
17230 case "compositionstart":
17231 case "compositionend":
17232 case "compositionupdate":
17233 case "beforeblur":
17234 case "afterblur":
17235 case "beforeinput":
17236 case "blur":
17237 case "fullscreenchange":
17238 case "focus":
17239 case "hashchange":
17240 case "popstate":
17241 case "select":
17242 case "selectstart":
17243 return DiscreteEventPriority;
17244 case "drag":
17245 case "dragenter":
17246 case "dragexit":
17247 case "dragleave":
17248 case "dragover":
17249 case "mousemove":
17250 case "mouseout":
17251 case "mouseover":
17252 case "pointermove":
17253 case "pointerout":
17254 case "pointerover":
17255 case "scroll":
17256 case "touchmove":
17257 case "wheel":
17258 case "mouseenter":
17259 case "mouseleave":
17260 case "pointerenter":
17261 case "pointerleave":
17262 return ContinuousEventPriority;
17263 case "message":
17264 switch (getCurrentPriorityLevel()) {
17265 case ImmediatePriority:
17266 return DiscreteEventPriority;
17267 case UserBlockingPriority:
17268 return ContinuousEventPriority;
17269 case NormalPriority$1:
17270 case LowPriority:
17271 return DefaultEventPriority;
17272 case IdlePriority:
17273 return IdleEventPriority;
17274 default:
17275 return DefaultEventPriority;
17276 }
17277 default:
17278 return DefaultEventPriority;
17279 }
17280 }
17281 function clearIfContinuousEvent(domEventName, nativeEvent) {
17282 switch (domEventName) {
17283 case "focusin":
17284 case "focusout":
17285 queuedFocus = null;
17286 break;
17287 case "dragenter":
17288 case "dragleave":
17289 queuedDrag = null;
17290 break;
17291 case "mouseover":
17292 case "mouseout":
17293 queuedMouse = null;
17294 break;
17295 case "pointerover":
17296 case "pointerout":
17297 queuedPointers.delete(nativeEvent.pointerId);
17298 break;
17299 case "gotpointercapture":
17300 case "lostpointercapture":
17301 queuedPointerCaptures.delete(nativeEvent.pointerId);
17302 }
17303 }
17304 function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {
17305 if (null === existingQueuedEvent || existingQueuedEvent.nativeEvent !== nativeEvent)
17306 return existingQueuedEvent = {
17307 blockedOn,
17308 domEventName,
17309 eventSystemFlags,
17310 nativeEvent,
17311 targetContainers: [targetContainer]
17312 }, null !== blockedOn && (blockedOn = getInstanceFromNode(blockedOn), null !== blockedOn && attemptContinuousHydration(blockedOn)), existingQueuedEvent;
17313 existingQueuedEvent.eventSystemFlags |= eventSystemFlags;
17314 blockedOn = existingQueuedEvent.targetContainers;
17315 null !== targetContainer && -1 === blockedOn.indexOf(targetContainer) && blockedOn.push(targetContainer);
17316 return existingQueuedEvent;
17317 }
17318 function queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {
17319 switch (domEventName) {
17320 case "focusin":
17321 return queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(
17322 queuedFocus,
17323 blockedOn,
17324 domEventName,
17325 eventSystemFlags,
17326 targetContainer,
17327 nativeEvent
17328 ), true;
17329 case "dragenter":
17330 return queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(
17331 queuedDrag,
17332 blockedOn,
17333 domEventName,
17334 eventSystemFlags,
17335 targetContainer,
17336 nativeEvent
17337 ), true;
17338 case "mouseover":
17339 return queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(
17340 queuedMouse,
17341 blockedOn,
17342 domEventName,
17343 eventSystemFlags,
17344 targetContainer,
17345 nativeEvent
17346 ), true;
17347 case "pointerover":
17348 var pointerId = nativeEvent.pointerId;
17349 queuedPointers.set(
17350 pointerId,
17351 accumulateOrCreateContinuousQueuedReplayableEvent(
17352 queuedPointers.get(pointerId) || null,
17353 blockedOn,
17354 domEventName,
17355 eventSystemFlags,
17356 targetContainer,
17357 nativeEvent
17358 )
17359 );
17360 return true;
17361 case "gotpointercapture":
17362 return pointerId = nativeEvent.pointerId, queuedPointerCaptures.set(
17363 pointerId,
17364 accumulateOrCreateContinuousQueuedReplayableEvent(
17365 queuedPointerCaptures.get(pointerId) || null,
17366 blockedOn,
17367 domEventName,
17368 eventSystemFlags,
17369 targetContainer,
17370 nativeEvent
17371 )
17372 ), true;
17373 }
17374 return false;
17375 }
17376 function attemptExplicitHydrationTarget(queuedTarget) {
17377 var targetInst = getClosestInstanceFromNode(queuedTarget.target);
17378 if (null !== targetInst) {
17379 var nearestMounted = getNearestMountedFiber(targetInst);
17380 if (null !== nearestMounted) {
17381 if (targetInst = nearestMounted.tag, 13 === targetInst) {
17382 if (targetInst = getSuspenseInstanceFromFiber(nearestMounted), null !== targetInst) {
17383 queuedTarget.blockedOn = targetInst;
17384 runWithPriority(queuedTarget.priority, function() {
17385 attemptHydrationAtCurrentPriority(nearestMounted);
17386 });
17387 return;
17388 }
17389 } else if (31 === targetInst) {
17390 if (targetInst = getActivityInstanceFromFiber(nearestMounted), null !== targetInst) {
17391 queuedTarget.blockedOn = targetInst;
17392 runWithPriority(queuedTarget.priority, function() {
17393 attemptHydrationAtCurrentPriority(nearestMounted);
17394 });
17395 return;
17396 }
17397 } else if (3 === targetInst && nearestMounted.stateNode.current.memoizedState.isDehydrated) {
17398 queuedTarget.blockedOn = 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null;
17399 return;
17400 }
17401 }
17402 }
17403 queuedTarget.blockedOn = null;
17404 }
17405 function attemptReplayContinuousQueuedEvent(queuedEvent) {
17406 if (null !== queuedEvent.blockedOn) return false;
17407 for (var targetContainers = queuedEvent.targetContainers; 0 < targetContainers.length; ) {
17408 var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);
17409 if (null === nextBlockedOn) {
17410 nextBlockedOn = queuedEvent.nativeEvent;
17411 var nativeEventClone = new nextBlockedOn.constructor(
17412 nextBlockedOn.type,
17413 nextBlockedOn
17414 ), event = nativeEventClone;
17415 null !== currentReplayingEvent && console.error(
17416 "Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue."
17417 );
17418 currentReplayingEvent = event;
17419 nextBlockedOn.target.dispatchEvent(nativeEventClone);
17420 null === currentReplayingEvent && console.error(
17421 "Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue."
17422 );
17423 currentReplayingEvent = null;
17424 } else
17425 return targetContainers = getInstanceFromNode(nextBlockedOn), null !== targetContainers && attemptContinuousHydration(targetContainers), queuedEvent.blockedOn = nextBlockedOn, false;
17426 targetContainers.shift();
17427 }
17428 return true;
17429 }
17430 function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {
17431 attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);
17432 }
17433 function replayUnblockedEvents() {
17434 hasScheduledReplayAttempt = false;
17435 null !== queuedFocus && attemptReplayContinuousQueuedEvent(queuedFocus) && (queuedFocus = null);
17436 null !== queuedDrag && attemptReplayContinuousQueuedEvent(queuedDrag) && (queuedDrag = null);
17437 null !== queuedMouse && attemptReplayContinuousQueuedEvent(queuedMouse) && (queuedMouse = null);
17438 queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);
17439 queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);
17440 }
17441 function scheduleCallbackIfUnblocked(queuedEvent, unblocked) {
17442 queuedEvent.blockedOn === unblocked && (queuedEvent.blockedOn = null, hasScheduledReplayAttempt || (hasScheduledReplayAttempt = true, Scheduler.unstable_scheduleCallback(
17443 Scheduler.unstable_NormalPriority,
17444 replayUnblockedEvents
17445 )));
17446 }
17447 function scheduleReplayQueueIfNeeded(formReplayingQueue) {
17448 lastScheduledReplayQueue !== formReplayingQueue && (lastScheduledReplayQueue = formReplayingQueue, Scheduler.unstable_scheduleCallback(
17449 Scheduler.unstable_NormalPriority,
17450 function() {
17451 lastScheduledReplayQueue === formReplayingQueue && (lastScheduledReplayQueue = null);
17452 for (var i = 0; i < formReplayingQueue.length; i += 3) {
17453 var form = formReplayingQueue[i], submitterOrAction = formReplayingQueue[i + 1], formData = formReplayingQueue[i + 2];
17454 if ("function" !== typeof submitterOrAction)
17455 if (null === findInstanceBlockingTarget(submitterOrAction || form))
17456 continue;
17457 else break;
17458 var formInst = getInstanceFromNode(form);
17459 null !== formInst && (formReplayingQueue.splice(i, 3), i -= 3, form = {
17460 pending: true,
17461 data: formData,
17462 method: form.method,
17463 action: submitterOrAction
17464 }, Object.freeze(form), startHostTransition(
17465 formInst,
17466 form,
17467 submitterOrAction,
17468 formData
17469 ));
17470 }
17471 }
17472 ));
17473 }
17474 function retryIfBlockedOn(unblocked) {
17475 function unblock(queuedEvent) {
17476 return scheduleCallbackIfUnblocked(queuedEvent, unblocked);
17477 }
17478 null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked);
17479 null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked);
17480 null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked);
17481 queuedPointers.forEach(unblock);
17482 queuedPointerCaptures.forEach(unblock);
17483 for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) {
17484 var queuedTarget = queuedExplicitHydrationTargets[i];
17485 queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null);
17486 }
17487 for (; 0 < queuedExplicitHydrationTargets.length && (i = queuedExplicitHydrationTargets[0], null === i.blockedOn); )
17488 attemptExplicitHydrationTarget(i), null === i.blockedOn && queuedExplicitHydrationTargets.shift();
17489 i = (unblocked.ownerDocument || unblocked).$$reactFormReplay;
17490 if (null != i)
17491 for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) {
17492 var form = i[queuedTarget], submitterOrAction = i[queuedTarget + 1], formProps = form[internalPropsKey] || null;
17493 if ("function" === typeof submitterOrAction)
17494 formProps || scheduleReplayQueueIfNeeded(i);
17495 else if (formProps) {
17496 var action = null;
17497 if (submitterOrAction && submitterOrAction.hasAttribute("formAction"))
17498 if (form = submitterOrAction, formProps = submitterOrAction[internalPropsKey] || null)
17499 action = formProps.formAction;
17500 else {
17501 if (null !== findInstanceBlockingTarget(form)) continue;
17502 }
17503 else action = formProps.action;
17504 "function" === typeof action ? i[queuedTarget + 1] = action : (i.splice(queuedTarget, 3), queuedTarget -= 3);
17505 scheduleReplayQueueIfNeeded(i);
17506 }
17507 }
17508 }
17509 function defaultOnDefaultTransitionIndicator() {
17510 function handleNavigate(event) {
17511 event.canIntercept && "react-transition" === event.info && event.intercept({
17512 handler: function() {
17513 return new Promise(function(resolve) {
17514 return pendingResolve = resolve;
17515 });
17516 },
17517 focusReset: "manual",
17518 scroll: "manual"
17519 });
17520 }
17521 function handleNavigateComplete() {
17522 null !== pendingResolve && (pendingResolve(), pendingResolve = null);
17523 isCancelled || setTimeout(startFakeNavigation, 20);
17524 }
17525 function startFakeNavigation() {
17526 if (!isCancelled && !navigation.transition) {
17527 var currentEntry = navigation.currentEntry;
17528 currentEntry && null != currentEntry.url && navigation.navigate(currentEntry.url, {
17529 state: currentEntry.getState(),
17530 info: "react-transition",
17531 history: "replace"
17532 });
17533 }
17534 }
17535 if ("object" === typeof navigation) {
17536 var isCancelled = false, pendingResolve = null;
17537 navigation.addEventListener("navigate", handleNavigate);
17538 navigation.addEventListener("navigatesuccess", handleNavigateComplete);
17539 navigation.addEventListener("navigateerror", handleNavigateComplete);
17540 setTimeout(startFakeNavigation, 100);
17541 return function() {
17542 isCancelled = true;
17543 navigation.removeEventListener("navigate", handleNavigate);
17544 navigation.removeEventListener(
17545 "navigatesuccess",
17546 handleNavigateComplete
17547 );
17548 navigation.removeEventListener(
17549 "navigateerror",
17550 handleNavigateComplete
17551 );
17552 null !== pendingResolve && (pendingResolve(), pendingResolve = null);
17553 };
17554 }
17555 }
17556 function ReactDOMRoot(internalRoot) {
17557 this._internalRoot = internalRoot;
17558 }
17559 function ReactDOMHydrationRoot(internalRoot) {
17560 this._internalRoot = internalRoot;
17561 }
17562 function warnIfReactDOMContainerInDEV(container) {
17563 container[internalContainerInstanceKey] && (container._reactRootContainer ? console.error(
17564 "You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported."
17565 ) : console.error(
17566 "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."
17567 ));
17568 }
17569 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
17570 var Scheduler = require_scheduler(), React = require_react(), ReactDOM = require_react_dom(), 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");
17571 /* @__PURE__ */ Symbol.for("react.scope");
17572 var REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for("react.activity");
17573 /* @__PURE__ */ Symbol.for("react.legacy_hidden");
17574 /* @__PURE__ */ Symbol.for("react.tracing_marker");
17575 var REACT_MEMO_CACHE_SENTINEL = /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel");
17576 /* @__PURE__ */ Symbol.for("react.view_transition");
17577 var 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({
17578 pending: false,
17579 data: null,
17580 method: null,
17581 action: null
17582 }), valueStack = [];
17583 var fiberStack = [];
17584 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;
17585 disabledLog.__reactDisabledLog = true;
17586 var prefix, suffix, reentry = false;
17587 var componentFrameCache = new ("function" === typeof WeakMap ? WeakMap : Map)();
17588 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, allNativeEvents = /* @__PURE__ */ new Set(), registrationNameDependencies = {}, possibleRegistrationNames = {}, hasReadOnlyValue = {
17589 button: true,
17590 checkbox: true,
17591 image: true,
17592 hidden: true,
17593 radio: true,
17594 reset: true,
17595 submit: true
17596 }, VALID_ATTRIBUTE_NAME_REGEX = RegExp(
17597 "^[: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]*$"
17598 ), illegalAttributeNameCache = {}, validatedAttributeNameCache = {}, escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\n"\\]/g, didWarnValueDefaultValue$1 = false, didWarnCheckedDefaultChecked = false, didWarnSelectedSetOnOption = false, didWarnInvalidChild = false, didWarnInvalidInnerHTML = false;
17599 var didWarnValueDefaultValue = false;
17600 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(
17601 " "
17602 ), inScopeTags = "applet caption html table td th marquee object template foreignObject desc title".split(
17603 " "
17604 ), buttonScopeTags = inScopeTags.concat(["button"]), impliedEndTags = "dd dt li option optgroup p rp rt".split(" "), emptyAncestorInfoDev = {
17605 current: null,
17606 formTag: null,
17607 aTagInScope: null,
17608 buttonTagInScope: null,
17609 nobrTagInScope: null,
17610 pTagInButtonScope: null,
17611 listItemTagAutoclosing: null,
17612 dlItemTagAutoclosing: null,
17613 containerTagInScope: null,
17614 implicitRootScope: false
17615 }, didWarn = {}, shorthandToLonghand = {
17616 animation: "animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction".split(
17617 " "
17618 ),
17619 background: "backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize".split(
17620 " "
17621 ),
17622 backgroundPosition: ["backgroundPositionX", "backgroundPositionY"],
17623 border: "borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth".split(
17624 " "
17625 ),
17626 borderBlockEnd: [
17627 "borderBlockEndColor",
17628 "borderBlockEndStyle",
17629 "borderBlockEndWidth"
17630 ],
17631 borderBlockStart: [
17632 "borderBlockStartColor",
17633 "borderBlockStartStyle",
17634 "borderBlockStartWidth"
17635 ],
17636 borderBottom: [
17637 "borderBottomColor",
17638 "borderBottomStyle",
17639 "borderBottomWidth"
17640 ],
17641 borderColor: [
17642 "borderBottomColor",
17643 "borderLeftColor",
17644 "borderRightColor",
17645 "borderTopColor"
17646 ],
17647 borderImage: [
17648 "borderImageOutset",
17649 "borderImageRepeat",
17650 "borderImageSlice",
17651 "borderImageSource",
17652 "borderImageWidth"
17653 ],
17654 borderInlineEnd: [
17655 "borderInlineEndColor",
17656 "borderInlineEndStyle",
17657 "borderInlineEndWidth"
17658 ],
17659 borderInlineStart: [
17660 "borderInlineStartColor",
17661 "borderInlineStartStyle",
17662 "borderInlineStartWidth"
17663 ],
17664 borderLeft: ["borderLeftColor", "borderLeftStyle", "borderLeftWidth"],
17665 borderRadius: [
17666 "borderBottomLeftRadius",
17667 "borderBottomRightRadius",
17668 "borderTopLeftRadius",
17669 "borderTopRightRadius"
17670 ],
17671 borderRight: [
17672 "borderRightColor",
17673 "borderRightStyle",
17674 "borderRightWidth"
17675 ],
17676 borderStyle: [
17677 "borderBottomStyle",
17678 "borderLeftStyle",
17679 "borderRightStyle",
17680 "borderTopStyle"
17681 ],
17682 borderTop: ["borderTopColor", "borderTopStyle", "borderTopWidth"],
17683 borderWidth: [
17684 "borderBottomWidth",
17685 "borderLeftWidth",
17686 "borderRightWidth",
17687 "borderTopWidth"
17688 ],
17689 columnRule: ["columnRuleColor", "columnRuleStyle", "columnRuleWidth"],
17690 columns: ["columnCount", "columnWidth"],
17691 flex: ["flexBasis", "flexGrow", "flexShrink"],
17692 flexFlow: ["flexDirection", "flexWrap"],
17693 font: "fontFamily fontFeatureSettings fontKerning fontLanguageOverride fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition fontWeight lineHeight".split(
17694 " "
17695 ),
17696 fontVariant: "fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition".split(
17697 " "
17698 ),
17699 gap: ["columnGap", "rowGap"],
17700 grid: "gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows".split(
17701 " "
17702 ),
17703 gridArea: [
17704 "gridColumnEnd",
17705 "gridColumnStart",
17706 "gridRowEnd",
17707 "gridRowStart"
17708 ],
17709 gridColumn: ["gridColumnEnd", "gridColumnStart"],
17710 gridColumnGap: ["columnGap"],
17711 gridGap: ["columnGap", "rowGap"],
17712 gridRow: ["gridRowEnd", "gridRowStart"],
17713 gridRowGap: ["rowGap"],
17714 gridTemplate: [
17715 "gridTemplateAreas",
17716 "gridTemplateColumns",
17717 "gridTemplateRows"
17718 ],
17719 listStyle: ["listStyleImage", "listStylePosition", "listStyleType"],
17720 margin: ["marginBottom", "marginLeft", "marginRight", "marginTop"],
17721 marker: ["markerEnd", "markerMid", "markerStart"],
17722 mask: "maskClip maskComposite maskImage maskMode maskOrigin maskPositionX maskPositionY maskRepeat maskSize".split(
17723 " "
17724 ),
17725 maskPosition: ["maskPositionX", "maskPositionY"],
17726 outline: ["outlineColor", "outlineStyle", "outlineWidth"],
17727 overflow: ["overflowX", "overflowY"],
17728 padding: ["paddingBottom", "paddingLeft", "paddingRight", "paddingTop"],
17729 placeContent: ["alignContent", "justifyContent"],
17730 placeItems: ["alignItems", "justifyItems"],
17731 placeSelf: ["alignSelf", "justifySelf"],
17732 textDecoration: [
17733 "textDecorationColor",
17734 "textDecorationLine",
17735 "textDecorationStyle"
17736 ],
17737 textEmphasis: ["textEmphasisColor", "textEmphasisStyle"],
17738 transition: [
17739 "transitionDelay",
17740 "transitionDuration",
17741 "transitionProperty",
17742 "transitionTimingFunction"
17743 ],
17744 wordWrap: ["overflowWrap"]
17745 }, 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(
17746 "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(
17747 " "
17748 )
17749 ), MATH_NAMESPACE = "http://www.w3.org/1998/Math/MathML", SVG_NAMESPACE = "http://www.w3.org/2000/svg", aliases = /* @__PURE__ */ new Map([
17750 ["acceptCharset", "accept-charset"],
17751 ["htmlFor", "for"],
17752 ["httpEquiv", "http-equiv"],
17753 ["crossOrigin", "crossorigin"],
17754 ["accentHeight", "accent-height"],
17755 ["alignmentBaseline", "alignment-baseline"],
17756 ["arabicForm", "arabic-form"],
17757 ["baselineShift", "baseline-shift"],
17758 ["capHeight", "cap-height"],
17759 ["clipPath", "clip-path"],
17760 ["clipRule", "clip-rule"],
17761 ["colorInterpolation", "color-interpolation"],
17762 ["colorInterpolationFilters", "color-interpolation-filters"],
17763 ["colorProfile", "color-profile"],
17764 ["colorRendering", "color-rendering"],
17765 ["dominantBaseline", "dominant-baseline"],
17766 ["enableBackground", "enable-background"],
17767 ["fillOpacity", "fill-opacity"],
17768 ["fillRule", "fill-rule"],
17769 ["floodColor", "flood-color"],
17770 ["floodOpacity", "flood-opacity"],
17771 ["fontFamily", "font-family"],
17772 ["fontSize", "font-size"],
17773 ["fontSizeAdjust", "font-size-adjust"],
17774 ["fontStretch", "font-stretch"],
17775 ["fontStyle", "font-style"],
17776 ["fontVariant", "font-variant"],
17777 ["fontWeight", "font-weight"],
17778 ["glyphName", "glyph-name"],
17779 ["glyphOrientationHorizontal", "glyph-orientation-horizontal"],
17780 ["glyphOrientationVertical", "glyph-orientation-vertical"],
17781 ["horizAdvX", "horiz-adv-x"],
17782 ["horizOriginX", "horiz-origin-x"],
17783 ["imageRendering", "image-rendering"],
17784 ["letterSpacing", "letter-spacing"],
17785 ["lightingColor", "lighting-color"],
17786 ["markerEnd", "marker-end"],
17787 ["markerMid", "marker-mid"],
17788 ["markerStart", "marker-start"],
17789 ["overlinePosition", "overline-position"],
17790 ["overlineThickness", "overline-thickness"],
17791 ["paintOrder", "paint-order"],
17792 ["panose-1", "panose-1"],
17793 ["pointerEvents", "pointer-events"],
17794 ["renderingIntent", "rendering-intent"],
17795 ["shapeRendering", "shape-rendering"],
17796 ["stopColor", "stop-color"],
17797 ["stopOpacity", "stop-opacity"],
17798 ["strikethroughPosition", "strikethrough-position"],
17799 ["strikethroughThickness", "strikethrough-thickness"],
17800 ["strokeDasharray", "stroke-dasharray"],
17801 ["strokeDashoffset", "stroke-dashoffset"],
17802 ["strokeLinecap", "stroke-linecap"],
17803 ["strokeLinejoin", "stroke-linejoin"],
17804 ["strokeMiterlimit", "stroke-miterlimit"],
17805 ["strokeOpacity", "stroke-opacity"],
17806 ["strokeWidth", "stroke-width"],
17807 ["textAnchor", "text-anchor"],
17808 ["textDecoration", "text-decoration"],
17809 ["textRendering", "text-rendering"],
17810 ["transformOrigin", "transform-origin"],
17811 ["underlinePosition", "underline-position"],
17812 ["underlineThickness", "underline-thickness"],
17813 ["unicodeBidi", "unicode-bidi"],
17814 ["unicodeRange", "unicode-range"],
17815 ["unitsPerEm", "units-per-em"],
17816 ["vAlphabetic", "v-alphabetic"],
17817 ["vHanging", "v-hanging"],
17818 ["vIdeographic", "v-ideographic"],
17819 ["vMathematical", "v-mathematical"],
17820 ["vectorEffect", "vector-effect"],
17821 ["vertAdvY", "vert-adv-y"],
17822 ["vertOriginX", "vert-origin-x"],
17823 ["vertOriginY", "vert-origin-y"],
17824 ["wordSpacing", "word-spacing"],
17825 ["writingMode", "writing-mode"],
17826 ["xmlnsXlink", "xmlns:xlink"],
17827 ["xHeight", "x-height"]
17828 ]), possibleStandardNames = {
17829 accept: "accept",
17830 acceptcharset: "acceptCharset",
17831 "accept-charset": "acceptCharset",
17832 accesskey: "accessKey",
17833 action: "action",
17834 allowfullscreen: "allowFullScreen",
17835 alt: "alt",
17836 as: "as",
17837 async: "async",
17838 autocapitalize: "autoCapitalize",
17839 autocomplete: "autoComplete",
17840 autocorrect: "autoCorrect",
17841 autofocus: "autoFocus",
17842 autoplay: "autoPlay",
17843 autosave: "autoSave",
17844 capture: "capture",
17845 cellpadding: "cellPadding",
17846 cellspacing: "cellSpacing",
17847 challenge: "challenge",
17848 charset: "charSet",
17849 checked: "checked",
17850 children: "children",
17851 cite: "cite",
17852 class: "className",
17853 classid: "classID",
17854 classname: "className",
17855 cols: "cols",
17856 colspan: "colSpan",
17857 content: "content",
17858 contenteditable: "contentEditable",
17859 contextmenu: "contextMenu",
17860 controls: "controls",
17861 controlslist: "controlsList",
17862 coords: "coords",
17863 crossorigin: "crossOrigin",
17864 dangerouslysetinnerhtml: "dangerouslySetInnerHTML",
17865 data: "data",
17866 datetime: "dateTime",
17867 default: "default",
17868 defaultchecked: "defaultChecked",
17869 defaultvalue: "defaultValue",
17870 defer: "defer",
17871 dir: "dir",
17872 disabled: "disabled",
17873 disablepictureinpicture: "disablePictureInPicture",
17874 disableremoteplayback: "disableRemotePlayback",
17875 download: "download",
17876 draggable: "draggable",
17877 enctype: "encType",
17878 enterkeyhint: "enterKeyHint",
17879 fetchpriority: "fetchPriority",
17880 for: "htmlFor",
17881 form: "form",
17882 formmethod: "formMethod",
17883 formaction: "formAction",
17884 formenctype: "formEncType",
17885 formnovalidate: "formNoValidate",
17886 formtarget: "formTarget",
17887 frameborder: "frameBorder",
17888 headers: "headers",
17889 height: "height",
17890 hidden: "hidden",
17891 high: "high",
17892 href: "href",
17893 hreflang: "hrefLang",
17894 htmlfor: "htmlFor",
17895 httpequiv: "httpEquiv",
17896 "http-equiv": "httpEquiv",
17897 icon: "icon",
17898 id: "id",
17899 imagesizes: "imageSizes",
17900 imagesrcset: "imageSrcSet",
17901 inert: "inert",
17902 innerhtml: "innerHTML",
17903 inputmode: "inputMode",
17904 integrity: "integrity",
17905 is: "is",
17906 itemid: "itemID",
17907 itemprop: "itemProp",
17908 itemref: "itemRef",
17909 itemscope: "itemScope",
17910 itemtype: "itemType",
17911 keyparams: "keyParams",
17912 keytype: "keyType",
17913 kind: "kind",
17914 label: "label",
17915 lang: "lang",
17916 list: "list",
17917 loop: "loop",
17918 low: "low",
17919 manifest: "manifest",
17920 marginwidth: "marginWidth",
17921 marginheight: "marginHeight",
17922 max: "max",
17923 maxlength: "maxLength",
17924 media: "media",
17925 mediagroup: "mediaGroup",
17926 method: "method",
17927 min: "min",
17928 minlength: "minLength",
17929 multiple: "multiple",
17930 muted: "muted",
17931 name: "name",
17932 nomodule: "noModule",
17933 nonce: "nonce",
17934 novalidate: "noValidate",
17935 open: "open",
17936 optimum: "optimum",
17937 pattern: "pattern",
17938 placeholder: "placeholder",
17939 playsinline: "playsInline",
17940 poster: "poster",
17941 preload: "preload",
17942 profile: "profile",
17943 radiogroup: "radioGroup",
17944 readonly: "readOnly",
17945 referrerpolicy: "referrerPolicy",
17946 rel: "rel",
17947 required: "required",
17948 reversed: "reversed",
17949 role: "role",
17950 rows: "rows",
17951 rowspan: "rowSpan",
17952 sandbox: "sandbox",
17953 scope: "scope",
17954 scoped: "scoped",
17955 scrolling: "scrolling",
17956 seamless: "seamless",
17957 selected: "selected",
17958 shape: "shape",
17959 size: "size",
17960 sizes: "sizes",
17961 span: "span",
17962 spellcheck: "spellCheck",
17963 src: "src",
17964 srcdoc: "srcDoc",
17965 srclang: "srcLang",
17966 srcset: "srcSet",
17967 start: "start",
17968 step: "step",
17969 style: "style",
17970 summary: "summary",
17971 tabindex: "tabIndex",
17972 target: "target",
17973 title: "title",
17974 type: "type",
17975 usemap: "useMap",
17976 value: "value",
17977 width: "width",
17978 wmode: "wmode",
17979 wrap: "wrap",
17980 about: "about",
17981 accentheight: "accentHeight",
17982 "accent-height": "accentHeight",
17983 accumulate: "accumulate",
17984 additive: "additive",
17985 alignmentbaseline: "alignmentBaseline",
17986 "alignment-baseline": "alignmentBaseline",
17987 allowreorder: "allowReorder",
17988 alphabetic: "alphabetic",
17989 amplitude: "amplitude",
17990 arabicform: "arabicForm",
17991 "arabic-form": "arabicForm",
17992 ascent: "ascent",
17993 attributename: "attributeName",
17994 attributetype: "attributeType",
17995 autoreverse: "autoReverse",
17996 azimuth: "azimuth",
17997 basefrequency: "baseFrequency",
17998 baselineshift: "baselineShift",
17999 "baseline-shift": "baselineShift",
18000 baseprofile: "baseProfile",
18001 bbox: "bbox",
18002 begin: "begin",
18003 bias: "bias",
18004 by: "by",
18005 calcmode: "calcMode",
18006 capheight: "capHeight",
18007 "cap-height": "capHeight",
18008 clip: "clip",
18009 clippath: "clipPath",
18010 "clip-path": "clipPath",
18011 clippathunits: "clipPathUnits",
18012 cliprule: "clipRule",
18013 "clip-rule": "clipRule",
18014 color: "color",
18015 colorinterpolation: "colorInterpolation",
18016 "color-interpolation": "colorInterpolation",
18017 colorinterpolationfilters: "colorInterpolationFilters",
18018 "color-interpolation-filters": "colorInterpolationFilters",
18019 colorprofile: "colorProfile",
18020 "color-profile": "colorProfile",
18021 colorrendering: "colorRendering",
18022 "color-rendering": "colorRendering",
18023 contentscripttype: "contentScriptType",
18024 contentstyletype: "contentStyleType",
18025 cursor: "cursor",
18026 cx: "cx",
18027 cy: "cy",
18028 d: "d",
18029 datatype: "datatype",
18030 decelerate: "decelerate",
18031 descent: "descent",
18032 diffuseconstant: "diffuseConstant",
18033 direction: "direction",
18034 display: "display",
18035 divisor: "divisor",
18036 dominantbaseline: "dominantBaseline",
18037 "dominant-baseline": "dominantBaseline",
18038 dur: "dur",
18039 dx: "dx",
18040 dy: "dy",
18041 edgemode: "edgeMode",
18042 elevation: "elevation",
18043 enablebackground: "enableBackground",
18044 "enable-background": "enableBackground",
18045 end: "end",
18046 exponent: "exponent",
18047 externalresourcesrequired: "externalResourcesRequired",
18048 fill: "fill",
18049 fillopacity: "fillOpacity",
18050 "fill-opacity": "fillOpacity",
18051 fillrule: "fillRule",
18052 "fill-rule": "fillRule",
18053 filter: "filter",
18054 filterres: "filterRes",
18055 filterunits: "filterUnits",
18056 floodopacity: "floodOpacity",
18057 "flood-opacity": "floodOpacity",
18058 floodcolor: "floodColor",
18059 "flood-color": "floodColor",
18060 focusable: "focusable",
18061 fontfamily: "fontFamily",
18062 "font-family": "fontFamily",
18063 fontsize: "fontSize",
18064 "font-size": "fontSize",
18065 fontsizeadjust: "fontSizeAdjust",
18066 "font-size-adjust": "fontSizeAdjust",
18067 fontstretch: "fontStretch",
18068 "font-stretch": "fontStretch",
18069 fontstyle: "fontStyle",
18070 "font-style": "fontStyle",
18071 fontvariant: "fontVariant",
18072 "font-variant": "fontVariant",
18073 fontweight: "fontWeight",
18074 "font-weight": "fontWeight",
18075 format: "format",
18076 from: "from",
18077 fx: "fx",
18078 fy: "fy",
18079 g1: "g1",
18080 g2: "g2",
18081 glyphname: "glyphName",
18082 "glyph-name": "glyphName",
18083 glyphorientationhorizontal: "glyphOrientationHorizontal",
18084 "glyph-orientation-horizontal": "glyphOrientationHorizontal",
18085 glyphorientationvertical: "glyphOrientationVertical",
18086 "glyph-orientation-vertical": "glyphOrientationVertical",
18087 glyphref: "glyphRef",
18088 gradienttransform: "gradientTransform",
18089 gradientunits: "gradientUnits",
18090 hanging: "hanging",
18091 horizadvx: "horizAdvX",
18092 "horiz-adv-x": "horizAdvX",
18093 horizoriginx: "horizOriginX",
18094 "horiz-origin-x": "horizOriginX",
18095 ideographic: "ideographic",
18096 imagerendering: "imageRendering",
18097 "image-rendering": "imageRendering",
18098 in2: "in2",
18099 in: "in",
18100 inlist: "inlist",
18101 intercept: "intercept",
18102 k1: "k1",
18103 k2: "k2",
18104 k3: "k3",
18105 k4: "k4",
18106 k: "k",
18107 kernelmatrix: "kernelMatrix",
18108 kernelunitlength: "kernelUnitLength",
18109 kerning: "kerning",
18110 keypoints: "keyPoints",
18111 keysplines: "keySplines",
18112 keytimes: "keyTimes",
18113 lengthadjust: "lengthAdjust",
18114 letterspacing: "letterSpacing",
18115 "letter-spacing": "letterSpacing",
18116 lightingcolor: "lightingColor",
18117 "lighting-color": "lightingColor",
18118 limitingconeangle: "limitingConeAngle",
18119 local: "local",
18120 markerend: "markerEnd",
18121 "marker-end": "markerEnd",
18122 markerheight: "markerHeight",
18123 markermid: "markerMid",
18124 "marker-mid": "markerMid",
18125 markerstart: "markerStart",
18126 "marker-start": "markerStart",
18127 markerunits: "markerUnits",
18128 markerwidth: "markerWidth",
18129 mask: "mask",
18130 maskcontentunits: "maskContentUnits",
18131 maskunits: "maskUnits",
18132 mathematical: "mathematical",
18133 mode: "mode",
18134 numoctaves: "numOctaves",
18135 offset: "offset",
18136 opacity: "opacity",
18137 operator: "operator",
18138 order: "order",
18139 orient: "orient",
18140 orientation: "orientation",
18141 origin: "origin",
18142 overflow: "overflow",
18143 overlineposition: "overlinePosition",
18144 "overline-position": "overlinePosition",
18145 overlinethickness: "overlineThickness",
18146 "overline-thickness": "overlineThickness",
18147 paintorder: "paintOrder",
18148 "paint-order": "paintOrder",
18149 panose1: "panose1",
18150 "panose-1": "panose1",
18151 pathlength: "pathLength",
18152 patterncontentunits: "patternContentUnits",
18153 patterntransform: "patternTransform",
18154 patternunits: "patternUnits",
18155 pointerevents: "pointerEvents",
18156 "pointer-events": "pointerEvents",
18157 points: "points",
18158 pointsatx: "pointsAtX",
18159 pointsaty: "pointsAtY",
18160 pointsatz: "pointsAtZ",
18161 popover: "popover",
18162 popovertarget: "popoverTarget",
18163 popovertargetaction: "popoverTargetAction",
18164 prefix: "prefix",
18165 preservealpha: "preserveAlpha",
18166 preserveaspectratio: "preserveAspectRatio",
18167 primitiveunits: "primitiveUnits",
18168 property: "property",
18169 r: "r",
18170 radius: "radius",
18171 refx: "refX",
18172 refy: "refY",
18173 renderingintent: "renderingIntent",
18174 "rendering-intent": "renderingIntent",
18175 repeatcount: "repeatCount",
18176 repeatdur: "repeatDur",
18177 requiredextensions: "requiredExtensions",
18178 requiredfeatures: "requiredFeatures",
18179 resource: "resource",
18180 restart: "restart",
18181 result: "result",
18182 results: "results",
18183 rotate: "rotate",
18184 rx: "rx",
18185 ry: "ry",
18186 scale: "scale",
18187 security: "security",
18188 seed: "seed",
18189 shaperendering: "shapeRendering",
18190 "shape-rendering": "shapeRendering",
18191 slope: "slope",
18192 spacing: "spacing",
18193 specularconstant: "specularConstant",
18194 specularexponent: "specularExponent",
18195 speed: "speed",
18196 spreadmethod: "spreadMethod",
18197 startoffset: "startOffset",
18198 stddeviation: "stdDeviation",
18199 stemh: "stemh",
18200 stemv: "stemv",
18201 stitchtiles: "stitchTiles",
18202 stopcolor: "stopColor",
18203 "stop-color": "stopColor",
18204 stopopacity: "stopOpacity",
18205 "stop-opacity": "stopOpacity",
18206 strikethroughposition: "strikethroughPosition",
18207 "strikethrough-position": "strikethroughPosition",
18208 strikethroughthickness: "strikethroughThickness",
18209 "strikethrough-thickness": "strikethroughThickness",
18210 string: "string",
18211 stroke: "stroke",
18212 strokedasharray: "strokeDasharray",
18213 "stroke-dasharray": "strokeDasharray",
18214 strokedashoffset: "strokeDashoffset",
18215 "stroke-dashoffset": "strokeDashoffset",
18216 strokelinecap: "strokeLinecap",
18217 "stroke-linecap": "strokeLinecap",
18218 strokelinejoin: "strokeLinejoin",
18219 "stroke-linejoin": "strokeLinejoin",
18220 strokemiterlimit: "strokeMiterlimit",
18221 "stroke-miterlimit": "strokeMiterlimit",
18222 strokewidth: "strokeWidth",
18223 "stroke-width": "strokeWidth",
18224 strokeopacity: "strokeOpacity",
18225 "stroke-opacity": "strokeOpacity",
18226 suppresscontenteditablewarning: "suppressContentEditableWarning",
18227 suppresshydrationwarning: "suppressHydrationWarning",
18228 surfacescale: "surfaceScale",
18229 systemlanguage: "systemLanguage",
18230 tablevalues: "tableValues",
18231 targetx: "targetX",
18232 targety: "targetY",
18233 textanchor: "textAnchor",
18234 "text-anchor": "textAnchor",
18235 textdecoration: "textDecoration",
18236 "text-decoration": "textDecoration",
18237 textlength: "textLength",
18238 textrendering: "textRendering",
18239 "text-rendering": "textRendering",
18240 to: "to",
18241 transform: "transform",
18242 transformorigin: "transformOrigin",
18243 "transform-origin": "transformOrigin",
18244 typeof: "typeof",
18245 u1: "u1",
18246 u2: "u2",
18247 underlineposition: "underlinePosition",
18248 "underline-position": "underlinePosition",
18249 underlinethickness: "underlineThickness",
18250 "underline-thickness": "underlineThickness",
18251 unicode: "unicode",
18252 unicodebidi: "unicodeBidi",
18253 "unicode-bidi": "unicodeBidi",
18254 unicoderange: "unicodeRange",
18255 "unicode-range": "unicodeRange",
18256 unitsperem: "unitsPerEm",
18257 "units-per-em": "unitsPerEm",
18258 unselectable: "unselectable",
18259 valphabetic: "vAlphabetic",
18260 "v-alphabetic": "vAlphabetic",
18261 values: "values",
18262 vectoreffect: "vectorEffect",
18263 "vector-effect": "vectorEffect",
18264 version: "version",
18265 vertadvy: "vertAdvY",
18266 "vert-adv-y": "vertAdvY",
18267 vertoriginx: "vertOriginX",
18268 "vert-origin-x": "vertOriginX",
18269 vertoriginy: "vertOriginY",
18270 "vert-origin-y": "vertOriginY",
18271 vhanging: "vHanging",
18272 "v-hanging": "vHanging",
18273 videographic: "vIdeographic",
18274 "v-ideographic": "vIdeographic",
18275 viewbox: "viewBox",
18276 viewtarget: "viewTarget",
18277 visibility: "visibility",
18278 vmathematical: "vMathematical",
18279 "v-mathematical": "vMathematical",
18280 vocab: "vocab",
18281 widths: "widths",
18282 wordspacing: "wordSpacing",
18283 "word-spacing": "wordSpacing",
18284 writingmode: "writingMode",
18285 "writing-mode": "writingMode",
18286 x1: "x1",
18287 x2: "x2",
18288 x: "x",
18289 xchannelselector: "xChannelSelector",
18290 xheight: "xHeight",
18291 "x-height": "xHeight",
18292 xlinkactuate: "xlinkActuate",
18293 "xlink:actuate": "xlinkActuate",
18294 xlinkarcrole: "xlinkArcrole",
18295 "xlink:arcrole": "xlinkArcrole",
18296 xlinkhref: "xlinkHref",
18297 "xlink:href": "xlinkHref",
18298 xlinkrole: "xlinkRole",
18299 "xlink:role": "xlinkRole",
18300 xlinkshow: "xlinkShow",
18301 "xlink:show": "xlinkShow",
18302 xlinktitle: "xlinkTitle",
18303 "xlink:title": "xlinkTitle",
18304 xlinktype: "xlinkType",
18305 "xlink:type": "xlinkType",
18306 xmlbase: "xmlBase",
18307 "xml:base": "xmlBase",
18308 xmllang: "xmlLang",
18309 "xml:lang": "xmlLang",
18310 xmlns: "xmlns",
18311 "xml:space": "xmlSpace",
18312 xmlnsxlink: "xmlnsXlink",
18313 "xmlns:xlink": "xmlnsXlink",
18314 xmlspace: "xmlSpace",
18315 y1: "y1",
18316 y2: "y2",
18317 y: "y",
18318 ychannelselector: "yChannelSelector",
18319 z: "z",
18320 zoomandpan: "zoomAndPan"
18321 }, ariaProperties = {
18322 "aria-current": 0,
18323 "aria-description": 0,
18324 "aria-details": 0,
18325 "aria-disabled": 0,
18326 "aria-hidden": 0,
18327 "aria-invalid": 0,
18328 "aria-keyshortcuts": 0,
18329 "aria-label": 0,
18330 "aria-roledescription": 0,
18331 "aria-autocomplete": 0,
18332 "aria-checked": 0,
18333 "aria-expanded": 0,
18334 "aria-haspopup": 0,
18335 "aria-level": 0,
18336 "aria-modal": 0,
18337 "aria-multiline": 0,
18338 "aria-multiselectable": 0,
18339 "aria-orientation": 0,
18340 "aria-placeholder": 0,
18341 "aria-pressed": 0,
18342 "aria-readonly": 0,
18343 "aria-required": 0,
18344 "aria-selected": 0,
18345 "aria-sort": 0,
18346 "aria-valuemax": 0,
18347 "aria-valuemin": 0,
18348 "aria-valuenow": 0,
18349 "aria-valuetext": 0,
18350 "aria-atomic": 0,
18351 "aria-busy": 0,
18352 "aria-live": 0,
18353 "aria-relevant": 0,
18354 "aria-dropeffect": 0,
18355 "aria-grabbed": 0,
18356 "aria-activedescendant": 0,
18357 "aria-colcount": 0,
18358 "aria-colindex": 0,
18359 "aria-colspan": 0,
18360 "aria-controls": 0,
18361 "aria-describedby": 0,
18362 "aria-errormessage": 0,
18363 "aria-flowto": 0,
18364 "aria-labelledby": 0,
18365 "aria-owns": 0,
18366 "aria-posinset": 0,
18367 "aria-rowcount": 0,
18368 "aria-rowindex": 0,
18369 "aria-rowspan": 0,
18370 "aria-setsize": 0,
18371 "aria-braillelabel": 0,
18372 "aria-brailleroledescription": 0,
18373 "aria-colindextext": 0,
18374 "aria-rowindextext": 0
18375 }, warnedProperties$1 = {}, rARIA$1 = RegExp(
18376 "^(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]*$"
18377 ), rARIACamel$1 = RegExp(
18378 "^(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]*$"
18379 ), didWarnValueNull = false, warnedProperties = {}, EVENT_NAME_REGEX = /^on./, INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/, rARIA = RegExp(
18380 "^(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]*$"
18381 ), rARIACamel = RegExp(
18382 "^(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]*$"
18383 ), 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;
18384 if (canUseDOM)
18385 try {
18386 var options$jscomp$0 = {};
18387 Object.defineProperty(options$jscomp$0, "passive", {
18388 get: function() {
18389 passiveBrowserEventsSupported = true;
18390 }
18391 });
18392 window.addEventListener("test", options$jscomp$0, options$jscomp$0);
18393 window.removeEventListener("test", options$jscomp$0, options$jscomp$0);
18394 } catch (e) {
18395 passiveBrowserEventsSupported = false;
18396 }
18397 var root = null, startText = null, fallbackText = null, EventInterface = {
18398 eventPhase: 0,
18399 bubbles: 0,
18400 cancelable: 0,
18401 timeStamp: function(event) {
18402 return event.timeStamp || Date.now();
18403 },
18404 defaultPrevented: 0,
18405 isTrusted: 0
18406 }, SyntheticEvent = createSyntheticEvent(EventInterface), UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }), SyntheticUIEvent = createSyntheticEvent(UIEventInterface), lastMovementX, lastMovementY, lastMouseEvent, MouseEventInterface = assign({}, UIEventInterface, {
18407 screenX: 0,
18408 screenY: 0,
18409 clientX: 0,
18410 clientY: 0,
18411 pageX: 0,
18412 pageY: 0,
18413 ctrlKey: 0,
18414 shiftKey: 0,
18415 altKey: 0,
18416 metaKey: 0,
18417 getModifierState: getEventModifierState,
18418 button: 0,
18419 buttons: 0,
18420 relatedTarget: function(event) {
18421 return void 0 === event.relatedTarget ? event.fromElement === event.srcElement ? event.toElement : event.fromElement : event.relatedTarget;
18422 },
18423 movementX: function(event) {
18424 if ("movementX" in event) return event.movementX;
18425 event !== lastMouseEvent && (lastMouseEvent && "mousemove" === event.type ? (lastMovementX = event.screenX - lastMouseEvent.screenX, lastMovementY = event.screenY - lastMouseEvent.screenY) : lastMovementY = lastMovementX = 0, lastMouseEvent = event);
18426 return lastMovementX;
18427 },
18428 movementY: function(event) {
18429 return "movementY" in event ? event.movementY : lastMovementY;
18430 }
18431 }), SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface), DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }), SyntheticDragEvent = createSyntheticEvent(DragEventInterface), FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }), SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface), AnimationEventInterface = assign({}, EventInterface, {
18432 animationName: 0,
18433 elapsedTime: 0,
18434 pseudoElement: 0
18435 }), SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface), ClipboardEventInterface = assign({}, EventInterface, {
18436 clipboardData: function(event) {
18437 return "clipboardData" in event ? event.clipboardData : window.clipboardData;
18438 }
18439 }), SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface), CompositionEventInterface = assign({}, EventInterface, { data: 0 }), SyntheticCompositionEvent = createSyntheticEvent(
18440 CompositionEventInterface
18441 ), SyntheticInputEvent = SyntheticCompositionEvent, normalizeKey = {
18442 Esc: "Escape",
18443 Spacebar: " ",
18444 Left: "ArrowLeft",
18445 Up: "ArrowUp",
18446 Right: "ArrowRight",
18447 Down: "ArrowDown",
18448 Del: "Delete",
18449 Win: "OS",
18450 Menu: "ContextMenu",
18451 Apps: "ContextMenu",
18452 Scroll: "ScrollLock",
18453 MozPrintableKey: "Unidentified"
18454 }, translateToKey = {
18455 8: "Backspace",
18456 9: "Tab",
18457 12: "Clear",
18458 13: "Enter",
18459 16: "Shift",
18460 17: "Control",
18461 18: "Alt",
18462 19: "Pause",
18463 20: "CapsLock",
18464 27: "Escape",
18465 32: " ",
18466 33: "PageUp",
18467 34: "PageDown",
18468 35: "End",
18469 36: "Home",
18470 37: "ArrowLeft",
18471 38: "ArrowUp",
18472 39: "ArrowRight",
18473 40: "ArrowDown",
18474 45: "Insert",
18475 46: "Delete",
18476 112: "F1",
18477 113: "F2",
18478 114: "F3",
18479 115: "F4",
18480 116: "F5",
18481 117: "F6",
18482 118: "F7",
18483 119: "F8",
18484 120: "F9",
18485 121: "F10",
18486 122: "F11",
18487 123: "F12",
18488 144: "NumLock",
18489 145: "ScrollLock",
18490 224: "Meta"
18491 }, modifierKeyToProp = {
18492 Alt: "altKey",
18493 Control: "ctrlKey",
18494 Meta: "metaKey",
18495 Shift: "shiftKey"
18496 }, KeyboardEventInterface = assign({}, UIEventInterface, {
18497 key: function(nativeEvent) {
18498 if (nativeEvent.key) {
18499 var key = normalizeKey[nativeEvent.key] || nativeEvent.key;
18500 if ("Unidentified" !== key) return key;
18501 }
18502 return "keypress" === nativeEvent.type ? (nativeEvent = getEventCharCode(nativeEvent), 13 === nativeEvent ? "Enter" : String.fromCharCode(nativeEvent)) : "keydown" === nativeEvent.type || "keyup" === nativeEvent.type ? translateToKey[nativeEvent.keyCode] || "Unidentified" : "";
18503 },
18504 code: 0,
18505 location: 0,
18506 ctrlKey: 0,
18507 shiftKey: 0,
18508 altKey: 0,
18509 metaKey: 0,
18510 repeat: 0,
18511 locale: 0,
18512 getModifierState: getEventModifierState,
18513 charCode: function(event) {
18514 return "keypress" === event.type ? getEventCharCode(event) : 0;
18515 },
18516 keyCode: function(event) {
18517 return "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0;
18518 },
18519 which: function(event) {
18520 return "keypress" === event.type ? getEventCharCode(event) : "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0;
18521 }
18522 }), SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface), PointerEventInterface = assign({}, MouseEventInterface, {
18523 pointerId: 0,
18524 width: 0,
18525 height: 0,
18526 pressure: 0,
18527 tangentialPressure: 0,
18528 tiltX: 0,
18529 tiltY: 0,
18530 twist: 0,
18531 pointerType: 0,
18532 isPrimary: 0
18533 }), SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface), TouchEventInterface = assign({}, UIEventInterface, {
18534 touches: 0,
18535 targetTouches: 0,
18536 changedTouches: 0,
18537 altKey: 0,
18538 metaKey: 0,
18539 ctrlKey: 0,
18540 shiftKey: 0,
18541 getModifierState: getEventModifierState
18542 }), SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface), TransitionEventInterface = assign({}, EventInterface, {
18543 propertyName: 0,
18544 elapsedTime: 0,
18545 pseudoElement: 0
18546 }), SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface), WheelEventInterface = assign({}, MouseEventInterface, {
18547 deltaX: function(event) {
18548 return "deltaX" in event ? event.deltaX : "wheelDeltaX" in event ? -event.wheelDeltaX : 0;
18549 },
18550 deltaY: function(event) {
18551 return "deltaY" in event ? event.deltaY : "wheelDeltaY" in event ? -event.wheelDeltaY : "wheelDelta" in event ? -event.wheelDelta : 0;
18552 },
18553 deltaZ: 0,
18554 deltaMode: 0
18555 }), SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface), ToggleEventInterface = assign({}, EventInterface, {
18556 newState: 0,
18557 oldState: 0
18558 }), SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface), END_KEYCODES = [9, 13, 27, 32], START_KEYCODE = 229, canUseCompositionEvent = canUseDOM && "CompositionEvent" in window, documentMode = null;
18559 canUseDOM && "documentMode" in document && (documentMode = document.documentMode);
18560 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 = {
18561 color: true,
18562 date: true,
18563 datetime: true,
18564 "datetime-local": true,
18565 email: true,
18566 month: true,
18567 number: true,
18568 password: true,
18569 range: true,
18570 search: true,
18571 tel: true,
18572 text: true,
18573 time: true,
18574 url: true,
18575 week: true
18576 }, activeElement$1 = null, activeElementInst$1 = null, isInputEventSupported = false;
18577 canUseDOM && (isInputEventSupported = isEventSupported("input") && (!document.documentMode || 9 < document.documentMode));
18578 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 = {
18579 animationend: makePrefixMap("Animation", "AnimationEnd"),
18580 animationiteration: makePrefixMap("Animation", "AnimationIteration"),
18581 animationstart: makePrefixMap("Animation", "AnimationStart"),
18582 transitionrun: makePrefixMap("Transition", "TransitionRun"),
18583 transitionstart: makePrefixMap("Transition", "TransitionStart"),
18584 transitioncancel: makePrefixMap("Transition", "TransitionCancel"),
18585 transitionend: makePrefixMap("Transition", "TransitionEnd")
18586 }, prefixedEventNames = {}, style = {};
18587 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);
18588 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 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(
18589 " "
18590 );
18591 simpleEventPluginEvents.push("scrollEnd");
18592 var lastResetTime = 0;
18593 if ("object" === typeof performance && "function" === typeof performance.now) {
18594 var localPerformance = performance;
18595 var getCurrentTime = function() {
18596 return localPerformance.now();
18597 };
18598 } else {
18599 var localDate = Date;
18600 getCurrentTime = function() {
18601 return localDate.now();
18602 };
18603 }
18604 var reportGlobalError = "function" === typeof reportError ? reportError : function(error) {
18605 if ("object" === typeof window && "function" === typeof window.ErrorEvent) {
18606 var event = new window.ErrorEvent("error", {
18607 bubbles: true,
18608 cancelable: true,
18609 message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error),
18610 error
18611 });
18612 if (!window.dispatchEvent(event)) return;
18613 } else if ("object" === typeof process && "function" === typeof process.emit) {
18614 process.emit("uncaughtException", error);
18615 return;
18616 }
18617 console.error(error);
18618 }, 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, REMOVED = "\u2013\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 = {
18619 color: "primary",
18620 properties: null,
18621 tooltipText: "",
18622 track: COMPONENTS_TRACK
18623 }, reusableComponentOptions = {
18624 start: -0,
18625 end: -0,
18626 detail: { devtools: reusableComponentDevToolDetails }
18627 }, resuableChangedPropsEntry = ["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 = {};
18628 Object.freeze(emptyContextObject);
18629 var resolveFamily = null, failedBoundaries = null, NoMode = 0, ConcurrentMode = 1, ProfileMode = 2, StrictLegacyMode = 8, StrictEffectsMode = 16, SuspenseyImagesMode = 32;
18630 var hasBadMapPolyfill = false;
18631 try {
18632 var nonExtensibleObject = Object.preventExtensions({});
18633 /* @__PURE__ */ new Map([[nonExtensibleObject, null]]);
18634 /* @__PURE__ */ new Set([nonExtensibleObject]);
18635 } catch (e$3) {
18636 hasBadMapPolyfill = true;
18637 }
18638 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(
18639 "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."
18640 ), valueCursor = createCursor(null);
18641 var rendererCursorDEV = createCursor(null);
18642 var rendererSigil = {};
18643 var currentlyRenderingFiber$1 = null, lastContextDependency = null, isDisallowedContextReadInDEV = false, AbortControllerLocal = "undefined" !== typeof AbortController ? AbortController : function() {
18644 var listeners = [], signal = this.signal = {
18645 aborted: false,
18646 addEventListener: function(type, listener) {
18647 listeners.push(listener);
18648 }
18649 };
18650 this.abort = function() {
18651 signal.aborted = true;
18652 listeners.forEach(function(listener) {
18653 return listener();
18654 });
18655 };
18656 }, scheduleCallback$2 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = {
18657 $$typeof: REACT_CONTEXT_TYPE,
18658 Consumer: null,
18659 Provider: null,
18660 _currentValue: null,
18661 _currentValue2: null,
18662 _threadCount: 0,
18663 _currentRenderer: null,
18664 _currentRenderer2: null
18665 }, now = Scheduler.unstable_now, createTask = console.createTask ? console.createTask : function() {
18666 return null;
18667 }, 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;
18668 ReactSharedInternals.S = function(transition, returnValue) {
18669 globalMostRecentTransitionTime = now$1();
18670 if ("object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then) {
18671 if (0 > transitionStartTime && 0 > transitionUpdateTime) {
18672 transitionStartTime = now();
18673 var newEventTime = resolveEventTimeStamp(), newEventType = resolveEventType();
18674 if (newEventTime !== transitionEventRepeatTime || newEventType !== transitionEventType)
18675 transitionEventRepeatTime = -1.1;
18676 transitionEventTime = newEventTime;
18677 transitionEventType = newEventType;
18678 }
18679 entangleAsyncAction(transition, returnValue);
18680 }
18681 null !== prevOnStartTransitionFinish && prevOnStartTransitionFinish(transition, returnValue);
18682 };
18683 var resumedCache = createCursor(null), ReactStrictModeWarnings = {
18684 recordUnsafeLifecycleWarnings: function() {
18685 },
18686 flushPendingUnsafeLifecycleWarnings: function() {
18687 },
18688 recordLegacyContextWarning: function() {
18689 },
18690 flushLegacyContextWarning: function() {
18691 },
18692 discardPendingWarnings: function() {
18693 }
18694 }, pendingComponentWillMountWarnings = [], pendingUNSAFE_ComponentWillMountWarnings = [], pendingComponentWillReceivePropsWarnings = [], pendingUNSAFE_ComponentWillReceivePropsWarnings = [], pendingComponentWillUpdateWarnings = [], pendingUNSAFE_ComponentWillUpdateWarnings = [], didWarnAboutUnsafeLifecycles = /* @__PURE__ */ new Set();
18695 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance) {
18696 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));
18697 };
18698 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() {
18699 var componentWillMountUniqueNames = /* @__PURE__ */ new Set();
18700 0 < pendingComponentWillMountWarnings.length && (pendingComponentWillMountWarnings.forEach(function(fiber) {
18701 componentWillMountUniqueNames.add(
18702 getComponentNameFromFiber(fiber) || "Component"
18703 );
18704 didWarnAboutUnsafeLifecycles.add(fiber.type);
18705 }), pendingComponentWillMountWarnings = []);
18706 var UNSAFE_componentWillMountUniqueNames = /* @__PURE__ */ new Set();
18707 0 < pendingUNSAFE_ComponentWillMountWarnings.length && (pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) {
18708 UNSAFE_componentWillMountUniqueNames.add(
18709 getComponentNameFromFiber(fiber) || "Component"
18710 );
18711 didWarnAboutUnsafeLifecycles.add(fiber.type);
18712 }), pendingUNSAFE_ComponentWillMountWarnings = []);
18713 var componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set();
18714 0 < pendingComponentWillReceivePropsWarnings.length && (pendingComponentWillReceivePropsWarnings.forEach(function(fiber) {
18715 componentWillReceivePropsUniqueNames.add(
18716 getComponentNameFromFiber(fiber) || "Component"
18717 );
18718 didWarnAboutUnsafeLifecycles.add(fiber.type);
18719 }), pendingComponentWillReceivePropsWarnings = []);
18720 var UNSAFE_componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set();
18721 0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length && (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(
18722 function(fiber) {
18723 UNSAFE_componentWillReceivePropsUniqueNames.add(
18724 getComponentNameFromFiber(fiber) || "Component"
18725 );
18726 didWarnAboutUnsafeLifecycles.add(fiber.type);
18727 }
18728 ), pendingUNSAFE_ComponentWillReceivePropsWarnings = []);
18729 var componentWillUpdateUniqueNames = /* @__PURE__ */ new Set();
18730 0 < pendingComponentWillUpdateWarnings.length && (pendingComponentWillUpdateWarnings.forEach(function(fiber) {
18731 componentWillUpdateUniqueNames.add(
18732 getComponentNameFromFiber(fiber) || "Component"
18733 );
18734 didWarnAboutUnsafeLifecycles.add(fiber.type);
18735 }), pendingComponentWillUpdateWarnings = []);
18736 var UNSAFE_componentWillUpdateUniqueNames = /* @__PURE__ */ new Set();
18737 0 < pendingUNSAFE_ComponentWillUpdateWarnings.length && (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) {
18738 UNSAFE_componentWillUpdateUniqueNames.add(
18739 getComponentNameFromFiber(fiber) || "Component"
18740 );
18741 didWarnAboutUnsafeLifecycles.add(fiber.type);
18742 }), pendingUNSAFE_ComponentWillUpdateWarnings = []);
18743 if (0 < UNSAFE_componentWillMountUniqueNames.size) {
18744 var sortedNames = setToSortedString(
18745 UNSAFE_componentWillMountUniqueNames
18746 );
18747 console.error(
18748 "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",
18749 sortedNames
18750 );
18751 }
18752 0 < UNSAFE_componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString(
18753 UNSAFE_componentWillReceivePropsUniqueNames
18754 ), console.error(
18755 "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",
18756 sortedNames
18757 ));
18758 0 < UNSAFE_componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(
18759 UNSAFE_componentWillUpdateUniqueNames
18760 ), console.error(
18761 "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",
18762 sortedNames
18763 ));
18764 0 < componentWillMountUniqueNames.size && (sortedNames = setToSortedString(componentWillMountUniqueNames), console.warn(
18765 "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",
18766 sortedNames
18767 ));
18768 0 < componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString(
18769 componentWillReceivePropsUniqueNames
18770 ), console.warn(
18771 "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",
18772 sortedNames
18773 ));
18774 0 < componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(componentWillUpdateUniqueNames), console.warn(
18775 "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",
18776 sortedNames
18777 ));
18778 };
18779 var pendingLegacyContextWarning = /* @__PURE__ */ new Map(), didWarnAboutLegacyContext = /* @__PURE__ */ new Set();
18780 ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance) {
18781 var strictRoot = null;
18782 for (var node = fiber; null !== node; )
18783 node.mode & StrictLegacyMode && (strictRoot = node), node = node.return;
18784 null === strictRoot ? console.error(
18785 "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."
18786 ) : !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));
18787 };
18788 ReactStrictModeWarnings.flushLegacyContextWarning = function() {
18789 pendingLegacyContextWarning.forEach(function(fiberArray) {
18790 if (0 !== fiberArray.length) {
18791 var firstFiber = fiberArray[0], uniqueNames = /* @__PURE__ */ new Set();
18792 fiberArray.forEach(function(fiber) {
18793 uniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
18794 didWarnAboutLegacyContext.add(fiber.type);
18795 });
18796 var sortedNames = setToSortedString(uniqueNames);
18797 runWithFiberInDEV(firstFiber, function() {
18798 console.error(
18799 "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",
18800 sortedNames
18801 );
18802 });
18803 }
18804 });
18805 };
18806 ReactStrictModeWarnings.discardPendingWarnings = function() {
18807 pendingComponentWillMountWarnings = [];
18808 pendingUNSAFE_ComponentWillMountWarnings = [];
18809 pendingComponentWillReceivePropsWarnings = [];
18810 pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
18811 pendingComponentWillUpdateWarnings = [];
18812 pendingUNSAFE_ComponentWillUpdateWarnings = [];
18813 pendingLegacyContextWarning = /* @__PURE__ */ new Map();
18814 };
18815 var callComponent = {
18816 react_stack_bottom_frame: function(Component, props, secondArg) {
18817 var wasRendering = isRendering;
18818 isRendering = true;
18819 try {
18820 return Component(props, secondArg);
18821 } finally {
18822 isRendering = wasRendering;
18823 }
18824 }
18825 }, callComponentInDEV = callComponent.react_stack_bottom_frame.bind(callComponent), callRender = {
18826 react_stack_bottom_frame: function(instance) {
18827 var wasRendering = isRendering;
18828 isRendering = true;
18829 try {
18830 return instance.render();
18831 } finally {
18832 isRendering = wasRendering;
18833 }
18834 }
18835 }, callRenderInDEV = callRender.react_stack_bottom_frame.bind(callRender), callComponentDidMount = {
18836 react_stack_bottom_frame: function(finishedWork, instance) {
18837 try {
18838 instance.componentDidMount();
18839 } catch (error) {
18840 captureCommitPhaseError(finishedWork, finishedWork.return, error);
18841 }
18842 }
18843 }, callComponentDidMountInDEV = callComponentDidMount.react_stack_bottom_frame.bind(
18844 callComponentDidMount
18845 ), callComponentDidUpdate = {
18846 react_stack_bottom_frame: function(finishedWork, instance, prevProps, prevState, snapshot) {
18847 try {
18848 instance.componentDidUpdate(prevProps, prevState, snapshot);
18849 } catch (error) {
18850 captureCommitPhaseError(finishedWork, finishedWork.return, error);
18851 }
18852 }
18853 }, callComponentDidUpdateInDEV = callComponentDidUpdate.react_stack_bottom_frame.bind(
18854 callComponentDidUpdate
18855 ), callComponentDidCatch = {
18856 react_stack_bottom_frame: function(instance, errorInfo) {
18857 var stack = errorInfo.stack;
18858 instance.componentDidCatch(errorInfo.value, {
18859 componentStack: null !== stack ? stack : ""
18860 });
18861 }
18862 }, callComponentDidCatchInDEV = callComponentDidCatch.react_stack_bottom_frame.bind(
18863 callComponentDidCatch
18864 ), callComponentWillUnmount = {
18865 react_stack_bottom_frame: function(current2, nearestMountedAncestor, instance) {
18866 try {
18867 instance.componentWillUnmount();
18868 } catch (error) {
18869 captureCommitPhaseError(current2, nearestMountedAncestor, error);
18870 }
18871 }
18872 }, callComponentWillUnmountInDEV = callComponentWillUnmount.react_stack_bottom_frame.bind(
18873 callComponentWillUnmount
18874 ), callCreate = {
18875 react_stack_bottom_frame: function(effect) {
18876 var create = effect.create;
18877 effect = effect.inst;
18878 create = create();
18879 return effect.destroy = create;
18880 }
18881 }, callCreateInDEV = callCreate.react_stack_bottom_frame.bind(callCreate), callDestroy = {
18882 react_stack_bottom_frame: function(current2, nearestMountedAncestor, destroy) {
18883 try {
18884 destroy();
18885 } catch (error) {
18886 captureCommitPhaseError(current2, nearestMountedAncestor, error);
18887 }
18888 }
18889 }, callDestroyInDEV = callDestroy.react_stack_bottom_frame.bind(callDestroy), callLazyInit = {
18890 react_stack_bottom_frame: function(lazy) {
18891 var init = lazy._init;
18892 return init(lazy._payload);
18893 }
18894 }, callLazyInitInDEV = callLazyInit.react_stack_bottom_frame.bind(callLazyInit), SuspenseException = Error(
18895 "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`."
18896 ), SuspenseyCommitException = Error(
18897 "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."
18898 ), SuspenseActionException = Error(
18899 "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."
18900 ), noopSuspenseyCommitThenable = {
18901 then: function() {
18902 console.error(
18903 'Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.'
18904 );
18905 }
18906 }, suspendedThenable = null, needsToResetSuspendedThenableDEV = false, thenableState$1 = null, thenableIndexCounter$1 = 0, currentDebugInfo = null, didWarnAboutMaps;
18907 var didWarnAboutGenerators = didWarnAboutMaps = false;
18908 var ownerHasKeyUseWarning = {};
18909 var ownerHasFunctionTypeWarning = {};
18910 var ownerHasSymbolTypeWarning = {};
18911 warnForMissingKey = function(returnFiber, workInProgress2, child) {
18912 if (null !== child && "object" === typeof child && child._store && (!child._store.validated && null == child.key || 2 === child._store.validated)) {
18913 if ("object" !== typeof child._store)
18914 throw Error(
18915 "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
18916 );
18917 child._store.validated = 1;
18918 var componentName2 = getComponentNameFromFiber(returnFiber), componentKey = componentName2 || "null";
18919 if (!ownerHasKeyUseWarning[componentKey]) {
18920 ownerHasKeyUseWarning[componentKey] = true;
18921 child = child._owner;
18922 returnFiber = returnFiber._debugOwner;
18923 var currentComponentErrorInfo = "";
18924 returnFiber && "number" === typeof returnFiber.tag && (componentKey = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = "\n\nCheck the render method of `" + componentKey + "`.");
18925 currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = "\n\nCheck the top-level render call using <" + componentName2 + ">.");
18926 var childOwnerAppendix = "";
18927 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 + "."));
18928 runWithFiberInDEV(workInProgress2, function() {
18929 console.error(
18930 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
18931 currentComponentErrorInfo,
18932 childOwnerAppendix
18933 );
18934 });
18935 }
18936 }
18937 };
18938 var reconcileChildFibers = createChildReconciler(true), mountChildFibers = createChildReconciler(false), UpdateState = 0, ReplaceState = 1, ForceUpdate = 2, CaptureUpdate = 3, hasForceUpdate = false;
18939 var didWarnUpdateInsideUpdate = false;
18940 var currentlyProcessingQueue = null;
18941 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;
18942 var didWarnAboutMismatchedHooksForComponent = /* @__PURE__ */ new Set();
18943 var didWarnAboutUseWrappedInTryCatch = /* @__PURE__ */ new Set();
18944 var didWarnAboutAsyncClientComponent = /* @__PURE__ */ new Set();
18945 var didWarnAboutUseFormState = /* @__PURE__ */ new Set();
18946 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 = {
18947 readContext,
18948 use,
18949 useCallback: throwInvalidHookError,
18950 useContext: throwInvalidHookError,
18951 useEffect: throwInvalidHookError,
18952 useImperativeHandle: throwInvalidHookError,
18953 useLayoutEffect: throwInvalidHookError,
18954 useInsertionEffect: throwInvalidHookError,
18955 useMemo: throwInvalidHookError,
18956 useReducer: throwInvalidHookError,
18957 useRef: throwInvalidHookError,
18958 useState: throwInvalidHookError,
18959 useDebugValue: throwInvalidHookError,
18960 useDeferredValue: throwInvalidHookError,
18961 useTransition: throwInvalidHookError,
18962 useSyncExternalStore: throwInvalidHookError,
18963 useId: throwInvalidHookError,
18964 useHostTransitionStatus: throwInvalidHookError,
18965 useFormState: throwInvalidHookError,
18966 useActionState: throwInvalidHookError,
18967 useOptimistic: throwInvalidHookError,
18968 useMemoCache: throwInvalidHookError,
18969 useCacheRefresh: throwInvalidHookError
18970 };
18971 ContextOnlyDispatcher.useEffectEvent = throwInvalidHookError;
18972 var HooksDispatcherOnMountInDEV = null, HooksDispatcherOnMountWithHookTypesInDEV = null, HooksDispatcherOnUpdateInDEV = null, HooksDispatcherOnRerenderInDEV = null, InvalidNestedHooksDispatcherOnMountInDEV = null, InvalidNestedHooksDispatcherOnUpdateInDEV = null, InvalidNestedHooksDispatcherOnRerenderInDEV = null;
18973 HooksDispatcherOnMountInDEV = {
18974 readContext: function(context) {
18975 return readContext(context);
18976 },
18977 use,
18978 useCallback: function(callback, deps) {
18979 currentHookNameInDev = "useCallback";
18980 mountHookTypesDev();
18981 checkDepsAreArrayDev(deps);
18982 return mountCallback(callback, deps);
18983 },
18984 useContext: function(context) {
18985 currentHookNameInDev = "useContext";
18986 mountHookTypesDev();
18987 return readContext(context);
18988 },
18989 useEffect: function(create, deps) {
18990 currentHookNameInDev = "useEffect";
18991 mountHookTypesDev();
18992 checkDepsAreArrayDev(deps);
18993 return mountEffect(create, deps);
18994 },
18995 useImperativeHandle: function(ref, create, deps) {
18996 currentHookNameInDev = "useImperativeHandle";
18997 mountHookTypesDev();
18998 checkDepsAreArrayDev(deps);
18999 return mountImperativeHandle(ref, create, deps);
19000 },
19001 useInsertionEffect: function(create, deps) {
19002 currentHookNameInDev = "useInsertionEffect";
19003 mountHookTypesDev();
19004 checkDepsAreArrayDev(deps);
19005 mountEffectImpl(4, Insertion, create, deps);
19006 },
19007 useLayoutEffect: function(create, deps) {
19008 currentHookNameInDev = "useLayoutEffect";
19009 mountHookTypesDev();
19010 checkDepsAreArrayDev(deps);
19011 return mountLayoutEffect(create, deps);
19012 },
19013 useMemo: function(create, deps) {
19014 currentHookNameInDev = "useMemo";
19015 mountHookTypesDev();
19016 checkDepsAreArrayDev(deps);
19017 var prevDispatcher = ReactSharedInternals.H;
19018 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
19019 try {
19020 return mountMemo(create, deps);
19021 } finally {
19022 ReactSharedInternals.H = prevDispatcher;
19023 }
19024 },
19025 useReducer: function(reducer, initialArg, init) {
19026 currentHookNameInDev = "useReducer";
19027 mountHookTypesDev();
19028 var prevDispatcher = ReactSharedInternals.H;
19029 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
19030 try {
19031 return mountReducer(reducer, initialArg, init);
19032 } finally {
19033 ReactSharedInternals.H = prevDispatcher;
19034 }
19035 },
19036 useRef: function(initialValue) {
19037 currentHookNameInDev = "useRef";
19038 mountHookTypesDev();
19039 return mountRef(initialValue);
19040 },
19041 useState: function(initialState) {
19042 currentHookNameInDev = "useState";
19043 mountHookTypesDev();
19044 var prevDispatcher = ReactSharedInternals.H;
19045 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
19046 try {
19047 return mountState(initialState);
19048 } finally {
19049 ReactSharedInternals.H = prevDispatcher;
19050 }
19051 },
19052 useDebugValue: function() {
19053 currentHookNameInDev = "useDebugValue";
19054 mountHookTypesDev();
19055 },
19056 useDeferredValue: function(value, initialValue) {
19057 currentHookNameInDev = "useDeferredValue";
19058 mountHookTypesDev();
19059 return mountDeferredValue(value, initialValue);
19060 },
19061 useTransition: function() {
19062 currentHookNameInDev = "useTransition";
19063 mountHookTypesDev();
19064 return mountTransition();
19065 },
19066 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
19067 currentHookNameInDev = "useSyncExternalStore";
19068 mountHookTypesDev();
19069 return mountSyncExternalStore(
19070 subscribe,
19071 getSnapshot,
19072 getServerSnapshot
19073 );
19074 },
19075 useId: function() {
19076 currentHookNameInDev = "useId";
19077 mountHookTypesDev();
19078 return mountId();
19079 },
19080 useFormState: function(action, initialState) {
19081 currentHookNameInDev = "useFormState";
19082 mountHookTypesDev();
19083 warnOnUseFormStateInDev();
19084 return mountActionState(action, initialState);
19085 },
19086 useActionState: function(action, initialState) {
19087 currentHookNameInDev = "useActionState";
19088 mountHookTypesDev();
19089 return mountActionState(action, initialState);
19090 },
19091 useOptimistic: function(passthrough) {
19092 currentHookNameInDev = "useOptimistic";
19093 mountHookTypesDev();
19094 return mountOptimistic(passthrough);
19095 },
19096 useHostTransitionStatus,
19097 useMemoCache,
19098 useCacheRefresh: function() {
19099 currentHookNameInDev = "useCacheRefresh";
19100 mountHookTypesDev();
19101 return mountRefresh();
19102 },
19103 useEffectEvent: function(callback) {
19104 currentHookNameInDev = "useEffectEvent";
19105 mountHookTypesDev();
19106 return mountEvent(callback);
19107 }
19108 };
19109 HooksDispatcherOnMountWithHookTypesInDEV = {
19110 readContext: function(context) {
19111 return readContext(context);
19112 },
19113 use,
19114 useCallback: function(callback, deps) {
19115 currentHookNameInDev = "useCallback";
19116 updateHookTypesDev();
19117 return mountCallback(callback, deps);
19118 },
19119 useContext: function(context) {
19120 currentHookNameInDev = "useContext";
19121 updateHookTypesDev();
19122 return readContext(context);
19123 },
19124 useEffect: function(create, deps) {
19125 currentHookNameInDev = "useEffect";
19126 updateHookTypesDev();
19127 return mountEffect(create, deps);
19128 },
19129 useImperativeHandle: function(ref, create, deps) {
19130 currentHookNameInDev = "useImperativeHandle";
19131 updateHookTypesDev();
19132 return mountImperativeHandle(ref, create, deps);
19133 },
19134 useInsertionEffect: function(create, deps) {
19135 currentHookNameInDev = "useInsertionEffect";
19136 updateHookTypesDev();
19137 mountEffectImpl(4, Insertion, create, deps);
19138 },
19139 useLayoutEffect: function(create, deps) {
19140 currentHookNameInDev = "useLayoutEffect";
19141 updateHookTypesDev();
19142 return mountLayoutEffect(create, deps);
19143 },
19144 useMemo: function(create, deps) {
19145 currentHookNameInDev = "useMemo";
19146 updateHookTypesDev();
19147 var prevDispatcher = ReactSharedInternals.H;
19148 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
19149 try {
19150 return mountMemo(create, deps);
19151 } finally {
19152 ReactSharedInternals.H = prevDispatcher;
19153 }
19154 },
19155 useReducer: function(reducer, initialArg, init) {
19156 currentHookNameInDev = "useReducer";
19157 updateHookTypesDev();
19158 var prevDispatcher = ReactSharedInternals.H;
19159 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
19160 try {
19161 return mountReducer(reducer, initialArg, init);
19162 } finally {
19163 ReactSharedInternals.H = prevDispatcher;
19164 }
19165 },
19166 useRef: function(initialValue) {
19167 currentHookNameInDev = "useRef";
19168 updateHookTypesDev();
19169 return mountRef(initialValue);
19170 },
19171 useState: function(initialState) {
19172 currentHookNameInDev = "useState";
19173 updateHookTypesDev();
19174 var prevDispatcher = ReactSharedInternals.H;
19175 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
19176 try {
19177 return mountState(initialState);
19178 } finally {
19179 ReactSharedInternals.H = prevDispatcher;
19180 }
19181 },
19182 useDebugValue: function() {
19183 currentHookNameInDev = "useDebugValue";
19184 updateHookTypesDev();
19185 },
19186 useDeferredValue: function(value, initialValue) {
19187 currentHookNameInDev = "useDeferredValue";
19188 updateHookTypesDev();
19189 return mountDeferredValue(value, initialValue);
19190 },
19191 useTransition: function() {
19192 currentHookNameInDev = "useTransition";
19193 updateHookTypesDev();
19194 return mountTransition();
19195 },
19196 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
19197 currentHookNameInDev = "useSyncExternalStore";
19198 updateHookTypesDev();
19199 return mountSyncExternalStore(
19200 subscribe,
19201 getSnapshot,
19202 getServerSnapshot
19203 );
19204 },
19205 useId: function() {
19206 currentHookNameInDev = "useId";
19207 updateHookTypesDev();
19208 return mountId();
19209 },
19210 useActionState: function(action, initialState) {
19211 currentHookNameInDev = "useActionState";
19212 updateHookTypesDev();
19213 return mountActionState(action, initialState);
19214 },
19215 useFormState: function(action, initialState) {
19216 currentHookNameInDev = "useFormState";
19217 updateHookTypesDev();
19218 warnOnUseFormStateInDev();
19219 return mountActionState(action, initialState);
19220 },
19221 useOptimistic: function(passthrough) {
19222 currentHookNameInDev = "useOptimistic";
19223 updateHookTypesDev();
19224 return mountOptimistic(passthrough);
19225 },
19226 useHostTransitionStatus,
19227 useMemoCache,
19228 useCacheRefresh: function() {
19229 currentHookNameInDev = "useCacheRefresh";
19230 updateHookTypesDev();
19231 return mountRefresh();
19232 },
19233 useEffectEvent: function(callback) {
19234 currentHookNameInDev = "useEffectEvent";
19235 updateHookTypesDev();
19236 return mountEvent(callback);
19237 }
19238 };
19239 HooksDispatcherOnUpdateInDEV = {
19240 readContext: function(context) {
19241 return readContext(context);
19242 },
19243 use,
19244 useCallback: function(callback, deps) {
19245 currentHookNameInDev = "useCallback";
19246 updateHookTypesDev();
19247 return updateCallback(callback, deps);
19248 },
19249 useContext: function(context) {
19250 currentHookNameInDev = "useContext";
19251 updateHookTypesDev();
19252 return readContext(context);
19253 },
19254 useEffect: function(create, deps) {
19255 currentHookNameInDev = "useEffect";
19256 updateHookTypesDev();
19257 updateEffectImpl(2048, Passive, create, deps);
19258 },
19259 useImperativeHandle: function(ref, create, deps) {
19260 currentHookNameInDev = "useImperativeHandle";
19261 updateHookTypesDev();
19262 return updateImperativeHandle(ref, create, deps);
19263 },
19264 useInsertionEffect: function(create, deps) {
19265 currentHookNameInDev = "useInsertionEffect";
19266 updateHookTypesDev();
19267 return updateEffectImpl(4, Insertion, create, deps);
19268 },
19269 useLayoutEffect: function(create, deps) {
19270 currentHookNameInDev = "useLayoutEffect";
19271 updateHookTypesDev();
19272 return updateEffectImpl(4, Layout, create, deps);
19273 },
19274 useMemo: function(create, deps) {
19275 currentHookNameInDev = "useMemo";
19276 updateHookTypesDev();
19277 var prevDispatcher = ReactSharedInternals.H;
19278 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
19279 try {
19280 return updateMemo(create, deps);
19281 } finally {
19282 ReactSharedInternals.H = prevDispatcher;
19283 }
19284 },
19285 useReducer: function(reducer, initialArg, init) {
19286 currentHookNameInDev = "useReducer";
19287 updateHookTypesDev();
19288 var prevDispatcher = ReactSharedInternals.H;
19289 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
19290 try {
19291 return updateReducer(reducer, initialArg, init);
19292 } finally {
19293 ReactSharedInternals.H = prevDispatcher;
19294 }
19295 },
19296 useRef: function() {
19297 currentHookNameInDev = "useRef";
19298 updateHookTypesDev();
19299 return updateWorkInProgressHook().memoizedState;
19300 },
19301 useState: function() {
19302 currentHookNameInDev = "useState";
19303 updateHookTypesDev();
19304 var prevDispatcher = ReactSharedInternals.H;
19305 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
19306 try {
19307 return updateReducer(basicStateReducer);
19308 } finally {
19309 ReactSharedInternals.H = prevDispatcher;
19310 }
19311 },
19312 useDebugValue: function() {
19313 currentHookNameInDev = "useDebugValue";
19314 updateHookTypesDev();
19315 },
19316 useDeferredValue: function(value, initialValue) {
19317 currentHookNameInDev = "useDeferredValue";
19318 updateHookTypesDev();
19319 return updateDeferredValue(value, initialValue);
19320 },
19321 useTransition: function() {
19322 currentHookNameInDev = "useTransition";
19323 updateHookTypesDev();
19324 return updateTransition();
19325 },
19326 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
19327 currentHookNameInDev = "useSyncExternalStore";
19328 updateHookTypesDev();
19329 return updateSyncExternalStore(
19330 subscribe,
19331 getSnapshot,
19332 getServerSnapshot
19333 );
19334 },
19335 useId: function() {
19336 currentHookNameInDev = "useId";
19337 updateHookTypesDev();
19338 return updateWorkInProgressHook().memoizedState;
19339 },
19340 useFormState: function(action) {
19341 currentHookNameInDev = "useFormState";
19342 updateHookTypesDev();
19343 warnOnUseFormStateInDev();
19344 return updateActionState(action);
19345 },
19346 useActionState: function(action) {
19347 currentHookNameInDev = "useActionState";
19348 updateHookTypesDev();
19349 return updateActionState(action);
19350 },
19351 useOptimistic: function(passthrough, reducer) {
19352 currentHookNameInDev = "useOptimistic";
19353 updateHookTypesDev();
19354 return updateOptimistic(passthrough, reducer);
19355 },
19356 useHostTransitionStatus,
19357 useMemoCache,
19358 useCacheRefresh: function() {
19359 currentHookNameInDev = "useCacheRefresh";
19360 updateHookTypesDev();
19361 return updateWorkInProgressHook().memoizedState;
19362 },
19363 useEffectEvent: function(callback) {
19364 currentHookNameInDev = "useEffectEvent";
19365 updateHookTypesDev();
19366 return updateEvent(callback);
19367 }
19368 };
19369 HooksDispatcherOnRerenderInDEV = {
19370 readContext: function(context) {
19371 return readContext(context);
19372 },
19373 use,
19374 useCallback: function(callback, deps) {
19375 currentHookNameInDev = "useCallback";
19376 updateHookTypesDev();
19377 return updateCallback(callback, deps);
19378 },
19379 useContext: function(context) {
19380 currentHookNameInDev = "useContext";
19381 updateHookTypesDev();
19382 return readContext(context);
19383 },
19384 useEffect: function(create, deps) {
19385 currentHookNameInDev = "useEffect";
19386 updateHookTypesDev();
19387 updateEffectImpl(2048, Passive, create, deps);
19388 },
19389 useImperativeHandle: function(ref, create, deps) {
19390 currentHookNameInDev = "useImperativeHandle";
19391 updateHookTypesDev();
19392 return updateImperativeHandle(ref, create, deps);
19393 },
19394 useInsertionEffect: function(create, deps) {
19395 currentHookNameInDev = "useInsertionEffect";
19396 updateHookTypesDev();
19397 return updateEffectImpl(4, Insertion, create, deps);
19398 },
19399 useLayoutEffect: function(create, deps) {
19400 currentHookNameInDev = "useLayoutEffect";
19401 updateHookTypesDev();
19402 return updateEffectImpl(4, Layout, create, deps);
19403 },
19404 useMemo: function(create, deps) {
19405 currentHookNameInDev = "useMemo";
19406 updateHookTypesDev();
19407 var prevDispatcher = ReactSharedInternals.H;
19408 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
19409 try {
19410 return updateMemo(create, deps);
19411 } finally {
19412 ReactSharedInternals.H = prevDispatcher;
19413 }
19414 },
19415 useReducer: function(reducer, initialArg, init) {
19416 currentHookNameInDev = "useReducer";
19417 updateHookTypesDev();
19418 var prevDispatcher = ReactSharedInternals.H;
19419 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
19420 try {
19421 return rerenderReducer(reducer, initialArg, init);
19422 } finally {
19423 ReactSharedInternals.H = prevDispatcher;
19424 }
19425 },
19426 useRef: function() {
19427 currentHookNameInDev = "useRef";
19428 updateHookTypesDev();
19429 return updateWorkInProgressHook().memoizedState;
19430 },
19431 useState: function() {
19432 currentHookNameInDev = "useState";
19433 updateHookTypesDev();
19434 var prevDispatcher = ReactSharedInternals.H;
19435 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
19436 try {
19437 return rerenderReducer(basicStateReducer);
19438 } finally {
19439 ReactSharedInternals.H = prevDispatcher;
19440 }
19441 },
19442 useDebugValue: function() {
19443 currentHookNameInDev = "useDebugValue";
19444 updateHookTypesDev();
19445 },
19446 useDeferredValue: function(value, initialValue) {
19447 currentHookNameInDev = "useDeferredValue";
19448 updateHookTypesDev();
19449 return rerenderDeferredValue(value, initialValue);
19450 },
19451 useTransition: function() {
19452 currentHookNameInDev = "useTransition";
19453 updateHookTypesDev();
19454 return rerenderTransition();
19455 },
19456 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
19457 currentHookNameInDev = "useSyncExternalStore";
19458 updateHookTypesDev();
19459 return updateSyncExternalStore(
19460 subscribe,
19461 getSnapshot,
19462 getServerSnapshot
19463 );
19464 },
19465 useId: function() {
19466 currentHookNameInDev = "useId";
19467 updateHookTypesDev();
19468 return updateWorkInProgressHook().memoizedState;
19469 },
19470 useFormState: function(action) {
19471 currentHookNameInDev = "useFormState";
19472 updateHookTypesDev();
19473 warnOnUseFormStateInDev();
19474 return rerenderActionState(action);
19475 },
19476 useActionState: function(action) {
19477 currentHookNameInDev = "useActionState";
19478 updateHookTypesDev();
19479 return rerenderActionState(action);
19480 },
19481 useOptimistic: function(passthrough, reducer) {
19482 currentHookNameInDev = "useOptimistic";
19483 updateHookTypesDev();
19484 return rerenderOptimistic(passthrough, reducer);
19485 },
19486 useHostTransitionStatus,
19487 useMemoCache,
19488 useCacheRefresh: function() {
19489 currentHookNameInDev = "useCacheRefresh";
19490 updateHookTypesDev();
19491 return updateWorkInProgressHook().memoizedState;
19492 },
19493 useEffectEvent: function(callback) {
19494 currentHookNameInDev = "useEffectEvent";
19495 updateHookTypesDev();
19496 return updateEvent(callback);
19497 }
19498 };
19499 InvalidNestedHooksDispatcherOnMountInDEV = {
19500 readContext: function(context) {
19501 warnInvalidContextAccess();
19502 return readContext(context);
19503 },
19504 use: function(usable) {
19505 warnInvalidHookAccess();
19506 return use(usable);
19507 },
19508 useCallback: function(callback, deps) {
19509 currentHookNameInDev = "useCallback";
19510 warnInvalidHookAccess();
19511 mountHookTypesDev();
19512 return mountCallback(callback, deps);
19513 },
19514 useContext: function(context) {
19515 currentHookNameInDev = "useContext";
19516 warnInvalidHookAccess();
19517 mountHookTypesDev();
19518 return readContext(context);
19519 },
19520 useEffect: function(create, deps) {
19521 currentHookNameInDev = "useEffect";
19522 warnInvalidHookAccess();
19523 mountHookTypesDev();
19524 return mountEffect(create, deps);
19525 },
19526 useImperativeHandle: function(ref, create, deps) {
19527 currentHookNameInDev = "useImperativeHandle";
19528 warnInvalidHookAccess();
19529 mountHookTypesDev();
19530 return mountImperativeHandle(ref, create, deps);
19531 },
19532 useInsertionEffect: function(create, deps) {
19533 currentHookNameInDev = "useInsertionEffect";
19534 warnInvalidHookAccess();
19535 mountHookTypesDev();
19536 mountEffectImpl(4, Insertion, create, deps);
19537 },
19538 useLayoutEffect: function(create, deps) {
19539 currentHookNameInDev = "useLayoutEffect";
19540 warnInvalidHookAccess();
19541 mountHookTypesDev();
19542 return mountLayoutEffect(create, deps);
19543 },
19544 useMemo: function(create, deps) {
19545 currentHookNameInDev = "useMemo";
19546 warnInvalidHookAccess();
19547 mountHookTypesDev();
19548 var prevDispatcher = ReactSharedInternals.H;
19549 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
19550 try {
19551 return mountMemo(create, deps);
19552 } finally {
19553 ReactSharedInternals.H = prevDispatcher;
19554 }
19555 },
19556 useReducer: function(reducer, initialArg, init) {
19557 currentHookNameInDev = "useReducer";
19558 warnInvalidHookAccess();
19559 mountHookTypesDev();
19560 var prevDispatcher = ReactSharedInternals.H;
19561 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
19562 try {
19563 return mountReducer(reducer, initialArg, init);
19564 } finally {
19565 ReactSharedInternals.H = prevDispatcher;
19566 }
19567 },
19568 useRef: function(initialValue) {
19569 currentHookNameInDev = "useRef";
19570 warnInvalidHookAccess();
19571 mountHookTypesDev();
19572 return mountRef(initialValue);
19573 },
19574 useState: function(initialState) {
19575 currentHookNameInDev = "useState";
19576 warnInvalidHookAccess();
19577 mountHookTypesDev();
19578 var prevDispatcher = ReactSharedInternals.H;
19579 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
19580 try {
19581 return mountState(initialState);
19582 } finally {
19583 ReactSharedInternals.H = prevDispatcher;
19584 }
19585 },
19586 useDebugValue: function() {
19587 currentHookNameInDev = "useDebugValue";
19588 warnInvalidHookAccess();
19589 mountHookTypesDev();
19590 },
19591 useDeferredValue: function(value, initialValue) {
19592 currentHookNameInDev = "useDeferredValue";
19593 warnInvalidHookAccess();
19594 mountHookTypesDev();
19595 return mountDeferredValue(value, initialValue);
19596 },
19597 useTransition: function() {
19598 currentHookNameInDev = "useTransition";
19599 warnInvalidHookAccess();
19600 mountHookTypesDev();
19601 return mountTransition();
19602 },
19603 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
19604 currentHookNameInDev = "useSyncExternalStore";
19605 warnInvalidHookAccess();
19606 mountHookTypesDev();
19607 return mountSyncExternalStore(
19608 subscribe,
19609 getSnapshot,
19610 getServerSnapshot
19611 );
19612 },
19613 useId: function() {
19614 currentHookNameInDev = "useId";
19615 warnInvalidHookAccess();
19616 mountHookTypesDev();
19617 return mountId();
19618 },
19619 useFormState: function(action, initialState) {
19620 currentHookNameInDev = "useFormState";
19621 warnInvalidHookAccess();
19622 mountHookTypesDev();
19623 return mountActionState(action, initialState);
19624 },
19625 useActionState: function(action, initialState) {
19626 currentHookNameInDev = "useActionState";
19627 warnInvalidHookAccess();
19628 mountHookTypesDev();
19629 return mountActionState(action, initialState);
19630 },
19631 useOptimistic: function(passthrough) {
19632 currentHookNameInDev = "useOptimistic";
19633 warnInvalidHookAccess();
19634 mountHookTypesDev();
19635 return mountOptimistic(passthrough);
19636 },
19637 useMemoCache: function(size) {
19638 warnInvalidHookAccess();
19639 return useMemoCache(size);
19640 },
19641 useHostTransitionStatus,
19642 useCacheRefresh: function() {
19643 currentHookNameInDev = "useCacheRefresh";
19644 mountHookTypesDev();
19645 return mountRefresh();
19646 },
19647 useEffectEvent: function(callback) {
19648 currentHookNameInDev = "useEffectEvent";
19649 warnInvalidHookAccess();
19650 mountHookTypesDev();
19651 return mountEvent(callback);
19652 }
19653 };
19654 InvalidNestedHooksDispatcherOnUpdateInDEV = {
19655 readContext: function(context) {
19656 warnInvalidContextAccess();
19657 return readContext(context);
19658 },
19659 use: function(usable) {
19660 warnInvalidHookAccess();
19661 return use(usable);
19662 },
19663 useCallback: function(callback, deps) {
19664 currentHookNameInDev = "useCallback";
19665 warnInvalidHookAccess();
19666 updateHookTypesDev();
19667 return updateCallback(callback, deps);
19668 },
19669 useContext: function(context) {
19670 currentHookNameInDev = "useContext";
19671 warnInvalidHookAccess();
19672 updateHookTypesDev();
19673 return readContext(context);
19674 },
19675 useEffect: function(create, deps) {
19676 currentHookNameInDev = "useEffect";
19677 warnInvalidHookAccess();
19678 updateHookTypesDev();
19679 updateEffectImpl(2048, Passive, create, deps);
19680 },
19681 useImperativeHandle: function(ref, create, deps) {
19682 currentHookNameInDev = "useImperativeHandle";
19683 warnInvalidHookAccess();
19684 updateHookTypesDev();
19685 return updateImperativeHandle(ref, create, deps);
19686 },
19687 useInsertionEffect: function(create, deps) {
19688 currentHookNameInDev = "useInsertionEffect";
19689 warnInvalidHookAccess();
19690 updateHookTypesDev();
19691 return updateEffectImpl(4, Insertion, create, deps);
19692 },
19693 useLayoutEffect: function(create, deps) {
19694 currentHookNameInDev = "useLayoutEffect";
19695 warnInvalidHookAccess();
19696 updateHookTypesDev();
19697 return updateEffectImpl(4, Layout, create, deps);
19698 },
19699 useMemo: function(create, deps) {
19700 currentHookNameInDev = "useMemo";
19701 warnInvalidHookAccess();
19702 updateHookTypesDev();
19703 var prevDispatcher = ReactSharedInternals.H;
19704 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
19705 try {
19706 return updateMemo(create, deps);
19707 } finally {
19708 ReactSharedInternals.H = prevDispatcher;
19709 }
19710 },
19711 useReducer: function(reducer, initialArg, init) {
19712 currentHookNameInDev = "useReducer";
19713 warnInvalidHookAccess();
19714 updateHookTypesDev();
19715 var prevDispatcher = ReactSharedInternals.H;
19716 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
19717 try {
19718 return updateReducer(reducer, initialArg, init);
19719 } finally {
19720 ReactSharedInternals.H = prevDispatcher;
19721 }
19722 },
19723 useRef: function() {
19724 currentHookNameInDev = "useRef";
19725 warnInvalidHookAccess();
19726 updateHookTypesDev();
19727 return updateWorkInProgressHook().memoizedState;
19728 },
19729 useState: function() {
19730 currentHookNameInDev = "useState";
19731 warnInvalidHookAccess();
19732 updateHookTypesDev();
19733 var prevDispatcher = ReactSharedInternals.H;
19734 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
19735 try {
19736 return updateReducer(basicStateReducer);
19737 } finally {
19738 ReactSharedInternals.H = prevDispatcher;
19739 }
19740 },
19741 useDebugValue: function() {
19742 currentHookNameInDev = "useDebugValue";
19743 warnInvalidHookAccess();
19744 updateHookTypesDev();
19745 },
19746 useDeferredValue: function(value, initialValue) {
19747 currentHookNameInDev = "useDeferredValue";
19748 warnInvalidHookAccess();
19749 updateHookTypesDev();
19750 return updateDeferredValue(value, initialValue);
19751 },
19752 useTransition: function() {
19753 currentHookNameInDev = "useTransition";
19754 warnInvalidHookAccess();
19755 updateHookTypesDev();
19756 return updateTransition();
19757 },
19758 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
19759 currentHookNameInDev = "useSyncExternalStore";
19760 warnInvalidHookAccess();
19761 updateHookTypesDev();
19762 return updateSyncExternalStore(
19763 subscribe,
19764 getSnapshot,
19765 getServerSnapshot
19766 );
19767 },
19768 useId: function() {
19769 currentHookNameInDev = "useId";
19770 warnInvalidHookAccess();
19771 updateHookTypesDev();
19772 return updateWorkInProgressHook().memoizedState;
19773 },
19774 useFormState: function(action) {
19775 currentHookNameInDev = "useFormState";
19776 warnInvalidHookAccess();
19777 updateHookTypesDev();
19778 return updateActionState(action);
19779 },
19780 useActionState: function(action) {
19781 currentHookNameInDev = "useActionState";
19782 warnInvalidHookAccess();
19783 updateHookTypesDev();
19784 return updateActionState(action);
19785 },
19786 useOptimistic: function(passthrough, reducer) {
19787 currentHookNameInDev = "useOptimistic";
19788 warnInvalidHookAccess();
19789 updateHookTypesDev();
19790 return updateOptimistic(passthrough, reducer);
19791 },
19792 useMemoCache: function(size) {
19793 warnInvalidHookAccess();
19794 return useMemoCache(size);
19795 },
19796 useHostTransitionStatus,
19797 useCacheRefresh: function() {
19798 currentHookNameInDev = "useCacheRefresh";
19799 updateHookTypesDev();
19800 return updateWorkInProgressHook().memoizedState;
19801 },
19802 useEffectEvent: function(callback) {
19803 currentHookNameInDev = "useEffectEvent";
19804 warnInvalidHookAccess();
19805 updateHookTypesDev();
19806 return updateEvent(callback);
19807 }
19808 };
19809 InvalidNestedHooksDispatcherOnRerenderInDEV = {
19810 readContext: function(context) {
19811 warnInvalidContextAccess();
19812 return readContext(context);
19813 },
19814 use: function(usable) {
19815 warnInvalidHookAccess();
19816 return use(usable);
19817 },
19818 useCallback: function(callback, deps) {
19819 currentHookNameInDev = "useCallback";
19820 warnInvalidHookAccess();
19821 updateHookTypesDev();
19822 return updateCallback(callback, deps);
19823 },
19824 useContext: function(context) {
19825 currentHookNameInDev = "useContext";
19826 warnInvalidHookAccess();
19827 updateHookTypesDev();
19828 return readContext(context);
19829 },
19830 useEffect: function(create, deps) {
19831 currentHookNameInDev = "useEffect";
19832 warnInvalidHookAccess();
19833 updateHookTypesDev();
19834 updateEffectImpl(2048, Passive, create, deps);
19835 },
19836 useImperativeHandle: function(ref, create, deps) {
19837 currentHookNameInDev = "useImperativeHandle";
19838 warnInvalidHookAccess();
19839 updateHookTypesDev();
19840 return updateImperativeHandle(ref, create, deps);
19841 },
19842 useInsertionEffect: function(create, deps) {
19843 currentHookNameInDev = "useInsertionEffect";
19844 warnInvalidHookAccess();
19845 updateHookTypesDev();
19846 return updateEffectImpl(4, Insertion, create, deps);
19847 },
19848 useLayoutEffect: function(create, deps) {
19849 currentHookNameInDev = "useLayoutEffect";
19850 warnInvalidHookAccess();
19851 updateHookTypesDev();
19852 return updateEffectImpl(4, Layout, create, deps);
19853 },
19854 useMemo: function(create, deps) {
19855 currentHookNameInDev = "useMemo";
19856 warnInvalidHookAccess();
19857 updateHookTypesDev();
19858 var prevDispatcher = ReactSharedInternals.H;
19859 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
19860 try {
19861 return updateMemo(create, deps);
19862 } finally {
19863 ReactSharedInternals.H = prevDispatcher;
19864 }
19865 },
19866 useReducer: function(reducer, initialArg, init) {
19867 currentHookNameInDev = "useReducer";
19868 warnInvalidHookAccess();
19869 updateHookTypesDev();
19870 var prevDispatcher = ReactSharedInternals.H;
19871 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
19872 try {
19873 return rerenderReducer(reducer, initialArg, init);
19874 } finally {
19875 ReactSharedInternals.H = prevDispatcher;
19876 }
19877 },
19878 useRef: function() {
19879 currentHookNameInDev = "useRef";
19880 warnInvalidHookAccess();
19881 updateHookTypesDev();
19882 return updateWorkInProgressHook().memoizedState;
19883 },
19884 useState: function() {
19885 currentHookNameInDev = "useState";
19886 warnInvalidHookAccess();
19887 updateHookTypesDev();
19888 var prevDispatcher = ReactSharedInternals.H;
19889 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
19890 try {
19891 return rerenderReducer(basicStateReducer);
19892 } finally {
19893 ReactSharedInternals.H = prevDispatcher;
19894 }
19895 },
19896 useDebugValue: function() {
19897 currentHookNameInDev = "useDebugValue";
19898 warnInvalidHookAccess();
19899 updateHookTypesDev();
19900 },
19901 useDeferredValue: function(value, initialValue) {
19902 currentHookNameInDev = "useDeferredValue";
19903 warnInvalidHookAccess();
19904 updateHookTypesDev();
19905 return rerenderDeferredValue(value, initialValue);
19906 },
19907 useTransition: function() {
19908 currentHookNameInDev = "useTransition";
19909 warnInvalidHookAccess();
19910 updateHookTypesDev();
19911 return rerenderTransition();
19912 },
19913 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
19914 currentHookNameInDev = "useSyncExternalStore";
19915 warnInvalidHookAccess();
19916 updateHookTypesDev();
19917 return updateSyncExternalStore(
19918 subscribe,
19919 getSnapshot,
19920 getServerSnapshot
19921 );
19922 },
19923 useId: function() {
19924 currentHookNameInDev = "useId";
19925 warnInvalidHookAccess();
19926 updateHookTypesDev();
19927 return updateWorkInProgressHook().memoizedState;
19928 },
19929 useFormState: function(action) {
19930 currentHookNameInDev = "useFormState";
19931 warnInvalidHookAccess();
19932 updateHookTypesDev();
19933 return rerenderActionState(action);
19934 },
19935 useActionState: function(action) {
19936 currentHookNameInDev = "useActionState";
19937 warnInvalidHookAccess();
19938 updateHookTypesDev();
19939 return rerenderActionState(action);
19940 },
19941 useOptimistic: function(passthrough, reducer) {
19942 currentHookNameInDev = "useOptimistic";
19943 warnInvalidHookAccess();
19944 updateHookTypesDev();
19945 return rerenderOptimistic(passthrough, reducer);
19946 },
19947 useMemoCache: function(size) {
19948 warnInvalidHookAccess();
19949 return useMemoCache(size);
19950 },
19951 useHostTransitionStatus,
19952 useCacheRefresh: function() {
19953 currentHookNameInDev = "useCacheRefresh";
19954 updateHookTypesDev();
19955 return updateWorkInProgressHook().memoizedState;
19956 },
19957 useEffectEvent: function(callback) {
19958 currentHookNameInDev = "useEffectEvent";
19959 warnInvalidHookAccess();
19960 updateHookTypesDev();
19961 return updateEvent(callback);
19962 }
19963 };
19964 var fakeInternalInstance = {};
19965 var didWarnAboutStateAssignmentForComponent = /* @__PURE__ */ new Set();
19966 var didWarnAboutUninitializedState = /* @__PURE__ */ new Set();
19967 var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = /* @__PURE__ */ new Set();
19968 var didWarnAboutLegacyLifecyclesAndDerivedState = /* @__PURE__ */ new Set();
19969 var didWarnAboutDirectlyAssigningPropsToState = /* @__PURE__ */ new Set();
19970 var didWarnAboutUndefinedDerivedState = /* @__PURE__ */ new Set();
19971 var didWarnAboutContextTypes$1 = /* @__PURE__ */ new Set();
19972 var didWarnAboutChildContextTypes = /* @__PURE__ */ new Set();
19973 var didWarnAboutInvalidateContextType = /* @__PURE__ */ new Set();
19974 var didWarnOnInvalidCallback = /* @__PURE__ */ new Set();
19975 Object.freeze(fakeInternalInstance);
19976 var classComponentUpdater = {
19977 enqueueSetState: function(inst, payload, callback) {
19978 inst = inst._reactInternals;
19979 var lane = requestUpdateLane(inst), update = createUpdate(lane);
19980 update.payload = payload;
19981 void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
19982 payload = enqueueUpdate(inst, update, lane);
19983 null !== payload && (startUpdateTimerByLane(lane, "this.setState()", inst), scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane));
19984 },
19985 enqueueReplaceState: function(inst, payload, callback) {
19986 inst = inst._reactInternals;
19987 var lane = requestUpdateLane(inst), update = createUpdate(lane);
19988 update.tag = ReplaceState;
19989 update.payload = payload;
19990 void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
19991 payload = enqueueUpdate(inst, update, lane);
19992 null !== payload && (startUpdateTimerByLane(lane, "this.replaceState()", inst), scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane));
19993 },
19994 enqueueForceUpdate: function(inst, callback) {
19995 inst = inst._reactInternals;
19996 var lane = requestUpdateLane(inst), update = createUpdate(lane);
19997 update.tag = ForceUpdate;
19998 void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
19999 callback = enqueueUpdate(inst, update, lane);
20000 null !== callback && (startUpdateTimerByLane(lane, "this.forceUpdate()", inst), scheduleUpdateOnFiber(callback, inst, lane), entangleTransitions(callback, inst, lane));
20001 }
20002 }, componentName = null, errorBoundaryName = null, SelectiveHydrationException = Error(
20003 "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."
20004 ), didReceiveUpdate = false;
20005 var didWarnAboutBadClass = {};
20006 var didWarnAboutContextTypeOnFunctionComponent = {};
20007 var didWarnAboutContextTypes = {};
20008 var didWarnAboutGetDerivedStateOnFunctionComponent = {};
20009 var didWarnAboutReassigningProps = false;
20010 var didWarnAboutRevealOrder = {};
20011 var didWarnAboutTailOptions = {};
20012 var SUSPENDED_MARKER = {
20013 dehydrated: null,
20014 treeContext: null,
20015 retryLane: 0,
20016 hydrationErrors: null
20017 }, hasWarnedAboutUsingNoValuePropOnContextProvider = false, didWarnAboutUndefinedSnapshotBeforeUpdate = null;
20018 didWarnAboutUndefinedSnapshotBeforeUpdate = /* @__PURE__ */ new Set();
20019 var offscreenSubtreeIsHidden = false, offscreenSubtreeWasHidden = false, needsFormReset = false, PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set, nextEffect = null, inProgressLanes = null, inProgressRoot = null, hostParent = null, hostParentIsContainer = false, currentHoistableRoot = null, inHydratedSubtree = false, suspenseyCommitFlag = 8192, DefaultAsyncDispatcher = {
20020 getCacheForType: function(resourceType) {
20021 var cache = readContext(CacheContext), cacheForType = cache.data.get(resourceType);
20022 void 0 === cacheForType && (cacheForType = resourceType(), cache.data.set(resourceType, cacheForType));
20023 return cacheForType;
20024 },
20025 cacheSignal: function() {
20026 return readContext(CacheContext).controller.signal;
20027 },
20028 getOwner: function() {
20029 return current;
20030 }
20031 };
20032 if ("function" === typeof Symbol && Symbol.for) {
20033 var symbolFor = Symbol.for;
20034 symbolFor("selector.component");
20035 symbolFor("selector.has_pseudo_class");
20036 symbolFor("selector.role");
20037 symbolFor("selector.test_id");
20038 symbolFor("selector.text");
20039 }
20040 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, 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, didWarnStateUpdateForNotYetMountedComponent = null, didWarnAboutUpdateInRender = false;
20041 var didWarnAboutUpdateInRenderForAnotherComponent = /* @__PURE__ */ new Set();
20042 var fakeActCallbackNode$1 = {}, firstScheduledRoot = null, lastScheduledRoot = null, didScheduleMicrotask = false, didScheduleMicrotask_act = false, mightHavePendingSyncWork = false, isFlushingWork = false, currentEventTransitionLane = 0, fakeActCallbackNode = {};
20043 (function() {
20044 for (var i = 0; i < simpleEventPluginEvents.length; i++) {
20045 var eventName = simpleEventPluginEvents[i], domEventName = eventName.toLowerCase();
20046 eventName = eventName[0].toUpperCase() + eventName.slice(1);
20047 registerSimpleEvent(domEventName, "on" + eventName);
20048 }
20049 registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
20050 registerSimpleEvent(ANIMATION_ITERATION, "onAnimationIteration");
20051 registerSimpleEvent(ANIMATION_START, "onAnimationStart");
20052 registerSimpleEvent("dblclick", "onDoubleClick");
20053 registerSimpleEvent("focusin", "onFocus");
20054 registerSimpleEvent("focusout", "onBlur");
20055 registerSimpleEvent(TRANSITION_RUN, "onTransitionRun");
20056 registerSimpleEvent(TRANSITION_START, "onTransitionStart");
20057 registerSimpleEvent(TRANSITION_CANCEL, "onTransitionCancel");
20058 registerSimpleEvent(TRANSITION_END, "onTransitionEnd");
20059 })();
20060 registerDirectEvent("onMouseEnter", ["mouseout", "mouseover"]);
20061 registerDirectEvent("onMouseLeave", ["mouseout", "mouseover"]);
20062 registerDirectEvent("onPointerEnter", ["pointerout", "pointerover"]);
20063 registerDirectEvent("onPointerLeave", ["pointerout", "pointerover"]);
20064 registerTwoPhaseEvent(
20065 "onChange",
20066 "change click focusin focusout input keydown keyup selectionchange".split(
20067 " "
20068 )
20069 );
20070 registerTwoPhaseEvent(
20071 "onSelect",
20072 "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(
20073 " "
20074 )
20075 );
20076 registerTwoPhaseEvent("onBeforeInput", [
20077 "compositionend",
20078 "keypress",
20079 "textInput",
20080 "paste"
20081 ]);
20082 registerTwoPhaseEvent(
20083 "onCompositionEnd",
20084 "compositionend focusout keydown keypress keyup mousedown".split(" ")
20085 );
20086 registerTwoPhaseEvent(
20087 "onCompositionStart",
20088 "compositionstart focusout keydown keypress keyup mousedown".split(" ")
20089 );
20090 registerTwoPhaseEvent(
20091 "onCompositionUpdate",
20092 "compositionupdate focusout keydown keypress keyup mousedown".split(" ")
20093 );
20094 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(
20095 " "
20096 ), nonDelegatedEvents = new Set(
20097 "beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(mediaEventTypes)
20098 ), listeningMarker = "_reactListening" + Math.random().toString(36).slice(2), didWarnControlledToUncontrolled = false, didWarnUncontrolledToControlled = false, didWarnFormActionType = false, didWarnFormActionName = false, didWarnFormActionTarget = false, didWarnFormActionMethod = false, didWarnPopoverTargetObject = false;
20099 var didWarnForNewBooleanPropsWithEmptyValue = {};
20100 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", 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, 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, scheduleMicrotask = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof localPromise ? function(callback) {
20101 return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick);
20102 } : scheduleTimeout, previousHydratableOnEnteringScopedSingleton = null, NotLoaded = 0, Loaded = 1, Errored = 2, Settled = 3, Inserted = 4, preloadPropsMap = /* @__PURE__ */ new Map(), preconnectsSet = /* @__PURE__ */ new Set(), previousDispatcher = ReactDOMSharedInternals.d;
20103 ReactDOMSharedInternals.d = {
20104 f: function() {
20105 var previousWasRendering = previousDispatcher.f(), wasRendering = flushSyncWork$1();
20106 return previousWasRendering || wasRendering;
20107 },
20108 r: function(form) {
20109 var formInst = getInstanceFromNode(form);
20110 null !== formInst && 5 === formInst.tag && "form" === formInst.type ? requestFormReset$1(formInst) : previousDispatcher.r(form);
20111 },
20112 D: function(href) {
20113 previousDispatcher.D(href);
20114 preconnectAs("dns-prefetch", href, null);
20115 },
20116 C: function(href, crossOrigin) {
20117 previousDispatcher.C(href, crossOrigin);
20118 preconnectAs("preconnect", href, crossOrigin);
20119 },
20120 L: function(href, as, options) {
20121 previousDispatcher.L(href, as, options);
20122 var ownerDocument = globalDocument;
20123 if (ownerDocument && href && as) {
20124 var preloadSelector = 'link[rel="preload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"]';
20125 "image" === as ? options && options.imageSrcSet ? (preloadSelector += '[imagesrcset="' + escapeSelectorAttributeValueInsideDoubleQuotes(
20126 options.imageSrcSet
20127 ) + '"]', "string" === typeof options.imageSizes && (preloadSelector += '[imagesizes="' + escapeSelectorAttributeValueInsideDoubleQuotes(
20128 options.imageSizes
20129 ) + '"]')) : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]' : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]';
20130 var key = preloadSelector;
20131 switch (as) {
20132 case "style":
20133 key = getStyleKey(href);
20134 break;
20135 case "script":
20136 key = getScriptKey(href);
20137 }
20138 preloadPropsMap.has(key) || (href = assign(
20139 {
20140 rel: "preload",
20141 href: "image" === as && options && options.imageSrcSet ? void 0 : href,
20142 as
20143 },
20144 options
20145 ), preloadPropsMap.set(key, href), null !== ownerDocument.querySelector(preloadSelector) || "style" === as && ownerDocument.querySelector(
20146 getStylesheetSelectorFromKey(key)
20147 ) || "script" === as && ownerDocument.querySelector(getScriptSelectorFromKey(key)) || (as = ownerDocument.createElement("link"), setInitialProperties(as, "link", href), markNodeAsHoistable(as), ownerDocument.head.appendChild(as)));
20148 }
20149 },
20150 m: function(href, options) {
20151 previousDispatcher.m(href, options);
20152 var ownerDocument = globalDocument;
20153 if (ownerDocument && href) {
20154 var as = options && "string" === typeof options.as ? options.as : "script", preloadSelector = 'link[rel="modulepreload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"][href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]', key = preloadSelector;
20155 switch (as) {
20156 case "audioworklet":
20157 case "paintworklet":
20158 case "serviceworker":
20159 case "sharedworker":
20160 case "worker":
20161 case "script":
20162 key = getScriptKey(href);
20163 }
20164 if (!preloadPropsMap.has(key) && (href = assign({ rel: "modulepreload", href }, options), preloadPropsMap.set(key, href), null === ownerDocument.querySelector(preloadSelector))) {
20165 switch (as) {
20166 case "audioworklet":
20167 case "paintworklet":
20168 case "serviceworker":
20169 case "sharedworker":
20170 case "worker":
20171 case "script":
20172 if (ownerDocument.querySelector(getScriptSelectorFromKey(key)))
20173 return;
20174 }
20175 as = ownerDocument.createElement("link");
20176 setInitialProperties(as, "link", href);
20177 markNodeAsHoistable(as);
20178 ownerDocument.head.appendChild(as);
20179 }
20180 }
20181 },
20182 X: function(src, options) {
20183 previousDispatcher.X(src, options);
20184 var ownerDocument = globalDocument;
20185 if (ownerDocument && src) {
20186 var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key);
20187 resource || (resource = ownerDocument.querySelector(
20188 getScriptSelectorFromKey(key)
20189 ), 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 = {
20190 type: "script",
20191 instance: resource,
20192 count: 1,
20193 state: null
20194 }, scripts.set(key, resource));
20195 }
20196 },
20197 S: function(href, precedence, options) {
20198 previousDispatcher.S(href, precedence, options);
20199 var ownerDocument = globalDocument;
20200 if (ownerDocument && href) {
20201 var styles = getResourcesFromRoot(ownerDocument).hoistableStyles, key = getStyleKey(href);
20202 precedence = precedence || "default";
20203 var resource = styles.get(key);
20204 if (!resource) {
20205 var state = { loading: NotLoaded, preload: null };
20206 if (resource = ownerDocument.querySelector(
20207 getStylesheetSelectorFromKey(key)
20208 ))
20209 state.loading = Loaded | Inserted;
20210 else {
20211 href = assign(
20212 {
20213 rel: "stylesheet",
20214 href,
20215 "data-precedence": precedence
20216 },
20217 options
20218 );
20219 (options = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(href, options);
20220 var link = resource = ownerDocument.createElement("link");
20221 markNodeAsHoistable(link);
20222 setInitialProperties(link, "link", href);
20223 link._p = new Promise(function(resolve, reject) {
20224 link.onload = resolve;
20225 link.onerror = reject;
20226 });
20227 link.addEventListener("load", function() {
20228 state.loading |= Loaded;
20229 });
20230 link.addEventListener("error", function() {
20231 state.loading |= Errored;
20232 });
20233 state.loading |= Inserted;
20234 insertStylesheet(resource, precedence, ownerDocument);
20235 }
20236 resource = {
20237 type: "stylesheet",
20238 instance: resource,
20239 count: 1,
20240 state
20241 };
20242 styles.set(key, resource);
20243 }
20244 }
20245 },
20246 M: function(src, options) {
20247 previousDispatcher.M(src, options);
20248 var ownerDocument = globalDocument;
20249 if (ownerDocument && src) {
20250 var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key);
20251 resource || (resource = ownerDocument.querySelector(
20252 getScriptSelectorFromKey(key)
20253 ), 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 = {
20254 type: "script",
20255 instance: resource,
20256 count: 1,
20257 state: null
20258 }, scripts.set(key, resource));
20259 }
20260 }
20261 };
20262 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 = {
20263 $$typeof: REACT_CONTEXT_TYPE,
20264 Provider: null,
20265 Consumer: null,
20266 _currentValue: NotPendingTransition,
20267 _currentValue2: NotPendingTransition,
20268 _threadCount: 0
20269 }, 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;
20270 var didWarnAboutNestedUpdates = false;
20271 var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, scheduleRetry = null, setErrorHandler = null, setSuspenseHandler = null;
20272 overrideHookState = function(fiber, id, path, value) {
20273 id = findHook(fiber, id);
20274 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));
20275 };
20276 overrideHookStateDeletePath = function(fiber, id, path) {
20277 id = findHook(fiber, id);
20278 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));
20279 };
20280 overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) {
20281 id = findHook(fiber, id);
20282 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));
20283 };
20284 overrideProps = function(fiber, path, value) {
20285 fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path, 0, value);
20286 fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
20287 path = enqueueConcurrentRenderForLane(fiber, 2);
20288 null !== path && scheduleUpdateOnFiber(path, fiber, 2);
20289 };
20290 overridePropsDeletePath = function(fiber, path) {
20291 fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path, 0);
20292 fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
20293 path = enqueueConcurrentRenderForLane(fiber, 2);
20294 null !== path && scheduleUpdateOnFiber(path, fiber, 2);
20295 };
20296 overridePropsRenamePath = function(fiber, oldPath, newPath) {
20297 fiber.pendingProps = copyWithRename(
20298 fiber.memoizedProps,
20299 oldPath,
20300 newPath
20301 );
20302 fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
20303 oldPath = enqueueConcurrentRenderForLane(fiber, 2);
20304 null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2);
20305 };
20306 scheduleUpdate = function(fiber) {
20307 var root2 = enqueueConcurrentRenderForLane(fiber, 2);
20308 null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2);
20309 };
20310 scheduleRetry = function(fiber) {
20311 var lane = claimNextRetryLane(), root2 = enqueueConcurrentRenderForLane(fiber, lane);
20312 null !== root2 && scheduleUpdateOnFiber(root2, fiber, lane);
20313 };
20314 setErrorHandler = function(newShouldErrorImpl) {
20315 shouldErrorImpl = newShouldErrorImpl;
20316 };
20317 setSuspenseHandler = function(newShouldSuspendImpl) {
20318 shouldSuspendImpl = newShouldSuspendImpl;
20319 };
20320 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(
20321 " "
20322 ), lastScheduledReplayQueue = null;
20323 ReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function(children) {
20324 var root2 = this._internalRoot;
20325 if (null === root2) throw Error("Cannot update an unmounted root.");
20326 var args = arguments;
20327 "function" === typeof args[1] ? console.error(
20328 "does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()."
20329 ) : isValidContainer(args[1]) ? console.error(
20330 "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."
20331 ) : "undefined" !== typeof args[1] && console.error(
20332 "You passed a second argument to root.render(...) but it only accepts one argument."
20333 );
20334 args = children;
20335 var current2 = root2.current, lane = requestUpdateLane(current2);
20336 updateContainerImpl(current2, lane, args, root2, null, null);
20337 };
20338 ReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function() {
20339 var args = arguments;
20340 "function" === typeof args[0] && console.error(
20341 "does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()."
20342 );
20343 args = this._internalRoot;
20344 if (null !== args) {
20345 this._internalRoot = null;
20346 var container = args.containerInfo;
20347 (executionContext & (RenderContext | CommitContext)) !== NoContext && console.error(
20348 "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."
20349 );
20350 updateContainerImpl(args.current, 2, null, args, null, null);
20351 flushSyncWork$1();
20352 container[internalContainerInstanceKey] = null;
20353 }
20354 };
20355 ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function(target) {
20356 if (target) {
20357 var updatePriority = resolveUpdatePriority();
20358 target = { blockedOn: null, target, priority: updatePriority };
20359 for (var i = 0; i < queuedExplicitHydrationTargets.length && 0 !== updatePriority && updatePriority < queuedExplicitHydrationTargets[i].priority; i++) ;
20360 queuedExplicitHydrationTargets.splice(i, 0, target);
20361 0 === i && attemptExplicitHydrationTarget(target);
20362 }
20363 };
20364 (function() {
20365 var isomorphicReactPackageVersion = React.version;
20366 if ("19.2.7" !== isomorphicReactPackageVersion)
20367 throw Error(
20368 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + "\n - react-dom: 19.2.7\nLearn more: https://react.dev/warnings/version-mismatch")
20369 );
20370 })();
20371 "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(
20372 "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"
20373 );
20374 ReactDOMSharedInternals.findDOMNode = function(componentOrElement) {
20375 var fiber = componentOrElement._reactInternals;
20376 if (void 0 === fiber) {
20377 if ("function" === typeof componentOrElement.render)
20378 throw Error("Unable to find node on an unmounted component.");
20379 componentOrElement = Object.keys(componentOrElement).join(",");
20380 throw Error(
20381 "Argument appears to not be a ReactComponent. Keys: " + componentOrElement
20382 );
20383 }
20384 componentOrElement = findCurrentFiberUsingSlowPath(fiber);
20385 componentOrElement = null !== componentOrElement ? findCurrentHostFiberImpl(componentOrElement) : null;
20386 componentOrElement = null === componentOrElement ? null : componentOrElement.stateNode;
20387 return componentOrElement;
20388 };
20389 if (!(function() {
20390 var internals = {
20391 bundleType: 1,
20392 version: "19.2.7",
20393 rendererPackageName: "react-dom",
20394 currentDispatcherRef: ReactSharedInternals,
20395 reconcilerVersion: "19.2.7"
20396 };
20397 internals.overrideHookState = overrideHookState;
20398 internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
20399 internals.overrideHookStateRenamePath = overrideHookStateRenamePath;
20400 internals.overrideProps = overrideProps;
20401 internals.overridePropsDeletePath = overridePropsDeletePath;
20402 internals.overridePropsRenamePath = overridePropsRenamePath;
20403 internals.scheduleUpdate = scheduleUpdate;
20404 internals.scheduleRetry = scheduleRetry;
20405 internals.setErrorHandler = setErrorHandler;
20406 internals.setSuspenseHandler = setSuspenseHandler;
20407 internals.scheduleRefresh = scheduleRefresh;
20408 internals.scheduleRoot = scheduleRoot;
20409 internals.setRefreshHandler = setRefreshHandler;
20410 internals.getCurrentFiber = getCurrentFiberForDevTools;
20411 return injectInternals(internals);
20412 })() && canUseDOM && window.top === window.self && (-1 < navigator.userAgent.indexOf("Chrome") && -1 === navigator.userAgent.indexOf("Edge") || -1 < navigator.userAgent.indexOf("Firefox"))) {
20413 var protocol = window.location.protocol;
20414 /^(https?|file):$/.test(protocol) && console.info(
20415 "%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" : ""),
20416 "font-weight:bold"
20417 );
20418 }
20419 exports.createRoot = function(container, options) {
20420 if (!isValidContainer(container))
20421 throw Error("Target container is not a DOM element.");
20422 warnIfReactDOMContainerInDEV(container);
20423 var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError;
20424 null !== options && void 0 !== options && (options.hydrate ? console.warn(
20425 "hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead."
20426 ) : "object" === typeof options && null !== options && options.$$typeof === REACT_ELEMENT_TYPE && console.error(
20427 "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 />);"
20428 ), 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));
20429 options = createFiberRoot(
20430 container,
20431 1,
20432 false,
20433 null,
20434 null,
20435 isStrictMode,
20436 identifierPrefix,
20437 null,
20438 onUncaughtError,
20439 onCaughtError,
20440 onRecoverableError,
20441 defaultOnDefaultTransitionIndicator
20442 );
20443 container[internalContainerInstanceKey] = options.current;
20444 listenToAllSupportedEvents(container);
20445 return new ReactDOMRoot(options);
20446 };
20447 exports.hydrateRoot = function(container, initialChildren, options) {
20448 if (!isValidContainer(container))
20449 throw Error("Target container is not a DOM element.");
20450 warnIfReactDOMContainerInDEV(container);
20451 void 0 === initialChildren && console.error(
20452 "Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)"
20453 );
20454 var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, formState = null;
20455 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));
20456 initialChildren = createFiberRoot(
20457 container,
20458 1,
20459 true,
20460 initialChildren,
20461 null != options ? options : null,
20462 isStrictMode,
20463 identifierPrefix,
20464 formState,
20465 onUncaughtError,
20466 onCaughtError,
20467 onRecoverableError,
20468 defaultOnDefaultTransitionIndicator
20469 );
20470 initialChildren.context = getContextForSubtree(null);
20471 options = initialChildren.current;
20472 isStrictMode = requestUpdateLane(options);
20473 isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode);
20474 identifierPrefix = createUpdate(isStrictMode);
20475 identifierPrefix.callback = null;
20476 enqueueUpdate(options, identifierPrefix, isStrictMode);
20477 startUpdateTimerByLane(isStrictMode, "hydrateRoot()", null);
20478 options = isStrictMode;
20479 initialChildren.current.lanes = options;
20480 markRootUpdated$1(initialChildren, options);
20481 ensureRootIsScheduled(initialChildren);
20482 container[internalContainerInstanceKey] = initialChildren.current;
20483 listenToAllSupportedEvents(container);
20484 return new ReactDOMHydrationRoot(initialChildren);
20485 };
20486 exports.version = "19.2.7";
20487 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
20488 })();
20489 }
20490 });
20491
20492 // ../react-19/node_modules/react-dom/client.js
20493 var require_client = __commonJS({
20494 "../react-19/node_modules/react-dom/client.js"(exports, module) {
20495 "use strict";
20496 if (false) {
20497 checkDCE();
20498 module.exports = null;
20499 } else {
20500 module.exports = require_react_dom_client_development();
20501 }
20502 }
20503 });
20504
20505 // ../react-19/react-polyfill.js
20506 var react_polyfill_exports = {};
20507 __export(react_polyfill_exports, {
20508 findDOMNode: () => findDOMNode,
20509 hydrate: () => hydrate,
20510 render: () => render,
20511 unmountComponentAtNode: () => unmountComponentAtNode
20512 });
20513 function findCurrentFiber(fiber) {
20514 if (!fiber.alternate) {
20515 return fiber;
20516 }
20517 let node = fiber;
20518 while (node.return) {
20519 node = node.return;
20520 }
20521 if (node.stateNode.current === node) {
20522 return fiber;
20523 }
20524 return fiber.alternate;
20525 }
20526 function findHostFiber(fiber) {
20527 const current = findCurrentFiber(fiber);
20528 if (!current) {
20529 return null;
20530 }
20531 return findHostFiberImpl(current);
20532 }
20533 function findHostFiberImpl(fiber) {
20534 if (fiber.tag === HostComponent || fiber.tag === HostText) {
20535 return fiber;
20536 }
20537 let child = fiber.child;
20538 while (child) {
20539 const hostFiber = findHostFiberImpl(child);
20540 if (hostFiber) {
20541 return hostFiber;
20542 }
20543 child = child.sibling;
20544 }
20545 return null;
20546 }
20547 function findDOMNode(instance) {
20548 warnCompat(
20549 "findDOMNode",
20550 "`ReactDOM.findDOMNode` was removed in React 19 and is emulated by a compatibility polyfill. Use refs instead."
20551 );
20552 if (instance === null || instance === void 0) {
20553 return null;
20554 }
20555 if (instance.nodeType !== void 0) {
20556 return instance;
20557 }
20558 const fiber = instance[internalsKey];
20559 if (fiber === void 0) {
20560 if (typeof instance.render === "function") {
20561 throw new Error("Unable to find node on an unmounted component.");
20562 }
20563 const keys = Object.keys(instance).join(",");
20564 throw new Error(
20565 `Argument appears to not be a ReactComponent. Keys: ${keys}`
20566 );
20567 }
20568 const hostFiber = findHostFiber(fiber);
20569 return hostFiber?.stateNode ?? null;
20570 }
20571 function render(element, container, callback) {
20572 warnCompat(
20573 "render",
20574 "`ReactDOM.render` was removed in React 19 and is emulated by a compatibility polyfill. Use `createRoot` instead."
20575 );
20576 let root = roots.get(container);
20577 if (!root) {
20578 root = (0, import_client.createRoot)(container);
20579 roots.set(container, root);
20580 }
20581 (0, import_react_dom.flushSync)(() => {
20582 root.render(element);
20583 });
20584 if (typeof callback === "function") {
20585 callback();
20586 }
20587 }
20588 function hydrate(element, container, callback) {
20589 warnCompat(
20590 "hydrate",
20591 "`ReactDOM.hydrate` was removed in React 19 and is emulated by a compatibility polyfill. Use `hydrateRoot` instead."
20592 );
20593 let root = roots.get(container);
20594 if (!root) {
20595 root = (0, import_client.hydrateRoot)(container, element);
20596 roots.set(container, root);
20597 } else {
20598 root.render(element);
20599 }
20600 if (typeof callback === "function") {
20601 callback();
20602 }
20603 }
20604 function unmountComponentAtNode(container) {
20605 warnCompat(
20606 "unmountComponentAtNode",
20607 "`ReactDOM.unmountComponentAtNode` was removed in React 19 and is emulated by a compatibility polyfill. Use `root.unmount` instead."
20608 );
20609 const root = roots.get(container);
20610 if (!root) {
20611 return false;
20612 }
20613 (0, import_react_dom.flushSync)(() => {
20614 root.unmount();
20615 });
20616 roots.delete(container);
20617 return true;
20618 }
20619 var import_react_dom, import_client, internalsKey, HostComponent, HostText, roots;
20620 var init_react_polyfill = __esm({
20621 "../react-19/react-polyfill.js"() {
20622 import_react_dom = __toESM(require_react_dom());
20623 import_client = __toESM(require_client());
20624 init_warn_compat();
20625 internalsKey = "_reactInternals";
20626 HostComponent = 5;
20627 HostText = 6;
20628 roots = /* @__PURE__ */ new WeakMap();
20629 }
20630 });
20631
20632 // ../react-19/react-dom.js
20633 var require_react_dom2 = __commonJS({
20634 "../react-19/react-dom.js"(exports, module) {
20635 var { warnCompat: warnCompat2 } = (init_warn_compat(), __toCommonJS(warn_compat_exports));
20636 var SECRET_INTERNALS_KEY = "__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED";
20637 var secretInternals = {};
20638 var reactDOM = {
20639 ...require_react_dom(),
20640 ...require_client(),
20641 ...(init_react_polyfill(), __toCommonJS(react_polyfill_exports))
20642 };
20643 Object.defineProperty(reactDOM, SECRET_INTERNALS_KEY, {
20644 enumerable: true,
20645 configurable: true,
20646 get() {
20647 warnCompat2(
20648 "react-dom-secret-internals",
20649 `Accessing \`${SECRET_INTERNALS_KEY}\` was removed in React 19 and is provided by a compatibility shim.`
20650 );
20651 return secretInternals;
20652 }
20653 });
20654 module.exports = reactDOM;
20655 }
20656 });
20657 return require_react_dom2();
20658 })();
20659 /*! Bundled license information:
20660
20661 react-dom/cjs/react-dom.development.js:
20662 (**
20663 * @license React
20664 * react-dom.development.js
20665 *
20666 * Copyright (c) Meta Platforms, Inc. and affiliates.
20667 *
20668 * This source code is licensed under the MIT license found in the
20669 * LICENSE file in the root directory of this source tree.
20670 *)
20671
20672 scheduler/cjs/scheduler.development.js:
20673 (**
20674 * @license React
20675 * scheduler.development.js
20676 *
20677 * Copyright (c) Meta Platforms, Inc. and affiliates.
20678 *
20679 * This source code is licensed under the MIT license found in the
20680 * LICENSE file in the root directory of this source tree.
20681 *)
20682
20683 react-dom/cjs/react-dom-client.development.js:
20684 (**
20685 * @license React
20686 * react-dom-client.development.js
20687 *
20688 * Copyright (c) Meta Platforms, Inc. and affiliates.
20689 *
20690 * This source code is licensed under the MIT license found in the
20691 * LICENSE file in the root directory of this source tree.
20692 *)
20693 */
20694