diff --git a/frontend-tools/video-js/src/components/overlays/EmbedInfoOverlay.js b/frontend-tools/video-js/src/components/overlays/EmbedInfoOverlay.js index bc77b214..d29bfc70 100644 --- a/frontend-tools/video-js/src/components/overlays/EmbedInfoOverlay.js +++ b/frontend-tools/video-js/src/components/overlays/EmbedInfoOverlay.js @@ -15,6 +15,7 @@ class EmbedInfoOverlay extends Component { this.videoTitle = options.videoTitle || 'Video'; this.videoUrl = options.videoUrl || ''; this.showTitle = options.showTitle !== undefined ? options.showTitle : true; + this.showRelated = options.showRelated !== undefined ? options.showRelated : true; // Initialize after player is ready this.player().ready(() => { diff --git a/frontend-tools/video-js/src/components/video-player/VideoJSPlayer.jsx b/frontend-tools/video-js/src/components/video-player/VideoJSPlayer.jsx index c85a73d8..19edad3a 100644 --- a/frontend-tools/video-js/src/components/video-player/VideoJSPlayer.jsx +++ b/frontend-tools/video-js/src/components/video-player/VideoJSPlayer.jsx @@ -170,7 +170,7 @@ const enableStandardButtonTooltips = (player) => { }, 500); // Delay to ensure all components are ready }; -function VideoJSPlayer({ videoId = 'default-video', showTitle = true }) { +function VideoJSPlayer({ videoId = 'default-video', showTitle = true, showRelated = true }) { const videoRef = useRef(null); const playerRef = useRef(null); // Track the player instance const userPreferences = useRef(new UserPreferences()); // User preferences instance @@ -197,8 +197,21 @@ function VideoJSPlayer({ videoId = 'default-video', showTitle = true }) { return showTitle; }, [isEmbedPlayer, showTitle]); + // Read showRelated from URL parameter if available (for embed players) + const getShowRelatedFromURL = useMemo(() => { + if (isEmbedPlayer && typeof window !== 'undefined') { + const urlParams = new URLSearchParams(window.location.search); + const urlShowRelated = urlParams.get('showRelated'); + if (urlShowRelated !== null) { + return urlShowRelated === '1' || urlShowRelated === 'true'; + } + } + return showRelated; + }, [isEmbedPlayer, showRelated]); + // Use URL parameter value if available, otherwise use prop value const finalShowTitle = isEmbedPlayer ? getShowTitleFromURL : showTitle; + const finalShowRelated = isEmbedPlayer ? getShowRelatedFromURL : showRelated; // Utility function to detect touch devices const isTouchDevice = useMemo(() => { @@ -1304,6 +1317,7 @@ function VideoJSPlayer({ videoId = 'default-video', showTitle = true }) { currentVideo, relatedVideos, goToNextVideo, + showRelated: finalShowRelated, }); customComponents.current.endScreenHandler = endScreenHandler; // Store for cleanup @@ -2224,6 +2238,7 @@ function VideoJSPlayer({ videoId = 'default-video', showTitle = true }) { videoTitle: currentVideo.title, videoUrl: currentVideo.url, showTitle: finalShowTitle, + showRelated: finalShowRelated, }); } // END: Add Embed Info Overlay Component diff --git a/frontend-tools/video-js/src/utils/EndScreenHandler.js b/frontend-tools/video-js/src/utils/EndScreenHandler.js index ab214350..473efb0a 100644 --- a/frontend-tools/video-js/src/utils/EndScreenHandler.js +++ b/frontend-tools/video-js/src/utils/EndScreenHandler.js @@ -63,7 +63,15 @@ export class EndScreenHandler { } handleVideoEnded() { - const { isEmbedPlayer, userPreferences, mediaData, currentVideo, relatedVideos, goToNextVideo } = this.options; + const { + isEmbedPlayer, + userPreferences, + mediaData, + currentVideo, + relatedVideos, + goToNextVideo, + showRelated, + } = this.options; // For embed players, show big play button when video ends if (isEmbedPlayer) { @@ -73,6 +81,34 @@ export class EndScreenHandler { } } + // If showRelated is false, we don't show the end screen or autoplay countdown + if (showRelated === false) { + // But we still want to keep the control bar visible and hide the poster + setTimeout(() => { + if (this.player && !this.player.isDisposed()) { + const playerEl = this.player.el(); + if (playerEl) { + // Hide poster elements + const posterElements = playerEl.querySelectorAll('.vjs-poster'); + posterElements.forEach((posterEl) => { + posterEl.style.display = 'none'; + posterEl.style.visibility = 'hidden'; + posterEl.style.opacity = '0'; + }); + + // Keep control bar visible + const controlBar = this.player.getChild('controlBar'); + if (controlBar) { + controlBar.show(); + controlBar.el().style.opacity = '1'; + controlBar.el().style.pointerEvents = 'auto'; + } + } + } + }, 50); + return; + } + // Keep controls active after video ends setTimeout(() => { if (this.player && !this.player.isDisposed()) { diff --git a/frontend/src/static/js/components/VideoJS/VideoJSEmbed.jsx b/frontend/src/static/js/components/VideoJS/VideoJSEmbed.jsx index 63ad7686..a367131c 100644 --- a/frontend/src/static/js/components/VideoJS/VideoJSEmbed.jsx +++ b/frontend/src/static/js/components/VideoJS/VideoJSEmbed.jsx @@ -34,6 +34,7 @@ const VideoJSEmbed = ({ enableAutoplay, inEmbed, showTitle, + showRelated, hasTheaterMode, hasNextLink, nextLink, @@ -65,6 +66,7 @@ const VideoJSEmbed = ({ const urlTimestamp = getUrlParameter('t'); const urlAutoplay = getUrlParameter('autoplay'); const urlMuted = getUrlParameter('muted'); + const urlShowRelated = getUrlParameter('showRelated'); window.MEDIA_DATA = { data: data || {}, @@ -86,6 +88,8 @@ const VideoJSEmbed = ({ subtitlesInfo: subtitlesInfo || [], enableAutoplay: enableAutoplay || (urlAutoplay === '1'), inEmbed: inEmbed || false, + showTitle: showTitle || false, + showRelated: showRelated !== undefined ? showRelated : (urlShowRelated === '1' || urlShowRelated === 'true' || urlShowRelated === null), hasTheaterMode: hasTheaterMode || false, hasNextLink: hasNextLink || false, nextLink: nextLink || null, @@ -95,6 +99,7 @@ const VideoJSEmbed = ({ urlTimestamp: urlTimestamp ? parseInt(urlTimestamp, 10) : null, urlAutoplay: urlAutoplay === '1', urlMuted: urlMuted === '1', + urlShowRelated: urlShowRelated === '1' || urlShowRelated === 'true', onClickNextCallback: onClickNextCallback || null, onClickPreviousCallback: onClickPreviousCallback || null, onStateUpdateCallback: onStateUpdateCallback || null, diff --git a/frontend/src/static/js/components/media-actions/MediaShareEmbed.jsx b/frontend/src/static/js/components/media-actions/MediaShareEmbed.jsx index 1cf236fa..b5943b7c 100644 --- a/frontend/src/static/js/components/media-actions/MediaShareEmbed.jsx +++ b/frontend/src/static/js/components/media-actions/MediaShareEmbed.jsx @@ -20,6 +20,7 @@ export function MediaShareEmbed(props) { const [maxHeight, setMaxHeight] = useState(window.innerHeight - 144 + 56); const [keepAspectRatio, setKeepAspectRatio] = useState(false); const [showTitle, setShowTitle] = useState(false); + const [showRelated, setShowRelated] = useState(true); const [aspectRatio, setAspectRatio] = useState('16:9'); const [embedWidthValue, setEmbedWidthValue] = useState(embedVideoDimensions.width); const [embedWidthUnit, setEmbedWidthUnit] = useState(embedVideoDimensions.widthUnit); @@ -97,6 +98,10 @@ export function MediaShareEmbed(props) { setShowTitle(!showTitle); } + function onShowRelatedChange() { + setShowRelated(!showRelated); + } + function onAspectRatioChange() { const newVal = aspectRatioValueRef.current.value; @@ -142,8 +147,8 @@ export function MediaShareEmbed(props) {
{(site) => <> - {/* */} - + {/* */} + }
@@ -174,7 +179,9 @@ export function MediaShareEmbed(props) { '" src="' + links.embed + MediaPageStore.get('media-id') + - (showTitle ? (links.embed.includes('?') ? '&showTitle=1' : '?showTitle=1') : '') + + (links.embed.includes('?') ? '&' : '?') + + 'showTitle=' + (showTitle ? '1' : '0') + + '&showRelated=' + (showRelated ? '1' : '0') + '" frameborder="0" allowfullscreen>' } > @@ -196,6 +203,13 @@ export function MediaShareEmbed(props) { +
+ +
+
diff --git a/static/video_js/video-js.js b/static/video_js/video-js.js index 2acbc025..26cae78d 100644 --- a/static/video_js/video-js.js +++ b/static/video_js/video-js.js @@ -1,4 +1,4 @@ -var i5=Object.defineProperty;var s5=(An,Wi,Na)=>Wi in An?i5(An,Wi,{enumerable:!0,configurable:!0,writable:!0,value:Na}):An[Wi]=Na;var qm=(An,Wi,Na)=>(s5(An,typeof Wi!="symbol"?Wi+"":Wi,Na),Na);(function(){"use strict";var An=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Wi(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Na(n){if(n.__esModule)return n;var A=n.default;if(typeof A=="function"){var t=function s(){return this instanceof s?Reflect.construct(A,arguments,this.constructor):A.apply(this,arguments)};t.prototype=A.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(n).forEach(function(s){var r=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(t,s,r.get?r:{enumerable:!0,get:function(){return n[s]}})}),t}var Bb={exports:{}},ec={},Rb={exports:{}},tc={exports:{}};/** +var i5=Object.defineProperty;var s5=(sn,Hi,Qa)=>Hi in sn?i5(sn,Hi,{enumerable:!0,configurable:!0,writable:!0,value:Qa}):sn[Hi]=Qa;var qm=(sn,Hi,Qa)=>(s5(sn,typeof Hi!="symbol"?Hi+"":Hi,Qa),Qa);(function(){"use strict";var sn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Hi(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Qa(n){if(n.__esModule)return n;var A=n.default;if(typeof A=="function"){var t=function s(){return this instanceof s?Reflect.construct(A,arguments,this.constructor):A.apply(this,arguments)};t.prototype=A.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(n).forEach(function(s){var r=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(t,s,r.get?r:{enumerable:!0,get:function(){return n[s]}})}),t}var Bb={exports:{}},ic={},Rb={exports:{}},sc={exports:{}};/** * @license React * react.development.js * @@ -6,7 +6,7 @@ var i5=Object.defineProperty;var s5=(An,Wi,Na)=>Wi in An?i5(An,Wi,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */tc.exports;var Ub;function NL(){return Ub||(Ub=1,function(n,A){(function(){function t(L,Y){Object.defineProperty(o.prototype,L,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",Y[0],Y[1])}})}function s(L){return L===null||typeof L!="object"?null:(L=se&&L[se]||L["@@iterator"],typeof L=="function"?L:null)}function r(L,Y){L=(L=L.constructor)&&(L.displayName||L.name)||"ReactClass";var dA=L+"."+Y;KA[dA]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",Y,L),KA[dA]=!0)}function o(L,Y,dA){this.props=L,this.context=Y,this.refs=yi,this.updater=dA||oe}function u(){}function d(L,Y,dA){this.props=L,this.context=Y,this.refs=yi,this.updater=dA||oe}function f(L){return""+L}function T(L){try{f(L);var Y=!1}catch{Y=!0}if(Y){Y=console;var dA=Y.error,hA=typeof Symbol=="function"&&Symbol.toStringTag&&L[Symbol.toStringTag]||L.constructor.name||"Object";return dA.call(Y,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",hA),f(L)}}function b(L){if(L==null)return null;if(typeof L=="function")return L.$$typeof===At?null:L.displayName||L.name||null;if(typeof L=="string")return L;switch(L){case aA:return"Fragment";case RA:return"Profiler";case qA:return"StrictMode";case ge:return"Suspense";case ms:return"SuspenseList";case WA:return"Activity"}if(typeof L=="object")switch(typeof L.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),L.$$typeof){case Ae:return"Portal";case je:return(L.displayName||"Context")+".Provider";case Se:return(L._context.displayName||"Context")+".Consumer";case $e:var Y=L.render;return L=L.displayName,L||(L=Y.displayName||Y.name||"",L=L!==""?"ForwardRef("+L+")":"ForwardRef"),L;case pA:return Y=L.displayName||null,Y!==null?Y:b(L.type)||"Memo";case EA:Y=L._payload,L=L._init;try{return b(L(Y))}catch{}}return null}function x(L){if(L===aA)return"<>";if(typeof L=="object"&&L!==null&&L.$$typeof===EA)return"<...>";try{var Y=b(L);return Y?"<"+Y+">":"<...>"}catch{return"<...>"}}function E(){var L=DA.A;return L===null?null:L.getOwner()}function M(){return Error("react-stack-top-frame")}function I(L){if(Ce.call(L,"key")){var Y=Object.getOwnPropertyDescriptor(L,"key").get;if(Y&&Y.isReactWarning)return!1}return L.key!==void 0}function v(L,Y){function dA(){Ne||(Ne=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",Y))}dA.isReactWarning=!0,Object.defineProperty(L,"key",{get:dA,configurable:!0})}function j(){var L=b(this.type);return $A[L]||($A[L]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),L=this.props.ref,L!==void 0?L:null}function O(L,Y,dA,hA,TA,QA,YA,kA){return dA=QA.ref,L={$$typeof:vA,type:L,key:Y,props:QA,_owner:TA},(dA!==void 0?dA:null)!==null?Object.defineProperty(L,"ref",{enumerable:!1,get:j}):Object.defineProperty(L,"ref",{enumerable:!1,value:null}),L._store={},Object.defineProperty(L._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(L,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(L,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:YA}),Object.defineProperty(L,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:kA}),Object.freeze&&(Object.freeze(L.props),Object.freeze(L)),L}function R(L,Y){return Y=O(L.type,Y,void 0,void 0,L._owner,L.props,L._debugStack,L._debugTask),L._store&&(Y._store.validated=L._store.validated),Y}function Z(L){return typeof L=="object"&&L!==null&&L.$$typeof===vA}function H(L){var Y={"=":"=0",":":"=2"};return"$"+L.replace(/[=:]/g,function(dA){return Y[dA]})}function P(L,Y){return typeof L=="object"&&L!==null&&L.key!=null?(T(L.key),H(""+L.key)):Y.toString(36)}function iA(){}function J(L){switch(L.status){case"fulfilled":return L.value;case"rejected":throw L.reason;default:switch(typeof L.status=="string"?L.then(iA,iA):(L.status="pending",L.then(function(Y){L.status==="pending"&&(L.status="fulfilled",L.value=Y)},function(Y){L.status==="pending"&&(L.status="rejected",L.reason=Y)})),L.status){case"fulfilled":return L.value;case"rejected":throw L.reason}}throw L}function lA(L,Y,dA,hA,TA){var QA=typeof L;(QA==="undefined"||QA==="boolean")&&(L=null);var YA=!1;if(L===null)YA=!0;else switch(QA){case"bigint":case"string":case"number":YA=!0;break;case"object":switch(L.$$typeof){case vA:case Ae:YA=!0;break;case EA:return YA=L._init,lA(YA(L._payload),Y,dA,hA,TA)}}if(YA){YA=L,TA=TA(YA);var kA=hA===""?"."+P(YA,0):hA;return He(TA)?(dA="",kA!=null&&(dA=kA.replace(Pi,"$&/")+"/"),lA(TA,Y,dA,"",function(fe){return fe})):TA!=null&&(Z(TA)&&(TA.key!=null&&(YA&&YA.key===TA.key||T(TA.key)),dA=R(TA,dA+(TA.key==null||YA&&YA.key===TA.key?"":(""+TA.key).replace(Pi,"$&/")+"/")+kA),hA!==""&&YA!=null&&Z(YA)&&YA.key==null&&YA._store&&!YA._store.validated&&(dA._store.validated=2),TA=dA),Y.push(TA)),1}if(YA=0,kA=hA===""?".":hA+":",He(L))for(var OA=0;OA";if(typeof L=="object"&&L!==null&&L.$$typeof===ht)return"<...>";try{var Y=b(L);return Y?"<"+Y+">":"<...>"}catch{return"<...>"}}function D(){var L=EA.A;return L===null?null:L.getOwner()}function M(){return Error("react-stack-top-frame")}function U(L){if(Rt.call(L,"key")){var Y=Object.getOwnPropertyDescriptor(L,"key").get;if(Y&&Y.isReactWarning)return!1}return L.key!==void 0}function v(L,Y){function rA(){Dt||(Dt=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",Y))}rA.isReactWarning=!0,Object.defineProperty(L,"key",{get:rA,configurable:!0})}function j(){var L=b(this.type);return Fe[L]||(Fe[L]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),L=this.props.ref,L!==void 0?L:null}function O(L,Y,rA,dA,TA,WA,IA,OA){return rA=WA.ref,L={$$typeof:RA,type:L,key:Y,props:WA,_owner:TA},(rA!==void 0?rA:null)!==null?Object.defineProperty(L,"ref",{enumerable:!1,get:j}):Object.defineProperty(L,"ref",{enumerable:!1,value:null}),L._store={},Object.defineProperty(L._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(L,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(L,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:IA}),Object.defineProperty(L,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:OA}),Object.freeze&&(Object.freeze(L.props),Object.freeze(L)),L}function W(L,Y){return Y=O(L.type,Y,void 0,void 0,L._owner,L.props,L._debugStack,L._debugTask),L._store&&(Y._store.validated=L._store.validated),Y}function H(L){return typeof L=="object"&&L!==null&&L.$$typeof===RA}function J(L){var Y={"=":"=0",":":"=2"};return"$"+L.replace(/[=:]/g,function(rA){return Y[rA]})}function F(L,Y){return typeof L=="object"&&L!==null&&L.key!=null?(T(L.key),J(""+L.key)):Y.toString(36)}function nA(){}function P(L){switch(L.status){case"fulfilled":return L.value;case"rejected":throw L.reason;default:switch(typeof L.status=="string"?L.then(nA,nA):(L.status="pending",L.then(function(Y){L.status==="pending"&&(L.status="fulfilled",L.value=Y)},function(Y){L.status==="pending"&&(L.status="rejected",L.reason=Y)})),L.status){case"fulfilled":return L.value;case"rejected":throw L.reason}}throw L}function hA(L,Y,rA,dA,TA){var WA=typeof L;(WA==="undefined"||WA==="boolean")&&(L=null);var IA=!1;if(L===null)IA=!0;else switch(WA){case"bigint":case"string":case"number":IA=!0;break;case"object":switch(L.$$typeof){case RA:case ee:IA=!0;break;case ht:return IA=L._init,hA(IA(L._payload),Y,rA,dA,TA)}}if(IA){IA=L,TA=TA(IA);var OA=dA===""?"."+F(IA,0):dA;return it(TA)?(rA="",OA!=null&&(rA=OA.replace(pe,"$&/")+"/"),hA(TA,Y,rA,"",function(Ce){return Ce})):TA!=null&&(H(TA)&&(TA.key!=null&&(IA&&IA.key===TA.key||T(TA.key)),rA=W(TA,rA+(TA.key==null||IA&&IA.key===TA.key?"":(""+TA.key).replace(pe,"$&/")+"/")+OA),dA!==""&&IA!=null&&H(IA)&&IA.key==null&&IA._store&&!IA._store.validated&&(rA._store.validated=2),TA=rA),Y.push(TA)),1}if(IA=0,OA=dA===""?".":dA+":",it(L))for(var QA=0;QA import('./MyComponent')) @@ -14,11 +14,11 @@ Your code should look like: Did you accidentally put curly braces around the import?`,Y),"default"in Y||console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: - const MyComponent = lazy(() => import('./MyComponent'))`,Y),Y.default;throw L._result}function yA(){var L=DA.H;return L===null&&console.error(`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: + const MyComponent = lazy(() => import('./MyComponent'))`,Y),Y.default;throw L._result}function gA(){var L=EA.H;return L===null&&console.error(`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: 1. You might have mismatching versions of React and the renderer (such as React DOM) 2. You might be breaking the Rules of Hooks 3. You might have more than one copy of React in the same app -See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),L}function BA(){}function SA(L){if(bA===null)try{var Y=("require"+Math.random()).slice(0,7);bA=(n&&n[Y]).call(n,"timers").setImmediate}catch{bA=function(hA){fA===!1&&(fA=!0,typeof MessageChannel>"u"&&console.error("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var TA=new MessageChannel;TA.port1.onmessage=hA,TA.port2.postMessage(void 0)}}return bA(L)}function FA(L){return 1 ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),{then:function(OA,fe){TA=!0,YA.then(function(xe){if(le(Y,dA),dA===0){try{xA(hA),SA(function(){return uA(xe,OA,fe)})}catch(Ga){DA.thrownErrors.push(Ga)}if(0 ...)"))}),DA.actQueue=null),0DA.recentlyCreatedOwnerStacks++;return O(L,TA,void 0,void 0,E(),hA,OA?Error("react-stack-top-frame"):ye,OA?Le(x(L)):ri)},A.createRef=function(){var L={current:null};return Object.seal(L),L},A.forwardRef=function(L){L!=null&&L.$$typeof===pA?console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof L!="function"?console.error("forwardRef requires a render function but was given %s.",L===null?"null":typeof L):L.length!==0&&L.length!==2&&console.error("forwardRef render functions accept exactly two parameters: props and ref. %s",L.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),L!=null&&L.defaultProps!=null&&console.error("forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?");var Y={$$typeof:$e,render:L},dA;return Object.defineProperty(Y,"displayName",{enumerable:!1,configurable:!0,get:function(){return dA},set:function(hA){dA=hA,L.name||L.displayName||(Object.defineProperty(L,"name",{value:hA}),L.displayName=hA)}}),Y},A.isValidElement=Z,A.lazy=function(L){return{$$typeof:EA,_payload:{_status:-1,_result:L},_init:zA}},A.memo=function(L,Y){L==null&&console.error("memo: The first argument must be a component. Instead received: %s",L===null?"null":typeof L),Y={$$typeof:pA,type:L,compare:Y===void 0?null:Y};var dA;return Object.defineProperty(Y,"displayName",{enumerable:!1,configurable:!0,get:function(){return dA},set:function(hA){dA=hA,L.name||L.displayName||(Object.defineProperty(L,"name",{value:hA}),L.displayName=hA)}}),Y},A.startTransition=function(L){var Y=DA.T,dA={};DA.T=dA,dA._updatedFibers=new Set;try{var hA=L(),TA=DA.S;TA!==null&&TA(dA,hA),typeof hA=="object"&&hA!==null&&typeof hA.then=="function"&&hA.then(BA,Me)}catch(QA){Me(QA)}finally{Y===null&&dA._updatedFibers&&(L=dA._updatedFibers.size,dA._updatedFibers.clear(),10"u"&&console.error("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var TA=new MessageChannel;TA.port1.onmessage=dA,TA.port2.postMessage(void 0)}}return fe(L)}function KA(L){return 1 ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),{then:function(QA,Ce){TA=!0,IA.then(function(be){if(ae(Y,rA),rA===0){try{wA(dA),bA(function(){return uA(be,QA,Ce)})}catch(pt){EA.thrownErrors.push(pt)}if(0 ...)"))}),EA.actQueue=null),0EA.recentlyCreatedOwnerStacks++;return O(L,TA,void 0,void 0,D(),dA,QA?Error("react-stack-top-frame"):ze,QA?je(x(L)):Ee)},A.createRef=function(){var L={current:null};return Object.seal(L),L},A.forwardRef=function(L){L!=null&&L.$$typeof===Ve?console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof L!="function"?console.error("forwardRef requires a render function but was given %s.",L===null?"null":typeof L):L.length!==0&&L.length!==2&&console.error("forwardRef render functions accept exactly two parameters: props and ref. %s",L.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),L!=null&&L.defaultProps!=null&&console.error("forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?");var Y={$$typeof:tt,render:L},rA;return Object.defineProperty(Y,"displayName",{enumerable:!1,configurable:!0,get:function(){return rA},set:function(dA){rA=dA,L.name||L.displayName||(Object.defineProperty(L,"name",{value:dA}),L.displayName=dA)}}),Y},A.isValidElement=H,A.lazy=function(L){return{$$typeof:ht,_payload:{_status:-1,_result:L},_init:kA}},A.memo=function(L,Y){L==null&&console.error("memo: The first argument must be a component. Instead received: %s",L===null?"null":typeof L),Y={$$typeof:Ve,type:L,compare:Y===void 0?null:Y};var rA;return Object.defineProperty(Y,"displayName",{enumerable:!1,configurable:!0,get:function(){return rA},set:function(dA){rA=dA,L.name||L.displayName||(Object.defineProperty(L,"name",{value:dA}),L.displayName=dA)}}),Y},A.startTransition=function(L){var Y=EA.T,rA={};EA.T=rA,rA._updatedFibers=new Set;try{var dA=L(),TA=EA.S;TA!==null&&TA(rA,dA),typeof dA=="object"&&dA!==null&&typeof dA.then=="function"&&dA.then(yA,Si)}catch(WA){Si(WA)}finally{Y===null&&rA._updatedFibers&&(L=rA._updatedFibers.size,rA._updatedFibers.clear(),10";if(typeof aA=="object"&&aA!==null&&aA.$$typeof===lA)return"<...>";try{var qA=n(aA);return qA?"<"+qA+">":"<...>"}catch{return"<...>"}}function r(){var aA=yA.A;return aA===null?null:aA.getOwner()}function o(){return Error("react-stack-top-frame")}function u(aA){if(BA.call(aA,"key")){var qA=Object.getOwnPropertyDescriptor(aA,"key").get;if(qA&&qA.isReactWarning)return!1}return aA.key!==void 0}function d(aA,qA){function RA(){le||(le=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",qA))}RA.isReactWarning=!0,Object.defineProperty(aA,"key",{get:RA,configurable:!0})}function f(){var aA=n(this.type);return uA[aA]||(uA[aA]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),aA=this.props.ref,aA!==void 0?aA:null}function T(aA,qA,RA,Se,je,$e,ge,ms){return RA=$e.ref,aA={$$typeof:M,type:aA,key:qA,props:$e,_owner:je},(RA!==void 0?RA:null)!==null?Object.defineProperty(aA,"ref",{enumerable:!1,get:f}):Object.defineProperty(aA,"ref",{enumerable:!1,value:null}),aA._store={},Object.defineProperty(aA._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(aA,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(aA,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ge}),Object.defineProperty(aA,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ms}),Object.freeze&&(Object.freeze(aA.props),Object.freeze(aA)),aA}function b(aA,qA,RA,Se,je,$e,ge,ms){var pA=qA.children;if(pA!==void 0)if(Se)if(SA(pA)){for(Se=0;Se";if(typeof iA=="object"&&iA!==null&&iA.$$typeof===hA)return"<...>";try{var BA=n(iA);return BA?"<"+BA+">":"<...>"}catch{return"<...>"}}function r(){var iA=gA.A;return iA===null?null:iA.getOwner()}function o(){return Error("react-stack-top-frame")}function u(iA){if(yA.call(iA,"key")){var BA=Object.getOwnPropertyDescriptor(iA,"key").get;if(BA&&BA.isReactWarning)return!1}return iA.key!==void 0}function d(iA,BA){function MA(){ae||(ae=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",BA))}MA.isReactWarning=!0,Object.defineProperty(iA,"key",{get:MA,configurable:!0})}function f(){var iA=n(this.type);return uA[iA]||(uA[iA]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),iA=this.props.ref,iA!==void 0?iA:null}function T(iA,BA,MA,de,Oe,tt,Te,Ks){return MA=tt.ref,iA={$$typeof:M,type:iA,key:BA,props:tt,_owner:Oe},(MA!==void 0?MA:null)!==null?Object.defineProperty(iA,"ref",{enumerable:!1,get:f}):Object.defineProperty(iA,"ref",{enumerable:!1,value:null}),iA._store={},Object.defineProperty(iA._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(iA,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(iA,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Te}),Object.defineProperty(iA,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Ks}),Object.freeze&&(Object.freeze(iA.props),Object.freeze(iA)),iA}function b(iA,BA,MA,de,Oe,tt,Te,Ks){var Ve=BA.children;if(Ve!==void 0)if(de)if(bA(Ve)){for(de=0;de React keys must be passed directly to JSX without using spread: let props = %s; - <%s key={someKey} {...props} />`,Se,pA,EA,pA),Ae[pA+Se]=!0)}if(pA=null,RA!==void 0&&(t(RA),pA=""+RA),u(qA)&&(t(qA.key),pA=""+qA.key),"key"in qA){RA={};for(var WA in qA)WA!=="key"&&(RA[WA]=qA[WA])}else RA=qA;return pA&&d(RA,typeof aA=="function"?aA.displayName||aA.name||"Unknown":aA),T(aA,pA,$e,je,r(),RA,ge,ms)}function x(aA){typeof aA=="object"&&aA!==null&&aA.$$typeof===M&&aA._store&&(aA._store.validated=1)}var E=ke,M=Symbol.for("react.transitional.element"),I=Symbol.for("react.portal"),v=Symbol.for("react.fragment"),j=Symbol.for("react.strict_mode"),O=Symbol.for("react.profiler"),R=Symbol.for("react.consumer"),Z=Symbol.for("react.context"),H=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),iA=Symbol.for("react.suspense_list"),J=Symbol.for("react.memo"),lA=Symbol.for("react.lazy"),rA=Symbol.for("react.activity"),zA=Symbol.for("react.client.reference"),yA=E.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,BA=Object.prototype.hasOwnProperty,SA=Array.isArray,FA=console.createTask?console.createTask:function(){return null};E={"react-stack-bottom-frame":function(aA){return aA()}};var le,uA={},xA=E["react-stack-bottom-frame"].bind(E,o)(),vA=FA(s(o)),Ae={};ec.Fragment=v,ec.jsx=function(aA,qA,RA,Se,je){var $e=1e4>yA.recentlyCreatedOwnerStacks++;return b(aA,qA,RA,!1,Se,je,$e?Error("react-stack-top-frame"):xA,$e?FA(s(aA)):vA)},ec.jsxs=function(aA,qA,RA,Se,je){var $e=1e4>yA.recentlyCreatedOwnerStacks++;return b(aA,qA,RA,!0,Se,je,$e?Error("react-stack-top-frame"):xA,$e?FA(s(aA)):vA)}}()),ec}Bb.exports=FL();var Ge=Bb.exports,Nb={exports:{}},km={exports:{}},Om={};/** + <%s key={someKey} {...props} />`,de,Ve,ht,Ve),ee[Ve+de]=!0)}if(Ve=null,MA!==void 0&&(t(MA),Ve=""+MA),u(BA)&&(t(BA.key),Ve=""+BA.key),"key"in BA){MA={};for(var Ht in BA)Ht!=="key"&&(MA[Ht]=BA[Ht])}else MA=BA;return Ve&&d(MA,typeof iA=="function"?iA.displayName||iA.name||"Unknown":iA),T(iA,Ve,tt,Oe,r(),MA,Te,Ks)}function x(iA){typeof iA=="object"&&iA!==null&&iA.$$typeof===M&&iA._store&&(iA._store.validated=1)}var D=Ue,M=Symbol.for("react.transitional.element"),U=Symbol.for("react.portal"),v=Symbol.for("react.fragment"),j=Symbol.for("react.strict_mode"),O=Symbol.for("react.profiler"),W=Symbol.for("react.consumer"),H=Symbol.for("react.context"),J=Symbol.for("react.forward_ref"),F=Symbol.for("react.suspense"),nA=Symbol.for("react.suspense_list"),P=Symbol.for("react.memo"),hA=Symbol.for("react.lazy"),lA=Symbol.for("react.activity"),kA=Symbol.for("react.client.reference"),gA=D.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,yA=Object.prototype.hasOwnProperty,bA=Array.isArray,KA=console.createTask?console.createTask:function(){return null};D={"react-stack-bottom-frame":function(iA){return iA()}};var ae,uA={},wA=D["react-stack-bottom-frame"].bind(D,o)(),RA=KA(s(o)),ee={};ic.Fragment=v,ic.jsx=function(iA,BA,MA,de,Oe){var tt=1e4>gA.recentlyCreatedOwnerStacks++;return b(iA,BA,MA,!1,de,Oe,tt?Error("react-stack-top-frame"):wA,tt?KA(s(iA)):RA)},ic.jsxs=function(iA,BA,MA,de,Oe){var tt=1e4>gA.recentlyCreatedOwnerStacks++;return b(iA,BA,MA,!0,de,Oe,tt?Error("react-stack-top-frame"):wA,tt?KA(s(iA)):RA)}}()),ic}Bb.exports=FL();var He=Bb.exports,Nb={exports:{}},km={exports:{}},Om={};/** * @license React * scheduler.development.js * @@ -39,7 +39,7 @@ React keys must be passed directly to JSX without using spread: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Fb;function QL(){return Fb||(Fb=1,function(n){(function(){function A(){if(P=!1,rA){var uA=n.unstable_now();BA=uA;var xA=!0;try{A:{Z=!1,H&&(H=!1,J(zA),zA=-1),R=!0;var vA=O;try{e:{for(u(uA),j=s(M);j!==null&&!(j.expirationTime>uA&&f());){var Ae=j.callback;if(typeof Ae=="function"){j.callback=null,O=j.priorityLevel;var aA=Ae(j.expirationTime<=uA);if(uA=n.unstable_now(),typeof aA=="function"){j.callback=aA,u(uA),xA=!0;break e}j===s(M)&&r(M),u(uA)}else r(M);j=s(M)}if(j!==null)xA=!0;else{var qA=s(I);qA!==null&&T(d,qA.startTime-uA),xA=!1}}break A}finally{j=null,O=vA,R=!1}xA=void 0}}finally{xA?SA():rA=!1}}}function t(uA,xA){var vA=uA.length;uA.push(xA);A:for(;0>>1,aA=uA[Ae];if(0>>1;Aeo(Se,vA))jeo($e,Se)?(uA[Ae]=$e,uA[je]=vA,Ae=je):(uA[Ae]=Se,uA[RA]=vA,Ae=RA);else if(jeo($e,vA))uA[Ae]=$e,uA[je]=vA,Ae=je;else break A}}return xA}function o(uA,xA){var vA=uA.sortIndex-xA.sortIndex;return vA!==0?vA:uA.id-xA.id}function u(uA){for(var xA=s(I);xA!==null;){if(xA.callback===null)r(I);else if(xA.startTime<=uA)r(I),xA.sortIndex=xA.expirationTime,t(M,xA);else break;xA=s(I)}}function d(uA){if(H=!1,u(uA),!Z)if(s(M)!==null)Z=!0,rA||(rA=!0,SA());else{var xA=s(I);xA!==null&&T(d,xA.startTime-uA)}}function f(){return P?!0:!(n.unstable_now()-BAuA||125Ae?(uA.sortIndex=vA,t(I,uA),s(M)===null&&uA===s(I)&&(H?(J(zA),zA=-1):H=!0,T(d,vA-Ae))):(uA.sortIndex=aA,t(M,uA),Z||R||(Z=!0,rA||(rA=!0,SA()))),uA},n.unstable_shouldYield=f,n.unstable_wrapCallback=function(uA){var xA=O;return function(){var vA=O;O=xA;try{return uA.apply(this,arguments)}finally{O=vA}}},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()}(Om)),Om}var Qb;function qL(){return Qb||(Qb=1,km.exports=QL()),km.exports}var jm={exports:{}},ti={};/** + */var Fb;function QL(){return Fb||(Fb=1,function(n){(function(){function A(){if(F=!1,lA){var uA=n.unstable_now();yA=uA;var wA=!0;try{A:{H=!1,J&&(J=!1,P(kA),kA=-1),W=!0;var RA=O;try{e:{for(u(uA),j=s(M);j!==null&&!(j.expirationTime>uA&&f());){var ee=j.callback;if(typeof ee=="function"){j.callback=null,O=j.priorityLevel;var iA=ee(j.expirationTime<=uA);if(uA=n.unstable_now(),typeof iA=="function"){j.callback=iA,u(uA),wA=!0;break e}j===s(M)&&r(M),u(uA)}else r(M);j=s(M)}if(j!==null)wA=!0;else{var BA=s(U);BA!==null&&T(d,BA.startTime-uA),wA=!1}}break A}finally{j=null,O=RA,W=!1}wA=void 0}}finally{wA?bA():lA=!1}}}function t(uA,wA){var RA=uA.length;uA.push(wA);A:for(;0>>1,iA=uA[ee];if(0>>1;eeo(de,RA))Oeo(tt,de)?(uA[ee]=tt,uA[Oe]=RA,ee=Oe):(uA[ee]=de,uA[MA]=RA,ee=MA);else if(Oeo(tt,RA))uA[ee]=tt,uA[Oe]=RA,ee=Oe;else break A}}return wA}function o(uA,wA){var RA=uA.sortIndex-wA.sortIndex;return RA!==0?RA:uA.id-wA.id}function u(uA){for(var wA=s(U);wA!==null;){if(wA.callback===null)r(U);else if(wA.startTime<=uA)r(U),wA.sortIndex=wA.expirationTime,t(M,wA);else break;wA=s(U)}}function d(uA){if(J=!1,u(uA),!H)if(s(M)!==null)H=!0,lA||(lA=!0,bA());else{var wA=s(U);wA!==null&&T(d,wA.startTime-uA)}}function f(){return F?!0:!(n.unstable_now()-yAuA||125ee?(uA.sortIndex=RA,t(U,uA),s(M)===null&&uA===s(U)&&(J?(P(kA),kA=-1):J=!0,T(d,RA-ee))):(uA.sortIndex=iA,t(M,uA),H||W||(H=!0,lA||(lA=!0,bA()))),uA},n.unstable_shouldYield=f,n.unstable_wrapCallback=function(uA){var wA=O;return function(){var RA=O;O=wA;try{return uA.apply(this,arguments)}finally{O=RA}}},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()}(Om)),Om}var Qb;function qL(){return Qb||(Qb=1,km.exports=QL()),km.exports}var jm={exports:{}},ri={};/** * @license React * react-dom.development.js * @@ -47,11 +47,11 @@ React keys must be passed directly to JSX without using spread: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var qb;function kL(){return qb||(qb=1,function(){function n(){}function A(x){return""+x}function t(x,E,M){var I=3` tag.%s',M),typeof x=="string"&&typeof E=="object"&&E!==null&&typeof E.as=="string"){M=E.as;var I=s(M,E.crossOrigin);f.d.L(x,M,{crossOrigin:I,integrity:typeof E.integrity=="string"?E.integrity:void 0,nonce:typeof E.nonce=="string"?E.nonce:void 0,type:typeof E.type=="string"?E.type:void 0,fetchPriority:typeof E.fetchPriority=="string"?E.fetchPriority:void 0,referrerPolicy:typeof E.referrerPolicy=="string"?E.referrerPolicy:void 0,imageSrcSet:typeof E.imageSrcSet=="string"?E.imageSrcSet:void 0,imageSizes:typeof E.imageSizes=="string"?E.imageSizes:void 0,media:typeof E.media=="string"?E.media:void 0})}},ti.preloadModule=function(x,E){var M="";typeof x=="string"&&x||(M+=" The `href` argument encountered was "+r(x)+"."),E!==void 0&&typeof E!="object"?M+=" The `options` argument encountered was "+r(E)+".":E&&"as"in E&&typeof E.as!="string"&&(M+=" The `as` option encountered was "+r(E.as)+"."),M&&console.error('ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `` tag.%s',M),typeof x=="string"&&(E?(M=s(E.as,E.crossOrigin),f.d.m(x,{as:typeof E.as=="string"&&E.as!=="script"?E.as:void 0,crossOrigin:M,integrity:typeof E.integrity=="string"?E.integrity:void 0})):f.d.m(x))},ti.requestFormReset=function(x){f.d.r(x)},ti.unstable_batchedUpdates=function(x,E){return x(E)},ti.useFormState=function(x,E,M){return u().useFormState(x,E,M)},ti.useFormStatus=function(){return u().useHostTransitionStatus()},ti.version="19.1.0",typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ti}var kb;function OL(){return kb||(kb=1,jm.exports=kL()),jm.exports}var ic={};/** +See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),x}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var d=Ue,f={d:{f:n,r:function(){throw Error("Invalid form element. requestFormReset must be passed a form that was rendered by React.")},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},T=Symbol.for("react.portal"),b=d.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;typeof Map=="function"&&Map.prototype!=null&&typeof Map.prototype.forEach=="function"&&typeof Set=="function"&&Set.prototype!=null&&typeof Set.prototype.clear=="function"&&typeof Set.prototype.forEach=="function"||console.error("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"),ri.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=f,ri.createPortal=function(x,D){var M=2` tag.%s',M),typeof x=="string"&&typeof D=="object"&&D!==null&&typeof D.as=="string"){M=D.as;var U=s(M,D.crossOrigin);f.d.L(x,M,{crossOrigin:U,integrity:typeof D.integrity=="string"?D.integrity:void 0,nonce:typeof D.nonce=="string"?D.nonce:void 0,type:typeof D.type=="string"?D.type:void 0,fetchPriority:typeof D.fetchPriority=="string"?D.fetchPriority:void 0,referrerPolicy:typeof D.referrerPolicy=="string"?D.referrerPolicy:void 0,imageSrcSet:typeof D.imageSrcSet=="string"?D.imageSrcSet:void 0,imageSizes:typeof D.imageSizes=="string"?D.imageSizes:void 0,media:typeof D.media=="string"?D.media:void 0})}},ri.preloadModule=function(x,D){var M="";typeof x=="string"&&x||(M+=" The `href` argument encountered was "+r(x)+"."),D!==void 0&&typeof D!="object"?M+=" The `options` argument encountered was "+r(D)+".":D&&"as"in D&&typeof D.as!="string"&&(M+=" The `as` option encountered was "+r(D.as)+"."),M&&console.error('ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `` tag.%s',M),typeof x=="string"&&(D?(M=s(D.as,D.crossOrigin),f.d.m(x,{as:typeof D.as=="string"&&D.as!=="script"?D.as:void 0,crossOrigin:M,integrity:typeof D.integrity=="string"?D.integrity:void 0})):f.d.m(x))},ri.requestFormReset=function(x){f.d.r(x)},ri.unstable_batchedUpdates=function(x,D){return x(D)},ri.useFormState=function(x,D,M){return u().useFormState(x,D,M)},ri.useFormStatus=function(){return u().useHostTransitionStatus()},ri.version="19.1.0",typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ri}var kb;function OL(){return kb||(kb=1,jm.exports=kL()),jm.exports}var nc={};/** * @license React * react-dom-client.development.js * @@ -59,61 +59,61 @@ See https://react.dev/link/invalid-hook-call for tips about how to debug and fix * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Ob;function jL(){return Ob||(Ob=1,function(){function n(e,i){for(e=e.memoizedState;e!==null&&0=i.length)return l;var c=i[a],p=_t(e)?e.slice():he({},e);return p[c]=A(e[c],i,a+1,l),p}function t(e,i,a){if(i.length!==a.length)console.warn("copyWithRename() expects paths of the same length");else{for(var l=0;lTa?console.error("Unexpected pop."):(i!==fT[Ta]&&console.error("Unexpected Fiber popped."),e.current=pT[Ta],pT[Ta]=null,fT[Ta]=null,Ta--)}function BA(e,i,a){Ta++,pT[Ta]=e.current,fT[Ta]=a,e.current=i}function SA(e){return e===null&&console.error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."),e}function FA(e,i){BA(fr,i,e),BA(Zh,e,e),BA(pr,null,e);var a=i.nodeType;switch(a){case 9:case 11:a=a===9?"#document":"#fragment",i=(i=i.documentElement)&&(i=i.namespaceURI)?B2(i):Ra;break;default:if(a=i.tagName,i=i.namespaceURI)i=B2(i),i=R2(i,a);else switch(a){case"svg":i=$u;break;case"math":i=Bm;break;default:i=Ra}}a=a.toLowerCase(),a=Qi(null,a),a={context:i,ancestorInfo:a},yA(pr,e),BA(pr,a,e)}function le(e){yA(pr,e),yA(Zh,e),yA(fr,e)}function uA(){return SA(pr.current)}function xA(e){e.memoizedState!==null&&BA(Wf,e,e);var i=SA(pr.current),a=e.type,l=R2(i.context,a);a=Qi(i.ancestorInfo,a),l={context:l,ancestorInfo:a},i!==l&&(BA(Zh,e,e),BA(pr,l,e))}function vA(e){Zh.current===e&&(yA(pr,e),yA(Zh,e)),Wf.current===e&&(yA(Wf,e),Rd._currentValue=Zo)}function Ae(e){return typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}function aA(e){try{return qA(e),!1}catch{return!0}}function qA(e){return""+e}function RA(e,i){if(aA(e))return console.error("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.",i,Ae(e)),qA(e)}function Se(e,i){if(aA(e))return console.error("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.",i,Ae(e)),qA(e)}function je(e){if(aA(e))return console.error("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.",Ae(e)),qA(e)}function $e(e){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var i=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(i.isDisabled)return!0;if(!i.supportsFiber)return console.error("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"),!0;try{bu=i.inject(e),ui=i}catch(a){console.error("React instrumentation encountered an error: %s.",a)}return!!i.checkDCE}function ge(e){if(typeof wQ=="function"&&EQ(e),ui&&typeof ui.setStrictMode=="function")try{ui.setStrictMode(bu,e)}catch(i){Qn||(Qn=!0,console.error("React instrumentation encountered an error: %s",i))}}function ms(e){LA=e}function pA(){LA!==null&&typeof LA.markCommitStopped=="function"&&LA.markCommitStopped()}function EA(e){LA!==null&&typeof LA.markComponentRenderStarted=="function"&&LA.markComponentRenderStarted(e)}function WA(){LA!==null&&typeof LA.markComponentRenderStopped=="function"&&LA.markComponentRenderStopped()}function se(e){LA!==null&&typeof LA.markRenderStarted=="function"&&LA.markRenderStarted(e)}function KA(){LA!==null&&typeof LA.markRenderStopped=="function"&&LA.markRenderStopped()}function oe(e,i){LA!==null&&typeof LA.markStateUpdateScheduled=="function"&&LA.markStateUpdateScheduled(e,i)}function Ze(e){return e>>>=0,e===0?32:31-(DQ(e)/vQ|0)|0}function yi(e){if(e&1)return"SyncHydrationLane";if(e&2)return"Sync";if(e&4)return"InputContinuousHydration";if(e&8)return"InputContinuous";if(e&16)return"DefaultHydration";if(e&32)return"Default";if(e&128)return"TransitionHydration";if(e&4194048)return"Transition";if(e&62914560)return"Retry";if(e&67108864)return"SelectiveHydration";if(e&134217728)return"IdleHydration";if(e&268435456)return"Idle";if(e&536870912)return"Offscreen";if(e&1073741824)return"Deferred"}function VA(e){var i=e&42;if(i!==0)return i;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return console.error("Should have found matching lanes. This is a bug in React."),e}}function vt(e,i,a){var l=e.pendingLanes;if(l===0)return 0;var c=0,p=e.suspendedLanes,C=e.pingedLanes;e=e.warmLanes;var D=l&134217727;return D!==0?(l=D&~p,l!==0?c=VA(l):(C&=D,C!==0?c=VA(C):a||(a=D&~e,a!==0&&(c=VA(a))))):(D=l&~p,D!==0?c=VA(D):C!==0?c=VA(C):a||(a=l&~e,a!==0&&(c=VA(a)))),c===0?0:i!==0&&i!==c&&!(i&p)&&(p=c&-c,a=i&-i,p>=a||p===32&&(a&4194048)!==0)?i:c}function He(e,i){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&i)===0}function At(e,i){switch(e){case 1:case 2:case 4:case 8:case 64:return i+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return console.error("Should have found matching lanes. This is a bug in React."),-1}}function DA(){var e=Gf;return Gf<<=1,!(Gf&4194048)&&(Gf=256),e}function Ce(){var e=Zf;return Zf<<=1,!(Zf&62914560)&&(Zf=4194304),e}function Le(e){for(var i=[],a=0;31>a;a++)i.push(e);return i}function Ne(e,i){e.pendingLanes|=i,i!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Fe(e,i,a,l,c,p){var C=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var D=e.entanglements,U=e.expirationTimes,F=e.hiddenUpdates;for(a=C&~a;0Jh&&console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}function Ti(e){if(CT===void 0)try{throw Error()}catch(a){var i=a.stack.trim().match(/\n( *(at )?)/);CT=i&&i[1]||"",pD=-1=i.length)return l;var c=i[a],p=ii(e)?e.slice():le({},e);return p[c]=A(e[c],i,a+1,l),p}function t(e,i,a){if(i.length!==a.length)console.warn("copyWithRename() expects paths of the same length");else{for(var l=0;lSa?console.error("Unexpected pop."):(i!==fT[Sa]&&console.error("Unexpected Fiber popped."),e.current=pT[Sa],pT[Sa]=null,fT[Sa]=null,Sa--)}function yA(e,i,a){Sa++,pT[Sa]=e.current,fT[Sa]=a,e.current=i}function bA(e){return e===null&&console.error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."),e}function KA(e,i){yA(gr,i,e),yA(Zh,e,e),yA(mr,null,e);var a=i.nodeType;switch(a){case 9:case 11:a=a===9?"#document":"#fragment",i=(i=i.documentElement)&&(i=i.namespaceURI)?B2(i):Ia;break;default:if(a=i.tagName,i=i.namespaceURI)i=B2(i),i=R2(i,a);else switch(a){case"svg":i=ec;break;case"math":i=Bm;break;default:i=Ia}}a=a.toLowerCase(),a=Oi(null,a),a={context:i,ancestorInfo:a},gA(mr,e),yA(mr,a,e)}function ae(e){gA(mr,e),gA(Zh,e),gA(gr,e)}function uA(){return bA(mr.current)}function wA(e){e.memoizedState!==null&&yA(Wf,e,e);var i=bA(mr.current),a=e.type,l=R2(i.context,a);a=Oi(i.ancestorInfo,a),l={context:l,ancestorInfo:a},i!==l&&(yA(Zh,e,e),yA(mr,l,e))}function RA(e){Zh.current===e&&(gA(mr,e),gA(Zh,e)),Wf.current===e&&(gA(Wf,e),Rd._currentValue=Ho)}function ee(e){return typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}function iA(e){try{return BA(e),!1}catch{return!0}}function BA(e){return""+e}function MA(e,i){if(iA(e))return console.error("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.",i,ee(e)),BA(e)}function de(e,i){if(iA(e))return console.error("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.",i,ee(e)),BA(e)}function Oe(e){if(iA(e))return console.error("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.",ee(e)),BA(e)}function tt(e){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var i=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(i.isDisabled)return!0;if(!i.supportsFiber)return console.error("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"),!0;try{Cu=i.inject(e),di=i}catch(a){console.error("React instrumentation encountered an error: %s.",a)}return!!i.checkDCE}function Te(e){if(typeof wQ=="function"&&EQ(e),di&&typeof di.setStrictMode=="function")try{di.setStrictMode(Cu,e)}catch(i){kn||(kn=!0,console.error("React instrumentation encountered an error: %s",i))}}function Ks(e){DA=e}function Ve(){DA!==null&&typeof DA.markCommitStopped=="function"&&DA.markCommitStopped()}function ht(e){DA!==null&&typeof DA.markComponentRenderStarted=="function"&&DA.markComponentRenderStarted(e)}function Ht(){DA!==null&&typeof DA.markComponentRenderStopped=="function"&&DA.markComponentRenderStopped()}function CA(e){DA!==null&&typeof DA.markRenderStarted=="function"&&DA.markRenderStarted(e)}function vA(){DA!==null&&typeof DA.markRenderStopped=="function"&&DA.markRenderStopped()}function HA(e,i){DA!==null&&typeof DA.markStateUpdateScheduled=="function"&&DA.markStateUpdateScheduled(e,i)}function re(e){return e>>>=0,e===0?32:31-(DQ(e)/vQ|0)|0}function VA(e){if(e&1)return"SyncHydrationLane";if(e&2)return"Sync";if(e&4)return"InputContinuousHydration";if(e&8)return"InputContinuous";if(e&16)return"DefaultHydration";if(e&32)return"Default";if(e&128)return"TransitionHydration";if(e&4194048)return"Transition";if(e&62914560)return"Retry";if(e&67108864)return"SelectiveHydration";if(e&134217728)return"IdleHydration";if(e&268435456)return"Idle";if(e&536870912)return"Offscreen";if(e&1073741824)return"Deferred"}function zA(e){var i=e&42;if(i!==0)return i;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return console.error("Should have found matching lanes. This is a bug in React."),e}}function we(e,i,a){var l=e.pendingLanes;if(l===0)return 0;var c=0,p=e.suspendedLanes,C=e.pingedLanes;e=e.warmLanes;var E=l&134217727;return E!==0?(l=E&~p,l!==0?c=zA(l):(C&=E,C!==0?c=zA(C):a||(a=E&~e,a!==0&&(c=zA(a))))):(E=l&~p,E!==0?c=zA(E):C!==0?c=zA(C):a||(a=l&~e,a!==0&&(c=zA(a)))),c===0?0:i!==0&&i!==c&&!(i&p)&&(p=c&-c,a=i&-i,p>=a||p===32&&(a&4194048)!==0)?i:c}function it(e,i){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&i)===0}function te(e,i){switch(e){case 1:case 2:case 4:case 8:case 64:return i+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return console.error("Should have found matching lanes. This is a bug in React."),-1}}function EA(){var e=Gf;return Gf<<=1,!(Gf&4194048)&&(Gf=256),e}function Rt(){var e=Zf;return Zf<<=1,!(Zf&62914560)&&(Zf=4194304),e}function je(e){for(var i=[],a=0;31>a;a++)i.push(e);return i}function Dt(e,i){e.pendingLanes|=i,i!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Se(e,i,a,l,c,p){var C=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var E=e.entanglements,R=e.expirationTimes,N=e.hiddenUpdates;for(a=C&~a;0Jh&&console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}function me(e){if(CT===void 0)try{throw Error()}catch(a){var i=a.stack.trim().match(/\n( *(at )?)/);CT=i&&i[1]||"",pD=-1)":-1C||F[p]!==_[C]){var tA=` -`+F[p].replace(" at new "," at ");return e.displayName&&tA.includes("")&&(tA=tA.replace("",e.displayName)),typeof e=="function"&&wT.set(e,tA),tA}while(1<=p&&0<=C);break}}}finally{xT=!1,eA.H=l,Ga(),Error.prepareStackTrace=a}return F=(F=e?e.displayName||e.name:"")?Ti(F):"",typeof e=="function"&&wT.set(e,F),F}function zc(e){var i=Error.prepareStackTrace;if(Error.prepareStackTrace=void 0,e=e.stack,Error.prepareStackTrace=i,e.startsWith(`Error: react-stack-top-frame +`+CT+e+pD}function Jt(e,i){if(!e||xT)return"";var a=wT.get(e);if(a!==void 0)return a;xT=!0,a=Error.prepareStackTrace,Error.prepareStackTrace=void 0;var l=null;l=eA.H,eA.H=null,dt();try{var c={DetermineComponentFrameRoot:function(){try{if(i){var X=function(){throw Error()};if(Object.defineProperty(X.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(X,[])}catch(NA){var sA=NA}Reflect.construct(e,[],X)}else{try{X.call()}catch(NA){sA=NA}e.call(X.prototype)}}else{try{throw Error()}catch(NA){sA=NA}(X=e())&&typeof X.catch=="function"&&X.catch(function(){})}}catch(NA){if(NA&&sA&&typeof NA.stack=="string")return[NA.stack,sA.stack]}return[null,null]}};c.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var p=Object.getOwnPropertyDescriptor(c.DetermineComponentFrameRoot,"name");p&&p.configurable&&Object.defineProperty(c.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var C=c.DetermineComponentFrameRoot(),E=C[0],R=C[1];if(E&&R){var N=E.split(` +`),_=R.split(` +`);for(C=p=0;pC||N[p]!==_[C]){var tA=` +`+N[p].replace(" at new "," at ");return e.displayName&&tA.includes("")&&(tA=tA.replace("",e.displayName)),typeof e=="function"&&wT.set(e,tA),tA}while(1<=p&&0<=C);break}}}finally{xT=!1,eA.H=l,pt(),Error.prepareStackTrace=a}return N=(N=e?e.displayName||e.name:"")?me(N):"",typeof e=="function"&&wT.set(e,N),N}function Ha(e){var i=Error.prepareStackTrace;if(Error.prepareStackTrace=void 0,e=e.stack,Error.prepareStackTrace=i,e.startsWith(`Error: react-stack-top-frame `)&&(e=e.slice(29)),i=e.indexOf(` `),i!==-1&&(e=e.slice(i+1)),i=e.indexOf("react-stack-bottom-frame"),i!==-1&&(i=e.lastIndexOf(` -`,i)),i!==-1)e=e.slice(0,i);else return"";return e}function Yc(e){switch(e.tag){case 26:case 27:case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 15:return pn(e.type,!1);case 11:return pn(e.type.render,!1);case 1:return pn(e.type,!0);case 31:return Ti("Activity");default:return""}}function Zr(e){try{var i="";do{i+=Yc(e);var a=e._debugInfo;if(a)for(var l=a.length-1;0<=l;l--){var c=a[l];if(typeof c.name=="string"){var p=i,C=c.env,D=Ti(c.name+(C?" ["+C+"]":""));i=p+D}}e=e.return}while(e);return i}catch(U){return` -Error generating stack: `+U.message+` -`+U.stack}}function Wt(e){return(e=e?e.displayName||e.name:"")?Ti(e):""}function Nl(){if(rs===null)return null;var e=rs._debugOwner;return e!=null?lA(e):null}function Wy(){if(rs===null)return"";var e=rs;try{var i="";switch(e.tag===6&&(e=e.return),e.tag){case 26:case 27:case 5:i+=Ti(e.type);break;case 13:i+=Ti("Suspense");break;case 19:i+=Ti("SuspenseList");break;case 31:i+=Ti("Activity");break;case 30:case 0:case 15:case 1:e._debugOwner||i!==""||(i+=Wt(e.type));break;case 11:e._debugOwner||i!==""||(i+=Wt(e.type.render))}for(;e;)if(typeof e.tag=="number"){var a=e;e=a._debugOwner;var l=a._debugStack;e&&l&&(typeof l!="string"&&(a._debugStack=l=zc(l)),l!==""&&(i+=` +`,i)),i!==-1)e=e.slice(0,i);else return"";return e}function Fl(e){switch(e.tag){case 26:case 27:case 5:return me(e.type);case 16:return me("Lazy");case 13:return me("Suspense");case 19:return me("SuspenseList");case 0:case 15:return Jt(e.type,!1);case 11:return Jt(e.type.render,!1);case 1:return Jt(e.type,!0);case 31:return me("Activity");default:return""}}function ys(e){try{var i="";do{i+=Fl(e);var a=e._debugInfo;if(a)for(var l=a.length-1;0<=l;l--){var c=a[l];if(typeof c.name=="string"){var p=i,C=c.env,E=me(c.name+(C?" ["+C+"]":""));i=p+E}}e=e.return}while(e);return i}catch(R){return` +Error generating stack: `+R.message+` +`+R.stack}}function Xt(e){return(e=e?e.displayName||e.name:"")?me(e):""}function Ql(){if(ls===null)return null;var e=ls._debugOwner;return e!=null?hA(e):null}function Wy(){if(ls===null)return"";var e=ls;try{var i="";switch(e.tag===6&&(e=e.return),e.tag){case 26:case 27:case 5:i+=me(e.type);break;case 13:i+=me("Suspense");break;case 19:i+=me("SuspenseList");break;case 31:i+=me("Activity");break;case 30:case 0:case 15:case 1:e._debugOwner||i!==""||(i+=Xt(e.type));break;case 11:e._debugOwner||i!==""||(i+=Xt(e.type.render))}for(;e;)if(typeof e.tag=="number"){var a=e;e=a._debugOwner;var l=a._debugStack;e&&l&&(typeof l!="string"&&(a._debugStack=l=Ha(l)),l!==""&&(i+=` `+l))}else if(e.debugStack!=null){var c=e.debugStack;(e=e.owner)&&c&&(i+=` -`+zc(c))}else break;var p=i}catch(C){p=` +`+Ha(c))}else break;var p=i}catch(C){p=` Error generating stack: `+C.message+` -`+C.stack}return p}function NA(e,i,a,l,c,p,C){var D=rs;_i(e);try{return e!==null&&e._debugTask?e._debugTask.run(i.bind(null,a,l,c,p,C)):i(a,l,c,p,C)}finally{_i(D)}throw Error("runWithFiberInDEV should never be called in production. This is a bug in React.")}function _i(e){eA.getCurrentStack=e===null?null:Wy,kn=!1,rs=e}function Gt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return je(e),e;default:return""}}function Qe(e){var i=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function Gy(e){var i=Qe(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,i);je(e[i]);var l=""+e[i];if(!e.hasOwnProperty(i)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var c=a.get,p=a.set;return Object.defineProperty(e,i,{configurable:!0,get:function(){return c.call(this)},set:function(C){je(C),l=""+C,p.call(this,C)}}),Object.defineProperty(e,i,{enumerable:a.enumerable}),{getValue:function(){return l},setValue:function(C){je(C),l=""+C},stopTracking:function(){e._valueTracker=null,delete e[i]}}}}function $n(e){e._valueTracker||(e._valueTracker=Gy(e))}function Hr(e){if(!e)return!1;var i=e._valueTracker;if(!i)return!0;var a=i.getValue(),l="";return e&&(l=Qe(e)?e.checked?"true":"false":e.value),e=l,e!==a?(i.setValue(e),!0):!1}function Fl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function xt(e){return e.replace(UQ,function(i){return"\\"+i.charCodeAt(0).toString(16)+" "})}function Je(e,i){i.checked===void 0||i.defaultChecked===void 0||mD||(console.error("%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",Nl()||"A component",i.type),mD=!0),i.value===void 0||i.defaultValue===void 0||fD||(console.error("%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",Nl()||"A component",i.type),fD=!0)}function Ql(e,i,a,l,c,p,C,D){e.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?(RA(C,"type"),e.type=C):e.removeAttribute("type"),i!=null?C==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+Gt(i)):e.value!==""+Gt(i)&&(e.value=""+Gt(i)):C!=="submit"&&C!=="reset"||e.removeAttribute("value"),i!=null?Wc(e,C,Gt(i)):a!=null?Wc(e,C,Gt(a)):l!=null&&e.removeAttribute("value"),c==null&&p!=null&&(e.defaultChecked=!!p),c!=null&&(e.checked=c&&typeof c!="function"&&typeof c!="symbol"),D!=null&&typeof D!="function"&&typeof D!="symbol"&&typeof D!="boolean"?(RA(D,"name"),e.name=""+Gt(D)):e.removeAttribute("name")}function Jr(e,i,a,l,c,p,C,D){if(p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"&&(RA(p,"type"),e.type=p),i!=null||a!=null){if(!(p!=="submit"&&p!=="reset"||i!=null))return;a=a!=null?""+Gt(a):"",i=i!=null?""+Gt(i):a,D||i===e.value||(e.value=i),e.defaultValue=i}l=l??c,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=D?e.checked:!!l,e.defaultChecked=!!l,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(RA(C,"name"),e.name=C)}function Wc(e,i,a){i==="number"&&Fl(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function Kp(e,i){i.value==null&&(typeof i.children=="object"&&i.children!==null?oT.Children.forEach(i.children,function(a){a==null||typeof a=="string"||typeof a=="number"||typeof a=="bigint"||yD||(yD=!0,console.error("Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to