From 7286c5b36c001f8a00419c437bb8bbaafd2c4647 Mon Sep 17 00:00:00 2001 From: legop3 Date: Sun, 12 Jul 2026 13:19:36 -0400 Subject: [PATCH] presetses --- server/public/assets/index-BdBRYVYh.js | 148 +++++++++++ server/public/assets/index-BdBRYVYh.js.map | 1 + ...{index-Dftmy_oH.css => index-DRk-dX1r.css} | 2 +- server/public/assets/index-kly4fuTr.js | 148 ----------- server/public/assets/index-kly4fuTr.js.map | 1 - server/public/index.html | 4 +- server/src/services/ptzCameraService/index.js | 243 ++++++++++++++++++ webui/src/components/PtzCamera/index.jsx | 158 +++++++++++- webui/src/context/SessionContext.jsx | 4 + 9 files changed, 554 insertions(+), 155 deletions(-) create mode 100644 server/public/assets/index-BdBRYVYh.js create mode 100644 server/public/assets/index-BdBRYVYh.js.map rename server/public/assets/{index-Dftmy_oH.css => index-DRk-dX1r.css} (68%) delete mode 100644 server/public/assets/index-kly4fuTr.js delete mode 100644 server/public/assets/index-kly4fuTr.js.map diff --git a/server/public/assets/index-BdBRYVYh.js b/server/public/assets/index-BdBRYVYh.js new file mode 100644 index 00000000..2cb4dd28 --- /dev/null +++ b/server/public/assets/index-BdBRYVYh.js @@ -0,0 +1,148 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/OrbitControls-BJ-UXxdt.js","assets/three.module--MGUDD-H.js"])))=>i.map(i=>d[i]); +(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))i(u);new MutationObserver(u=>{for(const h of u)if(h.type==="childList")for(const d of h.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&i(d)}).observe(document,{childList:!0,subtree:!0});function n(u){const h={};return u.integrity&&(h.integrity=u.integrity),u.referrerPolicy&&(h.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?h.credentials="include":u.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function i(u){if(u.ep)return;u.ep=!0;const h=n(u);fetch(u.href,h)}})();function Ev(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ic={exports:{}},R8={};var gs;function Tv(){if(gs)return R8;gs=1;var t=Symbol.for("react.transitional.element"),c=Symbol.for("react.fragment");function n(i,u,h){var d=null;if(h!==void 0&&(d=""+h),u.key!==void 0&&(d=""+u.key),"key"in u){h={};for(var v in u)v!=="key"&&(h[v]=u[v])}else h=u;return u=h.ref,{$$typeof:t,type:i,key:d,ref:u!==void 0?u:null,props:h}}return R8.Fragment=c,R8.jsx=n,R8.jsxs=n,R8}var xs;function _v(){return xs||(xs=1,ic.exports=Tv()),ic.exports}var r=_v(),sc={exports:{}},Z1={};var zs;function qv(){if(zs)return Z1;zs=1;var t=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),d=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),y=Symbol.iterator;function M(_){return _===null||typeof _!="object"?null:(_=y&&_[y]||_["@@iterator"],typeof _=="function"?_:null)}var L={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},A=Object.assign,w={};function V(_,O,G){this.props=_,this.context=O,this.refs=w,this.updater=G||L}V.prototype.isReactComponent={},V.prototype.setState=function(_,O){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,O,"setState")},V.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function H(){}H.prototype=V.prototype;function S(_,O,G){this.props=_,this.context=O,this.refs=w,this.updater=G||L}var N=S.prototype=new H;N.constructor=S,A(N,V.prototype),N.isPureReactComponent=!0;var E=Array.isArray;function F(){}var R={H:null,A:null,T:null,S:null},B=Object.prototype.hasOwnProperty;function j(_,O,G){var r1=G.ref;return{$$typeof:t,type:_,key:O,ref:r1!==void 0?r1:null,props:G}}function q(_,O){return j(_.type,O,_.props)}function I(_){return typeof _=="object"&&_!==null&&_.$$typeof===t}function D(_){var O={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(G){return O[G]})}var K=/\/+/g;function l1(_,O){return typeof _=="object"&&_!==null&&_.key!=null?D(""+_.key):O.toString(36)}function Q(_){switch(_.status){case"fulfilled":return _.value;case"rejected":throw _.reason;default:switch(typeof _.status=="string"?_.then(F,F):(_.status="pending",_.then(function(O){_.status==="pending"&&(_.status="fulfilled",_.value=O)},function(O){_.status==="pending"&&(_.status="rejected",_.reason=O)})),_.status){case"fulfilled":return _.value;case"rejected":throw _.reason}}throw _}function T(_,O,G,r1,d1){var m1=typeof _;(m1==="undefined"||m1==="boolean")&&(_=null);var M1=!1;if(_===null)M1=!0;else switch(m1){case"bigint":case"string":case"number":M1=!0;break;case"object":switch(_.$$typeof){case t:case c:M1=!0;break;case g:return M1=_._init,T(M1(_._payload),O,G,r1,d1)}}if(M1)return d1=d1(_),M1=r1===""?"."+l1(_,0):r1,E(d1)?(G="",M1!=null&&(G=M1.replace(K,"$&/")+"/"),T(d1,O,G,"",function(U1){return U1})):d1!=null&&(I(d1)&&(d1=q(d1,G+(d1.key==null||_&&_.key===d1.key?"":(""+d1.key).replace(K,"$&/")+"/")+M1)),O.push(d1)),1;M1=0;var O1=r1===""?".":r1+":";if(E(_))for(var k1=0;k1<_.length;k1++)r1=_[k1],m1=O1+l1(r1,k1),M1+=T(r1,O,G,m1,d1);else if(k1=M(_),typeof k1=="function")for(_=k1.call(_),k1=0;!(r1=_.next()).done;)r1=r1.value,m1=O1+l1(r1,k1++),M1+=T(r1,O,G,m1,d1);else if(m1==="object"){if(typeof _.then=="function")return T(Q(_),O,G,r1,d1);throw O=String(_),Error("Objects are not valid as a React child (found: "+(O==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":O)+"). If you meant to render a collection of children, use an array instead.")}return M1}function Z(_,O,G){if(_==null)return _;var r1=[],d1=0;return T(_,r1,"","",function(m1){return O.call(G,m1,d1++)}),r1}function P(_){if(_._status===-1){var O=_._result;O=O(),O.then(function(G){(_._status===0||_._status===-1)&&(_._status=1,_._result=G)},function(G){(_._status===0||_._status===-1)&&(_._status=2,_._result=G)}),_._status===-1&&(_._status=0,_._result=O)}if(_._status===1)return _._result.default;throw _._result}var W=typeof reportError=="function"?reportError:function(_){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var O=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _=="object"&&_!==null&&typeof _.message=="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(O))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",_);return}console.error(_)},X={map:Z,forEach:function(_,O,G){Z(_,function(){O.apply(this,arguments)},G)},count:function(_){var O=0;return Z(_,function(){O++}),O},toArray:function(_){return Z(_,function(O){return O})||[]},only:function(_){if(!I(_))throw Error("React.Children.only expected to receive a single React element child.");return _}};return Z1.Activity=b,Z1.Children=X,Z1.Component=V,Z1.Fragment=n,Z1.Profiler=u,Z1.PureComponent=S,Z1.StrictMode=i,Z1.Suspense=p,Z1.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=R,Z1.__COMPILER_RUNTIME={__proto__:null,c:function(_){return R.H.useMemoCache(_)}},Z1.cache=function(_){return function(){return _.apply(null,arguments)}},Z1.cacheSignal=function(){return null},Z1.cloneElement=function(_,O,G){if(_==null)throw Error("The argument must be a React element, but you passed "+_+".");var r1=A({},_.props),d1=_.key;if(O!=null)for(m1 in O.key!==void 0&&(d1=""+O.key),O)!B.call(O,m1)||m1==="key"||m1==="__self"||m1==="__source"||m1==="ref"&&O.ref===void 0||(r1[m1]=O[m1]);var m1=arguments.length-2;if(m1===1)r1.children=G;else if(1>>1,X=T[W];if(0>>1;W<_;){var O=2*(W+1)-1,G=T[O],r1=O+1,d1=T[r1];if(0>u(G,P))r1u(d1,G)?(T[W]=d1,T[r1]=P,W=r1):(T[W]=G,T[O]=P,W=O);else if(r1u(d1,P))T[W]=d1,T[r1]=P,W=r1;else break t}}return Z}function u(T,Z){var P=T.sortIndex-Z.sortIndex;return P!==0?P:T.id-Z.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var h=performance;t.unstable_now=function(){return h.now()}}else{var d=Date,v=d.now();t.unstable_now=function(){return d.now()-v}}var p=[],x=[],g=1,b=null,y=3,M=!1,L=!1,A=!1,w=!1,V=typeof setTimeout=="function"?setTimeout:null,H=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;function N(T){for(var Z=n(x);Z!==null;){if(Z.callback===null)i(x);else if(Z.startTime<=T)i(x),Z.sortIndex=Z.expirationTime,c(p,Z);else break;Z=n(x)}}function E(T){if(A=!1,N(T),!L)if(n(p)!==null)L=!0,F||(F=!0,D());else{var Z=n(x);Z!==null&&Q(E,Z.startTime-T)}}var F=!1,R=-1,B=5,j=-1;function q(){return w?!0:!(t.unstable_now()-jT&&q());){var W=b.callback;if(typeof W=="function"){b.callback=null,y=b.priorityLevel;var X=W(b.expirationTime<=T);if(T=t.unstable_now(),typeof X=="function"){b.callback=X,N(T),Z=!0;break e}b===n(p)&&i(p),N(T)}else i(p);b=n(p)}if(b!==null)Z=!0;else{var _=n(x);_!==null&&Q(E,_.startTime-T),Z=!1}}break t}finally{b=null,y=P,M=!1}Z=void 0}}finally{Z?D():F=!1}}}var D;if(typeof S=="function")D=function(){S(I)};else if(typeof MessageChannel<"u"){var K=new MessageChannel,l1=K.port2;K.port1.onmessage=I,D=function(){l1.postMessage(null)}}else D=function(){V(I,0)};function Q(T,Z){R=V(function(){T(t.unstable_now())},Z)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125W?(T.sortIndex=P,c(x,T),n(p)===null&&T===n(x)&&(A?(H(R),R=-1):A=!0,Q(E,P-W))):(T.sortIndex=X,c(p,T),L||M||(L=!0,F||(F=!0,D()))),T},t.unstable_shouldYield=q,t.unstable_wrapCallback=function(T){var Z=y;return function(){var P=y;y=Z;try{return T.apply(this,arguments)}finally{y=P}}}})(hc)),hc}var Ms;function Ov(){return Ms||(Ms=1,uc.exports=Dv()),uc.exports}var dc={exports:{}},W2={};var ws;function Uv(){if(ws)return W2;ws=1;var t=Ba();function c(p){var x="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(c){console.error(c)}}return t(),dc.exports=Uv(),dc.exports}var Ss;function Iv(){if(Ss)return E8;Ss=1;var t=Ov(),c=Ba(),n=Au();function i(e){var a="https://react.dev/errors/"+e;if(1X||(e.current=W[X],W[X]=null,X--)}function G(e,a){X++,W[X]=e.current,e.current=a}var r1=_(null),d1=_(null),m1=_(null),M1=_(null);function O1(e,a){switch(G(m1,a),G(d1,e),G(r1,null),a.nodeType){case 9:case 11:e=(e=a.documentElement)&&(e=e.namespaceURI)?Di(e):0;break;default:if(e=a.tagName,a=a.namespaceURI)a=Di(a),e=Oi(a,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}O(r1),G(r1,e)}function k1(){O(r1),O(d1),O(m1)}function U1(e){e.memoizedState!==null&&G(M1,e);var a=r1.current,l=Oi(a,e.type);a!==l&&(G(d1,e),G(r1,l))}function W1(e){d1.current===e&&(O(r1),O(d1)),M1.current===e&&(O(M1),j8._currentValue=P)}var P1,u2;function v1(e){if(P1===void 0)try{throw Error()}catch(l){var a=l.stack.trim().match(/\n( *(at )?)/);P1=a&&a[1]||"",u2=-1)":-1m||U[o]!==t1[m]){var s1=` +`+U[o].replace(" at new "," at ");return e.displayName&&s1.includes("")&&(s1=s1.replace("",e.displayName)),s1}while(1<=o&&0<=m);break}}}finally{y1=!1,Error.prepareStackTrace=l}return(l=e?e.displayName||e.name:"")?v1(l):""}function E1(e,a){switch(e.tag){case 26:case 27:case 5:return v1(e.type);case 16:return v1("Lazy");case 13:return e.child!==a&&a!==null?v1("Suspense Fallback"):v1("Suspense");case 19:return v1("SuspenseList");case 0:case 15:return j1(e.type,!1);case 11:return j1(e.type.render,!1);case 1:return j1(e.type,!0);case 31:return v1("Activity");default:return""}}function g1(e){try{var a="",l=null;do a+=E1(e,l),l=e,e=e.return;while(e);return a}catch(o){return` +Error generating stack: `+o.message+` +`+o.stack}}var S1=Object.prototype.hasOwnProperty,z1=t.unstable_scheduleCallback,A1=t.unstable_cancelCallback,x1=t.unstable_shouldYield,T1=t.unstable_requestPaint,i1=t.unstable_now,C1=t.unstable_getCurrentPriorityLevel,w1=t.unstable_ImmediatePriority,N1=t.unstable_UserBlockingPriority,Q1=t.unstable_NormalPriority,N2=t.unstable_LowPriority,r2=t.unstable_IdlePriority,f1=t.log,R1=t.unstable_setDisableYieldValue,c1=null,b1=null;function V1(e){if(typeof f1=="function"&&R1(e),b1&&typeof b1.setStrictMode=="function")try{b1.setStrictMode(c1,e)}catch{}}var p1=Math.clz32?Math.clz32:X1,q1=Math.log,D1=Math.LN2;function X1(e){return e>>>=0,e===0?32:31-(q1(e)/D1|0)|0}var e2=256,D2=262144,g4=4194304;function P2(e){var a=e&42;if(a!==0)return a;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:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;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 e}}function f2(e,a,l){var o=e.pendingLanes;if(o===0)return 0;var m=0,z=e.suspendedLanes,C=e.pingedLanes;e=e.warmLanes;var k=o&134217727;return k!==0?(o=k&~z,o!==0?m=P2(o):(C&=k,C!==0?m=P2(C):l||(l=k&~e,l!==0&&(m=P2(l))))):(k=o&~z,k!==0?m=P2(k):C!==0?m=P2(C):l||(l=o&~e,l!==0&&(m=P2(l)))),m===0?0:a!==0&&a!==m&&(a&z)===0&&(z=m&-m,l=a&-a,z>=l||z===32&&(l&4194048)!==0)?a:m}function E4(e,a){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&a)===0}function wf(e,a){switch(e){case 1:case 2:case 4:case 8:case 64:return a+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 a+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-1}}function yn(){var e=g4;return g4<<=1,(g4&62914560)===0&&(g4=4194304),e}function Ke(e){for(var a=[],l=0;31>l;l++)a.push(e);return a}function $0(e,a){e.pendingLanes|=a,a!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Cf(e,a,l,o,m,z){var C=e.pendingLanes;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=l,e.entangledLanes&=l,e.errorRecoveryDisabledLanes&=l,e.shellSuspendCounter=0;var k=e.entanglements,U=e.expirationTimes,t1=e.hiddenUpdates;for(l=C&~l;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Bf=/[\n"\\]/g;function z4(e){return e.replace(Bf,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function e7(e,a,l,o,m,z,C,k){e.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?e.type=C:e.removeAttribute("type"),a!=null?C==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+x4(a)):e.value!==""+x4(a)&&(e.value=""+x4(a)):C!=="submit"&&C!=="reset"||e.removeAttribute("value"),a!=null?c7(e,C,x4(a)):l!=null?c7(e,C,x4(l)):o!=null&&e.removeAttribute("value"),m==null&&z!=null&&(e.defaultChecked=!!z),m!=null&&(e.checked=m&&typeof m!="function"&&typeof m!="symbol"),k!=null&&typeof k!="function"&&typeof k!="symbol"&&typeof k!="boolean"?e.name=""+x4(k):e.removeAttribute("name")}function Fn(e,a,l,o,m,z,C,k){if(z!=null&&typeof z!="function"&&typeof z!="symbol"&&typeof z!="boolean"&&(e.type=z),a!=null||l!=null){if(!(z!=="submit"&&z!=="reset"||a!=null)){t7(e);return}l=l!=null?""+x4(l):"",a=a!=null?""+x4(a):l,k||a===e.value||(e.value=a),e.defaultValue=a}o=o??m,o=typeof o!="function"&&typeof o!="symbol"&&!!o,e.checked=k?e.checked:!!o,e.defaultChecked=!!o,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(e.name=C),t7(e)}function c7(e,a,l){a==="number"&&C5(e.ownerDocument)===e||e.defaultValue===""+l||(e.defaultValue=""+l)}function q6(e,a,l,o){if(e=e.options,a){a={};for(var m=0;m"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),i7=!1;if(J4)try{var K0={};Object.defineProperty(K0,"passive",{get:function(){i7=!0}}),window.addEventListener("test",K0,K0),window.removeEventListener("test",K0,K0)}catch{i7=!1}var w3=null,s7=null,H5=null;function On(){if(H5)return H5;var e,a=s7,l=a.length,o,m="value"in w3?w3.value:w3.textContent,z=m.length;for(e=0;e=W0),Gn=" ",Yn=!1;function Kn(e,a){switch(e){case"keyup":return nm.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Qn(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var I6=!1;function lm(e,a){switch(e){case"compositionend":return Qn(a);case"keypress":return a.which!==32?null:(Yn=!0,Gn);case"textInput":return e=a.data,e===Gn&&Yn?null:e;default:return null}}function im(e,a){if(I6)return e==="compositionend"||!f7&&Kn(e,a)?(e=On(),H5=s7=w3=null,I6=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:l,offset:a-e};e=o}t:{for(;l;){if(l.nextSibling){l=l.nextSibling;break t}l=l.parentNode}l=void 0}l=nr(l)}}function lr(e,a){return e&&a?e===a?!0:e&&e.nodeType===3?!1:a&&a.nodeType===3?lr(e,a.parentNode):"contains"in e?e.contains(a):e.compareDocumentPosition?!!(e.compareDocumentPosition(a)&16):!1:!1}function ir(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var a=C5(e.document);a instanceof e.HTMLIFrameElement;){try{var l=typeof a.contentWindow.location.href=="string"}catch{l=!1}if(l)e=a.contentWindow;else break;a=C5(e.document)}return a}function p7(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a&&(a==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||a==="textarea"||e.contentEditable==="true")}var vm=J4&&"documentMode"in document&&11>=document.documentMode,P6=null,g7=null,c8=null,x7=!1;function sr(e,a,l){var o=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;x7||P6==null||P6!==C5(o)||(o=P6,"selectionStart"in o&&p7(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),c8&&e8(c8,o)||(c8=o,o=zt(g7,"onSelect"),0>=C,m-=C,P4=1<<32-p1(a)+m|l<Y1?(a2=B1,B1=null):a2=B1.sibling;var i2=e1(Y,B1,J[Y1],o1);if(i2===null){B1===null&&(B1=a2);break}e&&B1&&i2.alternate===null&&a(Y,B1),$=z(i2,$,Y1),l2===null?F1=i2:l2.sibling=i2,l2=i2,B1=a2}if(Y1===J.length)return l(Y,B1),n2&&e3(Y,Y1),F1;if(B1===null){for(;Y1Y1?(a2=B1,B1=null):a2=B1.sibling;var $3=e1(Y,B1,i2.value,o1);if($3===null){B1===null&&(B1=a2);break}e&&B1&&$3.alternate===null&&a(Y,B1),$=z($3,$,Y1),l2===null?F1=$3:l2.sibling=$3,l2=$3,B1=a2}if(i2.done)return l(Y,B1),n2&&e3(Y,Y1),F1;if(B1===null){for(;!i2.done;Y1++,i2=J.next())i2=u1(Y,i2.value,o1),i2!==null&&($=z(i2,$,Y1),l2===null?F1=i2:l2.sibling=i2,l2=i2);return n2&&e3(Y,Y1),F1}for(B1=o(B1);!i2.done;Y1++,i2=J.next())i2=n1(B1,Y,Y1,i2.value,o1),i2!==null&&(e&&i2.alternate!==null&&B1.delete(i2.key===null?Y1:i2.key),$=z(i2,$,Y1),l2===null?F1=i2:l2.sibling=i2,l2=i2);return e&&B1.forEach(function(Rv){return a(Y,Rv)}),n2&&e3(Y,Y1),F1}function p2(Y,$,J,o1){if(typeof J=="object"&&J!==null&&J.type===A&&J.key===null&&(J=J.props.children),typeof J=="object"&&J!==null){switch(J.$$typeof){case M:t:{for(var F1=J.key;$!==null;){if($.key===F1){if(F1=J.type,F1===A){if($.tag===7){l(Y,$.sibling),o1=m($,J.props.children),o1.return=Y,Y=o1;break t}}else if($.elementType===F1||typeof F1=="object"&&F1!==null&&F1.$$typeof===B&&h6(F1)===$.type){l(Y,$.sibling),o1=m($,J.props),s8(o1,J),o1.return=Y,Y=o1;break t}l(Y,$);break}else a(Y,$);$=$.sibling}J.type===A?(o1=l6(J.props.children,Y.mode,o1,J.key),o1.return=Y,Y=o1):(o1=E5(J.type,J.key,J.props,null,Y.mode,o1),s8(o1,J),o1.return=Y,Y=o1)}return C(Y);case L:t:{for(F1=J.key;$!==null;){if($.key===F1)if($.tag===4&&$.stateNode.containerInfo===J.containerInfo&&$.stateNode.implementation===J.implementation){l(Y,$.sibling),o1=m($,J.children||[]),o1.return=Y,Y=o1;break t}else{l(Y,$);break}else a(Y,$);$=$.sibling}o1=S7(J,Y.mode,o1),o1.return=Y,Y=o1}return C(Y);case B:return J=h6(J),p2(Y,$,J,o1)}if(Q(J))return L1(Y,$,J,o1);if(D(J)){if(F1=D(J),typeof F1!="function")throw Error(i(150));return J=F1.call(J),_1(Y,$,J,o1)}if(typeof J.then=="function")return p2(Y,$,I5(J),o1);if(J.$$typeof===S)return p2(Y,$,q5(Y,J),o1);P5(Y,J)}return typeof J=="string"&&J!==""||typeof J=="number"||typeof J=="bigint"?(J=""+J,$!==null&&$.tag===6?(l(Y,$.sibling),o1=m($,J),o1.return=Y,Y=o1):(l(Y,$),o1=C7(J,Y.mode,o1),o1.return=Y,Y=o1),C(Y)):l(Y,$)}return function(Y,$,J,o1){try{i8=0;var F1=p2(Y,$,J,o1);return e0=null,F1}catch(B1){if(B1===t0||B1===O5)throw B1;var l2=h4(29,B1,null,Y.mode);return l2.lanes=o1,l2.return=Y,l2}finally{}}}var f6=jr(!0),Nr=jr(!1),L3=!1;function T7(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function _7(e,a){e=e.updateQueue,a.updateQueue===e&&(a.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function V3(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function B3(e,a,l){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(o2&2)!==0){var m=o.pending;return m===null?a.next=a:(a.next=m.next,m.next=a),o.pending=a,a=R5(e),vr(e,null,l),a}return F5(e,o,a,l),R5(e)}function o8(e,a,l){if(a=a.updateQueue,a!==null&&(a=a.shared,(l&4194048)!==0)){var o=a.lanes;o&=e.pendingLanes,l|=o,a.lanes=l,wn(e,l)}}function q7(e,a){var l=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,l===o)){var m=null,z=null;if(l=l.firstBaseUpdate,l!==null){do{var C={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};z===null?m=z=C:z=z.next=C,l=l.next}while(l!==null);z===null?m=z=a:z=z.next=a}else m=z=a;l={baseState:o.baseState,firstBaseUpdate:m,lastBaseUpdate:z,shared:o.shared,callbacks:o.callbacks},e.updateQueue=l;return}e=l.lastBaseUpdate,e===null?l.firstBaseUpdate=a:e.next=a,l.lastBaseUpdate=a}var D7=!1;function u8(){if(D7){var e=J6;if(e!==null)throw e}}function h8(e,a,l,o){D7=!1;var m=e.updateQueue;L3=!1;var z=m.firstBaseUpdate,C=m.lastBaseUpdate,k=m.shared.pending;if(k!==null){m.shared.pending=null;var U=k,t1=U.next;U.next=null,C===null?z=t1:C.next=t1,C=U;var s1=e.alternate;s1!==null&&(s1=s1.updateQueue,k=s1.lastBaseUpdate,k!==C&&(k===null?s1.firstBaseUpdate=t1:k.next=t1,s1.lastBaseUpdate=U))}if(z!==null){var u1=m.baseState;C=0,s1=t1=U=null,k=z;do{var e1=k.lane&-536870913,n1=e1!==k.lane;if(n1?(c2&e1)===e1:(o&e1)===e1){e1!==0&&e1===W6&&(D7=!0),s1!==null&&(s1=s1.next={lane:0,tag:k.tag,payload:k.payload,callback:null,next:null});t:{var L1=e,_1=k;e1=a;var p2=l;switch(_1.tag){case 1:if(L1=_1.payload,typeof L1=="function"){u1=L1.call(p2,u1,e1);break t}u1=L1;break t;case 3:L1.flags=L1.flags&-65537|128;case 0:if(L1=_1.payload,e1=typeof L1=="function"?L1.call(p2,u1,e1):L1,e1==null)break t;u1=b({},u1,e1);break t;case 2:L3=!0}}e1=k.callback,e1!==null&&(e.flags|=64,n1&&(e.flags|=8192),n1=m.callbacks,n1===null?m.callbacks=[e1]:n1.push(e1))}else n1={lane:e1,tag:k.tag,payload:k.payload,callback:k.callback,next:null},s1===null?(t1=s1=n1,U=u1):s1=s1.next=n1,C|=e1;if(k=k.next,k===null){if(k=m.shared.pending,k===null)break;n1=k,k=n1.next,n1.next=null,m.lastBaseUpdate=n1,m.shared.pending=null}}while(!0);s1===null&&(U=u1),m.baseState=U,m.firstBaseUpdate=t1,m.lastBaseUpdate=s1,z===null&&(m.shared.lanes=0),R3|=C,e.lanes=C,e.memoizedState=u1}}function kr(e,a){if(typeof e!="function")throw Error(i(191,e));e.call(a)}function Fr(e,a){var l=e.callbacks;if(l!==null)for(e.callbacks=null,e=0;ez?z:8;var C=T.T,k={};T.T=k,r9(e,!1,a,l);try{var U=m(),t1=T.S;if(t1!==null&&t1(k,U),U!==null&&typeof U=="object"&&typeof U.then=="function"){var s1=Cm(U,o);m8(e,a,s1,p4(e))}else m8(e,a,o,p4(e))}catch(u1){m8(e,a,{then:function(){},status:"rejected",reason:u1},p4())}finally{Z.p=z,C!==null&&k.types!==null&&(C.types=k.types),T.T=C}}function Bm(){}function a9(e,a,l,o){if(e.tag!==5)throw Error(i(476));var m=dl(e).queue;hl(e,m,a,P,l===null?Bm:function(){return fl(e),l(o)})}function dl(e){var a=e.memoizedState;if(a!==null)return a;a={memoizedState:P,baseState:P,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:r3,lastRenderedState:P},next:null};var l={};return a.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:r3,lastRenderedState:l},next:null},e.memoizedState=a,e=e.alternate,e!==null&&(e.memoizedState=a),a}function fl(e){var a=dl(e);a.next===null&&(a=e.alternate.memoizedState),m8(e,a.next.queue,{},p4())}function n9(){return K2(j8)}function ml(){return B2().memoizedState}function vl(){return B2().memoizedState}function jm(e){for(var a=e.return;a!==null;){switch(a.tag){case 24:case 3:var l=p4();e=V3(l);var o=B3(a,e,l);o!==null&&(s4(o,a,l),o8(o,a,l)),a={cache:k7()},e.payload=a;return}a=a.return}}function Nm(e,a,l){var o=p4();l={lane:o,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},tt(e)?gl(a,l):(l=M7(e,a,l,o),l!==null&&(s4(l,e,o),xl(l,a,o)))}function pl(e,a,l){var o=p4();m8(e,a,l,o)}function m8(e,a,l,o){var m={lane:o,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(tt(e))gl(a,m);else{var z=e.alternate;if(e.lanes===0&&(z===null||z.lanes===0)&&(z=a.lastRenderedReducer,z!==null))try{var C=a.lastRenderedState,k=z(C,l);if(m.hasEagerState=!0,m.eagerState=k,u4(k,C))return F5(e,a,m,0),g2===null&&k5(),!1}catch{}finally{}if(l=M7(e,a,m,o),l!==null)return s4(l,e,o),xl(l,a,o),!0}return!1}function r9(e,a,l,o){if(o={lane:2,revertLane:T9(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},tt(e)){if(a)throw Error(i(479))}else a=M7(e,l,o,2),a!==null&&s4(a,e,2)}function tt(e){var a=e.alternate;return e===G1||a!==null&&a===G1}function gl(e,a){a0=G5=!0;var l=e.pending;l===null?a.next=a:(a.next=l.next,l.next=a),e.pending=a}function xl(e,a,l){if((l&4194048)!==0){var o=a.lanes;o&=e.pendingLanes,l|=o,a.lanes=l,wn(e,l)}}var v8={readContext:K2,use:Q5,useCallback:H2,useContext:H2,useEffect:H2,useImperativeHandle:H2,useLayoutEffect:H2,useInsertionEffect:H2,useMemo:H2,useReducer:H2,useRef:H2,useState:H2,useDebugValue:H2,useDeferredValue:H2,useTransition:H2,useSyncExternalStore:H2,useId:H2,useHostTransitionStatus:H2,useFormState:H2,useActionState:H2,useOptimistic:H2,useMemoCache:H2,useCacheRefresh:H2};v8.useEffectEvent=H2;var zl={readContext:K2,use:Q5,useCallback:function(e,a){return e4().memoizedState=[e,a===void 0?null:a],e},useContext:K2,useEffect:cl,useImperativeHandle:function(e,a,l){l=l!=null?l.concat([e]):null,W5(4194308,4,ll.bind(null,a,e),l)},useLayoutEffect:function(e,a){return W5(4194308,4,e,a)},useInsertionEffect:function(e,a){W5(4,2,e,a)},useMemo:function(e,a){var l=e4();a=a===void 0?null:a;var o=e();if(m6){V1(!0);try{e()}finally{V1(!1)}}return l.memoizedState=[o,a],o},useReducer:function(e,a,l){var o=e4();if(l!==void 0){var m=l(a);if(m6){V1(!0);try{l(a)}finally{V1(!1)}}}else m=a;return o.memoizedState=o.baseState=m,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:m},o.queue=e,e=e.dispatch=Nm.bind(null,G1,e),[o.memoizedState,e]},useRef:function(e){var a=e4();return e={current:e},a.memoizedState=e},useState:function(e){e=W7(e);var a=e.queue,l=pl.bind(null,G1,a);return a.dispatch=l,[e.memoizedState,l]},useDebugValue:e9,useDeferredValue:function(e,a){var l=e4();return c9(l,e,a)},useTransition:function(){var e=W7(!1);return e=hl.bind(null,G1,e.queue,!0,!1),e4().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,a,l){var o=G1,m=e4();if(n2){if(l===void 0)throw Error(i(407));l=l()}else{if(l=a(),g2===null)throw Error(i(349));(c2&127)!==0||Dr(o,a,l)}m.memoizedState=l;var z={value:l,getSnapshot:a};return m.queue=z,cl(Ur.bind(null,o,z,e),[e]),o.flags|=2048,r0(9,{destroy:void 0},Or.bind(null,o,z,l,a),null),l},useId:function(){var e=e4(),a=g2.identifierPrefix;if(n2){var l=$4,o=P4;l=(o&~(1<<32-p1(o)-1)).toString(32)+l,a="_"+a+"R_"+l,l=Y5++,0<\/script>",z=z.removeChild(z.firstChild);break;case"select":z=typeof o.is=="string"?C.createElement("select",{is:o.is}):C.createElement("select"),o.multiple?z.multiple=!0:o.size&&(z.size=o.size);break;default:z=typeof o.is=="string"?C.createElement(m,{is:o.is}):C.createElement(m)}}z[G2]=a,z[c4]=o;t:for(C=a.child;C!==null;){if(C.tag===5||C.tag===6)z.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===a)break t;for(;C.sibling===null;){if(C.return===null||C.return===a)break t;C=C.return}C.sibling.return=C.return,C=C.sibling}a.stateNode=z;t:switch(X2(z,m,o),m){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break t;case"img":o=!0;break t;default:o=!1}o&&i3(a)}}return z2(a),z9(a,a.type,e===null?null:e.memoizedProps,a.pendingProps,l),null;case 6:if(e&&a.stateNode!=null)e.memoizedProps!==o&&i3(a);else{if(typeof o!="string"&&a.stateNode===null)throw Error(i(166));if(e=m1.current,Q6(a)){if(e=a.stateNode,l=a.memoizedProps,o=null,m=Y2,m!==null)switch(m.tag){case 27:case 5:o=m.memoizedProps}e[G2]=a,e=!!(e.nodeValue===l||o!==null&&o.suppressHydrationWarning===!0||_i(e.nodeValue,l)),e||H3(a,!0)}else e=bt(e).createTextNode(o),e[G2]=a,a.stateNode=e}return z2(a),null;case 31:if(l=a.memoizedState,e===null||e.memoizedState!==null){if(o=Q6(a),l!==null){if(e===null){if(!o)throw Error(i(318));if(e=a.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(i(557));e[G2]=a}else i6(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;z2(a),e=!1}else l=V7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),e=!0;if(!e)return a.flags&256?(f4(a),a):(f4(a),null);if((a.flags&128)!==0)throw Error(i(558))}return z2(a),null;case 13:if(o=a.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(m=Q6(a),o!==null&&o.dehydrated!==null){if(e===null){if(!m)throw Error(i(318));if(m=a.memoizedState,m=m!==null?m.dehydrated:null,!m)throw Error(i(317));m[G2]=a}else i6(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;z2(a),m=!1}else m=V7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=m),m=!0;if(!m)return a.flags&256?(f4(a),a):(f4(a),null)}return f4(a),(a.flags&128)!==0?(a.lanes=l,a):(l=o!==null,e=e!==null&&e.memoizedState!==null,l&&(o=a.child,m=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(m=o.alternate.memoizedState.cachePool.pool),z=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(z=o.memoizedState.cachePool.pool),z!==m&&(o.flags|=2048)),l!==e&&l&&(a.child.flags|=8192),rt(a,a.updateQueue),z2(a),null);case 4:return k1(),e===null&&O9(a.stateNode.containerInfo),z2(a),null;case 10:return a3(a.type),z2(a),null;case 19:if(O(V2),o=a.memoizedState,o===null)return z2(a),null;if(m=(a.flags&128)!==0,z=o.rendering,z===null)if(m)g8(o,!1);else{if(A2!==0||e!==null&&(e.flags&128)!==0)for(e=a.child;e!==null;){if(z=Z5(e),z!==null){for(a.flags|=128,g8(o,!1),e=z.updateQueue,a.updateQueue=e,rt(a,e),a.subtreeFlags=0,e=l,l=a.child;l!==null;)pr(l,e),l=l.sibling;return G(V2,V2.current&1|2),n2&&e3(a,o.treeForkCount),a.child}e=e.sibling}o.tail!==null&&i1()>ut&&(a.flags|=128,m=!0,g8(o,!1),a.lanes=4194304)}else{if(!m)if(e=Z5(z),e!==null){if(a.flags|=128,m=!0,e=e.updateQueue,a.updateQueue=e,rt(a,e),g8(o,!0),o.tail===null&&o.tailMode==="hidden"&&!z.alternate&&!n2)return z2(a),null}else 2*i1()-o.renderingStartTime>ut&&l!==536870912&&(a.flags|=128,m=!0,g8(o,!1),a.lanes=4194304);o.isBackwards?(z.sibling=a.child,a.child=z):(e=o.last,e!==null?e.sibling=z:a.child=z,o.last=z)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=i1(),e.sibling=null,l=V2.current,G(V2,m?l&1|2:l&1),n2&&e3(a,o.treeForkCount),e):(z2(a),null);case 22:case 23:return f4(a),U7(),o=a.memoizedState!==null,e!==null?e.memoizedState!==null!==o&&(a.flags|=8192):o&&(a.flags|=8192),o?(l&536870912)!==0&&(a.flags&128)===0&&(z2(a),a.subtreeFlags&6&&(a.flags|=8192)):z2(a),l=a.updateQueue,l!==null&&rt(a,l.retryQueue),l=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),o=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(o=a.memoizedState.cachePool.pool),o!==l&&(a.flags|=2048),e!==null&&O(u6),null;case 24:return l=null,e!==null&&(l=e.memoizedState.cache),a.memoizedState.cache!==l&&(a.flags|=2048),a3(k2),z2(a),null;case 25:return null;case 30:return null}throw Error(i(156,a.tag))}function Tm(e,a){switch(A7(a),a.tag){case 1:return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 3:return a3(k2),k1(),e=a.flags,(e&65536)!==0&&(e&128)===0?(a.flags=e&-65537|128,a):null;case 26:case 27:case 5:return W1(a),null;case 31:if(a.memoizedState!==null){if(f4(a),a.alternate===null)throw Error(i(340));i6()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 13:if(f4(a),e=a.memoizedState,e!==null&&e.dehydrated!==null){if(a.alternate===null)throw Error(i(340));i6()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 19:return O(V2),null;case 4:return k1(),null;case 10:return a3(a.type),null;case 22:case 23:return f4(a),U7(),e!==null&&O(u6),e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 24:return a3(k2),null;case 25:return null;default:return null}}function Il(e,a){switch(A7(a),a.tag){case 3:a3(k2),k1();break;case 26:case 27:case 5:W1(a);break;case 4:k1();break;case 31:a.memoizedState!==null&&f4(a);break;case 13:f4(a);break;case 19:O(V2);break;case 10:a3(a.type);break;case 22:case 23:f4(a),U7(),e!==null&&O(u6);break;case 24:a3(k2)}}function x8(e,a){try{var l=a.updateQueue,o=l!==null?l.lastEffect:null;if(o!==null){var m=o.next;l=m;do{if((l.tag&e)===e){o=void 0;var z=l.create,C=l.inst;o=z(),C.destroy=o}l=l.next}while(l!==m)}}catch(k){d2(a,a.return,k)}}function k3(e,a,l){try{var o=a.updateQueue,m=o!==null?o.lastEffect:null;if(m!==null){var z=m.next;o=z;do{if((o.tag&e)===e){var C=o.inst,k=C.destroy;if(k!==void 0){C.destroy=void 0,m=a;var U=l,t1=k;try{t1()}catch(s1){d2(m,U,s1)}}}o=o.next}while(o!==z)}}catch(s1){d2(a,a.return,s1)}}function Pl(e){var a=e.updateQueue;if(a!==null){var l=e.stateNode;try{Fr(a,l)}catch(o){d2(e,e.return,o)}}}function $l(e,a,l){l.props=v6(e.type,e.memoizedProps),l.state=e.memoizedState;try{l.componentWillUnmount()}catch(o){d2(e,a,o)}}function z8(e,a){try{var l=e.ref;if(l!==null){switch(e.tag){case 26:case 27:case 5:var o=e.stateNode;break;case 30:o=e.stateNode;break;default:o=e.stateNode}typeof l=="function"?e.refCleanup=l(o):l.current=o}}catch(m){d2(e,a,m)}}function Z4(e,a){var l=e.ref,o=e.refCleanup;if(l!==null)if(typeof o=="function")try{o()}catch(m){d2(e,a,m)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(m){d2(e,a,m)}else l.current=null}function Zl(e){var a=e.type,l=e.memoizedProps,o=e.stateNode;try{t:switch(a){case"button":case"input":case"select":case"textarea":l.autoFocus&&o.focus();break t;case"img":l.src?o.src=l.src:l.srcSet&&(o.srcset=l.srcSet)}}catch(m){d2(e,e.return,m)}}function b9(e,a,l){try{var o=e.stateNode;rv(o,e.type,l,a),o[c4]=a}catch(m){d2(e,e.return,m)}}function Gl(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&D3(e.type)||e.tag===4}function y9(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Gl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&D3(e.type)||e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function M9(e,a,l){var o=e.tag;if(o===5||o===6)e=e.stateNode,a?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(e,a):(a=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,a.appendChild(e),l=l._reactRootContainer,l!=null||a.onclick!==null||(a.onclick=W4));else if(o!==4&&(o===27&&D3(e.type)&&(l=e.stateNode,a=null),e=e.child,e!==null))for(M9(e,a,l),e=e.sibling;e!==null;)M9(e,a,l),e=e.sibling}function lt(e,a,l){var o=e.tag;if(o===5||o===6)e=e.stateNode,a?l.insertBefore(e,a):l.appendChild(e);else if(o!==4&&(o===27&&D3(e.type)&&(l=e.stateNode),e=e.child,e!==null))for(lt(e,a,l),e=e.sibling;e!==null;)lt(e,a,l),e=e.sibling}function Yl(e){var a=e.stateNode,l=e.memoizedProps;try{for(var o=e.type,m=a.attributes;m.length;)a.removeAttributeNode(m[0]);X2(a,o,l),a[G2]=e,a[c4]=l}catch(z){d2(e,e.return,z)}}var s3=!1,E2=!1,w9=!1,Kl=typeof WeakSet=="function"?WeakSet:Set,Z2=null;function _m(e,a){if(e=e.containerInfo,P9=At,e=ir(e),p7(e)){if("selectionStart"in e)var l={start:e.selectionStart,end:e.selectionEnd};else t:{l=(l=e.ownerDocument)&&l.defaultView||window;var o=l.getSelection&&l.getSelection();if(o&&o.rangeCount!==0){l=o.anchorNode;var m=o.anchorOffset,z=o.focusNode;o=o.focusOffset;try{l.nodeType,z.nodeType}catch{l=null;break t}var C=0,k=-1,U=-1,t1=0,s1=0,u1=e,e1=null;e:for(;;){for(var n1;u1!==l||m!==0&&u1.nodeType!==3||(k=C+m),u1!==z||o!==0&&u1.nodeType!==3||(U=C+o),u1.nodeType===3&&(C+=u1.nodeValue.length),(n1=u1.firstChild)!==null;)e1=u1,u1=n1;for(;;){if(u1===e)break e;if(e1===l&&++t1===m&&(k=C),e1===z&&++s1===o&&(U=C),(n1=u1.nextSibling)!==null)break;u1=e1,e1=u1.parentNode}u1=n1}l=k===-1||U===-1?null:{start:k,end:U}}else l=null}l=l||{start:0,end:0}}else l=null;for($9={focusedElem:e,selectionRange:l},At=!1,Z2=a;Z2!==null;)if(a=Z2,e=a.child,(a.subtreeFlags&1028)!==0&&e!==null)e.return=a,Z2=e;else for(;Z2!==null;){switch(a=Z2,z=a.alternate,e=a.flags,a.tag){case 0:if((e&4)!==0&&(e=a.updateQueue,e=e!==null?e.events:null,e!==null))for(l=0;l title"))),X2(z,o,l),z[G2]=e,$2(z),o=z;break t;case"link":var C=es("link","href",m).get(o+(l.href||""));if(C){for(var k=0;kp2&&(C=p2,p2=_1,_1=C);var Y=rr(k,_1),$=rr(k,p2);if(Y&&$&&(n1.rangeCount!==1||n1.anchorNode!==Y.node||n1.anchorOffset!==Y.offset||n1.focusNode!==$.node||n1.focusOffset!==$.offset)){var J=u1.createRange();J.setStart(Y.node,Y.offset),n1.removeAllRanges(),_1>p2?(n1.addRange(J),n1.extend($.node,$.offset)):(J.setEnd($.node,$.offset),n1.addRange(J))}}}}for(u1=[],n1=k;n1=n1.parentNode;)n1.nodeType===1&&u1.push({element:n1,left:n1.scrollLeft,top:n1.scrollTop});for(typeof k.focus=="function"&&k.focus(),k=0;kl?32:l,T.T=null,l=B9,B9=null;var z=T3,C=f3;if(O2=0,u0=T3=null,f3=0,(o2&6)!==0)throw Error(i(331));var k=o2;if(o2|=4,li(z.current),ai(z,z.current,C,l),o2=k,S8(0,!1),b1&&typeof b1.onPostCommitFiberRoot=="function")try{b1.onPostCommitFiberRoot(c1,z)}catch{}return!0}finally{Z.p=m,T.T=o,Ci(e,a)}}function Hi(e,a,l){a=y4(l,a),a=o9(e.stateNode,a,2),e=B3(e,a,2),e!==null&&($0(e,2),G4(e))}function d2(e,a,l){if(e.tag===3)Hi(e,e,l);else for(;a!==null;){if(a.tag===3){Hi(a,e,l);break}else if(a.tag===1){var o=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(E3===null||!E3.has(o))){e=y4(l,e),l=Al(2),o=B3(a,l,2),o!==null&&(Ll(l,o,a,e),$0(o,2),G4(o));break}}a=a.return}}function F9(e,a,l){var o=e.pingCache;if(o===null){o=e.pingCache=new Om;var m=new Set;o.set(a,m)}else m=o.get(a),m===void 0&&(m=new Set,o.set(a,m));m.has(l)||(H9=!0,m.add(l),e=Zm.bind(null,e,a,l),a.then(e,e))}function Zm(e,a,l){var o=e.pingCache;o!==null&&o.delete(a),e.pingedLanes|=e.suspendedLanes&l,e.warmLanes&=~l,g2===e&&(c2&l)===l&&(A2===4||A2===3&&(c2&62914560)===c2&&300>i1()-ot?(o2&2)===0&&h0(e,0):A9|=l,o0===c2&&(o0=0)),G4(e)}function Ai(e,a){a===0&&(a=yn()),e=r6(e,a),e!==null&&($0(e,a),G4(e))}function Gm(e){var a=e.memoizedState,l=0;a!==null&&(l=a.retryLane),Ai(e,l)}function Ym(e,a){var l=0;switch(e.tag){case 31:case 13:var o=e.stateNode,m=e.memoizedState;m!==null&&(l=m.retryLane);break;case 19:o=e.stateNode;break;case 22:o=e.stateNode._retryCache;break;default:throw Error(i(314))}o!==null&&o.delete(a),Ai(e,l)}function Km(e,a){return z1(e,a)}var pt=null,f0=null,R9=!1,gt=!1,E9=!1,q3=0;function G4(e){e!==f0&&e.next===null&&(f0===null?pt=f0=e:f0=f0.next=e),gt=!0,R9||(R9=!0,Xm())}function S8(e,a){if(!E9&>){E9=!0;do for(var l=!1,o=pt;o!==null;){if(e!==0){var m=o.pendingLanes;if(m===0)var z=0;else{var C=o.suspendedLanes,k=o.pingedLanes;z=(1<<31-p1(42|e)+1)-1,z&=m&~(C&~k),z=z&201326741?z&201326741|1:z?z|2:0}z!==0&&(l=!0,ji(o,z))}else z=c2,z=f2(o,o===g2?z:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(z&3)===0||E4(o,z)||(l=!0,ji(o,z));o=o.next}while(l);E9=!1}}function Qm(){Li()}function Li(){gt=R9=!1;var e=0;q3!==0&&iv()&&(e=q3);for(var a=i1(),l=null,o=pt;o!==null;){var m=o.next,z=Vi(o,a);z===0?(o.next=null,l===null?pt=m:l.next=m,m===null&&(f0=l)):(l=o,(e!==0||(z&3)!==0)&&(gt=!0)),o=m}O2!==0&&O2!==5||S8(e),q3!==0&&(q3=0)}function Vi(e,a){for(var l=e.suspendedLanes,o=e.pingedLanes,m=e.expirationTimes,z=e.pendingLanes&-62914561;0k)break;var s1=U.transferSize,u1=U.initiatorType;s1&&qi(u1)&&(U=U.responseEnd,C+=s1*(U"u"?null:document;function Xi(e,a,l){var o=m0;if(o&&typeof a=="string"&&a){var m=z4(a);m='link[rel="'+e+'"][href="'+m+'"]',typeof l=="string"&&(m+='[crossorigin="'+l+'"]'),Qi.has(m)||(Qi.add(m),e={rel:e,crossOrigin:l,href:a},o.querySelector(m)===null&&(a=o.createElement("link"),X2(a,"link",e),$2(a),o.head.appendChild(a)))}}function pv(e){m3.D(e),Xi("dns-prefetch",e,null)}function gv(e,a){m3.C(e,a),Xi("preconnect",e,a)}function xv(e,a,l){m3.L(e,a,l);var o=m0;if(o&&e&&a){var m='link[rel="preload"][as="'+z4(a)+'"]';a==="image"&&l&&l.imageSrcSet?(m+='[imagesrcset="'+z4(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(m+='[imagesizes="'+z4(l.imageSizes)+'"]')):m+='[href="'+z4(e)+'"]';var z=m;switch(a){case"style":z=v0(e);break;case"script":z=p0(e)}A4.has(z)||(e=b({rel:"preload",href:a==="image"&&l&&l.imageSrcSet?void 0:e,as:a},l),A4.set(z,e),o.querySelector(m)!==null||a==="style"&&o.querySelector(V8(z))||a==="script"&&o.querySelector(B8(z))||(a=o.createElement("link"),X2(a,"link",e),$2(a),o.head.appendChild(a)))}}function zv(e,a){m3.m(e,a);var l=m0;if(l&&e){var o=a&&typeof a.as=="string"?a.as:"script",m='link[rel="modulepreload"][as="'+z4(o)+'"][href="'+z4(e)+'"]',z=m;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":z=p0(e)}if(!A4.has(z)&&(e=b({rel:"modulepreload",href:e},a),A4.set(z,e),l.querySelector(m)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(B8(z)))return}o=l.createElement("link"),X2(o,"link",e),$2(o),l.head.appendChild(o)}}}function bv(e,a,l){m3.S(e,a,l);var o=m0;if(o&&e){var m=T6(o).hoistableStyles,z=v0(e);a=a||"default";var C=m.get(z);if(!C){var k={loading:0,preload:null};if(C=o.querySelector(V8(z)))k.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":a},l),(l=A4.get(z))&&W9(e,l);var U=C=o.createElement("link");$2(U),X2(U,"link",e),U._p=new Promise(function(t1,s1){U.onload=t1,U.onerror=s1}),U.addEventListener("load",function(){k.loading|=1}),U.addEventListener("error",function(){k.loading|=2}),k.loading|=4,Mt(C,a,o)}C={type:"stylesheet",instance:C,count:1,state:k},m.set(z,C)}}}function yv(e,a){m3.X(e,a);var l=m0;if(l&&e){var o=T6(l).hoistableScripts,m=p0(e),z=o.get(m);z||(z=l.querySelector(B8(m)),z||(e=b({src:e,async:!0},a),(a=A4.get(m))&&J9(e,a),z=l.createElement("script"),$2(z),X2(z,"link",e),l.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},o.set(m,z))}}function Mv(e,a){m3.M(e,a);var l=m0;if(l&&e){var o=T6(l).hoistableScripts,m=p0(e),z=o.get(m);z||(z=l.querySelector(B8(m)),z||(e=b({src:e,async:!0,type:"module"},a),(a=A4.get(m))&&J9(e,a),z=l.createElement("script"),$2(z),X2(z,"link",e),l.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},o.set(m,z))}}function Wi(e,a,l,o){var m=(m=m1.current)?yt(m):null;if(!m)throw Error(i(446));switch(e){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(a=v0(l.href),l=T6(m).hoistableStyles,o=l.get(a),o||(o={type:"style",instance:null,count:0,state:null},l.set(a,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){e=v0(l.href);var z=T6(m).hoistableStyles,C=z.get(e);if(C||(m=m.ownerDocument||m,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},z.set(e,C),(z=m.querySelector(V8(e)))&&!z._p&&(C.instance=z,C.state.loading=5),A4.has(e)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},A4.set(e,l),z||wv(m,e,l,C.state))),a&&o===null)throw Error(i(528,""));return C}if(a&&o!==null)throw Error(i(529,""));return null;case"script":return a=l.async,l=l.src,typeof l=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=p0(l),l=T6(m).hoistableScripts,o=l.get(a),o||(o={type:"script",instance:null,count:0,state:null},l.set(a,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,e))}}function v0(e){return'href="'+z4(e)+'"'}function V8(e){return'link[rel="stylesheet"]['+e+"]"}function Ji(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function wv(e,a,l,o){e.querySelector('link[rel="preload"][as="style"]['+a+"]")?o.loading=1:(a=e.createElement("link"),o.preload=a,a.addEventListener("load",function(){return o.loading|=1}),a.addEventListener("error",function(){return o.loading|=2}),X2(a,"link",l),$2(a),e.head.appendChild(a))}function p0(e){return'[src="'+z4(e)+'"]'}function B8(e){return"script[async]"+e}function ts(e,a,l){if(a.count++,a.instance===null)switch(a.type){case"style":var o=e.querySelector('style[data-href~="'+z4(l.href)+'"]');if(o)return a.instance=o,$2(o),o;var m=b({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return o=(e.ownerDocument||e).createElement("style"),$2(o),X2(o,"style",m),Mt(o,l.precedence,e),a.instance=o;case"stylesheet":m=v0(l.href);var z=e.querySelector(V8(m));if(z)return a.state.loading|=4,a.instance=z,$2(z),z;o=Ji(l),(m=A4.get(m))&&W9(o,m),z=(e.ownerDocument||e).createElement("link"),$2(z);var C=z;return C._p=new Promise(function(k,U){C.onload=k,C.onerror=U}),X2(z,"link",o),a.state.loading|=4,Mt(z,l.precedence,e),a.instance=z;case"script":return z=p0(l.src),(m=e.querySelector(B8(z)))?(a.instance=m,$2(m),m):(o=l,(m=A4.get(z))&&(o=b({},l),J9(o,m)),e=e.ownerDocument||e,m=e.createElement("script"),$2(m),X2(m,"link",o),e.head.appendChild(m),a.instance=m);case"void":return null;default:throw Error(i(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(o=a.instance,a.state.loading|=4,Mt(o,l.precedence,e));return a.instance}function Mt(e,a,l){for(var o=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),m=o.length?o[o.length-1]:null,z=m,C=0;C title"):null)}function Cv(e,a,l){if(l===1||a.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return e=a.disabled,typeof a.precedence=="string"&&e==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function as(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Sv(e,a,l,o){if(l.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var m=v0(o.href),z=a.querySelector(V8(m));if(z){a=z._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(e.count++,e=Ct.bind(e),a.then(e,e)),l.state.loading|=4,l.instance=z,$2(z);return}z=a.ownerDocument||a,o=Ji(o),(m=A4.get(m))&&W9(o,m),z=z.createElement("link"),$2(z);var C=z;C._p=new Promise(function(k,U){C.onload=k,C.onerror=U}),X2(z,"link",o),l.instance=z}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(l,a),(a=l.state.preload)&&(l.state.loading&3)===0&&(e.count++,l=Ct.bind(e),a.addEventListener("load",l),a.addEventListener("error",l))}}var tc=0;function Hv(e,a){return e.stylesheets&&e.count===0&&Ht(e,e.stylesheets),0tc?50:800)+a);return e.unsuspend=l,function(){e.unsuspend=null,clearTimeout(o),clearTimeout(m)}}:null}function Ct(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ht(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var St=null;function Ht(e,a){e.stylesheets=null,e.unsuspend!==null&&(e.count++,St=new Map,a.forEach(Av,e),St=null,Ct.call(e))}function Av(e,a){if(!(a.state.loading&4)){var l=St.get(e);if(l)var o=l.get(null);else{l=new Map,St.set(e,l);for(var m=e.querySelectorAll("link[data-precedence],style[data-precedence]"),z=0;z"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(c){console.error(c)}}return t(),oc.exports=Iv(),oc.exports}var $v=Pv();var As="popstate";function Zv(t={}){function c(i,u){let{pathname:h,search:d,hash:v}=i.location;return Qc("",{pathname:h,search:d,hash:v},u.state&&u.state.usr||null,u.state&&u.state.key||"default")}function n(i,u){return typeof u=="string"?u:c5(u)}return Yv(c,n,null,t)}function w2(t,c){if(t===!1||t===null||typeof t>"u")throw new Error(c)}function I4(t,c){if(!t){typeof console<"u"&&console.warn(c);try{throw new Error(c)}catch{}}}function Gv(){return Math.random().toString(36).substring(2,10)}function Ls(t,c){return{usr:t.state,key:t.key,idx:c}}function Qc(t,c,n=null,i){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof c=="string"?T0(c):c,state:n,key:c&&c.key||i||Gv()}}function c5({pathname:t="/",search:c="",hash:n=""}){return c&&c!=="?"&&(t+=c.charAt(0)==="?"?c:"?"+c),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function T0(t){let c={};if(t){let n=t.indexOf("#");n>=0&&(c.hash=t.substring(n),t=t.substring(0,n));let i=t.indexOf("?");i>=0&&(c.search=t.substring(i),t=t.substring(0,i)),t&&(c.pathname=t)}return c}function Yv(t,c,n,i={}){let{window:u=document.defaultView,v5Compat:h=!1}=i,d=u.history,v="POP",p=null,x=g();x==null&&(x=0,d.replaceState({...d.state,idx:x},""));function g(){return(d.state||{idx:null}).idx}function b(){v="POP";let w=g(),V=w==null?null:w-x;x=w,p&&p({action:v,location:A.location,delta:V})}function y(w,V){v="PUSH";let H=Qc(A.location,w,V);x=g()+1;let S=Ls(H,x),N=A.createHref(H);try{d.pushState(S,"",N)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;u.location.assign(N)}h&&p&&p({action:v,location:A.location,delta:1})}function M(w,V){v="REPLACE";let H=Qc(A.location,w,V);x=g();let S=Ls(H,x),N=A.createHref(H);d.replaceState(S,"",N),h&&p&&p({action:v,location:A.location,delta:0})}function L(w){return Kv(w)}let A={get action(){return v},get location(){return t(u,d)},listen(w){if(p)throw new Error("A history only accepts one active listener");return u.addEventListener(As,b),p=w,()=>{u.removeEventListener(As,b),p=null}},createHref(w){return c(u,w)},createURL:L,encodeLocation(w){let V=L(w);return{pathname:V.pathname,search:V.search,hash:V.hash}},push:y,replace:M,go(w){return d.go(w)}};return A}function Kv(t,c=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),w2(n,"No window.location.(origin|href) available to create URL");let i=typeof t=="string"?t:c5(t);return i=i.replace(/ $/,"%20"),!c&&i.startsWith("//")&&(i=n+i),new URL(i,n)}function Lu(t,c,n="/"){return Qv(t,c,n,!1)}function Qv(t,c,n,i){let u=typeof c=="string"?T0(c):c,h=b3(u.pathname||"/",n);if(h==null)return null;let d=Vu(t);Xv(d);let v=null;for(let p=0;v==null&&p{let g={relativePath:x===void 0?d.path||"":x,caseSensitive:d.caseSensitive===!0,childrenIndex:v,route:d};if(g.relativePath.startsWith("/")){if(!g.relativePath.startsWith(i)&&p)return;w2(g.relativePath.startsWith(i),`Absolute route path "${g.relativePath}" nested under path "${i}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),g.relativePath=g.relativePath.slice(i.length)}let b=x3([i,g.relativePath]),y=n.concat(g);d.children&&d.children.length>0&&(w2(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),Vu(d.children,c,y,b,p)),!(d.path==null&&!d.index)&&c.push({path:b,score:np(b,d.index),routesMeta:y})};return t.forEach((d,v)=>{if(d.path===""||!d.path?.includes("?"))h(d,v);else for(let p of Bu(d.path))h(d,v,!0,p)}),c}function Bu(t){let c=t.split("/");if(c.length===0)return[];let[n,...i]=c,u=n.endsWith("?"),h=n.replace(/\?$/,"");if(i.length===0)return u?[h,""]:[h];let d=Bu(i.join("/")),v=[];return v.push(...d.map(p=>p===""?h:[h,p].join("/"))),u&&v.push(...d),v.map(p=>t.startsWith("/")&&p===""?"/":p)}function Xv(t){t.sort((c,n)=>c.score!==n.score?n.score-c.score:rp(c.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}var Wv=/^:[\w-]+$/,Jv=3,tp=2,ep=1,cp=10,ap=-2,Vs=t=>t==="*";function np(t,c){let n=t.split("/"),i=n.length;return n.some(Vs)&&(i+=ap),c&&(i+=tp),n.filter(u=>!Vs(u)).reduce((u,h)=>u+(Wv.test(h)?Jv:h===""?ep:cp),i)}function rp(t,c){return t.length===c.length&&t.slice(0,-1).every((i,u)=>i===c[u])?t[t.length-1]-c[c.length-1]:0}function lp(t,c,n=!1){let{routesMeta:i}=t,u={},h="/",d=[];for(let v=0;v{if(g==="*"){let L=v[y]||"";d=h.slice(0,h.length-L.length).replace(/(.)\/+$/,"$1")}const M=v[y];return b&&!M?x[g]=void 0:x[g]=(M||"").replace(/%2F/g,"/"),x},{}),pathname:h,pathnameBase:d,pattern:t}}function ip(t,c=!1,n=!0){I4(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let i=[],u="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,v,p)=>(i.push({paramName:v,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(i.push({paramName:"*"}),u+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?u+="\\/*$":t!==""&&t!=="/"&&(u+="(?:(?=\\/|$))"),[new RegExp(u,c?void 0:"i"),i]}function sp(t){try{return t.split("/").map(c=>decodeURIComponent(c).replace(/\//g,"%2F")).join("/")}catch(c){return I4(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${c}).`),t}}function b3(t,c){if(c==="/")return t;if(!t.toLowerCase().startsWith(c.toLowerCase()))return null;let n=c.endsWith("/")?c.length-1:c.length,i=t.charAt(n);return i&&i!=="/"?null:t.slice(n)||"/"}var op=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,up=t=>op.test(t);function hp(t,c="/"){let{pathname:n,search:i="",hash:u=""}=typeof t=="string"?T0(t):t,h;if(n)if(up(n))h=n;else{if(n.includes("//")){let d=n;n=n.replace(/\/\/+/g,"/"),I4(!1,`Pathnames cannot have embedded double slashes - normalizing ${d} -> ${n}`)}n.startsWith("/")?h=Bs(n.substring(1),"/"):h=Bs(n,c)}else h=c;return{pathname:h,search:mp(i),hash:vp(u)}}function Bs(t,c){let n=c.replace(/\/+$/,"").split("/");return t.split("/").forEach(u=>{u===".."?n.length>1&&n.pop():u!=="."&&n.push(u)}),n.length>1?n.join("/"):"/"}function fc(t,c,n,i){return`Cannot include a '${t}' character in a manually specified \`to.${c}\` field [${JSON.stringify(i)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function dp(t){return t.filter((c,n)=>n===0||c.route.path&&c.route.path.length>0)}function ju(t){let c=dp(t);return c.map((n,i)=>i===c.length-1?n.pathname:n.pathnameBase)}function Nu(t,c,n,i=!1){let u;typeof t=="string"?u=T0(t):(u={...t},w2(!u.pathname||!u.pathname.includes("?"),fc("?","pathname","search",u)),w2(!u.pathname||!u.pathname.includes("#"),fc("#","pathname","hash",u)),w2(!u.search||!u.search.includes("#"),fc("#","search","hash",u)));let h=t===""||u.pathname==="",d=h?"/":u.pathname,v;if(d==null)v=n;else{let b=c.length-1;if(!i&&d.startsWith("..")){let y=d.split("/");for(;y[0]==="..";)y.shift(),b-=1;u.pathname=y.join("/")}v=b>=0?c[b]:"/"}let p=hp(u,v),x=d&&d!=="/"&&d.endsWith("/"),g=(h||d===".")&&n.endsWith("/");return!p.pathname.endsWith("/")&&(x||g)&&(p.pathname+="/"),p}var x3=t=>t.join("/").replace(/\/\/+/g,"/"),fp=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),mp=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,vp=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function pp(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ku=["POST","PUT","PATCH","DELETE"];new Set(ku);var gp=["GET",...ku];new Set(gp);var _0=f.createContext(null);_0.displayName="DataRouter";var ke=f.createContext(null);ke.displayName="DataRouterState";f.createContext(!1);var Fu=f.createContext({isTransitioning:!1});Fu.displayName="ViewTransition";var xp=f.createContext(new Map);xp.displayName="Fetchers";var zp=f.createContext(null);zp.displayName="Await";var Q4=f.createContext(null);Q4.displayName="Navigation";var m5=f.createContext(null);m5.displayName="Location";var y3=f.createContext({outlet:null,matches:[],isDataRoute:!1});y3.displayName="Route";var ja=f.createContext(null);ja.displayName="RouteError";function bp(t,{relative:c}={}){w2(v5(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:i}=f.useContext(Q4),{hash:u,pathname:h,search:d}=p5(t,{relative:c}),v=h;return n!=="/"&&(v=h==="/"?n:x3([n,h])),i.createHref({pathname:v,search:d,hash:u})}function v5(){return f.useContext(m5)!=null}function X3(){return w2(v5(),"useLocation() may be used only in the context of a component."),f.useContext(m5).location}var Ru="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Eu(t){f.useContext(Q4).static||f.useLayoutEffect(t)}function yp(){let{isDataRoute:t}=f.useContext(y3);return t?Fp():Mp()}function Mp(){w2(v5(),"useNavigate() may be used only in the context of a component.");let t=f.useContext(_0),{basename:c,navigator:n}=f.useContext(Q4),{matches:i}=f.useContext(y3),{pathname:u}=X3(),h=JSON.stringify(ju(i)),d=f.useRef(!1);return Eu(()=>{d.current=!0}),f.useCallback((p,x={})=>{if(I4(d.current,Ru),!d.current)return;if(typeof p=="number"){n.go(p);return}let g=Nu(p,JSON.parse(h),u,x.relative==="path");t==null&&c!=="/"&&(g.pathname=g.pathname==="/"?c:x3([c,g.pathname])),(x.replace?n.replace:n.push)(g,x.state,x)},[c,n,h,u,t])}f.createContext(null);function p5(t,{relative:c}={}){let{matches:n}=f.useContext(y3),{pathname:i}=X3(),u=JSON.stringify(ju(n));return f.useMemo(()=>Nu(t,JSON.parse(u),i,c==="path"),[t,u,i,c])}function wp(t,c){return Tu(t,c)}function Tu(t,c,n,i,u){w2(v5(),"useRoutes() may be used only in the context of a component.");let{navigator:h}=f.useContext(Q4),{matches:d}=f.useContext(y3),v=d[d.length-1],p=v?v.params:{},x=v?v.pathname:"/",g=v?v.pathnameBase:"/",b=v&&v.route;{let H=b&&b.path||"";_u(x,!b||H.endsWith("*")||H.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${x}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let y=X3(),M;if(c){let H=typeof c=="string"?T0(c):c;w2(g==="/"||H.pathname?.startsWith(g),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${g}" but pathname "${H.pathname}" was given in the \`location\` prop.`),M=H}else M=y;let L=M.pathname||"/",A=L;if(g!=="/"){let H=g.replace(/^\//,"").split("/");A="/"+L.replace(/^\//,"").split("/").slice(H.length).join("/")}let w=Lu(t,{pathname:A});I4(b||w!=null,`No routes matched location "${M.pathname}${M.search}${M.hash}" `),I4(w==null||w[w.length-1].route.element!==void 0||w[w.length-1].route.Component!==void 0||w[w.length-1].route.lazy!==void 0,`Matched leaf route at location "${M.pathname}${M.search}${M.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let V=Lp(w&&w.map(H=>Object.assign({},H,{params:Object.assign({},p,H.params),pathname:x3([g,h.encodeLocation?h.encodeLocation(H.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:H.pathname]),pathnameBase:H.pathnameBase==="/"?g:x3([g,h.encodeLocation?h.encodeLocation(H.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:H.pathnameBase])})),d,n,i,u);return c&&V?f.createElement(m5.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...M},navigationType:"POP"}},V):V}function Cp(){let t=kp(),c=pp(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,i="rgba(200,200,200, 0.5)",u={padding:"0.5rem",backgroundColor:i},h={padding:"2px 4px",backgroundColor:i},d=null;return console.error("Error handled by React Router default ErrorBoundary:",t),d=f.createElement(f.Fragment,null,f.createElement("p",null,"💿 Hey developer 👋"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:h},"ErrorBoundary")," or"," ",f.createElement("code",{style:h},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},c),n?f.createElement("pre",{style:u},n):null,d)}var Sp=f.createElement(Cp,null),Hp=class extends f.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,c){return c.location!==t.location||c.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:c.error,location:c.location,revalidation:t.revalidation||c.revalidation}}componentDidCatch(t,c){this.props.onError?this.props.onError(t,c):console.error("React Router caught the following error during render",t)}render(){return this.state.error!==void 0?f.createElement(y3.Provider,{value:this.props.routeContext},f.createElement(ja.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Ap({routeContext:t,match:c,children:n}){let i=f.useContext(_0);return i&&i.static&&i.staticContext&&(c.route.errorElement||c.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=c.route.id),f.createElement(y3.Provider,{value:t},n)}function Lp(t,c=[],n=null,i=null,u=null){if(t==null){if(!n)return null;if(n.errors)t=n.matches;else if(c.length===0&&!n.initialized&&n.matches.length>0)t=n.matches;else return null}let h=t,d=n?.errors;if(d!=null){let g=h.findIndex(b=>b.route.id&&d?.[b.route.id]!==void 0);w2(g>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(d).join(",")}`),h=h.slice(0,Math.min(h.length,g+1))}let v=!1,p=-1;if(n)for(let g=0;g=0?h=h.slice(0,p+1):h=[h[0]];break}}}let x=n&&i?(g,b)=>{i(g,{location:n.location,params:n.matches?.[0]?.params??{},errorInfo:b})}:void 0;return h.reduceRight((g,b,y)=>{let M,L=!1,A=null,w=null;n&&(M=d&&b.route.id?d[b.route.id]:void 0,A=b.route.errorElement||Sp,v&&(p<0&&y===0?(_u("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),L=!0,w=null):p===y&&(L=!0,w=b.route.hydrateFallbackElement||null)));let V=c.concat(h.slice(0,y+1)),H=()=>{let S;return M?S=A:L?S=w:b.route.Component?S=f.createElement(b.route.Component,null):b.route.element?S=b.route.element:S=g,f.createElement(Ap,{match:b,routeContext:{outlet:g,matches:V,isDataRoute:n!=null},children:S})};return n&&(b.route.ErrorBoundary||b.route.errorElement||y===0)?f.createElement(Hp,{location:n.location,revalidation:n.revalidation,component:A,error:M,children:H(),routeContext:{outlet:null,matches:V,isDataRoute:!0},onError:x}):H()},null)}function Na(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Vp(t){let c=f.useContext(_0);return w2(c,Na(t)),c}function Bp(t){let c=f.useContext(ke);return w2(c,Na(t)),c}function jp(t){let c=f.useContext(y3);return w2(c,Na(t)),c}function ka(t){let c=jp(t),n=c.matches[c.matches.length-1];return w2(n.route.id,`${t} can only be used on routes that contain a unique "id"`),n.route.id}function Np(){return ka("useRouteId")}function kp(){let t=f.useContext(ja),c=Bp("useRouteError"),n=ka("useRouteError");return t!==void 0?t:c.errors?.[n]}function Fp(){let{router:t}=Vp("useNavigate"),c=ka("useNavigate"),n=f.useRef(!1);return Eu(()=>{n.current=!0}),f.useCallback(async(u,h={})=>{I4(n.current,Ru),n.current&&(typeof u=="number"?t.navigate(u):await t.navigate(u,{fromRouteId:c,...h}))},[t,c])}var js={};function _u(t,c,n){!c&&!js[t]&&(js[t]=!0,I4(!1,n))}f.memo(Rp);function Rp({routes:t,future:c,state:n,unstable_onError:i}){return Tu(t,void 0,n,i,c)}function S6(t){w2(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Ep({basename:t="/",children:c=null,location:n,navigationType:i="POP",navigator:u,static:h=!1}){w2(!v5(),"You cannot render a inside another . You should never have more than one in your app.");let d=t.replace(/^\/*/,"/"),v=f.useMemo(()=>({basename:d,navigator:u,static:h,future:{}}),[d,u,h]);typeof n=="string"&&(n=T0(n));let{pathname:p="/",search:x="",hash:g="",state:b=null,key:y="default"}=n,M=f.useMemo(()=>{let L=b3(p,d);return L==null?null:{location:{pathname:L,search:x,hash:g,state:b,key:y},navigationType:i}},[d,p,x,g,b,y,i]);return I4(M!=null,` is not able to match the URL "${p}${x}${g}" because it does not start with the basename, so the won't render anything.`),M==null?null:f.createElement(Q4.Provider,{value:v},f.createElement(m5.Provider,{children:c,value:M}))}function Tp({children:t,location:c}){return wp(Xc(t),c)}function Xc(t,c=[]){let n=[];return f.Children.forEach(t,(i,u)=>{if(!f.isValidElement(i))return;let h=[...c,u];if(i.type===f.Fragment){n.push.apply(n,Xc(i.props.children,h));return}w2(i.type===S6,`[${typeof i.type=="string"?i.type:i.type.name}] is not a component. All component children of must be a or `),w2(!i.props.index||!i.props.children,"An index route cannot have child routes.");let d={id:i.props.id||h.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,middleware:i.props.middleware,loader:i.props.loader,action:i.props.action,hydrateFallbackElement:i.props.hydrateFallbackElement,HydrateFallback:i.props.HydrateFallback,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.hasErrorBoundary===!0||i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(d.children=Xc(i.props.children,h)),n.push(d)}),n}var ee="get",ce="application/x-www-form-urlencoded";function Fe(t){return t!=null&&typeof t.tagName=="string"}function _p(t){return Fe(t)&&t.tagName.toLowerCase()==="button"}function qp(t){return Fe(t)&&t.tagName.toLowerCase()==="form"}function Dp(t){return Fe(t)&&t.tagName.toLowerCase()==="input"}function Op(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function Up(t,c){return t.button===0&&(!c||c==="_self")&&!Op(t)}var Ft=null;function Ip(){if(Ft===null)try{new FormData(document.createElement("form"),0),Ft=!1}catch{Ft=!0}return Ft}var Pp=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function mc(t){return t!=null&&!Pp.has(t)?(I4(!1,`"${t}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${ce}"`),null):t}function $p(t,c){let n,i,u,h,d;if(qp(t)){let v=t.getAttribute("action");i=v?b3(v,c):null,n=t.getAttribute("method")||ee,u=mc(t.getAttribute("enctype"))||ce,h=new FormData(t)}else if(_p(t)||Dp(t)&&(t.type==="submit"||t.type==="image")){let v=t.form;if(v==null)throw new Error('Cannot submit a + )} + bodyClassName="flex min-h-0 flex-col gap-1 p-1 text-xs" + > + {ptz?.presetsError ? ( +
+ {ptz.presetsError} +
+ ) : null} +
+ {presets.length ? presets.map((preset) => { + const gotoBusy = busy === `goto:${preset.token}`; + const removeBusy = busy === `remove:${preset.token}`; + return ( +
+ + {isPresetAdmin ? ( + + ) : null} +
+ ); + }) : ( +
+ No presets saved. +
+ )} +
+ {isPresetAdmin ? ( + + setName(event.target.value)} + placeholder="Preset name" + /> + + + ) : null} + + ); +} + function buildPtzTurnModel(ptz, selfId) { const { queue, currentId, nextId } = normalizePtzQueue(ptz); const isActive = Boolean(ptz?.isOperator); @@ -427,9 +580,7 @@ function PtzDesktopFullscreen({ ptz, releasePending }) {
- - Presets will live here. - +
{releasePending ? (
@@ -469,6 +620,7 @@ function PtzMobileFullscreen({ ptz, layout, onClose, releasePending = false }) {
+
diff --git a/webui/src/context/SessionContext.jsx b/webui/src/context/SessionContext.jsx index 833f399b..9c462ea1 100644 --- a/webui/src/context/SessionContext.jsx +++ b/webui/src/context/SessionContext.jsx @@ -426,6 +426,10 @@ export function SessionProvider({ children }) { ptzStop: () => emitWithAck('ptzCamera:stop'), ptzSpotlight: (payload = {}) => emitWithAck('ptzCamera:spotlight', payload), ptzIr: (payload = {}) => emitWithAck('ptzCamera:ir', payload), + ptzListPresets: () => emitWithAck('ptzCamera:presets:list'), + ptzGotoPreset: (payload = {}) => emitWithAck('ptzCamera:preset:goto', payload), + ptzCreatePreset: (payload = {}) => emitWithAck('ptzCamera:preset:create', payload), + ptzRemovePreset: (payload = {}) => emitWithAck('ptzCamera:preset:remove', payload), llmControl: (action, controls = {}) => emitWithAck('llm:control', { controls: { action, ...controls } }), overseerControl: (action, controls = {}) =>