summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorteh_coderer <me@tehcoderer.com>2023-05-03 17:22:46 -0400
committerteh_coderer <me@tehcoderer.com>2023-05-03 17:22:46 -0400
commitc19713cd3b72b097fa5357e4747566e0944aa93a (patch)
tree7a07a072e224cc366fcf8f22c1e3cc856601969d
parent62ee6d6b4b356bd31342ce81dc5192669879b97b (diff)
fix no figure title text
-rw-r--r--frontend-components/plotly/src/App.tsx6
-rw-r--r--frontend-components/plotly/src/components/Chart.tsx4
-rw-r--r--openbb_terminal/core/plots/backend.py18
-rw-r--r--openbb_terminal/core/plots/plotly.html172
4 files changed, 107 insertions, 93 deletions
diff --git a/frontend-components/plotly/src/App.tsx b/frontend-components/plotly/src/App.tsx
index ff40c0ad9ba..bcadf56acd6 100644
--- a/frontend-components/plotly/src/App.tsx
+++ b/frontend-components/plotly/src/App.tsx
@@ -54,12 +54,6 @@ function App() {
let time = new Date().toISOString().slice(11, 19).replace(/:/g, "");
window.title = `openbb_${filename}_${date}_${time}`;
- let extension = "";
- if (window.export_image != undefined) {
- filename = window.export_image.split("/").pop();
- extension = filename.split(".").pop().replace("jpg", "jpeg");
- }
-
if (data.layout.annotations != undefined) {
data.layout.annotations.forEach(function (annotation) {
if (annotation.text != undefined)
diff --git a/frontend-components/plotly/src/components/Chart.tsx b/frontend-components/plotly/src/components/Chart.tsx
index 3c0da92f36f..45829c28642 100644
--- a/frontend-components/plotly/src/components/Chart.tsx
+++ b/frontend-components/plotly/src/components/Chart.tsx
@@ -42,7 +42,9 @@ export default function Chart({
delete json.layout.width;
delete json.layout.height;
- json.layout.title.text = "";
+ if (json.layout?.title?.text) {
+ json.layout.title.text = "";
+ }
const [barButtons, setModeBarButtons] = useState({});
const [LogYaxis, setLogYaxis] = useState(false);
diff --git a/openbb_terminal/core/plots/backend.py b/openbb_terminal/core/plots/backend.py
index 569ae67ae61..5629acf18bf 100644
--- a/openbb_terminal/core/plots/backend.py
+++ b/openbb_terminal/core/plots/backend.py
@@ -186,6 +186,24 @@ class Backend(PyWry):
# pylint: disable=C0415
from openbb_terminal.helper_funcs import command_location
+ title = "Interactive Chart"
+
+ # We check if figure is a subplot and has a title annotation
+ if not fig.layout.title.text and fig._has_subplots(): # pylint: disable=W0212
+ for annotation in fig.select_annotations(
+ selector=dict(xref="paper", yref="paper")
+ ):
+ # Subplots always set the first annotation as the title
+ # so we break after the first one
+ if annotation.text:
+ title = annotation.text
+ annotation.text = ""
+ break
+
+ fig.layout.title.text = re.sub(
+ r"<[^>]*>", "", fig.layout.title.text if fig.layout.title.text else title
+ )
+
fig.layout.height += 69
if export_image and isinstance(export_image, str):
diff --git a/openbb_terminal/core/plots/plotly.html b/openbb_terminal/core/plots/plotly.html
index 6a4650e1711..3206a5cdf6d 100644
--- a/openbb_terminal/core/plots/plotly.html
+++ b/openbb_terminal/core/plots/plotly.html
@@ -33,60 +33,60 @@
}
</script>
<script type="module" crossorigin>
-function qb(O,F){for(var J=0;J<F.length;J++){const fe=F[J];if(typeof fe!="string"&&!Array.isArray(fe)){for(const Pe in fe)if(Pe!=="default"&&!(Pe in O)){const D=Object.getOwnPropertyDescriptor(fe,Pe);D&&Object.defineProperty(O,Pe,D.get?D:{enumerable:!0,get:()=>fe[Pe]})}}}return Object.freeze(Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}))}(function(){const F=document.createElement("link").relList;if(F&&F.supports&&F.supports("modulepreload"))return;for(const Pe of document.querySelectorAll('link[rel="modulepreload"]'))fe(Pe);new MutationObserver(Pe=>{for(const D of Pe)if(D.type==="childList")for(const E of D.addedNodes)E.tagName==="LINK"&&E.rel==="modulepreload"&&fe(E)}).observe(document,{childList:!0,subtree:!0});function J(Pe){const D={};return Pe.integrity&&(D.integrity=Pe.integrity),Pe.referrerPolicy&&(D.referrerPolicy=Pe.referrerPolicy),Pe.crossOrigin==="use-credentials"?D.credentials="include":Pe.crossOrigin==="anonymous"?D.credentials="omit":D.credentials="same-origin",D}function fe(Pe){if(Pe.ep)return;Pe.ep=!0;const D=J(Pe);fetch(Pe.href,D)}})();function jp(O){return O&&O.__esModule&&Object.prototype.hasOwnProperty.call(O,"default")?O.default:O}var Gb={exports:{}},Up={};/*
+function qb(P,F){for(var J=0;J<F.length;J++){const fe=F[J];if(typeof fe!="string"&&!Array.isArray(fe)){for(const Pe in fe)if(Pe!=="default"&&!(Pe in P)){const D=Object.getOwnPropertyDescriptor(fe,Pe);D&&Object.defineProperty(P,Pe,D.get?D:{enumerable:!0,get:()=>fe[Pe]})}}}return Object.freeze(Object.defineProperty(P,Symbol.toStringTag,{value:"Module"}))}(function(){const F=document.createElement("link").relList;if(F&&F.supports&&F.supports("modulepreload"))return;for(const Pe of document.querySelectorAll('link[rel="modulepreload"]'))fe(Pe);new MutationObserver(Pe=>{for(const D of Pe)if(D.type==="childList")for(const E of D.addedNodes)E.tagName==="LINK"&&E.rel==="modulepreload"&&fe(E)}).observe(document,{childList:!0,subtree:!0});function J(Pe){const D={};return Pe.integrity&&(D.integrity=Pe.integrity),Pe.referrerPolicy&&(D.referrerPolicy=Pe.referrerPolicy),Pe.crossOrigin==="use-credentials"?D.credentials="include":Pe.crossOrigin==="anonymous"?D.credentials="omit":D.credentials="same-origin",D}function fe(Pe){if(Pe.ep)return;Pe.ep=!0;const D=J(Pe);fetch(Pe.href,D)}})();function jp(P){return P&&P.__esModule&&Object.prototype.hasOwnProperty.call(P,"default")?P.default:P}var Gb={exports:{}},Up={};/*
object-assign
(c) Sindre Sorhus
@license MIT
-*/var Dx=Object.getOwnPropertySymbols,M4=Object.prototype.hasOwnProperty,S4=Object.prototype.propertyIsEnumerable;function E4(O){if(O==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(O)}function C4(){try{if(!Object.assign)return!1;var O=new String("abc");if(O[5]="de",Object.getOwnPropertyNames(O)[0]==="5")return!1;for(var F={},J=0;J<10;J++)F["_"+String.fromCharCode(J)]=J;var fe=Object.getOwnPropertyNames(F).map(function(D){return F[D]});if(fe.join("")!=="0123456789")return!1;var Pe={};return"abcdefghijklmnopqrst".split("").forEach(function(D){Pe[D]=D}),Object.keys(Object.assign({},Pe)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}var Wb=C4()?Object.assign:function(O,F){for(var J,fe=E4(O),Pe,D=1;D<arguments.length;D++){J=Object(arguments[D]);for(var E in J)M4.call(J,E)&&(fe[E]=J[E]);if(Dx){Pe=Dx(J);for(var e=0;e<Pe.length;e++)S4.call(J,Pe[e])&&(fe[Pe[e]]=J[Pe[e]])}}return fe},Zb={exports:{}},zi={};/** @license React v17.0.2
+*/var Dx=Object.getOwnPropertySymbols,M4=Object.prototype.hasOwnProperty,S4=Object.prototype.propertyIsEnumerable;function E4(P){if(P==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(P)}function C4(){try{if(!Object.assign)return!1;var P=new String("abc");if(P[5]="de",Object.getOwnPropertyNames(P)[0]==="5")return!1;for(var F={},J=0;J<10;J++)F["_"+String.fromCharCode(J)]=J;var fe=Object.getOwnPropertyNames(F).map(function(D){return F[D]});if(fe.join("")!=="0123456789")return!1;var Pe={};return"abcdefghijklmnopqrst".split("").forEach(function(D){Pe[D]=D}),Object.keys(Object.assign({},Pe)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}var Wb=C4()?Object.assign:function(P,F){for(var J,fe=E4(P),Pe,D=1;D<arguments.length;D++){J=Object(arguments[D]);for(var E in J)M4.call(J,E)&&(fe[E]=J[E]);if(Dx){Pe=Dx(J);for(var e=0;e<Pe.length;e++)S4.call(J,Pe[e])&&(fe[Pe[e]]=J[Pe[e]])}}return fe},Zb={exports:{}},zi={};/** @license React v17.0.2
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */var Wv=Wb,lh=60103,Yb=60106;zi.Fragment=60107;zi.StrictMode=60108;zi.Profiler=60114;var Xb=60109,$b=60110,Jb=60112;zi.Suspense=60113;var Kb=60115,Qb=60116;if(typeof Symbol=="function"&&Symbol.for){var Dl=Symbol.for;lh=Dl("react.element"),Yb=Dl("react.portal"),zi.Fragment=Dl("react.fragment"),zi.StrictMode=Dl("react.strict_mode"),zi.Profiler=Dl("react.profiler"),Xb=Dl("react.provider"),$b=Dl("react.context"),Jb=Dl("react.forward_ref"),zi.Suspense=Dl("react.suspense"),Kb=Dl("react.memo"),Qb=Dl("react.lazy")}var Fx=typeof Symbol=="function"&&Symbol.iterator;function L4(O){return O===null||typeof O!="object"?null:(O=Fx&&O[Fx]||O["@@iterator"],typeof O=="function"?O:null)}function Vp(O){for(var F="https://reactjs.org/docs/error-decoder.html?invariant="+O,J=1;J<arguments.length;J++)F+="&args[]="+encodeURIComponent(arguments[J]);return"Minified React error #"+O+"; visit "+F+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var e_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},t_={};function uh(O,F,J){this.props=O,this.context=F,this.refs=t_,this.updater=J||e_}uh.prototype.isReactComponent={};uh.prototype.setState=function(O,F){if(typeof O!="object"&&typeof O!="function"&&O!=null)throw Error(Vp(85));this.updater.enqueueSetState(this,O,F,"setState")};uh.prototype.forceUpdate=function(O){this.updater.enqueueForceUpdate(this,O,"forceUpdate")};function n_(){}n_.prototype=uh.prototype;function Zv(O,F,J){this.props=O,this.context=F,this.refs=t_,this.updater=J||e_}var Yv=Zv.prototype=new n_;Yv.constructor=Zv;Wv(Yv,uh.prototype);Yv.isPureReactComponent=!0;var Xv={current:null},r_=Object.prototype.hasOwnProperty,i_={key:!0,ref:!0,__self:!0,__source:!0};function a_(O,F,J){var fe,Pe={},D=null,E=null;if(F!=null)for(fe in F.ref!==void 0&&(E=F.ref),F.key!==void 0&&(D=""+F.key),F)r_.call(F,fe)&&!i_.hasOwnProperty(fe)&&(Pe[fe]=F[fe]);var e=arguments.length-2;if(e===1)Pe.children=J;else if(1<e){for(var _=Array(e),T=0;T<e;T++)_[T]=arguments[T+2];Pe.children=_}if(O&&O.defaultProps)for(fe in e=O.defaultProps,e)Pe[fe]===void 0&&(Pe[fe]=e[fe]);return{$$typeof:lh,type:O,key:D,ref:E,props:Pe,_owner:Xv.current}}function P4(O,F){return{$$typeof:lh,type:O.type,key:F,ref:O.ref,props:O.props,_owner:O._owner}}function $v(O){return typeof O=="object"&&O!==null&&O.$$typeof===lh}function O4(O){var F={"=":"=0",":":"=2"};return"$"+O.replace(/[=:]/g,function(J){return F[J]})}var Bx=/\/+/g;function Q1(O,F){return typeof O=="object"&&O!==null&&O.key!=null?O4(""+O.key):F.toString(36)}function n0(O,F,J,fe,Pe){var D=typeof O;(D==="undefined"||D==="boolean")&&(O=null);var E=!1;if(O===null)E=!0;else switch(D){case"string":case"number":E=!0;break;case"object":switch(O.$$typeof){case lh:case Yb:E=!0}}if(E)return E=O,Pe=Pe(E),O=fe===""?"."+Q1(E,0):fe,Array.isArray(Pe)?(J="",O!=null&&(J=O.replace(Bx,"$&/")+"/"),n0(Pe,F,J,"",function(T){return T})):Pe!=null&&($v(Pe)&&(Pe=P4(Pe,J+(!Pe.key||E&&E.key===Pe.key?"":(""+Pe.key).replace(Bx,"$&/")+"/")+O)),F.push(Pe)),1;if(E=0,fe=fe===""?".":fe+":",Array.isArray(O))for(var e=0;e<O.length;e++){D=O[e];var _=fe+Q1(D,e);E+=n0(D,F,J,_,Pe)}else if(_=L4(O),typeof _=="function")for(O=_.call(O),e=0;!(D=O.next()).done;)D=D.value,_=fe+Q1(D,e++),E+=n0(D,F,J,_,Pe);else if(D==="object")throw F=""+O,Error(Vp(31,F==="[object Object]"?"object with keys {"+Object.keys(O).join(", ")+"}":F));return E}function Rd(O,F,J){if(O==null)return O;var fe=[],Pe=0;return n0(O,fe,"","",function(D){return F.call(J,D,Pe++)}),fe}function I4(O){if(O._status===-1){var F=O._result;F=F(),O._status=0,O._result=F,F.then(function(J){O._status===0&&(J=J.default,O._status=1,O._result=J)},function(J){O._status===0&&(O._status=2,O._result=J)})}if(O._status===1)return O._result;throw O._result}var o_={current:null};function Nu(){var O=o_.current;if(O===null)throw Error(Vp(321));return O}var R4={ReactCurrentDispatcher:o_,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:Xv,IsSomeRendererActing:{current:!1},assign:Wv};zi.Children={map:Rd,forEach:function(O,F,J){Rd(O,function(){F.apply(this,arguments)},J)},count:function(O){var F=0;return Rd(O,function(){F++}),F},toArray:function(O){return Rd(O,function(F){return F})||[]},only:function(O){if(!$v(O))throw Error(Vp(143));return O}};zi.Component=uh;zi.PureComponent=Zv;zi.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=R4;zi.cloneElement=function(O,F,J){if(O==null)throw Error(Vp(267,O));var fe=Wv({},O.props),Pe=O.key,D=O.ref,E=O._owner;if(F!=null){if(F.ref!==void 0&&(D=F.ref,E=Xv.current),F.key!==void 0&&(Pe=""+F.key),O.type&&O.type.defaultProps)var e=O.type.defaultProps;for(_ in F)r_.call(F,_)&&!i_.hasOwnProperty(_)&&(fe[_]=F[_]===void 0&&e!==void 0?e[_]:F[_])}var _=arguments.length-2;if(_===1)fe.children=J;else if(1<_){e=Array(_);for(var T=0;T<_;T++)e[T]=arguments[T+2];fe.children=e}return{$$typeof:lh,type:O.type,key:Pe,ref:D,props:fe,_owner:E}};zi.createContext=function(O,F){return F===void 0&&(F=null),O={$$typeof:$b,_calculateChangedBits:F,_currentValue:O,_currentValue2:O,_threadCount:0,Provider:null,Consumer:null},O.Provider={$$typeof:Xb,_context:O},O.Consumer=O};zi.createElement=a_;zi.createFactory=function(O){var F=a_.bind(null,O);return F.type=O,F};zi.createRef=function(){return{current:null}};zi.forwardRef=function(O){return{$$typeof:Jb,render:O}};zi.isValidElement=$v;zi.lazy=function(O){return{$$typeof:Qb,_payload:{_status:-1,_result:O},_init:I4}};zi.memo=function(O,F){return{$$typeof:Kb,type:O,compare:F===void 0?null:F}};zi.useCallback=function(O,F){return Nu().useCallback(O,F)};zi.useContext=function(O,F){return Nu().useContext(O,F)};zi.useDebugValue=function(){};zi.useEffect=function(O,F){return Nu().useEffect(O,F)};zi.useImperativeHandle=function(O,F,J){return Nu().useImperativeHandle(O,F,J)};zi.useLayoutEffect=function(O,F){return Nu().useLayoutEffect(O,F)};zi.useMemo=function(O,F){return Nu().useMemo(O,F)};zi.useReducer=function(O,F,J){return Nu().useReducer(O,F,J)};zi.useRef=function(O){return Nu().useRef(O)};zi.useState=function(O){return Nu().useState(O)};zi.version="17.0.2";Zb.exports=zi;var Un=Zb.exports;const s_=jp(Un),z4=qb({__proto__:null,default:s_},[Un]);/** @license React v17.0.2
+ */var Wv=Wb,lh=60103,Yb=60106;zi.Fragment=60107;zi.StrictMode=60108;zi.Profiler=60114;var Xb=60109,$b=60110,Jb=60112;zi.Suspense=60113;var Kb=60115,Qb=60116;if(typeof Symbol=="function"&&Symbol.for){var Dl=Symbol.for;lh=Dl("react.element"),Yb=Dl("react.portal"),zi.Fragment=Dl("react.fragment"),zi.StrictMode=Dl("react.strict_mode"),zi.Profiler=Dl("react.profiler"),Xb=Dl("react.provider"),$b=Dl("react.context"),Jb=Dl("react.forward_ref"),zi.Suspense=Dl("react.suspense"),Kb=Dl("react.memo"),Qb=Dl("react.lazy")}var Fx=typeof Symbol=="function"&&Symbol.iterator;function L4(P){return P===null||typeof P!="object"?null:(P=Fx&&P[Fx]||P["@@iterator"],typeof P=="function"?P:null)}function Vp(P){for(var F="https://reactjs.org/docs/error-decoder.html?invariant="+P,J=1;J<arguments.length;J++)F+="&args[]="+encodeURIComponent(arguments[J]);return"Minified React error #"+P+"; visit "+F+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var e_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},t_={};function uh(P,F,J){this.props=P,this.context=F,this.refs=t_,this.updater=J||e_}uh.prototype.isReactComponent={};uh.prototype.setState=function(P,F){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error(Vp(85));this.updater.enqueueSetState(this,P,F,"setState")};uh.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function n_(){}n_.prototype=uh.prototype;function Zv(P,F,J){this.props=P,this.context=F,this.refs=t_,this.updater=J||e_}var Yv=Zv.prototype=new n_;Yv.constructor=Zv;Wv(Yv,uh.prototype);Yv.isPureReactComponent=!0;var Xv={current:null},r_=Object.prototype.hasOwnProperty,i_={key:!0,ref:!0,__self:!0,__source:!0};function a_(P,F,J){var fe,Pe={},D=null,E=null;if(F!=null)for(fe in F.ref!==void 0&&(E=F.ref),F.key!==void 0&&(D=""+F.key),F)r_.call(F,fe)&&!i_.hasOwnProperty(fe)&&(Pe[fe]=F[fe]);var e=arguments.length-2;if(e===1)Pe.children=J;else if(1<e){for(var _=Array(e),T=0;T<e;T++)_[T]=arguments[T+2];Pe.children=_}if(P&&P.defaultProps)for(fe in e=P.defaultProps,e)Pe[fe]===void 0&&(Pe[fe]=e[fe]);return{$$typeof:lh,type:P,key:D,ref:E,props:Pe,_owner:Xv.current}}function P4(P,F){return{$$typeof:lh,type:P.type,key:F,ref:P.ref,props:P.props,_owner:P._owner}}function $v(P){return typeof P=="object"&&P!==null&&P.$$typeof===lh}function O4(P){var F={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(J){return F[J]})}var Bx=/\/+/g;function Q1(P,F){return typeof P=="object"&&P!==null&&P.key!=null?O4(""+P.key):F.toString(36)}function n0(P,F,J,fe,Pe){var D=typeof P;(D==="undefined"||D==="boolean")&&(P=null);var E=!1;if(P===null)E=!0;else switch(D){case"string":case"number":E=!0;break;case"object":switch(P.$$typeof){case lh:case Yb:E=!0}}if(E)return E=P,Pe=Pe(E),P=fe===""?"."+Q1(E,0):fe,Array.isArray(Pe)?(J="",P!=null&&(J=P.replace(Bx,"$&/")+"/"),n0(Pe,F,J,"",function(T){return T})):Pe!=null&&($v(Pe)&&(Pe=P4(Pe,J+(!Pe.key||E&&E.key===Pe.key?"":(""+Pe.key).replace(Bx,"$&/")+"/")+P)),F.push(Pe)),1;if(E=0,fe=fe===""?".":fe+":",Array.isArray(P))for(var e=0;e<P.length;e++){D=P[e];var _=fe+Q1(D,e);E+=n0(D,F,J,_,Pe)}else if(_=L4(P),typeof _=="function")for(P=_.call(P),e=0;!(D=P.next()).done;)D=D.value,_=fe+Q1(D,e++),E+=n0(D,F,J,_,Pe);else if(D==="object")throw F=""+P,Error(Vp(31,F==="[object Object]"?"object with keys {"+Object.keys(P).join(", ")+"}":F));return E}function Rd(P,F,J){if(P==null)return P;var fe=[],Pe=0;return n0(P,fe,"","",function(D){return F.call(J,D,Pe++)}),fe}function I4(P){if(P._status===-1){var F=P._result;F=F(),P._status=0,P._result=F,F.then(function(J){P._status===0&&(J=J.default,P._status=1,P._result=J)},function(J){P._status===0&&(P._status=2,P._result=J)})}if(P._status===1)return P._result;throw P._result}var o_={current:null};function Nu(){var P=o_.current;if(P===null)throw Error(Vp(321));return P}var R4={ReactCurrentDispatcher:o_,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:Xv,IsSomeRendererActing:{current:!1},assign:Wv};zi.Children={map:Rd,forEach:function(P,F,J){Rd(P,function(){F.apply(this,arguments)},J)},count:function(P){var F=0;return Rd(P,function(){F++}),F},toArray:function(P){return Rd(P,function(F){return F})||[]},only:function(P){if(!$v(P))throw Error(Vp(143));return P}};zi.Component=uh;zi.PureComponent=Zv;zi.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=R4;zi.cloneElement=function(P,F,J){if(P==null)throw Error(Vp(267,P));var fe=Wv({},P.props),Pe=P.key,D=P.ref,E=P._owner;if(F!=null){if(F.ref!==void 0&&(D=F.ref,E=Xv.current),F.key!==void 0&&(Pe=""+F.key),P.type&&P.type.defaultProps)var e=P.type.defaultProps;for(_ in F)r_.call(F,_)&&!i_.hasOwnProperty(_)&&(fe[_]=F[_]===void 0&&e!==void 0?e[_]:F[_])}var _=arguments.length-2;if(_===1)fe.children=J;else if(1<_){e=Array(_);for(var T=0;T<_;T++)e[T]=arguments[T+2];fe.children=e}return{$$typeof:lh,type:P.type,key:Pe,ref:D,props:fe,_owner:E}};zi.createContext=function(P,F){return F===void 0&&(F=null),P={$$typeof:$b,_calculateChangedBits:F,_currentValue:P,_currentValue2:P,_threadCount:0,Provider:null,Consumer:null},P.Provider={$$typeof:Xb,_context:P},P.Consumer=P};zi.createElement=a_;zi.createFactory=function(P){var F=a_.bind(null,P);return F.type=P,F};zi.createRef=function(){return{current:null}};zi.forwardRef=function(P){return{$$typeof:Jb,render:P}};zi.isValidElement=$v;zi.lazy=function(P){return{$$typeof:Qb,_payload:{_status:-1,_result:P},_init:I4}};zi.memo=function(P,F){return{$$typeof:Kb,type:P,compare:F===void 0?null:F}};zi.useCallback=function(P,F){return Nu().useCallback(P,F)};zi.useContext=function(P,F){return Nu().useContext(P,F)};zi.useDebugValue=function(){};zi.useEffect=function(P,F){return Nu().useEffect(P,F)};zi.useImperativeHandle=function(P,F,J){return Nu().useImperativeHandle(P,F,J)};zi.useLayoutEffect=function(P,F){return Nu().useLayoutEffect(P,F)};zi.useMemo=function(P,F){return Nu().useMemo(P,F)};zi.useReducer=function(P,F,J){return Nu().useReducer(P,F,J)};zi.useRef=function(P){return Nu().useRef(P)};zi.useState=function(P){return Nu().useState(P)};zi.version="17.0.2";Zb.exports=zi;var Un=Zb.exports;const s_=jp(Un),z4=qb({__proto__:null,default:s_},[Un]);/** @license React v17.0.2
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */var D4=Un,l_=60103;Up.Fragment=60107;if(typeof Symbol=="function"&&Symbol.for){var Nx=Symbol.for;l_=Nx("react.element"),Up.Fragment=Nx("react.fragment")}var F4=D4.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,B4=Object.prototype.hasOwnProperty,N4={key:!0,ref:!0,__self:!0,__source:!0};function u_(O,F,J){var fe,Pe={},D=null,E=null;J!==void 0&&(D=""+J),F.key!==void 0&&(D=""+F.key),F.ref!==void 0&&(E=F.ref);for(fe in F)B4.call(F,fe)&&!N4.hasOwnProperty(fe)&&(Pe[fe]=F[fe]);if(O&&O.defaultProps)for(fe in F=O.defaultProps,F)Pe[fe]===void 0&&(Pe[fe]=F[fe]);return{$$typeof:l_,type:O,key:D,ref:E,props:Pe,_owner:F4.current}}Up.jsx=u_;Up.jsxs=u_;Gb.exports=Up;var Jv=Gb.exports;const eg=Jv.Fragment,Ar=Jv.jsx,ri=Jv.jsxs;var c_={exports:{}},ml={},f_={exports:{}},h_={};/** @license React v0.20.2
+ */var D4=Un,l_=60103;Up.Fragment=60107;if(typeof Symbol=="function"&&Symbol.for){var Nx=Symbol.for;l_=Nx("react.element"),Up.Fragment=Nx("react.fragment")}var F4=D4.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,B4=Object.prototype.hasOwnProperty,N4={key:!0,ref:!0,__self:!0,__source:!0};function u_(P,F,J){var fe,Pe={},D=null,E=null;J!==void 0&&(D=""+J),F.key!==void 0&&(D=""+F.key),F.ref!==void 0&&(E=F.ref);for(fe in F)B4.call(F,fe)&&!N4.hasOwnProperty(fe)&&(Pe[fe]=F[fe]);if(P&&P.defaultProps)for(fe in F=P.defaultProps,F)Pe[fe]===void 0&&(Pe[fe]=F[fe]);return{$$typeof:l_,type:P,key:D,ref:E,props:Pe,_owner:F4.current}}Up.jsx=u_;Up.jsxs=u_;Gb.exports=Up;var Jv=Gb.exports;const eg=Jv.Fragment,Ar=Jv.jsx,ri=Jv.jsxs;var c_={exports:{}},ml={},f_={exports:{}},h_={};/** @license React v0.20.2
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */(function(O){var F,J,fe,Pe;if(typeof performance=="object"&&typeof performance.now=="function"){var D=performance;O.unstable_now=function(){return D.now()}}else{var E=Date,e=E.now();O.unstable_now=function(){return E.now()-e}}if(typeof window>"u"||typeof MessageChannel!="function"){var _=null,T=null,s=function(){if(_!==null)try{var I=O.unstable_now();_(!0,I),_=null}catch(R){throw setTimeout(s,0),R}};F=function(I){_!==null?setTimeout(F,0,I):(_=I,setTimeout(s,0))},J=function(I,R){T=setTimeout(I,R)},fe=function(){clearTimeout(T)},O.unstable_shouldYield=function(){return!1},Pe=O.unstable_forceFrameRate=function(){}}else{var w=window.setTimeout,m=window.clearTimeout;if(typeof console<"u"){var f=window.cancelAnimationFrame;typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof f!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var l=!1,t=null,i=-1,r=5,n=0;O.unstable_shouldYield=function(){return O.unstable_now()>=n},Pe=function(){},O.unstable_forceFrameRate=function(I){0>I||125<I?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):r=0<I?Math.floor(1e3/I):5};var o=new MessageChannel,a=o.port2;o.port1.onmessage=function(){if(t!==null){var I=O.unstable_now();n=I+r;try{t(!0,I)?a.postMessage(null):(l=!1,t=null)}catch(R){throw a.postMessage(null),R}}else l=!1},F=function(I){t=I,l||(l=!0,a.postMessage(null))},J=function(I,R){i=w(function(){I(O.unstable_now())},R)},fe=function(){m(i),i=-1}}function u(I,R){var U=I.length;I.push(R);e:for(;;){var B=U-1>>>1,G=I[B];if(G!==void 0&&0<b(G,R))I[B]=R,I[U]=G,U=B;else break e}}function p(I){return I=I[0],I===void 0?null:I}function c(I){var R=I[0];if(R!==void 0){var U=I.pop();if(U!==R){I[0]=U;e:for(var B=0,G=I.length;B<G;){var N=2*(B+1)-1,j=I[N],V=N+1,H=I[V];if(j!==void 0&&0>b(j,U))H!==void 0&&0>b(H,j)?(I[B]=H,I[V]=U,B=V):(I[B]=j,I[N]=U,B=N);else if(H!==void 0&&0>b(H,U))I[B]=H,I[V]=U,B=V;else break e}}return R}return null}function b(I,R){var U=I.sortIndex-R.sortIndex;return U!==0?U:I.id-R.id}var d=[],v=[],x=1,g=null,y=3,k=!1,h=!1,M=!1;function A(I){for(var R=p(v);R!==null;){if(R.callback===null)c(v);else if(R.startTime<=I)c(v),R.sortIndex=R.expirationTime,u(d,R);else break;R=p(v)}}function C(I){if(M=!1,A(I),!h)if(p(d)!==null)h=!0,F(L);else{var R=p(v);R!==null&&J(C,R.startTime-I)}}function L(I,R){h=!1,M&&(M=!1,fe()),k=!0;var U=y;try{for(A(R),g=p(d);g!==null&&(!(g.expirationTime>R)||I&&!O.unstable_shouldYield());){var B=g.callback;if(typeof B=="function"){g.callback=null,y=g.priorityLevel;var G=B(g.expirationTime<=R);R=O.unstable_now(),typeof G=="function"?g.callback=G:g===p(d)&&c(d),A(R)}else c(d);g=p(d)}if(g!==null)var N=!0;else{var j=p(v);j!==null&&J(C,j.startTime-R),N=!1}return N}finally{g=null,y=U,k=!1}}var P=Pe;O.unstable_IdlePriority=5,O.unstable_ImmediatePriority=1,O.unstable_LowPriority=4,O.unstable_NormalPriority=3,O.unstable_Profiling=null,O.unstable_UserBlockingPriority=2,O.unstable_cancelCallback=function(I){I.callback=null},O.unstable_continueExecution=function(){h||k||(h=!0,F(L))},O.unstable_getCurrentPriorityLevel=function(){return y},O.unstable_getFirstCallbackNode=function(){return p(d)},O.unstable_next=function(I){switch(y){case 1:case 2:case 3:var R=3;break;default:R=y}var U=y;y=R;try{return I()}finally{y=U}},O.unstable_pauseExecution=function(){},O.unstable_requestPaint=P,O.unstable_runWithPriority=function(I,R){switch(I){case 1:case 2:case 3:case 4:case 5:break;default:I=3}var U=y;y=I;try{return R()}finally{y=U}},O.unstable_scheduleCallback=function(I,R,U){var B=O.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?B+U:B):U=B,I){case 1:var G=-1;break;case 2:G=250;break;case 5:G=1073741823;break;case 4:G=1e4;break;default:G=5e3}return G=U+G,I={id:x++,callback:R,priorityLevel:I,startTime:U,expirationTime:G,sortIndex:-1},U>B?(I.sortIndex=U,u(v,I),p(d)===null&&I===p(v)&&(M?fe():M=!0,J(C,U-B))):(I.sortIndex=G,u(d,I),h||k||(h=!0,F(L))),I},O.unstable_wrapCallback=function(I){var R=y;return function(){var U=y;y=R;try{return I.apply(this,arguments)}finally{y=U}}}})(h_);f_.exports=h_;var j4=f_.exports;/** @license React v17.0.2
+ */(function(P){var F,J,fe,Pe;if(typeof performance=="object"&&typeof performance.now=="function"){var D=performance;P.unstable_now=function(){return D.now()}}else{var E=Date,e=E.now();P.unstable_now=function(){return E.now()-e}}if(typeof window>"u"||typeof MessageChannel!="function"){var _=null,T=null,s=function(){if(_!==null)try{var I=P.unstable_now();_(!0,I),_=null}catch(R){throw setTimeout(s,0),R}};F=function(I){_!==null?setTimeout(F,0,I):(_=I,setTimeout(s,0))},J=function(I,R){T=setTimeout(I,R)},fe=function(){clearTimeout(T)},P.unstable_shouldYield=function(){return!1},Pe=P.unstable_forceFrameRate=function(){}}else{var w=window.setTimeout,m=window.clearTimeout;if(typeof console<"u"){var f=window.cancelAnimationFrame;typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof f!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var l=!1,t=null,i=-1,r=5,n=0;P.unstable_shouldYield=function(){return P.unstable_now()>=n},Pe=function(){},P.unstable_forceFrameRate=function(I){0>I||125<I?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):r=0<I?Math.floor(1e3/I):5};var o=new MessageChannel,a=o.port2;o.port1.onmessage=function(){if(t!==null){var I=P.unstable_now();n=I+r;try{t(!0,I)?a.postMessage(null):(l=!1,t=null)}catch(R){throw a.postMessage(null),R}}else l=!1},F=function(I){t=I,l||(l=!0,a.postMessage(null))},J=function(I,R){i=w(function(){I(P.unstable_now())},R)},fe=function(){m(i),i=-1}}function u(I,R){var U=I.length;I.push(R);e:for(;;){var B=U-1>>>1,G=I[B];if(G!==void 0&&0<b(G,R))I[B]=R,I[U]=G,U=B;else break e}}function p(I){return I=I[0],I===void 0?null:I}function c(I){var R=I[0];if(R!==void 0){var U=I.pop();if(U!==R){I[0]=U;e:for(var B=0,G=I.length;B<G;){var N=2*(B+1)-1,j=I[N],V=N+1,H=I[V];if(j!==void 0&&0>b(j,U))H!==void 0&&0>b(H,j)?(I[B]=H,I[V]=U,B=V):(I[B]=j,I[N]=U,B=N);else if(H!==void 0&&0>b(H,U))I[B]=H,I[V]=U,B=V;else break e}}return R}return null}function b(I,R){var U=I.sortIndex-R.sortIndex;return U!==0?U:I.id-R.id}var d=[],v=[],x=1,g=null,y=3,k=!1,h=!1,M=!1;function A(I){for(var R=p(v);R!==null;){if(R.callback===null)c(v);else if(R.startTime<=I)c(v),R.sortIndex=R.expirationTime,u(d,R);else break;R=p(v)}}function C(I){if(M=!1,A(I),!h)if(p(d)!==null)h=!0,F(L);else{var R=p(v);R!==null&&J(C,R.startTime-I)}}function L(I,R){h=!1,M&&(M=!1,fe()),k=!0;var U=y;try{for(A(R),g=p(d);g!==null&&(!(g.expirationTime>R)||I&&!P.unstable_shouldYield());){var B=g.callback;if(typeof B=="function"){g.callback=null,y=g.priorityLevel;var G=B(g.expirationTime<=R);R=P.unstable_now(),typeof G=="function"?g.callback=G:g===p(d)&&c(d),A(R)}else c(d);g=p(d)}if(g!==null)var N=!0;else{var j=p(v);j!==null&&J(C,j.startTime-R),N=!1}return N}finally{g=null,y=U,k=!1}}var O=Pe;P.unstable_IdlePriority=5,P.unstable_ImmediatePriority=1,P.unstable_LowPriority=4,P.unstable_NormalPriority=3,P.unstable_Profiling=null,P.unstable_UserBlockingPriority=2,P.unstable_cancelCallback=function(I){I.callback=null},P.unstable_continueExecution=function(){h||k||(h=!0,F(L))},P.unstable_getCurrentPriorityLevel=function(){return y},P.unstable_getFirstCallbackNode=function(){return p(d)},P.unstable_next=function(I){switch(y){case 1:case 2:case 3:var R=3;break;default:R=y}var U=y;y=R;try{return I()}finally{y=U}},P.unstable_pauseExecution=function(){},P.unstable_requestPaint=O,P.unstable_runWithPriority=function(I,R){switch(I){case 1:case 2:case 3:case 4:case 5:break;default:I=3}var U=y;y=I;try{return R()}finally{y=U}},P.unstable_scheduleCallback=function(I,R,U){var B=P.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?B+U:B):U=B,I){case 1:var G=-1;break;case 2:G=250;break;case 5:G=1073741823;break;case 4:G=1e4;break;default:G=5e3}return G=U+G,I={id:x++,callback:R,priorityLevel:I,startTime:U,expirationTime:G,sortIndex:-1},U>B?(I.sortIndex=U,u(v,I),p(d)===null&&I===p(v)&&(M?fe():M=!0,J(C,U-B))):(I.sortIndex=G,u(d,I),h||k||(h=!0,F(L))),I},P.unstable_wrapCallback=function(I){var R=y;return function(){var U=y;y=R;try{return I.apply(this,arguments)}finally{y=U}}}})(h_);f_.exports=h_;var j4=f_.exports;/** @license React v17.0.2
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */var Y0=Un,da=Wb,xo=j4;function Dr(O){for(var F="https://reactjs.org/docs/error-decoder.html?invariant="+O,J=1;J<arguments.length;J++)F+="&args[]="+encodeURIComponent(arguments[J]);return"Minified React error #"+O+"; visit "+F+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!Y0)throw Error(Dr(227));var p_=new Set,wp={};function cf(O,F){rh(O,F),rh(O+"Capture",F)}function rh(O,F){for(wp[O]=F,O=0;O<F.length;O++)p_.add(F[O])}var Bu=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),U4=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,jx=Object.prototype.hasOwnProperty,Ux={},Vx={};function V4(O){return jx.call(Vx,O)?!0:jx.call(Ux,O)?!1:U4.test(O)?Vx[O]=!0:(Ux[O]=!0,!1)}function H4(O,F,J,fe){if(J!==null&&J.type===0)return!1;switch(typeof F){case"function":case"symbol":return!0;case"boolean":return fe?!1:J!==null?!J.acceptsBooleans:(O=O.toLowerCase().slice(0,5),O!=="data-"&&O!=="aria-");default:return!1}}function q4(O,F,J,fe){if(F===null||typeof F>"u"||H4(O,F,J,fe))return!0;if(fe)return!1;if(J!==null)switch(J.type){case 3:return!F;case 4:return F===!1;case 5:return isNaN(F);case 6:return isNaN(F)||1>F}return!1}function cs(O,F,J,fe,Pe,D,E){this.acceptsBooleans=F===2||F===3||F===4,this.attributeName=fe,this.attributeNamespace=Pe,this.mustUseProperty=J,this.propertyName=O,this.type=F,this.sanitizeURL=D,this.removeEmptyString=E}var Oo={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(O){Oo[O]=new cs(O,0,!1,O,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(O){var F=O[0];Oo[F]=new cs(F,1,!1,O[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(O){Oo[O]=new cs(O,2,!1,O.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(O){Oo[O]=new cs(O,2,!1,O,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(O){Oo[O]=new cs(O,3,!1,O.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(O){Oo[O]=new cs(O,3,!0,O,null,!1,!1)});["capture","download"].forEach(function(O){Oo[O]=new cs(O,4,!1,O,null,!1,!1)});["cols","rows","size","span"].forEach(function(O){Oo[O]=new cs(O,6,!1,O,null,!1,!1)});["rowSpan","start"].forEach(function(O){Oo[O]=new cs(O,5,!1,O.toLowerCase(),null,!1,!1)});var Kv=/[\-:]([a-z])/g;function Qv(O){return O[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(O){var F=O.replace(Kv,Qv);Oo[F]=new cs(F,1,!1,O,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(O){var F=O.replace(Kv,Qv);Oo[F]=new cs(F,1,!1,O,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(O){var F=O.replace(Kv,Qv);Oo[F]=new cs(F,1,!1,O,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(O){Oo[O]=new cs(O,1,!1,O.toLowerCase(),null,!1,!1)});Oo.xlinkHref=new cs("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(O){Oo[O]=new cs(O,1,!1,O.toLowerCase(),null,!0,!0)});function em(O,F,J,fe){var Pe=Oo.hasOwnProperty(F)?Oo[F]:null,D=Pe!==null?Pe.type===0:fe?!1:!(!(2<F.length)||F[0]!=="o"&&F[0]!=="O"||F[1]!=="n"&&F[1]!=="N");D||(q4(F,J,Pe,fe)&&(J=null),fe||Pe===null?V4(F)&&(J===null?O.removeAttribute(F):O.setAttribute(F,""+J)):Pe.mustUseProperty?O[Pe.propertyName]=J===null?Pe.type===3?!1:"":J:(F=Pe.attributeName,fe=Pe.attributeNamespace,J===null?O.removeAttribute(F):(Pe=Pe.type,J=Pe===3||Pe===4&&J===!0?"":""+J,fe?O.setAttributeNS(fe,F,J):O.setAttribute(F,J))))}var ff=Y0.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,tp=60103,Xc=60106,tc=60107,tm=60108,lp=60114,nm=60109,rm=60110,X0=60112,up=60113,x0=60120,$0=60115,im=60116,am=60121,om=60128,d_=60129,sm=60130,Ng=60131;if(typeof Symbol=="function"&&Symbol.for){var mo=Symbol.for;tp=mo("react.element"),Xc=mo("react.portal"),tc=mo("react.fragment"),tm=mo("react.strict_mode"),lp=mo("react.profiler"),nm=mo("react.provider"),rm=mo("react.context"),X0=mo("react.forward_ref"),up=mo("react.suspense"),x0=mo("react.suspense_list"),$0=mo("react.memo"),im=mo("react.lazy"),am=mo("react.block"),mo("react.scope"),om=mo("react.opaque.id"),d_=mo("react.debug_trace_mode"),sm=mo("react.offscreen"),Ng=mo("react.legacy_hidden")}var Hx=typeof Symbol=="function"&&Symbol.iterator;function Uh(O){return O===null||typeof O!="object"?null:(O=Hx&&O[Hx]||O["@@iterator"],typeof O=="function"?O:null)}var tg;function np(O){if(tg===void 0)try{throw Error()}catch(J){var F=J.stack.trim().match(/\n( *(at )?)/);tg=F&&F[1]||""}return`
-`+tg+O}var ng=!1;function zd(O,F){if(!O||ng)return"";ng=!0;var J=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(F)if(F=function(){throw Error()},Object.defineProperty(F.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(F,[])}catch(_){var fe=_}Reflect.construct(O,[],F)}else{try{F.call()}catch(_){fe=_}O.call(F.prototype)}else{try{throw Error()}catch(_){fe=_}O()}}catch(_){if(_&&fe&&typeof _.stack=="string"){for(var Pe=_.stack.split(`
+ */var Y0=Un,da=Wb,xo=j4;function Dr(P){for(var F="https://reactjs.org/docs/error-decoder.html?invariant="+P,J=1;J<arguments.length;J++)F+="&args[]="+encodeURIComponent(arguments[J]);return"Minified React error #"+P+"; visit "+F+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!Y0)throw Error(Dr(227));var p_=new Set,wp={};function cf(P,F){rh(P,F),rh(P+"Capture",F)}function rh(P,F){for(wp[P]=F,P=0;P<F.length;P++)p_.add(F[P])}var Bu=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),U4=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,jx=Object.prototype.hasOwnProperty,Ux={},Vx={};function V4(P){return jx.call(Vx,P)?!0:jx.call(Ux,P)?!1:U4.test(P)?Vx[P]=!0:(Ux[P]=!0,!1)}function H4(P,F,J,fe){if(J!==null&&J.type===0)return!1;switch(typeof F){case"function":case"symbol":return!0;case"boolean":return fe?!1:J!==null?!J.acceptsBooleans:(P=P.toLowerCase().slice(0,5),P!=="data-"&&P!=="aria-");default:return!1}}function q4(P,F,J,fe){if(F===null||typeof F>"u"||H4(P,F,J,fe))return!0;if(fe)return!1;if(J!==null)switch(J.type){case 3:return!F;case 4:return F===!1;case 5:return isNaN(F);case 6:return isNaN(F)||1>F}return!1}function cs(P,F,J,fe,Pe,D,E){this.acceptsBooleans=F===2||F===3||F===4,this.attributeName=fe,this.attributeNamespace=Pe,this.mustUseProperty=J,this.propertyName=P,this.type=F,this.sanitizeURL=D,this.removeEmptyString=E}var Oo={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(P){Oo[P]=new cs(P,0,!1,P,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(P){var F=P[0];Oo[F]=new cs(F,1,!1,P[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(P){Oo[P]=new cs(P,2,!1,P.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(P){Oo[P]=new cs(P,2,!1,P,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(P){Oo[P]=new cs(P,3,!1,P.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(P){Oo[P]=new cs(P,3,!0,P,null,!1,!1)});["capture","download"].forEach(function(P){Oo[P]=new cs(P,4,!1,P,null,!1,!1)});["cols","rows","size","span"].forEach(function(P){Oo[P]=new cs(P,6,!1,P,null,!1,!1)});["rowSpan","start"].forEach(function(P){Oo[P]=new cs(P,5,!1,P.toLowerCase(),null,!1,!1)});var Kv=/[\-:]([a-z])/g;function Qv(P){return P[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicod