diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 000000000..e69de29bb
diff --git a/404.html b/404.html
new file mode 100644
index 000000000..48f96fbf3
--- /dev/null
+++ b/404.html
@@ -0,0 +1,55 @@
+
+
+
+
+ Single Page Apps for GitHub Pages
+
+
+
+
diff --git a/CNAME b/CNAME
new file mode 100644
index 000000000..f4eee0e6a
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+chitchatter.im
diff --git a/assets/Bootstrap-rb6tdA5d.js b/assets/Bootstrap-rb6tdA5d.js
new file mode 100644
index 000000000..3b1df8eb6
--- /dev/null
+++ b/assets/Bootstrap-rb6tdA5d.js
@@ -0,0 +1,322 @@
+import{g as Rr,m as nb,j as te,G as rb,b as Rt,n as ib,C as ob,o as ab,_ as st,p as sb,c as we,q as fg,t as lb,v as cb,r as ue,w as Df,x as Pl,y as ub,z as tl,A as db,B as fb,d as at,D as hb,E as Mf,e as Tt,a as It,F as pb,H as gb,R as mn,T as Nf,I as mb,k as _t,J as Tr,K as ca,L as qn,M as Ou,s as qe,u as Bt,N as mi,O as Sn,P as Lu,Q as dr,S as Un,f as nt,h as yn,U as yb,V as fs,W as vb,X as Kn,Y as bb,Z as $r,$ as Nn,a0 as _a,a1 as Ho,a2 as ua,a3 as Eo,a4 as Bu,a5 as _b,a6 as wb,a7 as Xr,a8 as hg,a9 as xb,aa as Dn,ab as nl,ac as Du,ad as Ci,ae as pg,af as gr,ag as rl,ah as Mu,ai as Nu,aj as rr,ak as Ft,al as Ut,am as Sb,an as Ot,ao as Eb,ap as ia,aq as kb,ar as At,as as ti,at as ni,au as ri,av as Cr,aw as Ds,ax as Zr,ay as Ms,az as Cb,aA as Ab,aB as Rb,i as wa,l as xa,aC as Tb,aD as Ib,aI as gg,aJ as Bc,aK as Pb,aL as mg,aM as Lo,aN as Ob,aO as Lb,aP as Bb,aQ as Db,aR as Mb,aE as Nb,aF as jb,aG as Fb,aH as Ub}from"./index-gkASqBB8.js";var yg={exports:{}},$b="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",zb=$b,Hb=zb;function vg(){}function bg(){}bg.resetWarningCache=vg;var Wb=function(){function e(r,i,u,b,C,R){if(R!==Hb){var P=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw P.name="Invariant Violation",P}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:bg,resetWarningCache:vg};return n.PropTypes=n,n};yg.exports=Wb();var Vb=yg.exports;const pt=Rr(Vb);function Gb({styles:e,themeId:t,defaultTheme:n={}}){const r=nb(n),i=typeof e=="function"?e(t&&r[t]||r):e;return te.jsx(rb,{styles:i})}const qb=Rt("MuiBox",["root"]),Kb=qb,Yb=ib({defaultClassName:Kb.root,generateClassName:ob.generate}),jf=Yb,Xb=["ownerState"],Zb=["variants"],Jb=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function Qb(e){return Object.keys(e).length===0}function e2(e){return typeof e=="string"&&e.charCodeAt(0)>96}function Ol(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const t2=fg(),n2=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function Ya({defaultTheme:e,theme:t,themeId:n}){return Qb(t)?e:t[n]||t}function r2(e){return e?(t,n)=>n[e]:null}function hs(e,t){let{ownerState:n}=t,r=st(t,Xb);const i=typeof e=="function"?e(we({ownerState:n},r)):e;if(Array.isArray(i))return i.flatMap(u=>hs(u,we({ownerState:n},r)));if(i&&typeof i=="object"&&Array.isArray(i.variants)){const{variants:u=[]}=i;let C=st(i,Zb);return u.forEach(R=>{let P=!0;typeof R.props=="function"?P=R.props(we({ownerState:n},r,n)):Object.keys(R.props).forEach(O=>{(n==null?void 0:n[O])!==R.props[O]&&r[O]!==R.props[O]&&(P=!1)}),P&&(Array.isArray(C)||(C=[C]),C.push(typeof R.style=="function"?R.style(we({ownerState:n},r,n)):R.style))}),C}return i}function i2(e={}){const{themeId:t,defaultTheme:n=t2,rootShouldForwardProp:r=Ol,slotShouldForwardProp:i=Ol}=e,u=b=>lb(we({},b,{theme:Ya(we({},b,{defaultTheme:n,themeId:t}))}));return u.__mui_systemSx=!0,(b,C={})=>{ab(b,p=>p.filter(w=>!(w!=null&&w.__mui_systemSx)));const{name:R,slot:P,skipVariantsResolver:O,skipSx:f,overridesResolver:K=r2(n2(P))}=C,z=st(C,Jb),G=O!==void 0?O:P&&P!=="Root"&&P!=="root"||!1,W=f||!1;let ae,oe=Ol;P==="Root"||P==="root"?oe=r:P?oe=i:e2(b)&&(oe=void 0);const S=sb(b,we({shouldForwardProp:oe,label:ae},z)),j=p=>typeof p=="function"&&p.__emotion_real!==p||cb(p)?w=>hs(p,we({},w,{theme:Ya({theme:w.theme,defaultTheme:n,themeId:t})})):p,I=(p,...w)=>{let y=j(p);const _=w?w.map(j):[];R&&K&&_.push(l=>{const s=Ya(we({},l,{defaultTheme:n,themeId:t}));if(!s.components||!s.components[R]||!s.components[R].styleOverrides)return null;const d=s.components[R].styleOverrides,c={};return Object.entries(d).forEach(([o,g])=>{c[o]=hs(g,we({},l,{theme:s}))}),K(l,c)}),R&&!G&&_.push(l=>{var s;const d=Ya(we({},l,{defaultTheme:n,themeId:t})),c=d==null||(s=d.components)==null||(s=s[R])==null?void 0:s.variants;return hs({variants:c},we({},l,{theme:d}))}),W||_.push(u);const a=_.length-w.length;if(Array.isArray(p)&&a>0){const l=new Array(a).fill("");y=[...p,...l],y.raw=[...p.raw,...l]}const h=S(y,..._);return b.muiName&&(h.muiName=b.muiName),h};return S.withConfig&&(I.withConfig=S.withConfig),I}}const o2=i2(),_g=e=>{const t=ue.useRef({});return ue.useEffect(()=>{t.current=e}),t.current},a2={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"},s2=a2,l2=["component","direction","spacing","divider","children","className","useFlexGap"],c2=fg(),u2=o2("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root});function d2(e){return hb({props:e,name:"MuiStack",defaultTheme:c2})}function f2(e,t){const n=ue.Children.toArray(e).filter(Boolean);return n.reduce((r,i,u)=>(r.push(i),u({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[e],p2=({ownerState:e,theme:t})=>{let n=we({display:"flex",flexDirection:"column"},Df({theme:t},Pl({values:e.direction,breakpoints:t.breakpoints.values}),r=>({flexDirection:r})));if(e.spacing){const r=ub(t),i=Object.keys(t.breakpoints.values).reduce((R,P)=>((typeof e.spacing=="object"&&e.spacing[P]!=null||typeof e.direction=="object"&&e.direction[P]!=null)&&(R[P]=!0),R),{}),u=Pl({values:e.direction,base:i}),b=Pl({values:e.spacing,base:i});typeof u=="object"&&Object.keys(u).forEach((R,P,O)=>{if(!u[R]){const K=P>0?u[O[P-1]]:"column";u[R]=K}}),n=tl(n,Df({theme:t},b,(R,P)=>e.useFlexGap?{gap:Mf(r,R)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${h2(P?u[P]:e.direction)}`]:Mf(r,R)}}))}return n=db(t.breakpoints,n),n};function g2(e={}){const{createStyledComponent:t=u2,useThemeProps:n=d2,componentName:r="MuiStack"}=e,i=()=>Tt({root:["root"]},R=>It(r,R),{}),u=t(p2);return ue.forwardRef(function(R,P){const O=n(R),f=fb(O),{component:K="div",direction:z="column",spacing:G=0,divider:W,children:ae,className:oe,useFlexGap:S=!1}=f,j=st(f,l2),I={direction:z,spacing:G,useFlexGap:S},p=i();return te.jsx(u,we({as:K,ownerState:I,ref:P,className:at(p.root,oe)},j,{children:W?f2(ae,W):ae}))})}const m2=Object.freeze(Object.defineProperty({__proto__:null,default:Ot,getTypographyUtilityClass:Ub,typographyClasses:Fb},Symbol.toStringTag,{value:"Module"}));function y2(e,t,n=(r,i)=>r===i){return e.length===t.length&&e.every((r,i)=>n(r,t[i]))}const v2={disableDefaultClasses:!1},b2=ue.createContext(v2);function _2(e){const{disableDefaultClasses:t}=ue.useContext(b2);return n=>t?"":e(n)}function ju(e,t){var n=function(u){return t&&ue.isValidElement(u)?t(u):u},r=Object.create(null);return e&&ue.Children.map(e,function(i){return i}).forEach(function(i){r[i.key]=n(i)}),r}function w2(e,t){e=e||{},t=t||{};function n(O){return O in t?t[O]:e[O]}var r=Object.create(null),i=[];for(var u in e)u in t?i.length&&(r[u]=i,i=[]):i.push(u);var b,C={};for(var R in t){if(r[R])for(b=0;b"u")throw new Error(t)}function wg(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function T2(){return Math.random().toString(36).substr(2,8)}function Uf(e,t){return{usr:e.state,key:e.key,idx:t}}function Dc(e,t,n,r){return n===void 0&&(n=null),Sa({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Bo(t):t,{state:n,key:t&&t.key||r||T2()})}function Ns(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Bo(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function I2(e,t,n,r){r===void 0&&(r={});let{window:i=document.defaultView,v5Compat:u=!1}=r,b=i.history,C=yi.Pop,R=null,P=O();P==null&&(P=0,b.replaceState(Sa({},b.state,{idx:P}),""));function O(){return(b.state||{idx:null}).idx}function f(){C=yi.Pop;let ae=O(),oe=ae==null?null:ae-P;P=ae,R&&R({action:C,location:W.location,delta:oe})}function K(ae,oe){C=yi.Push;let S=Dc(W.location,ae,oe);n&&n(S,ae),P=O()+1;let j=Uf(S,P),I=W.createHref(S);try{b.pushState(j,"",I)}catch(p){if(p instanceof DOMException&&p.name==="DataCloneError")throw p;i.location.assign(I)}u&&R&&R({action:C,location:W.location,delta:1})}function z(ae,oe){C=yi.Replace;let S=Dc(W.location,ae,oe);n&&n(S,ae),P=O();let j=Uf(S,P),I=W.createHref(S);b.replaceState(j,"",I),u&&R&&R({action:C,location:W.location,delta:0})}function G(ae){let oe=i.location.origin!=="null"?i.location.origin:i.location.href,S=typeof ae=="string"?ae:Ns(ae);return S=S.replace(/ $/,"%20"),Cn(oe,"No window.location.(origin|href) available to create URL for href: "+S),new URL(S,oe)}let W={get action(){return C},get location(){return e(i,b)},listen(ae){if(R)throw new Error("A history only accepts one active listener");return i.addEventListener(Ff,f),R=ae,()=>{i.removeEventListener(Ff,f),R=null}},createHref(ae){return t(i,ae)},createURL:G,encodeLocation(ae){let oe=G(ae);return{pathname:oe.pathname,search:oe.search,hash:oe.hash}},push:K,replace:z,go(ae){return b.go(ae)}};return W}var $f;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})($f||($f={}));function P2(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Bo(t):t,i=Uu(r.pathname||"/",n);if(i==null)return null;let u=xg(e);O2(u);let b=null;for(let C=0;b==null&&C{let R={relativePath:C===void 0?u.path||"":C,caseSensitive:u.caseSensitive===!0,childrenIndex:b,route:u};R.relativePath.startsWith("/")&&(Cn(R.relativePath.startsWith(r),'Absolute route path "'+R.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),R.relativePath=R.relativePath.slice(r.length));let P=xi([r,R.relativePath]),O=n.concat(R);u.children&&u.children.length>0&&(Cn(u.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+P+'".')),xg(u.children,t,O,P)),!(u.path==null&&!u.index)&&t.push({path:P,score:F2(P,u.index),routesMeta:O})};return e.forEach((u,b)=>{var C;if(u.path===""||!((C=u.path)!=null&&C.includes("?")))i(u,b);else for(let R of Sg(u.path))i(u,b,R)}),t}function Sg(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),u=n.replace(/\?$/,"");if(r.length===0)return i?[u,""]:[u];let b=Sg(r.join("/")),C=[];return C.push(...b.map(R=>R===""?u:[u,R].join("/"))),i&&C.push(...b),C.map(R=>e.startsWith("/")&&R===""?"/":R)}function O2(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:U2(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const L2=/^:[\w-]+$/,B2=3,D2=2,M2=1,N2=10,j2=-2,zf=e=>e==="*";function F2(e,t){let n=e.split("/"),r=n.length;return n.some(zf)&&(r+=j2),t&&(r+=D2),n.filter(i=>!zf(i)).reduce((i,u)=>i+(L2.test(u)?B2:u===""?M2:N2),r)}function U2(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function $2(e,t){let{routesMeta:n}=e,r={},i="/",u=[];for(let b=0;b{let{paramName:K,isOptional:z}=O;if(K==="*"){let W=C[f]||"";b=u.slice(0,u.length-W.length).replace(/(.)\/+$/,"$1")}const G=C[f];return z&&!G?P[K]=void 0:P[K]=(G||"").replace(/%2F/g,"/"),P},{}),pathname:u,pathnameBase:b,pattern:e}}function H2(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),wg(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(b,C,R)=>(r.push({paramName:C,isOptional:R!=null}),R?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function W2(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return wg(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function Uu(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function V2(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?Bo(e):e;return{pathname:n?n.startsWith("/")?n:G2(n,t):t,search:Y2(r),hash:X2(i)}}function G2(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function Ll(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. 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 q2(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function $u(e,t){let n=q2(e);return t?n.map((r,i)=>i===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function zu(e,t,n,r){r===void 0&&(r=!1);let i;typeof e=="string"?i=Bo(e):(i=Sa({},e),Cn(!i.pathname||!i.pathname.includes("?"),Ll("?","pathname","search",i)),Cn(!i.pathname||!i.pathname.includes("#"),Ll("#","pathname","hash",i)),Cn(!i.search||!i.search.includes("#"),Ll("#","search","hash",i)));let u=e===""||i.pathname==="",b=u?"/":i.pathname,C;if(b==null)C=n;else{let f=t.length-1;if(!r&&b.startsWith("..")){let K=b.split("/");for(;K[0]==="..";)K.shift(),f-=1;i.pathname=K.join("/")}C=f>=0?t[f]:"/"}let R=V2(i,C),P=b&&b!=="/"&&b.endsWith("/"),O=(u||b===".")&&n.endsWith("/");return!R.pathname.endsWith("/")&&(P||O)&&(R.pathname+="/"),R}const xi=e=>e.join("/").replace(/\/\/+/g,"/"),K2=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Y2=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,X2=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Z2(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Eg=["post","put","patch","delete"];new Set(Eg);const J2=["get",...Eg];new Set(J2);/**
+ * React Router v6.23.1
+ *
+ * Copyright (c) Remix Software Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE.md file in the root directory of this source tree.
+ *
+ * @license MIT
+ */function Ea(){return Ea=Object.assign?Object.assign.bind():function(e){for(var t=1;t{C.current=!0}),ue.useCallback(function(P,O){if(O===void 0&&(O={}),!C.current)return;if(typeof P=="number"){r.go(P);return}let f=zu(P,JSON.parse(b),u,O.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:xi([t,f.pathname])),(O.replace?r.replace:r.push)(f,O.state,O)},[t,r,b,u,e])}function Ag(){let{matches:e}=ue.useContext(ii),t=e[e.length-1];return t?t.params:{}}function Rg(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=ue.useContext(Ai),{matches:i}=ue.useContext(ii),{pathname:u}=Da(),b=JSON.stringify($u(i,r.v7_relativeSplatPath));return ue.useMemo(()=>zu(e,JSON.parse(b),u,n==="path"),[e,b,u,n])}function n_(e,t){return r_(e,t)}function r_(e,t,n,r){Do()||Cn(!1);let{navigator:i}=ue.useContext(Ai),{matches:u}=ue.useContext(ii),b=u[u.length-1],C=b?b.params:{};b&&b.pathname;let R=b?b.pathnameBase:"/";b&&b.route;let P=Da(),O;if(t){var f;let ae=typeof t=="string"?Bo(t):t;R==="/"||(f=ae.pathname)!=null&&f.startsWith(R)||Cn(!1),O=ae}else O=P;let K=O.pathname||"/",z=K;if(R!=="/"){let ae=R.replace(/^\//,"").split("/");z="/"+K.replace(/^\//,"").split("/").slice(ae.length).join("/")}let G=P2(e,{pathname:z}),W=l_(G&&G.map(ae=>Object.assign({},ae,{params:Object.assign({},C,ae.params),pathname:xi([R,i.encodeLocation?i.encodeLocation(ae.pathname).pathname:ae.pathname]),pathnameBase:ae.pathnameBase==="/"?R:xi([R,i.encodeLocation?i.encodeLocation(ae.pathnameBase).pathname:ae.pathnameBase])})),u,n,r);return t&&W?ue.createElement(il.Provider,{value:{location:Ea({pathname:"/",search:"",hash:"",state:null,key:"default"},O),navigationType:yi.Pop}},W):W}function i_(){let e=f_(),t=Z2(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return ue.createElement(ue.Fragment,null,ue.createElement("h2",null,"Unexpected Application Error!"),ue.createElement("h3",{style:{fontStyle:"italic"}},t),n?ue.createElement("pre",{style:i},n):null,null)}const o_=ue.createElement(i_,null);class a_ extends ue.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,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?ue.createElement(ii.Provider,{value:this.props.routeContext},ue.createElement(kg.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function s_(e){let{routeContext:t,match:n,children:r}=e,i=ue.useContext(Hu);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),ue.createElement(ii.Provider,{value:t},r)}function l_(e,t,n,r){var i;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var u;if((u=n)!=null&&u.errors)e=n.matches;else return null}let b=e,C=(i=n)==null?void 0:i.errors;if(C!=null){let O=b.findIndex(f=>f.route.id&&(C==null?void 0:C[f.route.id])!==void 0);O>=0||Cn(!1),b=b.slice(0,Math.min(b.length,O+1))}let R=!1,P=-1;if(n&&r&&r.v7_partialHydration)for(let O=0;O=0?b=b.slice(0,P+1):b=[b[0]];break}}}return b.reduceRight((O,f,K)=>{let z,G=!1,W=null,ae=null;n&&(z=C&&f.route.id?C[f.route.id]:void 0,W=f.route.errorElement||o_,R&&(P<0&&K===0?(p_("route-fallback",!1),G=!0,ae=null):P===K&&(G=!0,ae=f.route.hydrateFallbackElement||null)));let oe=t.concat(b.slice(0,K+1)),S=()=>{let j;return z?j=W:G?j=ae:f.route.Component?j=ue.createElement(f.route.Component,null):f.route.element?j=f.route.element:j=O,ue.createElement(s_,{match:f,routeContext:{outlet:O,matches:oe,isDataRoute:n!=null},children:j})};return n&&(f.route.ErrorBoundary||f.route.errorElement||K===0)?ue.createElement(a_,{location:n.location,revalidation:n.revalidation,component:W,error:z,children:S(),routeContext:{outlet:null,matches:oe,isDataRoute:!0}}):S()},null)}var Tg=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Tg||{}),js=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(js||{});function c_(e){let t=ue.useContext(Hu);return t||Cn(!1),t}function u_(e){let t=ue.useContext(Q2);return t||Cn(!1),t}function d_(e){let t=ue.useContext(ii);return t||Cn(!1),t}function Ig(e){let t=d_(),n=t.matches[t.matches.length-1];return n.route.id||Cn(!1),n.route.id}function f_(){var e;let t=ue.useContext(kg),n=u_(js.UseRouteError),r=Ig(js.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function h_(){let{router:e}=c_(Tg.UseNavigateStable),t=Ig(js.UseNavigateStable),n=ue.useRef(!1);return Cg(()=>{n.current=!0}),ue.useCallback(function(i,u){u===void 0&&(u={}),n.current&&(typeof i=="number"?e.navigate(i):e.navigate(i,Ea({fromRouteId:t},u)))},[e,t])}const Hf={};function p_(e,t,n){!t&&!Hf[e]&&(Hf[e]=!0)}function g_(e){let{to:t,replace:n,state:r,relative:i}=e;Do()||Cn(!1);let{future:u,static:b}=ue.useContext(Ai),{matches:C}=ue.useContext(ii),{pathname:R}=Da(),P=ol(),O=zu(t,$u(C,u.v7_relativeSplatPath),R,i==="path"),f=JSON.stringify(O);return ue.useEffect(()=>P(JSON.parse(f),{replace:n,state:r,relative:i}),[P,f,i,n,r]),null}function Pr(e){Cn(!1)}function m_(e){let{basename:t="/",children:n=null,location:r,navigationType:i=yi.Pop,navigator:u,static:b=!1,future:C}=e;Do()&&Cn(!1);let R=t.replace(/^\/*/,"/"),P=ue.useMemo(()=>({basename:R,navigator:u,static:b,future:Ea({v7_relativeSplatPath:!1},C)}),[R,C,u,b]);typeof r=="string"&&(r=Bo(r));let{pathname:O="/",search:f="",hash:K="",state:z=null,key:G="default"}=r,W=ue.useMemo(()=>{let ae=Uu(O,R);return ae==null?null:{location:{pathname:ae,search:f,hash:K,state:z,key:G},navigationType:i}},[R,O,f,K,z,G,i]);return W==null?null:ue.createElement(Ai.Provider,{value:P},ue.createElement(il.Provider,{children:n,value:W}))}function Pg(e){let{children:t,location:n}=e;return n_(Mc(t),n)}new Promise(()=>{});function Mc(e,t){t===void 0&&(t=[]);let n=[];return ue.Children.forEach(e,(r,i)=>{if(!ue.isValidElement(r))return;let u=[...t,i];if(r.type===ue.Fragment){n.push.apply(n,Mc(r.props.children,u));return}r.type!==Pr&&Cn(!1),!r.props.index||!r.props.children||Cn(!1);let b={id:r.props.id||u.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(b.children=Mc(r.props.children,u)),n.push(b)}),n}/**
+ * React Router DOM v6.23.1
+ *
+ * Copyright (c) Remix Software Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE.md file in the root directory of this source tree.
+ *
+ * @license MIT
+ */function Nc(){return Nc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function v_(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function b_(e,t){return e.button===0&&(!t||t==="_self")&&!v_(e)}const __=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],w_="6";try{window.__reactRouterVersion=w_}catch{}const x_="startTransition",Wf=mb[x_];function S_(e){let{basename:t,children:n,future:r,window:i}=e,u=ue.useRef();u.current==null&&(u.current=R2({window:i,v5Compat:!0}));let b=u.current,[C,R]=ue.useState({action:b.action,location:b.location}),{v7_startTransition:P}=r||{},O=ue.useCallback(f=>{P&&Wf?Wf(()=>R(f)):R(f)},[R,P]);return ue.useLayoutEffect(()=>b.listen(O),[b,O]),ue.createElement(m_,{basename:t,children:n,location:C.location,navigationType:C.action,navigator:b,future:r})}const E_=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",k_=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,go=ue.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:u,replace:b,state:C,target:R,to:P,preventScrollReset:O,unstable_viewTransition:f}=t,K=y_(t,__),{basename:z}=ue.useContext(Ai),G,W=!1;if(typeof P=="string"&&k_.test(P)&&(G=P,E_))try{let j=new URL(window.location.href),I=P.startsWith("//")?new URL(j.protocol+P):new URL(P),p=Uu(I.pathname,z);I.origin===j.origin&&p!=null?P=p+I.search+I.hash:W=!0}catch{}let ae=e_(P,{relative:i}),oe=C_(P,{replace:b,state:C,target:R,preventScrollReset:O,relative:i,unstable_viewTransition:f});function S(j){r&&r(j),j.defaultPrevented||oe(j)}return ue.createElement("a",Nc({},K,{href:G||ae,onClick:W||u?r:S,ref:n,target:R}))});var Vf;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Vf||(Vf={}));var Gf;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Gf||(Gf={}));function C_(e,t){let{target:n,replace:r,state:i,preventScrollReset:u,relative:b,unstable_viewTransition:C}=t===void 0?{}:t,R=ol(),P=Da(),O=Rg(e,{relative:b});return ue.useCallback(f=>{if(b_(f,n)){f.preventDefault();let K=r!==void 0?r:Ns(P)===Ns(O);R(e,{replace:K,state:i,preventScrollReset:u,relative:b,unstable_viewTransition:C})}},[P,R,O,r,i,n,e,u,b,C])}function vi(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Og={exports:{}};/*!
+ localForage -- Offline Storage, Improved
+ Version 1.10.0
+ https://localforage.github.io/localForage
+ (c) 2013-2017 Mozilla, Apache License 2.0
+*/(function(e,t){(function(n){e.exports=n()})(function(){return function n(r,i,u){function b(P,O){if(!i[P]){if(!r[P]){var f=typeof vi=="function"&&vi;if(!O&&f)return f(P,!0);if(C)return C(P,!0);var K=new Error("Cannot find module '"+P+"'");throw K.code="MODULE_NOT_FOUND",K}var z=i[P]={exports:{}};r[P][0].call(z.exports,function(G){var W=r[P][1][G];return b(W||G)},z,z.exports,n,r,i,u)}return i[P].exports}for(var C=typeof vi=="function"&&vi,R=0;R"u"&&n(3);var f=Promise;function K(re,me){me&&re.then(function(Ae){me(null,Ae)},function(Ae){me(Ae)})}function z(re,me,Ae){typeof me=="function"&&re.then(me),typeof Ae=="function"&&re.catch(Ae)}function G(re){return typeof re!="string"&&(console.warn(re+" used as a key, but it is not a string."),re=String(re)),re}function W(){if(arguments.length&&typeof arguments[arguments.length-1]=="function")return arguments[arguments.length-1]}var ae="local-forage-detect-blob-support",oe=void 0,S={},j=Object.prototype.toString,I="readonly",p="readwrite";function w(re){for(var me=re.length,Ae=new ArrayBuffer(me),De=new Uint8Array(Ae),Me=0;Me=43)}}).catch(function(){return!1})}function _(re){return typeof oe=="boolean"?f.resolve(oe):y(re).then(function(me){return oe=me,oe})}function a(re){var me=S[re.name],Ae={};Ae.promise=new f(function(De,Me){Ae.resolve=De,Ae.reject=Me}),me.deferredOperations.push(Ae),me.dbReady?me.dbReady=me.dbReady.then(function(){return Ae.promise}):me.dbReady=Ae.promise}function h(re){var me=S[re.name],Ae=me.deferredOperations.pop();if(Ae)return Ae.resolve(),Ae.promise}function l(re,me){var Ae=S[re.name],De=Ae.deferredOperations.pop();if(De)return De.reject(me),De.promise}function s(re,me){return new f(function(Ae,De){if(S[re.name]=S[re.name]||F(),re.db)if(me)a(re),re.db.close();else return Ae(re.db);var Me=[re.name];me&&Me.push(re.version);var Be=R.open.apply(R,Me);me&&(Be.onupgradeneeded=function(Ue){var Ve=Be.result;try{Ve.createObjectStore(re.storeName),Ue.oldVersion<=1&&Ve.createObjectStore(ae)}catch(Ye){if(Ye.name==="ConstraintError")console.warn('The database "'+re.name+'" has been upgraded from version '+Ue.oldVersion+" to version "+Ue.newVersion+', but the storage "'+re.storeName+'" already exists.');else throw Ye}}),Be.onerror=function(Ue){Ue.preventDefault(),De(Be.error)},Be.onsuccess=function(){var Ue=Be.result;Ue.onversionchange=function(Ve){Ve.target.close()},Ae(Ue),h(re)}})}function d(re){return s(re,!1)}function c(re){return s(re,!0)}function o(re,me){if(!re.db)return!0;var Ae=!re.db.objectStoreNames.contains(re.storeName),De=re.versionre.db.version;if(De&&(re.version!==me&&console.warn('The database "'+re.name+`" can't be downgraded from version `+re.db.version+" to version "+re.version+"."),re.version=re.db.version),Me||Ae){if(Ae){var Be=re.db.version+1;Be>re.version&&(re.version=Be)}return!0}return!1}function g(re){return new f(function(me,Ae){var De=new FileReader;De.onerror=Ae,De.onloadend=function(Me){var Be=btoa(Me.target.result||"");me({__local_forage_encoded_blob:!0,data:Be,type:re.type})},De.readAsBinaryString(re)})}function m(re){var me=w(atob(re.data));return O([me],{type:re.type})}function v(re){return re&&re.__local_forage_encoded_blob}function E(re){var me=this,Ae=me._initReady().then(function(){var De=S[me._dbInfo.name];if(De&&De.dbReady)return De.dbReady});return z(Ae,re,re),Ae}function k(re){a(re);for(var me=S[re.name],Ae=me.forages,De=0;De0&&(!re.db||Be.name==="InvalidStateError"||Be.name==="NotFoundError"))return f.resolve().then(function(){if(!re.db||Be.name==="NotFoundError"&&!re.db.objectStoreNames.contains(re.storeName)&&re.version<=re.db.version)return re.db&&(re.version=re.db.version+1),c(re)}).then(function(){return k(re).then(function(){M(re,me,Ae,De-1)})}).catch(Ae);Ae(Be)}}function F(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function x(re){var me=this,Ae={db:null};if(re)for(var De in re)Ae[De]=re[De];var Me=S[Ae.name];Me||(Me=F(),S[Ae.name]=Me),Me.forages.push(me),me._initReady||(me._initReady=me.ready,me.ready=E);var Be=[];function Ue(){return f.resolve()}for(var Ve=0;Ve>4,Xe[Me++]=(Ue&15)<<4|Ve>>2,Xe[Me++]=(Ve&3)<<6|Ye&63;return Ke}function X(re){var me=new Uint8Array(re),Ae="",De;for(De=0;De>2],Ae+=N[(me[De]&3)<<4|me[De+1]>>4],Ae+=N[(me[De+1]&15)<<2|me[De+2]>>6],Ae+=N[me[De+2]&63];return me.length%3===2?Ae=Ae.substring(0,Ae.length-1)+"=":me.length%3===1&&(Ae=Ae.substring(0,Ae.length-2)+"=="),Ae}function D(re,me){var Ae="";if(re&&(Ae=ie.call(re)),re&&(Ae==="[object ArrayBuffer]"||re.buffer&&ie.call(re.buffer)==="[object ArrayBuffer]")){var De,Me=ne;re instanceof ArrayBuffer?(De=re,Me+=ce):(De=re.buffer,Ae==="[object Int8Array]"?Me+=_e:Ae==="[object Uint8Array]"?Me+=Re:Ae==="[object Uint8ClampedArray]"?Me+=xe:Ae==="[object Int16Array]"?Me+=Pe:Ae==="[object Uint16Array]"?Me+=Ce:Ae==="[object Int32Array]"?Me+=Oe:Ae==="[object Uint32Array]"?Me+=Se:Ae==="[object Float32Array]"?Me+=ye:Ae==="[object Float64Array]"?Me+=le:me(new Error("Failed to get type for BinaryArray"))),me(Me+X(De))}else if(Ae==="[object Blob]"){var Be=new FileReader;Be.onload=function(){var Ue=Z+re.type+"~"+X(this.result);me(ne+ge+Ue)},Be.readAsArrayBuffer(re)}else try{me(JSON.stringify(re))}catch(Ue){console.error("Couldn't convert value into a JSON string: ",re),me(null,Ue)}}function H(re){if(re.substring(0,q)!==ne)return JSON.parse(re);var me=re.substring(J),Ae=re.substring(q,J),De;if(Ae===ge&&Q.test(me)){var Me=me.match(Q);De=Me[1],me=me.substring(Me[0].length)}var Be=se(me);switch(Ae){case ce:return Be;case ge:return O([Be],{type:De});case _e:return new Int8Array(Be);case Re:return new Uint8Array(Be);case xe:return new Uint8ClampedArray(Be);case Pe:return new Int16Array(Be);case Ce:return new Uint16Array(Be);case Oe:return new Int32Array(Be);case Se:return new Uint32Array(Be);case ye:return new Float32Array(Be);case le:return new Float64Array(Be);default:throw new Error("Unkown type: "+Ae)}}var he={serialize:D,deserialize:H,stringToBuffer:se,bufferToString:X};function be(re,me,Ae,De){re.executeSql("CREATE TABLE IF NOT EXISTS "+me.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],Ae,De)}function ke(re){var me=this,Ae={db:null};if(re)for(var De in re)Ae[De]=typeof re[De]!="string"?re[De].toString():re[De];var Me=new f(function(Be,Ue){try{Ae.db=openDatabase(Ae.name,String(Ae.version),Ae.description,Ae.size)}catch(Ve){return Ue(Ve)}Ae.db.transaction(function(Ve){be(Ve,Ae,function(){me._dbInfo=Ae,Be()},function(Ye,Ke){Ue(Ke)})},Ue)});return Ae.serializer=he,Me}function Ie(re,me,Ae,De,Me,Be){re.executeSql(Ae,De,Me,function(Ue,Ve){Ve.code===Ve.SYNTAX_ERR?Ue.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[me.storeName],function(Ye,Ke){Ke.rows.length?Be(Ye,Ve):be(Ye,me,function(){Ye.executeSql(Ae,De,Me,Be)},Be)},Be):Be(Ue,Ve)},Be)}function je(re,me){var Ae=this;re=G(re);var De=new f(function(Me,Be){Ae.ready().then(function(){var Ue=Ae._dbInfo;Ue.db.transaction(function(Ve){Ie(Ve,Ue,"SELECT * FROM "+Ue.storeName+" WHERE key = ? LIMIT 1",[re],function(Ye,Ke){var Xe=Ke.rows.length?Ke.rows.item(0).value:null;Xe&&(Xe=Ue.serializer.deserialize(Xe)),Me(Xe)},function(Ye,Ke){Be(Ke)})})}).catch(Be)});return K(De,me),De}function ze(re,me){var Ae=this,De=new f(function(Me,Be){Ae.ready().then(function(){var Ue=Ae._dbInfo;Ue.db.transaction(function(Ve){Ie(Ve,Ue,"SELECT * FROM "+Ue.storeName,[],function(Ye,Ke){for(var Xe=Ke.rows,ot=Xe.length,St=0;St0){Ue(Fe.apply(Me,[re,Ye,Ae,De-1]));return}Ve(St)}})})}).catch(Ve)});return K(Be,Ae),Be}function $e(re,me,Ae){return Fe.apply(this,[re,me,Ae,1])}function We(re,me){var Ae=this;re=G(re);var De=new f(function(Me,Be){Ae.ready().then(function(){var Ue=Ae._dbInfo;Ue.db.transaction(function(Ve){Ie(Ve,Ue,"DELETE FROM "+Ue.storeName+" WHERE key = ?",[re],function(){Me()},function(Ye,Ke){Be(Ke)})})}).catch(Be)});return K(De,me),De}function tt(re){var me=this,Ae=new f(function(De,Me){me.ready().then(function(){var Be=me._dbInfo;Be.db.transaction(function(Ue){Ie(Ue,Be,"DELETE FROM "+Be.storeName,[],function(){De()},function(Ve,Ye){Me(Ye)})})}).catch(Me)});return K(Ae,re),Ae}function Ze(re){var me=this,Ae=new f(function(De,Me){me.ready().then(function(){var Be=me._dbInfo;Be.db.transaction(function(Ue){Ie(Ue,Be,"SELECT COUNT(key) as c FROM "+Be.storeName,[],function(Ve,Ye){var Ke=Ye.rows.item(0).c;De(Ke)},function(Ve,Ye){Me(Ye)})})}).catch(Me)});return K(Ae,re),Ae}function dt(re,me){var Ae=this,De=new f(function(Me,Be){Ae.ready().then(function(){var Ue=Ae._dbInfo;Ue.db.transaction(function(Ve){Ie(Ve,Ue,"SELECT key FROM "+Ue.storeName+" WHERE id = ? LIMIT 1",[re+1],function(Ye,Ke){var Xe=Ke.rows.length?Ke.rows.item(0).key:null;Me(Xe)},function(Ye,Ke){Be(Ke)})})}).catch(Be)});return K(De,me),De}function gt(re){var me=this,Ae=new f(function(De,Me){me.ready().then(function(){var Be=me._dbInfo;Be.db.transaction(function(Ue){Ie(Ue,Be,"SELECT key FROM "+Be.storeName,[],function(Ve,Ye){for(var Ke=[],Xe=0;Xe '__WebKitDatabaseInfoTable__'",[],function(Me,Be){for(var Ue=[],Ve=0;Ve0}function Zt(re){var me=this,Ae={};if(re)for(var De in re)Ae[De]=re[De];return Ae.keyPrefix=Mt(re,me._defaultConfig),ht()?(me._dbInfo=Ae,Ae.serializer=he,f.resolve()):f.reject()}function Kt(re){var me=this,Ae=me.ready().then(function(){for(var De=me._dbInfo.keyPrefix,Me=localStorage.length-1;Me>=0;Me--){var Be=localStorage.key(Me);Be.indexOf(De)===0&&localStorage.removeItem(Be)}});return K(Ae,re),Ae}function vt(re,me){var Ae=this;re=G(re);var De=Ae.ready().then(function(){var Me=Ae._dbInfo,Be=localStorage.getItem(Me.keyPrefix+re);return Be&&(Be=Me.serializer.deserialize(Be)),Be});return K(De,me),De}function Jt(re,me){var Ae=this,De=Ae.ready().then(function(){for(var Me=Ae._dbInfo,Be=Me.keyPrefix,Ue=Be.length,Ve=localStorage.length,Ye=1,Ke=0;Ke=0;Ue--){var Ve=localStorage.key(Ue);Ve.indexOf(Be)===0&&localStorage.removeItem(Ve)}}):Me=f.reject("Invalid arguments"),K(Me,me),Me}var Nt={_driver:"localStorageWrapper",_initStorage:Zt,_support:ct(),iterate:Jt,getItem:vt,setItem:lt,removeItem:Lt,clear:Kt,length:Vt,key:mt,keys:it,dropInstance:ut},yt=function(me,Ae){return me===Ae||typeof me=="number"&&typeof Ae=="number"&&isNaN(me)&&isNaN(Ae)},sn=function(me,Ae){for(var De=me.length,Me=0;Me"u"?"undefined":u(Ae))==="object"){if(this._ready)return new Error("Can't call config() after localforage has been used.");for(var De in Ae){if(De==="storeName"&&(Ae[De]=Ae[De].replace(/\W/g,"_")),De==="version"&&typeof Ae[De]!="number")return new Error("Database version must be a number.");this._config[De]=Ae[De]}return"driver"in Ae&&Ae.driver?this.setDriver(this._config.driver):!0}else return typeof Ae=="string"?this._config[Ae]:this._config},re.prototype.defineDriver=function(Ae,De,Me){var Be=new f(function(Ue,Ve){try{var Ye=Ae._driver,Ke=new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!Ae._driver){Ve(Ke);return}for(var Xe=an.concat("_initStorage"),ot=0,St=Xe.length;ot{await R,await(P==null?void 0:P())};async function f(){if("serviceWorker"in navigator){if(C=await Tr(()=>import("./workbox-window.prod.es5-prqDwDSL.js"),__vite__mapDeps([])).then(({Workbox:K})=>new K("/service-worker.js",{scope:"/",type:"classic"})).catch(K=>{b==null||b(K)}),!C)return;P=async()=>{await(C==null?void 0:C.messageSkipWaiting())};{let K=!1;const z=()=>{K=!0,C==null||C.addEventListener("controlling",G=>{G.isUpdate&&window.location.reload()}),n==null||n()};C.addEventListener("installed",G=>{typeof G.isUpdate>"u"?typeof G.isExternal<"u"?G.isExternal?z():!K&&(r==null||r()):G.isExternal?window.location.reload():!K&&(r==null||r()):G.isUpdate||r==null||r()}),C.addEventListener("waiting",z),C.addEventListener("externalwaiting",z)}C.register({immediate:t}).then(K=>{u?u("/service-worker.js",K):i==null||i(K)}).catch(K=>{b==null||b(K)})}}return R=f(),O}function Bg(e={}){const{immediate:t=!0,onNeedRefresh:n,onOfflineReady:r,onRegistered:i,onRegisteredSW:u,onRegisterError:b}=e,[C,R]=ue.useState(!1),[P,O]=ue.useState(!1),[f]=ue.useState(()=>R_({immediate:t,onOfflineReady(){O(!0),r==null||r()},onNeedRefresh(){R(!0),n==null||n()},onRegistered:i,onRegisteredSW:u,onRegisterError:b}));return{needRefresh:[C,R],offlineReady:[P,O],updateServiceWorker:f}}const Dg=ue.createContext({getPersistedStorage:()=>Lg}),oi=ue.createContext({updateUserSettings:()=>Promise.resolve(),getUserSettings:()=>({userId:"",customUsername:"",colorMode:ca.DARK,playSoundOnNewMessage:!0,showNotificationOnNewMessage:!0,showActiveTypingStatus:!0,publicKey:qn.cryptoKeyStub,privateKey:qn.cryptoKeyStub})});var Pn=(e=>(e.ABOUT="/about",e.DISCLAIMER="/disclaimer",e.INDEX_HTML="/index.html",e.PRIVATE_ROOM="/private/:roomId",e.PUBLIC_ROOM="/public/:roomId",e.ROOT="/",e.SETTINGS="/settings",e))(Pn||{});const Mg=new URL("https://chitchatter.im/");function T_(e){const{className:t,classes:n,pulsate:r=!1,rippleX:i,rippleY:u,rippleSize:b,in:C,onExited:R,timeout:P}=e,[O,f]=ue.useState(!1),K=at(t,n.ripple,n.rippleVisible,r&&n.ripplePulsate),z={width:b,height:b,top:-(b/2)+u,left:-(b/2)+i},G=at(n.child,O&&n.childLeaving,r&&n.childPulsate);return!C&&!O&&f(!0),ue.useEffect(()=>{if(!C&&R!=null){const W=setTimeout(R,P);return()=>{clearTimeout(W)}}},[R,C,P]),te.jsx("span",{className:K,style:z,children:te.jsx("span",{className:G})})}const lr=Rt("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),I_=["center","classes","className"];let al=e=>e,qf,Kf,Yf,Xf;const jc=550,P_=80,O_=Ou(qf||(qf=al`
+ 0% {
+ transform: scale(0);
+ opacity: 0.1;
+ }
+
+ 100% {
+ transform: scale(1);
+ opacity: 0.3;
+ }
+`)),L_=Ou(Kf||(Kf=al`
+ 0% {
+ opacity: 1;
+ }
+
+ 100% {
+ opacity: 0;
+ }
+`)),B_=Ou(Yf||(Yf=al`
+ 0% {
+ transform: scale(1);
+ }
+
+ 50% {
+ transform: scale(0.92);
+ }
+
+ 100% {
+ transform: scale(1);
+ }
+`)),D_=qe("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),M_=qe(T_,{name:"MuiTouchRipple",slot:"Ripple"})(Xf||(Xf=al`
+ opacity: 0;
+ position: absolute;
+
+ &.${0} {
+ opacity: 0.3;
+ transform: scale(1);
+ animation-name: ${0};
+ animation-duration: ${0}ms;
+ animation-timing-function: ${0};
+ }
+
+ &.${0} {
+ animation-duration: ${0}ms;
+ }
+
+ & .${0} {
+ opacity: 1;
+ display: block;
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+ background-color: currentColor;
+ }
+
+ & .${0} {
+ opacity: 0;
+ animation-name: ${0};
+ animation-duration: ${0}ms;
+ animation-timing-function: ${0};
+ }
+
+ & .${0} {
+ position: absolute;
+ /* @noflip */
+ left: 0px;
+ top: 0;
+ animation-name: ${0};
+ animation-duration: 2500ms;
+ animation-timing-function: ${0};
+ animation-iteration-count: infinite;
+ animation-delay: 200ms;
+ }
+`),lr.rippleVisible,O_,jc,({theme:e})=>e.transitions.easing.easeInOut,lr.ripplePulsate,({theme:e})=>e.transitions.duration.shorter,lr.child,lr.childLeaving,L_,jc,({theme:e})=>e.transitions.easing.easeInOut,lr.childPulsate,B_,({theme:e})=>e.transitions.easing.easeInOut),N_=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiTouchRipple"}),{center:i=!1,classes:u={},className:b}=r,C=st(r,I_),[R,P]=ue.useState([]),O=ue.useRef(0),f=ue.useRef(null);ue.useEffect(()=>{f.current&&(f.current(),f.current=null)},[R]);const K=ue.useRef(!1),z=mi(),G=ue.useRef(null),W=ue.useRef(null),ae=ue.useCallback(I=>{const{pulsate:p,rippleX:w,rippleY:y,rippleSize:_,cb:a}=I;P(h=>[...h,te.jsx(M_,{classes:{ripple:at(u.ripple,lr.ripple),rippleVisible:at(u.rippleVisible,lr.rippleVisible),ripplePulsate:at(u.ripplePulsate,lr.ripplePulsate),child:at(u.child,lr.child),childLeaving:at(u.childLeaving,lr.childLeaving),childPulsate:at(u.childPulsate,lr.childPulsate)},timeout:jc,pulsate:p,rippleX:w,rippleY:y,rippleSize:_},O.current)]),O.current+=1,f.current=a},[u]),oe=ue.useCallback((I={},p={},w=()=>{})=>{const{pulsate:y=!1,center:_=i||p.pulsate,fakeElement:a=!1}=p;if((I==null?void 0:I.type)==="mousedown"&&K.current){K.current=!1;return}(I==null?void 0:I.type)==="touchstart"&&(K.current=!0);const h=a?null:W.current,l=h?h.getBoundingClientRect():{width:0,height:0,left:0,top:0};let s,d,c;if(_||I===void 0||I.clientX===0&&I.clientY===0||!I.clientX&&!I.touches)s=Math.round(l.width/2),d=Math.round(l.height/2);else{const{clientX:o,clientY:g}=I.touches&&I.touches.length>0?I.touches[0]:I;s=Math.round(o-l.left),d=Math.round(g-l.top)}if(_)c=Math.sqrt((2*l.width**2+l.height**2)/3),c%2===0&&(c+=1);else{const o=Math.max(Math.abs((h?h.clientWidth:0)-s),s)*2+2,g=Math.max(Math.abs((h?h.clientHeight:0)-d),d)*2+2;c=Math.sqrt(o**2+g**2)}I!=null&&I.touches?G.current===null&&(G.current=()=>{ae({pulsate:y,rippleX:s,rippleY:d,rippleSize:c,cb:w})},z.start(P_,()=>{G.current&&(G.current(),G.current=null)})):ae({pulsate:y,rippleX:s,rippleY:d,rippleSize:c,cb:w})},[i,ae,z]),S=ue.useCallback(()=>{oe({},{pulsate:!0})},[oe]),j=ue.useCallback((I,p)=>{if(z.clear(),(I==null?void 0:I.type)==="touchend"&&G.current){G.current(),G.current=null,z.start(0,()=>{j(I,p)});return}G.current=null,P(w=>w.length>0?w.slice(1):w),f.current=p},[z]);return ue.useImperativeHandle(n,()=>({pulsate:S,start:oe,stop:j}),[S,oe,j]),te.jsx(D_,we({className:at(lr.root,u.root,b),ref:W},C,{children:te.jsx(C2,{component:null,exit:!0,children:R})}))}),j_=N_;function F_(e){return It("MuiButtonBase",e)}const U_=Rt("MuiButtonBase",["root","disabled","focusVisible"]),$_=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],z_=e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:i}=e,b=Tt({root:["root",t&&"disabled",n&&"focusVisible"]},F_,i);return n&&r&&(b.root+=` ${r}`),b},H_=qe("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${U_.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),W_=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiButtonBase"}),{action:i,centerRipple:u=!1,children:b,className:C,component:R="button",disabled:P=!1,disableRipple:O=!1,disableTouchRipple:f=!1,focusRipple:K=!1,LinkComponent:z="a",onBlur:G,onClick:W,onContextMenu:ae,onDragLeave:oe,onFocus:S,onFocusVisible:j,onKeyDown:I,onKeyUp:p,onMouseDown:w,onMouseLeave:y,onMouseUp:_,onTouchEnd:a,onTouchMove:h,onTouchStart:l,tabIndex:s=0,TouchRippleProps:d,touchRippleRef:c,type:o}=r,g=st(r,$_),m=ue.useRef(null),v=ue.useRef(null),E=Sn(v,c),{isFocusVisibleRef:k,onFocus:M,onBlur:F,ref:x}=Lu(),[L,V]=ue.useState(!1);P&&L&&V(!1),ue.useImperativeHandle(i,()=>({focusVisible:()=>{V(!0),m.current.focus()}}),[]);const[U,ee]=ue.useState(!1);ue.useEffect(()=>{ee(!0)},[]);const Y=U&&!O&&!P;ue.useEffect(()=>{L&&K&&!O&&U&&v.current.pulsate()},[O,K,L,U]);function de(ye,le,J=f){return dr(ie=>(le&&le(ie),!J&&v.current&&v.current[ye](ie),!0))}const fe=de("start",w),$=de("stop",ae),T=de("stop",oe),B=de("stop",_),A=de("stop",ye=>{L&&ye.preventDefault(),y&&y(ye)}),N=de("start",l),Z=de("stop",a),Q=de("stop",h),ne=de("stop",ye=>{F(ye),k.current===!1&&V(!1),G&&G(ye)},!1),q=dr(ye=>{m.current||(m.current=ye.currentTarget),M(ye),k.current===!0&&(V(!0),j&&j(ye)),S&&S(ye)}),ce=()=>{const ye=m.current;return R&&R!=="button"&&!(ye.tagName==="A"&&ye.href)},ge=ue.useRef(!1),_e=dr(ye=>{K&&!ge.current&&L&&v.current&&ye.key===" "&&(ge.current=!0,v.current.stop(ye,()=>{v.current.start(ye)})),ye.target===ye.currentTarget&&ce()&&ye.key===" "&&ye.preventDefault(),I&&I(ye),ye.target===ye.currentTarget&&ce()&&ye.key==="Enter"&&!P&&(ye.preventDefault(),W&&W(ye))}),Re=dr(ye=>{K&&ye.key===" "&&v.current&&L&&!ye.defaultPrevented&&(ge.current=!1,v.current.stop(ye,()=>{v.current.pulsate(ye)})),p&&p(ye),W&&ye.target===ye.currentTarget&&ce()&&ye.key===" "&&!ye.defaultPrevented&&W(ye)});let xe=R;xe==="button"&&(g.href||g.to)&&(xe=z);const Pe={};xe==="button"?(Pe.type=o===void 0?"button":o,Pe.disabled=P):(!g.href&&!g.to&&(Pe.role="button"),P&&(Pe["aria-disabled"]=P));const Oe=Sn(n,x,m),Ce=we({},r,{centerRipple:u,component:R,disabled:P,disableRipple:O,disableTouchRipple:f,focusRipple:K,tabIndex:s,focusVisible:L}),Se=z_(Ce);return te.jsxs(H_,we({as:xe,className:at(Se.root,C),ownerState:Ce,onBlur:ne,onClick:W,onContextMenu:$,onFocus:q,onKeyDown:_e,onKeyUp:Re,onMouseDown:fe,onMouseLeave:A,onMouseUp:B,onDragLeave:T,onTouchEnd:Z,onTouchMove:Q,onTouchStart:N,ref:Oe,tabIndex:P?-1:s,type:o},Pe,g,{children:[b,Y?te.jsx(j_,we({ref:E,center:u},d)):null]}))}),Qi=W_;function Ng(e){return It("MuiButton",e)}const V_=Rt("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),oa=V_,G_=ue.createContext({}),q_=G_,K_=ue.createContext(void 0),Y_=K_,X_=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],Z_=e=>{const{color:t,disableElevation:n,fullWidth:r,size:i,variant:u,classes:b}=e,C={root:["root",u,`${u}${nt(t)}`,`size${nt(i)}`,`${u}Size${nt(i)}`,`color${nt(t)}`,n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${nt(i)}`],endIcon:["icon","endIcon",`iconSize${nt(i)}`]},R=Tt(C,Ng,b);return we({},b,R)},jg=e=>we({},e.size==="small"&&{"& > *:nth-of-type(1)":{fontSize:18}},e.size==="medium"&&{"& > *:nth-of-type(1)":{fontSize:20}},e.size==="large"&&{"& > *:nth-of-type(1)":{fontSize:22}}),J_=qe(Qi,{shouldForwardProp:e=>Un(e)||e==="classes",name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${nt(n.color)}`],t[`size${nt(n.size)}`],t[`${n.variant}Size${nt(n.size)}`],n.color==="inherit"&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})(({theme:e,ownerState:t})=>{var n,r;const i=e.palette.mode==="light"?e.palette.grey[300]:e.palette.grey[800],u=e.palette.mode==="light"?e.palette.grey.A100:e.palette.grey[700];return we({},e.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create(["background-color","box-shadow","border-color","color"],{duration:e.transitions.duration.short}),"&:hover":we({textDecoration:"none",backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:yn(e.palette.text.primary,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="text"&&t.color!=="inherit"&&{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:yn(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="outlined"&&t.color!=="inherit"&&{border:`1px solid ${(e.vars||e).palette[t.color].main}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:yn(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="contained"&&{backgroundColor:e.vars?e.vars.palette.Button.inheritContainedHoverBg:u,boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2],backgroundColor:(e.vars||e).palette.grey[300]}},t.variant==="contained"&&t.color!=="inherit"&&{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}),"&:active":we({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[8]}),[`&.${oa.focusVisible}`]:we({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[6]}),[`&.${oa.disabled}`]:we({color:(e.vars||e).palette.action.disabled},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},t.variant==="contained"&&{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground})},t.variant==="text"&&{padding:"6px 8px"},t.variant==="text"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main},t.variant==="outlined"&&{padding:"5px 15px",border:"1px solid currentColor"},t.variant==="outlined"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main,border:e.vars?`1px solid rgba(${e.vars.palette[t.color].mainChannel} / 0.5)`:`1px solid ${yn(e.palette[t.color].main,.5)}`},t.variant==="contained"&&{color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:e.vars?e.vars.palette.Button.inheritContainedBg:i,boxShadow:(e.vars||e).shadows[2]},t.variant==="contained"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main},t.color==="inherit"&&{color:"inherit",borderColor:"currentColor"},t.size==="small"&&t.variant==="text"&&{padding:"4px 5px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="text"&&{padding:"8px 11px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="outlined"&&{padding:"3px 9px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="outlined"&&{padding:"7px 21px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="contained"&&{padding:"4px 10px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="contained"&&{padding:"8px 22px",fontSize:e.typography.pxToRem(15)},t.fullWidth&&{width:"100%"})},({ownerState:e})=>e.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${oa.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${oa.disabled}`]:{boxShadow:"none"}}),Q_=qe("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.startIcon,t[`iconSize${nt(n.size)}`]]}})(({ownerState:e})=>we({display:"inherit",marginRight:8,marginLeft:-4},e.size==="small"&&{marginLeft:-2},jg(e))),ew=qe("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.endIcon,t[`iconSize${nt(n.size)}`]]}})(({ownerState:e})=>we({display:"inherit",marginRight:-4,marginLeft:8},e.size==="small"&&{marginRight:-2},jg(e))),tw=ue.forwardRef(function(t,n){const r=ue.useContext(q_),i=ue.useContext(Y_),u=yb(r,t),b=Bt({props:u,name:"MuiButton"}),{children:C,color:R="primary",component:P="button",className:O,disabled:f=!1,disableElevation:K=!1,disableFocusRipple:z=!1,endIcon:G,focusVisibleClassName:W,fullWidth:ae=!1,size:oe="medium",startIcon:S,type:j,variant:I="text"}=b,p=st(b,X_),w=we({},b,{color:R,component:P,disabled:f,disableElevation:K,disableFocusRipple:z,fullWidth:ae,size:oe,type:j,variant:I}),y=Z_(w),_=S&&te.jsx(Q_,{className:y.startIcon,ownerState:w,children:S}),a=G&&te.jsx(ew,{className:y.endIcon,ownerState:w,children:G}),h=i||"";return te.jsxs(J_,we({ownerState:w,className:at(r.className,y.root,O,h),component:P,disabled:f,focusRipple:!z,focusVisibleClassName:at(y.focusVisible,W),ref:n,type:j},p,{classes:y,children:[_,C,a]}))}),kn=tw,nw=Object.freeze(Object.defineProperty({__proto__:null,buttonClasses:oa,default:kn,getButtonUtilityClass:Ng},Symbol.toStringTag,{value:"Module"}));function Zf(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function Fs(e,t=!1){return e&&(Zf(e.value)&&e.value!==""||t&&Zf(e.defaultValue)&&e.defaultValue!=="")}function rw(e){return e.startAdornment}const iw=ue.createContext(void 0),sl=iw;function ow(e){return It("MuiFormControl",e)}Rt("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);const aw=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],sw=e=>{const{classes:t,margin:n,fullWidth:r}=e,i={root:["root",n!=="none"&&`margin${nt(n)}`,r&&"fullWidth"]};return Tt(i,ow,t)},lw=qe("div",{name:"MuiFormControl",slot:"Root",overridesResolver:({ownerState:e},t)=>we({},t.root,t[`margin${nt(e.margin)}`],e.fullWidth&&t.fullWidth)})(({ownerState:e})=>we({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},e.margin==="normal"&&{marginTop:16,marginBottom:8},e.margin==="dense"&&{marginTop:8,marginBottom:4},e.fullWidth&&{width:"100%"})),cw=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiFormControl"}),{children:i,className:u,color:b="primary",component:C="div",disabled:R=!1,error:P=!1,focused:O,fullWidth:f=!1,hiddenLabel:K=!1,margin:z="none",required:G=!1,size:W="medium",variant:ae="outlined"}=r,oe=st(r,aw),S=we({},r,{color:b,component:C,disabled:R,error:P,fullWidth:f,hiddenLabel:K,margin:z,required:G,size:W,variant:ae}),j=sw(S),[I,p]=ue.useState(()=>{let d=!1;return i&&ue.Children.forEach(i,c=>{if(!fs(c,["Input","Select"]))return;const o=fs(c,["Select"])?c.props.input:c;o&&rw(o.props)&&(d=!0)}),d}),[w,y]=ue.useState(()=>{let d=!1;return i&&ue.Children.forEach(i,c=>{fs(c,["Input","Select"])&&(Fs(c.props,!0)||Fs(c.props.inputProps,!0))&&(d=!0)}),d}),[_,a]=ue.useState(!1);R&&_&&a(!1);const h=O!==void 0&&!R?O:_;let l;const s=ue.useMemo(()=>({adornedStart:I,setAdornedStart:p,color:b,disabled:R,error:P,filled:w,focused:h,fullWidth:f,hiddenLabel:K,size:W,onBlur:()=>{a(!1)},onEmpty:()=>{y(!1)},onFilled:()=>{y(!0)},onFocus:()=>{a(!0)},registerEffect:l,required:G,variant:ae}),[I,b,R,P,w,h,f,K,l,G,W,ae]);return te.jsx(sl.Provider,{value:s,children:te.jsx(lw,we({as:C,ownerState:S,className:at(j.root,u),ref:n},oe,{children:i}))})}),ll=cw;function Hr(){return ue.useContext(sl)}function uw(e){const{badgeContent:t,invisible:n=!1,max:r=99,showZero:i=!1}=e,u=_g({badgeContent:t,max:r});let b=n;n===!1&&t===0&&!i&&(b=!0);const{badgeContent:C,max:R=r}=b?u:e,P=C&&Number(C)>R?`${R}+`:C;return{badgeContent:C,invisible:b,max:R,displayValue:P}}const Fg="base";function dw(e){return`${Fg}--${e}`}function fw(e,t){return`${Fg}-${e}-${t}`}function Ug(e,t){const n=vb[t];return n?dw(n):fw(e,t)}function hw(e,t){const n={};return t.forEach(r=>{n[r]=Ug(e,r)}),n}function Jf(e){return e.substring(2).toLowerCase()}function pw(e,t){return t.documentElement.clientWidth(setTimeout(()=>{R.current=!0},0),()=>{R.current=!1}),[]);const O=Sn(t.ref,C),f=dr(G=>{const W=P.current;P.current=!1;const ae=Kn(C.current);if(!R.current||!C.current||"clientX"in G&&pw(G,ae))return;if(b.current){b.current=!1;return}let oe;G.composedPath?oe=G.composedPath().indexOf(C.current)>-1:oe=!ae.documentElement.contains(G.target)||C.current.contains(G.target),!oe&&(n||!W)&&i(G)}),K=G=>W=>{P.current=!0;const ae=t.props[G];ae&&ae(W)},z={ref:O};return u!==!1&&(z[u]=K(u)),ue.useEffect(()=>{if(u!==!1){const G=Jf(u),W=Kn(C.current),ae=()=>{b.current=!0};return W.addEventListener(G,f),W.addEventListener("touchmove",ae),()=>{W.removeEventListener(G,f),W.removeEventListener("touchmove",ae)}}},[f,u]),r!==!1&&(z[r]=K(r)),ue.useEffect(()=>{if(r!==!1){const G=Jf(r),W=Kn(C.current);return W.addEventListener(G,f),()=>{W.removeEventListener(G,f)}}},[f,r]),te.jsx(ue.Fragment,{children:ue.cloneElement(t,z)})}var Yn="top",mr="bottom",yr="right",Xn="left",Wu="auto",Ma=[Yn,mr,yr,Xn],ko="start",ka="end",mw="clippingParents",$g="viewport",Wo="popper",yw="reference",Qf=Ma.reduce(function(e,t){return e.concat([t+"-"+ko,t+"-"+ka])},[]),zg=[].concat(Ma,[Wu]).reduce(function(e,t){return e.concat([t,t+"-"+ko,t+"-"+ka])},[]),vw="beforeRead",bw="read",_w="afterRead",ww="beforeMain",xw="main",Sw="afterMain",Ew="beforeWrite",kw="write",Cw="afterWrite",Aw=[vw,bw,_w,ww,xw,Sw,Ew,kw,Cw];function zr(e){return e?(e.nodeName||"").toLowerCase():null}function nr(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Yi(e){var t=nr(e).Element;return e instanceof t||e instanceof Element}function pr(e){var t=nr(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Vu(e){if(typeof ShadowRoot>"u")return!1;var t=nr(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Rw(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},u=t.elements[n];!pr(u)||!zr(u)||(Object.assign(u.style,r),Object.keys(i).forEach(function(b){var C=i[b];C===!1?u.removeAttribute(b):u.setAttribute(b,C===!0?"":C)}))})}function Tw(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],u=t.attributes[r]||{},b=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),C=b.reduce(function(R,P){return R[P]="",R},{});!pr(i)||!zr(i)||(Object.assign(i.style,C),Object.keys(u).forEach(function(R){i.removeAttribute(R)}))})}}const Iw={name:"applyStyles",enabled:!0,phase:"write",fn:Rw,effect:Tw,requires:["computeStyles"]};function Fr(e){return e.split("-")[0]}var Vi=Math.max,Us=Math.min,Co=Math.round;function Fc(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Hg(){return!/^((?!chrome|android).)*safari/i.test(Fc())}function Ao(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,u=1;t&&pr(e)&&(i=e.offsetWidth>0&&Co(r.width)/e.offsetWidth||1,u=e.offsetHeight>0&&Co(r.height)/e.offsetHeight||1);var b=Yi(e)?nr(e):window,C=b.visualViewport,R=!Hg()&&n,P=(r.left+(R&&C?C.offsetLeft:0))/i,O=(r.top+(R&&C?C.offsetTop:0))/u,f=r.width/i,K=r.height/u;return{width:f,height:K,top:O,right:P+f,bottom:O+K,left:P,x:P,y:O}}function Gu(e){var t=Ao(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function Wg(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Vu(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Jr(e){return nr(e).getComputedStyle(e)}function Pw(e){return["table","td","th"].indexOf(zr(e))>=0}function Ri(e){return((Yi(e)?e.ownerDocument:e.document)||window.document).documentElement}function cl(e){return zr(e)==="html"?e:e.assignedSlot||e.parentNode||(Vu(e)?e.host:null)||Ri(e)}function eh(e){return!pr(e)||Jr(e).position==="fixed"?null:e.offsetParent}function Ow(e){var t=/firefox/i.test(Fc()),n=/Trident/i.test(Fc());if(n&&pr(e)){var r=Jr(e);if(r.position==="fixed")return null}var i=cl(e);for(Vu(i)&&(i=i.host);pr(i)&&["html","body"].indexOf(zr(i))<0;){var u=Jr(i);if(u.transform!=="none"||u.perspective!=="none"||u.contain==="paint"||["transform","perspective"].indexOf(u.willChange)!==-1||t&&u.willChange==="filter"||t&&u.filter&&u.filter!=="none")return i;i=i.parentNode}return null}function Na(e){for(var t=nr(e),n=eh(e);n&&Pw(n)&&Jr(n).position==="static";)n=eh(n);return n&&(zr(n)==="html"||zr(n)==="body"&&Jr(n).position==="static")?t:n||Ow(e)||t}function qu(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function da(e,t,n){return Vi(e,Us(t,n))}function Lw(e,t,n){var r=da(e,t,n);return r>n?n:r}function Vg(){return{top:0,right:0,bottom:0,left:0}}function Gg(e){return Object.assign({},Vg(),e)}function qg(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var Bw=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Gg(typeof t!="number"?t:qg(t,Ma))};function Dw(e){var t,n=e.state,r=e.name,i=e.options,u=n.elements.arrow,b=n.modifiersData.popperOffsets,C=Fr(n.placement),R=qu(C),P=[Xn,yr].indexOf(C)>=0,O=P?"height":"width";if(!(!u||!b)){var f=Bw(i.padding,n),K=Gu(u),z=R==="y"?Yn:Xn,G=R==="y"?mr:yr,W=n.rects.reference[O]+n.rects.reference[R]-b[R]-n.rects.popper[O],ae=b[R]-n.rects.reference[R],oe=Na(u),S=oe?R==="y"?oe.clientHeight||0:oe.clientWidth||0:0,j=W/2-ae/2,I=f[z],p=S-K[O]-f[G],w=S/2-K[O]/2+j,y=da(I,w,p),_=R;n.modifiersData[r]=(t={},t[_]=y,t.centerOffset=y-w,t)}}function Mw(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||Wg(t.elements.popper,i)&&(t.elements.arrow=i))}const Nw={name:"arrow",enabled:!0,phase:"main",fn:Dw,effect:Mw,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ro(e){return e.split("-")[1]}var jw={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Fw(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:Co(n*i)/i||0,y:Co(r*i)/i||0}}function th(e){var t,n=e.popper,r=e.popperRect,i=e.placement,u=e.variation,b=e.offsets,C=e.position,R=e.gpuAcceleration,P=e.adaptive,O=e.roundOffsets,f=e.isFixed,K=b.x,z=K===void 0?0:K,G=b.y,W=G===void 0?0:G,ae=typeof O=="function"?O({x:z,y:W}):{x:z,y:W};z=ae.x,W=ae.y;var oe=b.hasOwnProperty("x"),S=b.hasOwnProperty("y"),j=Xn,I=Yn,p=window;if(P){var w=Na(n),y="clientHeight",_="clientWidth";if(w===nr(n)&&(w=Ri(n),Jr(w).position!=="static"&&C==="absolute"&&(y="scrollHeight",_="scrollWidth")),w=w,i===Yn||(i===Xn||i===yr)&&u===ka){I=mr;var a=f&&w===p&&p.visualViewport?p.visualViewport.height:w[y];W-=a-r.height,W*=R?1:-1}if(i===Xn||(i===Yn||i===mr)&&u===ka){j=yr;var h=f&&w===p&&p.visualViewport?p.visualViewport.width:w[_];z-=h-r.width,z*=R?1:-1}}var l=Object.assign({position:C},P&&jw),s=O===!0?Fw({x:z,y:W},nr(n)):{x:z,y:W};if(z=s.x,W=s.y,R){var d;return Object.assign({},l,(d={},d[I]=S?"0":"",d[j]=oe?"0":"",d.transform=(p.devicePixelRatio||1)<=1?"translate("+z+"px, "+W+"px)":"translate3d("+z+"px, "+W+"px, 0)",d))}return Object.assign({},l,(t={},t[I]=S?W+"px":"",t[j]=oe?z+"px":"",t.transform="",t))}function Uw(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,u=n.adaptive,b=u===void 0?!0:u,C=n.roundOffsets,R=C===void 0?!0:C,P={placement:Fr(t.placement),variation:Ro(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,th(Object.assign({},P,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:b,roundOffsets:R})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,th(Object.assign({},P,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:R})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const $w={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Uw,data:{}};var Xa={passive:!0};function zw(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,u=i===void 0?!0:i,b=r.resize,C=b===void 0?!0:b,R=nr(t.elements.popper),P=[].concat(t.scrollParents.reference,t.scrollParents.popper);return u&&P.forEach(function(O){O.addEventListener("scroll",n.update,Xa)}),C&&R.addEventListener("resize",n.update,Xa),function(){u&&P.forEach(function(O){O.removeEventListener("scroll",n.update,Xa)}),C&&R.removeEventListener("resize",n.update,Xa)}}const Hw={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:zw,data:{}};var Ww={left:"right",right:"left",bottom:"top",top:"bottom"};function ps(e){return e.replace(/left|right|bottom|top/g,function(t){return Ww[t]})}var Vw={start:"end",end:"start"};function nh(e){return e.replace(/start|end/g,function(t){return Vw[t]})}function Ku(e){var t=nr(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Yu(e){return Ao(Ri(e)).left+Ku(e).scrollLeft}function Gw(e,t){var n=nr(e),r=Ri(e),i=n.visualViewport,u=r.clientWidth,b=r.clientHeight,C=0,R=0;if(i){u=i.width,b=i.height;var P=Hg();(P||!P&&t==="fixed")&&(C=i.offsetLeft,R=i.offsetTop)}return{width:u,height:b,x:C+Yu(e),y:R}}function qw(e){var t,n=Ri(e),r=Ku(e),i=(t=e.ownerDocument)==null?void 0:t.body,u=Vi(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),b=Vi(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),C=-r.scrollLeft+Yu(e),R=-r.scrollTop;return Jr(i||n).direction==="rtl"&&(C+=Vi(n.clientWidth,i?i.clientWidth:0)-u),{width:u,height:b,x:C,y:R}}function Xu(e){var t=Jr(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function Kg(e){return["html","body","#document"].indexOf(zr(e))>=0?e.ownerDocument.body:pr(e)&&Xu(e)?e:Kg(cl(e))}function fa(e,t){var n;t===void 0&&(t=[]);var r=Kg(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),u=nr(r),b=i?[u].concat(u.visualViewport||[],Xu(r)?r:[]):r,C=t.concat(b);return i?C:C.concat(fa(cl(b)))}function Uc(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Kw(e,t){var n=Ao(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function rh(e,t,n){return t===$g?Uc(Gw(e,n)):Yi(t)?Kw(t,n):Uc(qw(Ri(e)))}function Yw(e){var t=fa(cl(e)),n=["absolute","fixed"].indexOf(Jr(e).position)>=0,r=n&&pr(e)?Na(e):e;return Yi(r)?t.filter(function(i){return Yi(i)&&Wg(i,r)&&zr(i)!=="body"}):[]}function Xw(e,t,n,r){var i=t==="clippingParents"?Yw(e):[].concat(t),u=[].concat(i,[n]),b=u[0],C=u.reduce(function(R,P){var O=rh(e,P,r);return R.top=Vi(O.top,R.top),R.right=Us(O.right,R.right),R.bottom=Us(O.bottom,R.bottom),R.left=Vi(O.left,R.left),R},rh(e,b,r));return C.width=C.right-C.left,C.height=C.bottom-C.top,C.x=C.left,C.y=C.top,C}function Yg(e){var t=e.reference,n=e.element,r=e.placement,i=r?Fr(r):null,u=r?Ro(r):null,b=t.x+t.width/2-n.width/2,C=t.y+t.height/2-n.height/2,R;switch(i){case Yn:R={x:b,y:t.y-n.height};break;case mr:R={x:b,y:t.y+t.height};break;case yr:R={x:t.x+t.width,y:C};break;case Xn:R={x:t.x-n.width,y:C};break;default:R={x:t.x,y:t.y}}var P=i?qu(i):null;if(P!=null){var O=P==="y"?"height":"width";switch(u){case ko:R[P]=R[P]-(t[O]/2-n[O]/2);break;case ka:R[P]=R[P]+(t[O]/2-n[O]/2);break}}return R}function Ca(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,u=n.strategy,b=u===void 0?e.strategy:u,C=n.boundary,R=C===void 0?mw:C,P=n.rootBoundary,O=P===void 0?$g:P,f=n.elementContext,K=f===void 0?Wo:f,z=n.altBoundary,G=z===void 0?!1:z,W=n.padding,ae=W===void 0?0:W,oe=Gg(typeof ae!="number"?ae:qg(ae,Ma)),S=K===Wo?yw:Wo,j=e.rects.popper,I=e.elements[G?S:K],p=Xw(Yi(I)?I:I.contextElement||Ri(e.elements.popper),R,O,b),w=Ao(e.elements.reference),y=Yg({reference:w,element:j,strategy:"absolute",placement:i}),_=Uc(Object.assign({},j,y)),a=K===Wo?_:w,h={top:p.top-a.top+oe.top,bottom:a.bottom-p.bottom+oe.bottom,left:p.left-a.left+oe.left,right:a.right-p.right+oe.right},l=e.modifiersData.offset;if(K===Wo&&l){var s=l[i];Object.keys(h).forEach(function(d){var c=[yr,mr].indexOf(d)>=0?1:-1,o=[Yn,mr].indexOf(d)>=0?"y":"x";h[d]+=s[o]*c})}return h}function Zw(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,u=n.rootBoundary,b=n.padding,C=n.flipVariations,R=n.allowedAutoPlacements,P=R===void 0?zg:R,O=Ro(r),f=O?C?Qf:Qf.filter(function(G){return Ro(G)===O}):Ma,K=f.filter(function(G){return P.indexOf(G)>=0});K.length===0&&(K=f);var z=K.reduce(function(G,W){return G[W]=Ca(e,{placement:W,boundary:i,rootBoundary:u,padding:b})[Fr(W)],G},{});return Object.keys(z).sort(function(G,W){return z[G]-z[W]})}function Jw(e){if(Fr(e)===Wu)return[];var t=ps(e);return[nh(e),t,nh(t)]}function Qw(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,u=i===void 0?!0:i,b=n.altAxis,C=b===void 0?!0:b,R=n.fallbackPlacements,P=n.padding,O=n.boundary,f=n.rootBoundary,K=n.altBoundary,z=n.flipVariations,G=z===void 0?!0:z,W=n.allowedAutoPlacements,ae=t.options.placement,oe=Fr(ae),S=oe===ae,j=R||(S||!G?[ps(ae)]:Jw(ae)),I=[ae].concat(j).reduce(function(L,V){return L.concat(Fr(V)===Wu?Zw(t,{placement:V,boundary:O,rootBoundary:f,padding:P,flipVariations:G,allowedAutoPlacements:W}):V)},[]),p=t.rects.reference,w=t.rects.popper,y=new Map,_=!0,a=I[0],h=0;h=0,o=c?"width":"height",g=Ca(t,{placement:l,boundary:O,rootBoundary:f,altBoundary:K,padding:P}),m=c?d?yr:Xn:d?mr:Yn;p[o]>w[o]&&(m=ps(m));var v=ps(m),E=[];if(u&&E.push(g[s]<=0),C&&E.push(g[m]<=0,g[v]<=0),E.every(function(L){return L})){a=l,_=!1;break}y.set(l,E)}if(_)for(var k=G?3:1,M=function(V){var U=I.find(function(ee){var Y=y.get(ee);if(Y)return Y.slice(0,V).every(function(de){return de})});if(U)return a=U,"break"},F=k;F>0;F--){var x=M(F);if(x==="break")break}t.placement!==a&&(t.modifiersData[r]._skip=!0,t.placement=a,t.reset=!0)}}const e3={name:"flip",enabled:!0,phase:"main",fn:Qw,requiresIfExists:["offset"],data:{_skip:!1}};function ih(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function oh(e){return[Yn,yr,mr,Xn].some(function(t){return e[t]>=0})}function t3(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,u=t.modifiersData.preventOverflow,b=Ca(t,{elementContext:"reference"}),C=Ca(t,{altBoundary:!0}),R=ih(b,r),P=ih(C,i,u),O=oh(R),f=oh(P);t.modifiersData[n]={referenceClippingOffsets:R,popperEscapeOffsets:P,isReferenceHidden:O,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":O,"data-popper-escaped":f})}const n3={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:t3};function r3(e,t,n){var r=Fr(e),i=[Xn,Yn].indexOf(r)>=0?-1:1,u=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,b=u[0],C=u[1];return b=b||0,C=(C||0)*i,[Xn,yr].indexOf(r)>=0?{x:C,y:b}:{x:b,y:C}}function i3(e){var t=e.state,n=e.options,r=e.name,i=n.offset,u=i===void 0?[0,0]:i,b=zg.reduce(function(O,f){return O[f]=r3(f,t.rects,u),O},{}),C=b[t.placement],R=C.x,P=C.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=R,t.modifiersData.popperOffsets.y+=P),t.modifiersData[r]=b}const o3={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:i3};function a3(e){var t=e.state,n=e.name;t.modifiersData[n]=Yg({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const s3={name:"popperOffsets",enabled:!0,phase:"read",fn:a3,data:{}};function l3(e){return e==="x"?"y":"x"}function c3(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,u=i===void 0?!0:i,b=n.altAxis,C=b===void 0?!1:b,R=n.boundary,P=n.rootBoundary,O=n.altBoundary,f=n.padding,K=n.tether,z=K===void 0?!0:K,G=n.tetherOffset,W=G===void 0?0:G,ae=Ca(t,{boundary:R,rootBoundary:P,padding:f,altBoundary:O}),oe=Fr(t.placement),S=Ro(t.placement),j=!S,I=qu(oe),p=l3(I),w=t.modifiersData.popperOffsets,y=t.rects.reference,_=t.rects.popper,a=typeof W=="function"?W(Object.assign({},t.rects,{placement:t.placement})):W,h=typeof a=="number"?{mainAxis:a,altAxis:a}:Object.assign({mainAxis:0,altAxis:0},a),l=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,s={x:0,y:0};if(w){if(u){var d,c=I==="y"?Yn:Xn,o=I==="y"?mr:yr,g=I==="y"?"height":"width",m=w[I],v=m+ae[c],E=m-ae[o],k=z?-_[g]/2:0,M=S===ko?y[g]:_[g],F=S===ko?-_[g]:-y[g],x=t.elements.arrow,L=z&&x?Gu(x):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Vg(),U=V[c],ee=V[o],Y=da(0,y[g],L[g]),de=j?y[g]/2-k-Y-U-h.mainAxis:M-Y-U-h.mainAxis,fe=j?-y[g]/2+k+Y+ee+h.mainAxis:F+Y+ee+h.mainAxis,$=t.elements.arrow&&Na(t.elements.arrow),T=$?I==="y"?$.clientTop||0:$.clientLeft||0:0,B=(d=l==null?void 0:l[I])!=null?d:0,A=m+de-B-T,N=m+fe-B,Z=da(z?Us(v,A):v,m,z?Vi(E,N):E);w[I]=Z,s[I]=Z-m}if(C){var Q,ne=I==="x"?Yn:Xn,q=I==="x"?mr:yr,ce=w[p],ge=p==="y"?"height":"width",_e=ce+ae[ne],Re=ce-ae[q],xe=[Yn,Xn].indexOf(oe)!==-1,Pe=(Q=l==null?void 0:l[p])!=null?Q:0,Oe=xe?_e:ce-y[ge]-_[ge]-Pe+h.altAxis,Ce=xe?ce+y[ge]+_[ge]-Pe-h.altAxis:Re,Se=z&&xe?Lw(Oe,ce,Ce):da(z?Oe:_e,ce,z?Ce:Re);w[p]=Se,s[p]=Se-ce}t.modifiersData[r]=s}}const u3={name:"preventOverflow",enabled:!0,phase:"main",fn:c3,requiresIfExists:["offset"]};function d3(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function f3(e){return e===nr(e)||!pr(e)?Ku(e):d3(e)}function h3(e){var t=e.getBoundingClientRect(),n=Co(t.width)/e.offsetWidth||1,r=Co(t.height)/e.offsetHeight||1;return n!==1||r!==1}function p3(e,t,n){n===void 0&&(n=!1);var r=pr(t),i=pr(t)&&h3(t),u=Ri(t),b=Ao(e,i,n),C={scrollLeft:0,scrollTop:0},R={x:0,y:0};return(r||!r&&!n)&&((zr(t)!=="body"||Xu(u))&&(C=f3(t)),pr(t)?(R=Ao(t,!0),R.x+=t.clientLeft,R.y+=t.clientTop):u&&(R.x=Yu(u))),{x:b.left+C.scrollLeft-R.x,y:b.top+C.scrollTop-R.y,width:b.width,height:b.height}}function g3(e){var t=new Map,n=new Set,r=[];e.forEach(function(u){t.set(u.name,u)});function i(u){n.add(u.name);var b=[].concat(u.requires||[],u.requiresIfExists||[]);b.forEach(function(C){if(!n.has(C)){var R=t.get(C);R&&i(R)}}),r.push(u)}return e.forEach(function(u){n.has(u.name)||i(u)}),r}function m3(e){var t=g3(e);return Aw.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function y3(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function v3(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var ah={placement:"bottom",modifiers:[],strategy:"absolute"};function sh(){for(var e=arguments.length,t=new Array(e),n=0;nTt({root:["root"]},_2(x3)),R3={},T3=ue.forwardRef(function(t,n){var r;const{anchorEl:i,children:u,direction:b,disablePortal:C,modifiers:R,open:P,placement:O,popperOptions:f,popperRef:K,slotProps:z={},slots:G={},TransitionProps:W}=t,ae=st(t,S3),oe=ue.useRef(null),S=Sn(oe,n),j=ue.useRef(null),I=Sn(j,K),p=ue.useRef(I);$r(()=>{p.current=I},[I]),ue.useImperativeHandle(K,()=>j.current,[]);const w=k3(O,b),[y,_]=ue.useState(w),[a,h]=ue.useState($c(i));ue.useEffect(()=>{j.current&&j.current.forceUpdate()}),ue.useEffect(()=>{i&&h($c(i))},[i]),$r(()=>{if(!a||!P)return;const o=v=>{_(v.placement)};let g=[{name:"preventOverflow",options:{altBoundary:C}},{name:"flip",options:{altBoundary:C}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:v})=>{o(v)}}];R!=null&&(g=g.concat(R)),f&&f.modifiers!=null&&(g=g.concat(f.modifiers));const m=w3(a,oe.current,we({placement:w},f,{modifiers:g}));return p.current(m),()=>{m.destroy(),p.current(null)}},[a,C,R,P,f,w]);const l={placement:y};W!==null&&(l.TransitionProps=W);const s=A3(),d=(r=G.root)!=null?r:"div",c=Nn({elementType:d,externalSlotProps:z.root,externalForwardedProps:ae,additionalProps:{role:"tooltip",ref:S},ownerState:t,className:s.root});return te.jsx(d,we({},c,{children:typeof u=="function"?u(l):u}))}),I3=ue.forwardRef(function(t,n){const{anchorEl:r,children:i,container:u,direction:b="ltr",disablePortal:C=!1,keepMounted:R=!1,modifiers:P,open:O,placement:f="bottom",popperOptions:K=R3,popperRef:z,style:G,transition:W=!1,slotProps:ae={},slots:oe={}}=t,S=st(t,E3),[j,I]=ue.useState(!0),p=()=>{I(!1)},w=()=>{I(!0)};if(!R&&!O&&(!W||j))return null;let y;if(u)y=u;else if(r){const h=$c(r);y=h&&C3(h)?Kn(h).body:Kn(null).body}const _=!O&&R&&(!W||j)?"none":void 0,a=W?{in:O,onEnter:p,onExited:w}:void 0;return te.jsx(bb,{disablePortal:C,container:y,children:te.jsx(T3,we({anchorEl:r,direction:b,disablePortal:C,modifiers:P,ref:n,open:W?!j:O,placement:f,popperOptions:K,popperRef:z,slotProps:ae,slots:oe},S,{style:we({position:"fixed",top:0,left:0,display:_},G),TransitionProps:a,children:i}))})}),P3=2;function Zg(e,t){return e-t}function lh(e,t){var n;const{index:r}=(n=e.reduce((i,u,b)=>{const C=Math.abs(t-u);return i===null||C({left:`${e}%`}),leap:e=>({width:`${e}%`})},"horizontal-reverse":{offset:e=>({right:`${e}%`}),leap:e=>({width:`${e}%`})},vertical:{offset:e=>({bottom:`${e}%`}),leap:e=>({height:`${e}%`})}},M3=e=>e;let es;function uh(){return es===void 0&&(typeof CSS<"u"&&typeof CSS.supports=="function"?es=CSS.supports("touch-action","none"):es=!0),es}function N3(e){const{"aria-labelledby":t,defaultValue:n,disabled:r=!1,disableSwap:i=!1,isRtl:u=!1,marks:b=!1,max:C=100,min:R=0,name:P,onChange:O,onChangeCommitted:f,orientation:K="horizontal",rootRef:z,scale:G=M3,step:W=1,shiftStep:ae=10,tabIndex:oe,value:S}=e,j=ue.useRef(),[I,p]=ue.useState(-1),[w,y]=ue.useState(-1),[_,a]=ue.useState(!1),h=ue.useRef(0),[l,s]=_a({controlled:S,default:n??R,name:"Slider"}),d=O&&((Se,ye,le)=>{const J=Se.nativeEvent||Se,ie=new J.constructor(J.type,J);Object.defineProperty(ie,"target",{writable:!0,value:{value:ye,name:P}}),O(ie,ye,le)}),c=Array.isArray(l);let o=c?l.slice().sort(Zg):[l];o=o.map(Se=>Se==null?R:Ho(Se,R,C));const g=b===!0&&W!==null?[...Array(Math.floor((C-R)/W)+1)].map((Se,ye)=>({value:R+W*ye})):b||[],m=g.map(Se=>Se.value),{isFocusVisibleRef:v,onBlur:E,onFocus:k,ref:M}=Lu(),[F,x]=ue.useState(-1),L=ue.useRef(),V=Sn(M,L),U=Sn(z,V),ee=Se=>ye=>{var le;const J=Number(ye.currentTarget.getAttribute("data-index"));k(ye),v.current===!0&&x(J),y(J),Se==null||(le=Se.onFocus)==null||le.call(Se,ye)},Y=Se=>ye=>{var le;E(ye),v.current===!1&&x(-1),y(-1),Se==null||(le=Se.onBlur)==null||le.call(Se,ye)},de=(Se,ye)=>{const le=Number(Se.currentTarget.getAttribute("data-index")),J=o[le],ie=m.indexOf(J);let se=ye;if(g&&W==null){const X=m[m.length-1];se>X?se=X:seye=>{var le;if(W!==null){const J=Number(ye.currentTarget.getAttribute("data-index")),ie=o[J];let se=null;(ye.key==="ArrowLeft"||ye.key==="ArrowDown")&&ye.shiftKey||ye.key==="PageDown"?se=Math.max(ie-ae,R):((ye.key==="ArrowRight"||ye.key==="ArrowUp")&&ye.shiftKey||ye.key==="PageUp")&&(se=Math.min(ie+ae,C)),se!==null&&(de(ye,se),ye.preventDefault())}Se==null||(le=Se.onKeyDown)==null||le.call(Se,ye)};$r(()=>{if(r&&L.current.contains(document.activeElement)){var Se;(Se=document.activeElement)==null||Se.blur()}},[r]),r&&I!==-1&&p(-1),r&&F!==-1&&x(-1);const $=Se=>ye=>{var le;(le=Se.onChange)==null||le.call(Se,ye),de(ye,ye.target.valueAsNumber)},T=ue.useRef();let B=K;u&&K==="horizontal"&&(B+="-reverse");const A=({finger:Se,move:ye=!1})=>{const{current:le}=L,{width:J,height:ie,bottom:se,left:X}=le.getBoundingClientRect();let D;B.indexOf("vertical")===0?D=(se-Se.y)/ie:D=(Se.x-X)/J,B.indexOf("-reverse")!==-1&&(D=1-D);let H;if(H=O3(D,R,C),W)H=B3(H,W,R);else{const be=lh(m,H);H=m[be]}H=Ho(H,R,C);let he=0;if(c){ye?he=T.current:he=lh(o,H),i&&(H=Ho(H,o[he-1]||-1/0,o[he+1]||1/0));const be=H;H=ch({values:o,newValue:H,index:he}),i&&ye||(he=H.indexOf(be),T.current=he)}return{newValue:H,activeIndex:he}},N=dr(Se=>{const ye=Za(Se,j);if(!ye)return;if(h.current+=1,Se.type==="mousemove"&&Se.buttons===0){Z(Se);return}const{newValue:le,activeIndex:J}=A({finger:ye,move:!0});Ja({sliderRef:L,activeIndex:J,setActive:p}),s(le),!_&&h.current>P3&&a(!0),d&&!Qa(le,l)&&d(Se,le,J)}),Z=dr(Se=>{const ye=Za(Se,j);if(a(!1),!ye)return;const{newValue:le}=A({finger:ye,move:!0});p(-1),Se.type==="touchend"&&y(-1),f&&f(Se,le),j.current=void 0,ne()}),Q=dr(Se=>{if(r)return;uh()||Se.preventDefault();const ye=Se.changedTouches[0];ye!=null&&(j.current=ye.identifier);const le=Za(Se,j);if(le!==!1){const{newValue:ie,activeIndex:se}=A({finger:le});Ja({sliderRef:L,activeIndex:se,setActive:p}),s(ie),d&&!Qa(ie,l)&&d(Se,ie,se)}h.current=0;const J=Kn(L.current);J.addEventListener("touchmove",N,{passive:!0}),J.addEventListener("touchend",Z,{passive:!0})}),ne=ue.useCallback(()=>{const Se=Kn(L.current);Se.removeEventListener("mousemove",N),Se.removeEventListener("mouseup",Z),Se.removeEventListener("touchmove",N),Se.removeEventListener("touchend",Z)},[Z,N]);ue.useEffect(()=>{const{current:Se}=L;return Se.addEventListener("touchstart",Q,{passive:uh()}),()=>{Se.removeEventListener("touchstart",Q),ne()}},[ne,Q]),ue.useEffect(()=>{r&&ne()},[r,ne]);const q=Se=>ye=>{var le;if((le=Se.onMouseDown)==null||le.call(Se,ye),r||ye.defaultPrevented||ye.button!==0)return;ye.preventDefault();const J=Za(ye,j);if(J!==!1){const{newValue:se,activeIndex:X}=A({finger:J});Ja({sliderRef:L,activeIndex:X,setActive:p}),s(se),d&&!Qa(se,l)&&d(ye,se,X)}h.current=0;const ie=Kn(L.current);ie.addEventListener("mousemove",N,{passive:!0}),ie.addEventListener("mouseup",Z)},ce=$s(c?o[0]:R,R,C),ge=$s(o[o.length-1],R,C)-ce,_e=(Se={})=>{const ye=ua(Se),le={onMouseDown:q(ye||{})},J=we({},ye,le);return we({},Se,{ref:U},J)},Re=Se=>ye=>{var le;(le=Se.onMouseOver)==null||le.call(Se,ye);const J=Number(ye.currentTarget.getAttribute("data-index"));y(J)},xe=Se=>ye=>{var le;(le=Se.onMouseLeave)==null||le.call(Se,ye),y(-1)};return{active:I,axis:B,axisProps:D3,dragging:_,focusedThumbIndex:F,getHiddenInputProps:(Se={})=>{var ye;const le=ua(Se),J={onChange:$(le||{}),onFocus:ee(le||{}),onBlur:Y(le||{}),onKeyDown:fe(le||{})},ie=we({},le,J);return we({tabIndex:oe,"aria-labelledby":t,"aria-orientation":K,"aria-valuemax":G(C),"aria-valuemin":G(R),name:P,type:"range",min:e.min,max:e.max,step:e.step===null&&e.marks?"any":(ye=e.step)!=null?ye:void 0,disabled:r},Se,ie,{style:we({},s2,{direction:u?"rtl":"ltr",width:"100%",height:"100%"})})},getRootProps:_e,getThumbProps:(Se={})=>{const ye=ua(Se),le={onMouseOver:Re(ye||{}),onMouseLeave:xe(ye||{})};return we({},Se,ye,le)},marks:g,open:w,range:c,rootRef:U,trackLeap:ge,trackOffset:ce,values:o,getThumbStyle:Se=>({pointerEvents:I!==-1&&I!==Se?"none":void 0})}}function j3(e={}){const{autoHideDuration:t=null,disableWindowBlurListener:n=!1,onClose:r,open:i,resumeHideDuration:u}=e,b=mi();ue.useEffect(()=>{if(!i)return;function oe(S){S.defaultPrevented||(S.key==="Escape"||S.key==="Esc")&&(r==null||r(S,"escapeKeyDown"))}return document.addEventListener("keydown",oe),()=>{document.removeEventListener("keydown",oe)}},[i,r]);const C=dr((oe,S)=>{r==null||r(oe,S)}),R=dr(oe=>{!r||oe==null||b.start(oe,()=>{C(null,"timeout")})});ue.useEffect(()=>(i&&R(t),b.clear),[i,t,R,b]);const P=oe=>{r==null||r(oe,"clickaway")},O=b.clear,f=ue.useCallback(()=>{t!=null&&R(u??t*.5)},[t,u,R]),K=oe=>S=>{const j=oe.onBlur;j==null||j(S),f()},z=oe=>S=>{const j=oe.onFocus;j==null||j(S),O()},G=oe=>S=>{const j=oe.onMouseEnter;j==null||j(S),O()},W=oe=>S=>{const j=oe.onMouseLeave;j==null||j(S),f()};return ue.useEffect(()=>{if(!n&&i)return window.addEventListener("focus",f),window.addEventListener("blur",O),()=>{window.removeEventListener("focus",f),window.removeEventListener("blur",O)}},[n,i,f,O]),{getRootProps:(oe={})=>{const S=we({},ua(e),ua(oe));return we({role:"presentation"},oe,S,{onBlur:K(S),onFocus:z(S),onMouseEnter:G(S),onMouseLeave:W(S)})},onClickAway:P}}const F3=["onChange","maxRows","minRows","style","value"];function ts(e){return parseInt(e,10)||0}const U3={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function $3(e){return e==null||Object.keys(e).length===0||e.outerHeightStyle===0&&!e.overflowing}const z3=ue.forwardRef(function(t,n){const{onChange:r,maxRows:i,minRows:u=1,style:b,value:C}=t,R=st(t,F3),{current:P}=ue.useRef(C!=null),O=ue.useRef(null),f=Sn(n,O),K=ue.useRef(null),z=ue.useCallback(()=>{const ae=O.current,S=Eo(ae).getComputedStyle(ae);if(S.width==="0px")return{outerHeightStyle:0,overflowing:!1};const j=K.current;j.style.width=S.width,j.value=ae.value||t.placeholder||"x",j.value.slice(-1)===`
+`&&(j.value+=" ");const I=S.boxSizing,p=ts(S.paddingBottom)+ts(S.paddingTop),w=ts(S.borderBottomWidth)+ts(S.borderTopWidth),y=j.scrollHeight;j.value="x";const _=j.scrollHeight;let a=y;u&&(a=Math.max(Number(u)*_,a)),i&&(a=Math.min(Number(i)*_,a)),a=Math.max(a,_);const h=a+(I==="border-box"?p+w:0),l=Math.abs(a-y)<=1;return{outerHeightStyle:h,overflowing:l}},[i,u,t.placeholder]),G=ue.useCallback(()=>{const ae=z();if($3(ae))return;const oe=O.current;oe.style.height=`${ae.outerHeightStyle}px`,oe.style.overflow=ae.overflowing?"hidden":""},[z]);$r(()=>{const ae=()=>{G()};let oe;const S=Bu(ae),j=O.current,I=Eo(j);I.addEventListener("resize",S);let p;return typeof ResizeObserver<"u"&&(p=new ResizeObserver(ae),p.observe(j)),()=>{S.clear(),cancelAnimationFrame(oe),I.removeEventListener("resize",S),p&&p.disconnect()}},[z,G]),$r(()=>{G()});const W=ae=>{P||G(),r&&r(ae)};return te.jsxs(ue.Fragment,{children:[te.jsx("textarea",we({value:C,onChange:W,ref:f,rows:u,style:b},R)),te.jsx("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:K,tabIndex:-1,style:we({},U3.shadow,b,{paddingTop:0,paddingBottom:0})})]})});function Ti({props:e,states:t,muiFormControl:n}){return t.reduce((r,i)=>(r[i]=e[i],n&&typeof e[i]>"u"&&(r[i]=n[i]),r),{})}function Jg(e){return te.jsx(Gb,we({},e,{defaultTheme:_b,themeId:wb}))}function H3(e){return It("MuiInputBase",e)}const W3=Rt("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),To=W3,V3=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],ul=(e,t)=>{const{ownerState:n}=e;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,n.size==="small"&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t[`color${nt(n.color)}`],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},dl=(e,t)=>{const{ownerState:n}=e;return[t.input,n.size==="small"&&t.inputSizeSmall,n.multiline&&t.inputMultiline,n.type==="search"&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},G3=e=>{const{classes:t,color:n,disabled:r,error:i,endAdornment:u,focused:b,formControl:C,fullWidth:R,hiddenLabel:P,multiline:O,readOnly:f,size:K,startAdornment:z,type:G}=e,W={root:["root",`color${nt(n)}`,r&&"disabled",i&&"error",R&&"fullWidth",b&&"focused",C&&"formControl",K&&K!=="medium"&&`size${nt(K)}`,O&&"multiline",z&&"adornedStart",u&&"adornedEnd",P&&"hiddenLabel",f&&"readOnly"],input:["input",r&&"disabled",G==="search"&&"inputTypeSearch",O&&"inputMultiline",K==="small"&&"inputSizeSmall",P&&"inputHiddenLabel",z&&"inputAdornedStart",u&&"inputAdornedEnd",f&&"readOnly"]};return Tt(W,H3,t)},fl=qe("div",{name:"MuiInputBase",slot:"Root",overridesResolver:ul})(({theme:e,ownerState:t})=>we({},e.typography.body1,{color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${To.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"}},t.multiline&&we({padding:"4px 0 5px"},t.size==="small"&&{paddingTop:1}),t.fullWidth&&{width:"100%"})),hl=qe("input",{name:"MuiInputBase",slot:"Input",overridesResolver:dl})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light",r=we({color:"currentColor"},e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5},{transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})}),i={opacity:"0 !important"},u=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5};return we({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&:-ms-input-placeholder":r,"&::-ms-input-placeholder":r,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${To.formControl} &`]:{"&::-webkit-input-placeholder":i,"&::-moz-placeholder":i,"&:-ms-input-placeholder":i,"&::-ms-input-placeholder":i,"&:focus::-webkit-input-placeholder":u,"&:focus::-moz-placeholder":u,"&:focus:-ms-input-placeholder":u,"&:focus::-ms-input-placeholder":u},[`&.${To.disabled}`]:{opacity:1,WebkitTextFillColor:(e.vars||e).palette.text.disabled},"&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}},t.size==="small"&&{paddingTop:1},t.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},t.type==="search"&&{MozAppearance:"textfield"})}),q3=te.jsx(Jg,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),K3=ue.forwardRef(function(t,n){var r;const i=Bt({props:t,name:"MuiInputBase"}),{"aria-describedby":u,autoComplete:b,autoFocus:C,className:R,components:P={},componentsProps:O={},defaultValue:f,disabled:K,disableInjectingGlobalStyles:z,endAdornment:G,fullWidth:W=!1,id:ae,inputComponent:oe="input",inputProps:S={},inputRef:j,maxRows:I,minRows:p,multiline:w=!1,name:y,onBlur:_,onChange:a,onClick:h,onFocus:l,onKeyDown:s,onKeyUp:d,placeholder:c,readOnly:o,renderSuffix:g,rows:m,slotProps:v={},slots:E={},startAdornment:k,type:M="text",value:F}=i,x=st(i,V3),L=S.value!=null?S.value:F,{current:V}=ue.useRef(L!=null),U=ue.useRef(),ee=ue.useCallback(Se=>{},[]),Y=Sn(U,j,S.ref,ee),[de,fe]=ue.useState(!1),$=Hr(),T=Ti({props:i,muiFormControl:$,states:["color","disabled","error","hiddenLabel","size","required","filled"]});T.focused=$?$.focused:de,ue.useEffect(()=>{!$&&K&&de&&(fe(!1),_&&_())},[$,K,de,_]);const B=$&&$.onFilled,A=$&&$.onEmpty,N=ue.useCallback(Se=>{Fs(Se)?B&&B():A&&A()},[B,A]);$r(()=>{V&&N({value:L})},[L,N,V]);const Z=Se=>{if(T.disabled){Se.stopPropagation();return}l&&l(Se),S.onFocus&&S.onFocus(Se),$&&$.onFocus?$.onFocus(Se):fe(!0)},Q=Se=>{_&&_(Se),S.onBlur&&S.onBlur(Se),$&&$.onBlur?$.onBlur(Se):fe(!1)},ne=(Se,...ye)=>{if(!V){const le=Se.target||U.current;if(le==null)throw new Error(hg(1));N({value:le.value})}S.onChange&&S.onChange(Se,...ye),a&&a(Se,...ye)};ue.useEffect(()=>{N(U.current)},[]);const q=Se=>{U.current&&Se.currentTarget===Se.target&&U.current.focus(),h&&h(Se)};let ce=oe,ge=S;w&&ce==="input"&&(m?ge=we({type:void 0,minRows:m,maxRows:m},ge):ge=we({type:void 0,maxRows:I,minRows:p},ge),ce=z3);const _e=Se=>{N(Se.animationName==="mui-auto-fill-cancel"?U.current:{value:"x"})};ue.useEffect(()=>{$&&$.setAdornedStart(!!k)},[$,k]);const Re=we({},i,{color:T.color||"primary",disabled:T.disabled,endAdornment:G,error:T.error,focused:T.focused,formControl:$,fullWidth:W,hiddenLabel:T.hiddenLabel,multiline:w,size:T.size,startAdornment:k,type:M}),xe=G3(Re),Pe=E.root||P.Root||fl,Oe=v.root||O.root||{},Ce=E.input||P.Input||hl;return ge=we({},ge,(r=v.input)!=null?r:O.input),te.jsxs(ue.Fragment,{children:[!z&&q3,te.jsxs(Pe,we({},Oe,!Xr(Pe)&&{ownerState:we({},Re,Oe.ownerState)},{ref:n,onClick:q},x,{className:at(xe.root,Oe.className,R,o&&"MuiInputBase-readOnly"),children:[k,te.jsx(sl.Provider,{value:null,children:te.jsx(Ce,we({ownerState:Re,"aria-invalid":T.error,"aria-describedby":u,autoComplete:b,autoFocus:C,defaultValue:f,disabled:T.disabled,id:ae,onAnimationStart:_e,name:y,placeholder:c,readOnly:o,required:T.required,rows:m,value:L,onKeyDown:s,onKeyUp:d,type:M},ge,!Xr(Ce)&&{as:ce,ownerState:we({},Re,ge.ownerState)},{ref:Y,className:at(xe.input,ge.className,o&&"MuiInputBase-readOnly"),onBlur:Q,onChange:ne,onFocus:Z}))}),G,g?g(we({},T,{startAdornment:k})):null]}))]})}),Zu=K3;function Y3(e){return It("MuiInput",e)}const X3=we({},To,Rt("MuiInput",["root","underline","input"])),Vo=X3,Z3=["disableUnderline","components","componentsProps","fullWidth","inputComponent","multiline","slotProps","slots","type"],J3=e=>{const{classes:t,disableUnderline:n}=e,i=Tt({root:["root",!n&&"underline"],input:["input"]},Y3,t);return we({},t,i)},Q3=qe(fl,{shouldForwardProp:e=>Un(e)||e==="classes",name:"MuiInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...ul(e,t),!n.disableUnderline&&t.underline]}})(({theme:e,ownerState:t})=>{let r=e.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return e.vars&&(r=`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`),we({position:"relative"},t.formControl&&{"label + &":{marginTop:16}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(e.vars||e).palette[t.color].main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Vo.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Vo.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${r}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Vo.disabled}, .${Vo.error}):before`]:{borderBottom:`2px solid ${(e.vars||e).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${r}`}},[`&.${Vo.disabled}:before`]:{borderBottomStyle:"dotted"}})}),e6=qe(hl,{name:"MuiInput",slot:"Input",overridesResolver:dl})({}),Qg=ue.forwardRef(function(t,n){var r,i,u,b;const C=Bt({props:t,name:"MuiInput"}),{disableUnderline:R,components:P={},componentsProps:O,fullWidth:f=!1,inputComponent:K="input",multiline:z=!1,slotProps:G,slots:W={},type:ae="text"}=C,oe=st(C,Z3),S=J3(C),I={root:{ownerState:{disableUnderline:R}}},p=G??O?tl(G??O,I):I,w=(r=(i=W.root)!=null?i:P.Root)!=null?r:Q3,y=(u=(b=W.input)!=null?b:P.Input)!=null?u:e6;return te.jsx(Zu,we({slots:{root:w,input:y},slotProps:p,fullWidth:f,inputComponent:K,multiline:z,ref:n,type:ae},oe,{classes:S}))});Qg.muiName="Input";const em=Qg;function t6(e){return It("MuiFilledInput",e)}const n6=we({},To,Rt("MuiFilledInput",["root","underline","input"])),Oi=n6,r6=["disableUnderline","components","componentsProps","fullWidth","hiddenLabel","inputComponent","multiline","slotProps","slots","type"],i6=e=>{const{classes:t,disableUnderline:n}=e,i=Tt({root:["root",!n&&"underline"],input:["input"]},t6,t);return we({},t,i)},o6=qe(fl,{shouldForwardProp:e=>Un(e)||e==="classes",name:"MuiFilledInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...ul(e,t),!n.disableUnderline&&t.underline]}})(({theme:e,ownerState:t})=>{var n;const r=e.palette.mode==="light",i=r?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",u=r?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",b=r?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",C=r?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return we({position:"relative",backgroundColor:e.vars?e.vars.palette.FilledInput.bg:u,borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:e.vars?e.vars.palette.FilledInput.hoverBg:b,"@media (hover: none)":{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:u}},[`&.${Oi.focused}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:u},[`&.${Oi.disabled}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.disabledBg:C}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(n=(e.vars||e).palette[t.color||"primary"])==null?void 0:n.main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Oi.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Oi.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`:i}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Oi.disabled}, .${Oi.error}):before`]:{borderBottom:`1px solid ${(e.vars||e).palette.text.primary}`},[`&.${Oi.disabled}:before`]:{borderBottomStyle:"dotted"}},t.startAdornment&&{paddingLeft:12},t.endAdornment&&{paddingRight:12},t.multiline&&we({padding:"25px 12px 8px"},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9}))}),a6=qe(hl,{name:"MuiFilledInput",slot:"Input",overridesResolver:dl})(({theme:e,ownerState:t})=>we({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9},t.multiline&&{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0})),tm=ue.forwardRef(function(t,n){var r,i,u,b;const C=Bt({props:t,name:"MuiFilledInput"}),{components:R={},componentsProps:P,fullWidth:O=!1,inputComponent:f="input",multiline:K=!1,slotProps:z,slots:G={},type:W="text"}=C,ae=st(C,r6),oe=we({},C,{fullWidth:O,inputComponent:f,multiline:K,type:W}),S=i6(C),j={root:{ownerState:oe},input:{ownerState:oe}},I=z??P?tl(j,z??P):j,p=(r=(i=G.root)!=null?i:R.Root)!=null?r:o6,w=(u=(b=G.input)!=null?b:R.Input)!=null?u:a6;return te.jsx(Zu,we({slots:{root:p,input:w},componentsProps:I,fullWidth:O,inputComponent:f,multiline:K,ref:n,type:W},ae,{classes:S}))});tm.muiName="Input";const nm=tm;var dh;const s6=["children","classes","className","label","notched"],l6=qe("fieldset",{shouldForwardProp:Un})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),c6=qe("legend",{shouldForwardProp:Un})(({ownerState:e,theme:t})=>we({float:"unset",width:"auto",overflow:"hidden"},!e.withLabel&&{padding:0,lineHeight:"11px",transition:t.transitions.create("width",{duration:150,easing:t.transitions.easing.easeOut})},e.withLabel&&we({display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:t.transitions.create("max-width",{duration:50,easing:t.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},e.notched&&{maxWidth:"100%",transition:t.transitions.create("max-width",{duration:100,easing:t.transitions.easing.easeOut,delay:50})})));function u6(e){const{className:t,label:n,notched:r}=e,i=st(e,s6),u=n!=null&&n!=="",b=we({},e,{notched:r,withLabel:u});return te.jsx(l6,we({"aria-hidden":!0,className:t,ownerState:b},i,{children:te.jsx(c6,{ownerState:b,children:u?te.jsx("span",{children:n}):dh||(dh=te.jsx("span",{className:"notranslate",children:""}))})}))}function d6(e){return It("MuiOutlinedInput",e)}const f6=we({},To,Rt("MuiOutlinedInput",["root","notchedOutline","input"])),ui=f6,h6=["components","fullWidth","inputComponent","label","multiline","notched","slots","type"],p6=e=>{const{classes:t}=e,r=Tt({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},d6,t);return we({},t,r)},g6=qe(fl,{shouldForwardProp:e=>Un(e)||e==="classes",name:"MuiOutlinedInput",slot:"Root",overridesResolver:ul})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return we({position:"relative",borderRadius:(e.vars||e).shape.borderRadius,[`&:hover .${ui.notchedOutline}`]:{borderColor:(e.vars||e).palette.text.primary},"@media (hover: none)":{[`&:hover .${ui.notchedOutline}`]:{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:n}},[`&.${ui.focused} .${ui.notchedOutline}`]:{borderColor:(e.vars||e).palette[t.color].main,borderWidth:2},[`&.${ui.error} .${ui.notchedOutline}`]:{borderColor:(e.vars||e).palette.error.main},[`&.${ui.disabled} .${ui.notchedOutline}`]:{borderColor:(e.vars||e).palette.action.disabled}},t.startAdornment&&{paddingLeft:14},t.endAdornment&&{paddingRight:14},t.multiline&&we({padding:"16.5px 14px"},t.size==="small"&&{padding:"8.5px 14px"}))}),m6=qe(u6,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})(({theme:e})=>{const t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}}),y6=qe(hl,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:dl})(({theme:e,ownerState:t})=>we({padding:"16.5px 14px"},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{padding:"8.5px 14px"},t.multiline&&{padding:0},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0})),rm=ue.forwardRef(function(t,n){var r,i,u,b,C;const R=Bt({props:t,name:"MuiOutlinedInput"}),{components:P={},fullWidth:O=!1,inputComponent:f="input",label:K,multiline:z=!1,notched:G,slots:W={},type:ae="text"}=R,oe=st(R,h6),S=p6(R),j=Hr(),I=Ti({props:R,muiFormControl:j,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),p=we({},R,{color:I.color||"primary",disabled:I.disabled,error:I.error,focused:I.focused,formControl:j,fullWidth:O,hiddenLabel:I.hiddenLabel,multiline:z,size:I.size,type:ae}),w=(r=(i=W.root)!=null?i:P.Root)!=null?r:g6,y=(u=(b=W.input)!=null?b:P.Input)!=null?u:y6;return te.jsx(Zu,we({slots:{root:w,input:y},renderSuffix:_=>te.jsx(m6,{ownerState:p,className:S.notchedOutline,label:K!=null&&K!==""&&I.required?C||(C=te.jsxs(ue.Fragment,{children:[K," ","*"]})):K,notched:typeof G<"u"?G:!!(_.startAdornment||_.filled||_.focused)}),fullWidth:O,inputComponent:f,multiline:z,ref:n,type:ae},oe,{classes:we({},S,{notchedOutline:null})}))});rm.muiName="Input";const im=rm;function v6(e){return It("MuiFormLabel",e)}const b6=Rt("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),ha=b6,_6=["children","className","color","component","disabled","error","filled","focused","required"],w6=e=>{const{classes:t,color:n,focused:r,disabled:i,error:u,filled:b,required:C}=e,R={root:["root",`color${nt(n)}`,i&&"disabled",u&&"error",b&&"filled",r&&"focused",C&&"required"],asterisk:["asterisk",u&&"error"]};return Tt(R,v6,t)},x6=qe("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:({ownerState:e},t)=>we({},t.root,e.color==="secondary"&&t.colorSecondary,e.filled&&t.filled)})(({theme:e,ownerState:t})=>we({color:(e.vars||e).palette.text.secondary},e.typography.body1,{lineHeight:"1.4375em",padding:0,position:"relative",[`&.${ha.focused}`]:{color:(e.vars||e).palette[t.color].main},[`&.${ha.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${ha.error}`]:{color:(e.vars||e).palette.error.main}})),S6=qe("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(({theme:e})=>({[`&.${ha.error}`]:{color:(e.vars||e).palette.error.main}})),E6=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiFormLabel"}),{children:i,className:u,component:b="label"}=r,C=st(r,_6),R=Hr(),P=Ti({props:r,muiFormControl:R,states:["color","required","focused","disabled","error","filled"]}),O=we({},r,{color:P.color||"primary",component:b,disabled:P.disabled,error:P.error,filled:P.filled,focused:P.focused,required:P.required}),f=w6(O);return te.jsxs(x6,we({as:b,ownerState:O,className:at(f.root,u),ref:n},C,{children:[i,P.required&&te.jsxs(S6,{ownerState:O,"aria-hidden":!0,className:f.asterisk,children:[" ","*"]})]}))}),k6=E6;function C6(e){return It("MuiInputLabel",e)}Rt("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);const A6=["disableAnimation","margin","shrink","variant","className"],R6=e=>{const{classes:t,formControl:n,size:r,shrink:i,disableAnimation:u,variant:b,required:C}=e,R={root:["root",n&&"formControl",!u&&"animated",i&&"shrink",r&&r!=="normal"&&`size${nt(r)}`,b],asterisk:[C&&"asterisk"]},P=Tt(R,C6,t);return we({},t,P)},T6=qe(k6,{shouldForwardProp:e=>Un(e)||e==="classes",name:"MuiInputLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${ha.asterisk}`]:t.asterisk},t.root,n.formControl&&t.formControl,n.size==="small"&&t.sizeSmall,n.shrink&&t.shrink,!n.disableAnimation&&t.animated,n.focused&&t.focused,t[n.variant]]}})(({theme:e,ownerState:t})=>we({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},t.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},t.size==="small"&&{transform:"translate(0, 17px) scale(1)"},t.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!t.disableAnimation&&{transition:e.transitions.create(["color","transform","max-width"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})},t.variant==="filled"&&we({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(12px, 13px) scale(1)"},t.shrink&&we({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},t.size==="small"&&{transform:"translate(12px, 4px) scale(0.75)"})),t.variant==="outlined"&&we({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(14px, 9px) scale(1)"},t.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))),I6=ue.forwardRef(function(t,n){const r=Bt({name:"MuiInputLabel",props:t}),{disableAnimation:i=!1,shrink:u,className:b}=r,C=st(r,A6),R=Hr();let P=u;typeof P>"u"&&R&&(P=R.filled||R.focused||R.adornedStart);const O=Ti({props:r,muiFormControl:R,states:["size","variant","required","focused"]}),f=we({},r,{disableAnimation:i,formControl:R,shrink:P,size:O.size,variant:O.variant,required:O.required,focused:O.focused}),K=R6(f);return te.jsx(T6,we({"data-shrink":P,ownerState:f,ref:n,className:at(K.root,b)},C,{classes:K}))}),P6=I6;function O6(e){return It("MuiFormHelperText",e)}const L6=Rt("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),fh=L6;var hh;const B6=["children","className","component","disabled","error","filled","focused","margin","required","variant"],D6=e=>{const{classes:t,contained:n,size:r,disabled:i,error:u,filled:b,focused:C,required:R}=e,P={root:["root",i&&"disabled",u&&"error",r&&`size${nt(r)}`,n&&"contained",C&&"focused",b&&"filled",R&&"required"]};return Tt(P,O6,t)},M6=qe("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${nt(n.size)}`],n.contained&&t.contained,n.filled&&t.filled]}})(({theme:e,ownerState:t})=>we({color:(e.vars||e).palette.text.secondary},e.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${fh.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${fh.error}`]:{color:(e.vars||e).palette.error.main}},t.size==="small"&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})),N6=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiFormHelperText"}),{children:i,className:u,component:b="p"}=r,C=st(r,B6),R=Hr(),P=Ti({props:r,muiFormControl:R,states:["variant","size","disabled","error","filled","focused","required"]}),O=we({},r,{component:b,contained:P.variant==="filled"||P.variant==="outlined",variant:P.variant,size:P.size,disabled:P.disabled,error:P.error,filled:P.filled,focused:P.focused,required:P.required}),f=D6(O);return te.jsx(M6,we({as:b,ownerState:O,className:at(f.root,u),ref:n},C,{children:i===" "?hh||(hh=te.jsx("span",{className:"notranslate",children:""})):i}))}),om=N6,j6=ue.createContext({}),Er=j6;function F6(e){return It("MuiList",e)}Rt("MuiList",["root","padding","dense","subheader"]);const U6=["children","className","component","dense","disablePadding","subheader"],$6=e=>{const{classes:t,disablePadding:n,dense:r,subheader:i}=e;return Tt({root:["root",!n&&"padding",r&&"dense",i&&"subheader"]},F6,t)},z6=qe("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})(({ownerState:e})=>we({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),H6=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiList"}),{children:i,className:u,component:b="ul",dense:C=!1,disablePadding:R=!1,subheader:P}=r,O=st(r,U6),f=ue.useMemo(()=>({dense:C}),[C]),K=we({},r,{component:b,dense:C,disablePadding:R}),z=$6(K);return te.jsx(Er.Provider,{value:f,children:te.jsxs(z6,we({as:b,className:at(z.root,u),ref:n,ownerState:K},O,{children:[P,i]}))})}),ja=H6,W6=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function Bl(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function ph(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function am(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.indexOf(t.keys.join(""))===0}function Go(e,t,n,r,i,u){let b=!1,C=i(e,t,t?n:!1);for(;C;){if(C===e.firstChild){if(b)return!1;b=!0}const R=r?!1:C.disabled||C.getAttribute("aria-disabled")==="true";if(!C.hasAttribute("tabindex")||!am(C,u)||R)C=i(e,C,n);else return C.focus(),!0}return!1}const V6=ue.forwardRef(function(t,n){const{actions:r,autoFocus:i=!1,autoFocusItem:u=!1,children:b,className:C,disabledItemsFocusable:R=!1,disableListWrap:P=!1,onKeyDown:O,variant:f="selectedMenu"}=t,K=st(t,W6),z=ue.useRef(null),G=ue.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});$r(()=>{i&&z.current.focus()},[i]),ue.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(j,{direction:I})=>{const p=!z.current.style.width;if(j.clientHeight{const I=z.current,p=j.key,w=Kn(I).activeElement;if(p==="ArrowDown")j.preventDefault(),Go(I,w,P,R,Bl);else if(p==="ArrowUp")j.preventDefault(),Go(I,w,P,R,ph);else if(p==="Home")j.preventDefault(),Go(I,null,P,R,Bl);else if(p==="End")j.preventDefault(),Go(I,null,P,R,ph);else if(p.length===1){const y=G.current,_=p.toLowerCase(),a=performance.now();y.keys.length>0&&(a-y.lastTime>500?(y.keys=[],y.repeating=!0,y.previousKeyMatched=!0):y.repeating&&_!==y.keys[0]&&(y.repeating=!1)),y.lastTime=a,y.keys.push(_);const h=w&&!y.repeating&&am(w,y);y.previousKeyMatched&&(h||Go(I,w,!1,R,Bl,y))?j.preventDefault():y.previousKeyMatched=!1}O&&O(j)},ae=Sn(z,n);let oe=-1;ue.Children.forEach(b,(j,I)=>{if(!ue.isValidElement(j)){oe===I&&(oe+=1,oe>=b.length&&(oe=-1));return}j.props.disabled||(f==="selectedMenu"&&j.props.selected||oe===-1)&&(oe=I),oe===I&&(j.props.disabled||j.props.muiSkipListHighlight||j.type.muiSkipListHighlight)&&(oe+=1,oe>=b.length&&(oe=-1))});const S=ue.Children.map(b,(j,I)=>{if(I===oe){const p={};return u&&(p.autoFocus=!0),j.props.tabIndex===void 0&&f==="selectedMenu"&&(p.tabIndex=0),ue.cloneElement(j,p)}return j});return te.jsx(ja,we({role:"menu",ref:ae,className:C,onKeyDown:W,tabIndex:i?0:-1},K,{children:S}))}),G6=V6,q6=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function zc(e){return`scale(${e}, ${e**2})`}const K6={entering:{opacity:1,transform:zc(1)},entered:{opacity:1,transform:"none"}},Dl=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),sm=ue.forwardRef(function(t,n){const{addEndListener:r,appear:i=!0,children:u,easing:b,in:C,onEnter:R,onEntered:P,onEntering:O,onExit:f,onExited:K,onExiting:z,style:G,timeout:W="auto",TransitionComponent:ae=nl}=t,oe=st(t,q6),S=mi(),j=ue.useRef(),I=Dn(),p=ue.useRef(null),w=Sn(p,u.ref,n),y=o=>g=>{if(o){const m=p.current;g===void 0?o(m):o(m,g)}},_=y(O),a=y((o,g)=>{Du(o);const{duration:m,delay:v,easing:E}=Ci({style:G,timeout:W,easing:b},{mode:"enter"});let k;W==="auto"?(k=I.transitions.getAutoHeightDuration(o.clientHeight),j.current=k):k=m,o.style.transition=[I.transitions.create("opacity",{duration:k,delay:v}),I.transitions.create("transform",{duration:Dl?k:k*.666,delay:v,easing:E})].join(","),R&&R(o,g)}),h=y(P),l=y(z),s=y(o=>{const{duration:g,delay:m,easing:v}=Ci({style:G,timeout:W,easing:b},{mode:"exit"});let E;W==="auto"?(E=I.transitions.getAutoHeightDuration(o.clientHeight),j.current=E):E=g,o.style.transition=[I.transitions.create("opacity",{duration:E,delay:m}),I.transitions.create("transform",{duration:Dl?E:E*.666,delay:Dl?m:m||E*.333,easing:v})].join(","),o.style.opacity=0,o.style.transform=zc(.75),f&&f(o)}),d=y(K),c=o=>{W==="auto"&&S.start(j.current||0,o),r&&r(p.current,o)};return te.jsx(ae,we({appear:i,in:C,nodeRef:p,onEnter:a,onEntered:h,onEntering:_,onExit:s,onExited:d,onExiting:l,addEndListener:c,timeout:W==="auto"?null:W},oe,{children:(o,g)=>ue.cloneElement(u,we({style:we({opacity:0,transform:zc(.75),visibility:o==="exited"&&!C?"hidden":void 0},K6[o],G,u.props.style),ref:w},g))}))});sm.muiSupportAuto=!0;const zs=sm;function Y6(e){return It("MuiPopover",e)}Rt("MuiPopover",["root","paper"]);const X6=["onEntering"],Z6=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps","disableScrollLock"],J6=["slotProps"];function gh(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.height/2:t==="bottom"&&(n=e.height),n}function mh(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.width/2:t==="right"&&(n=e.width),n}function yh(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}function Ml(e){return typeof e=="function"?e():e}const Q6=e=>{const{classes:t}=e;return Tt({root:["root"],paper:["paper"]},Y6,t)},e4=qe(pg,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),lm=qe(gr,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),t4=ue.forwardRef(function(t,n){var r,i,u;const b=Bt({props:t,name:"MuiPopover"}),{action:C,anchorEl:R,anchorOrigin:P={vertical:"top",horizontal:"left"},anchorPosition:O,anchorReference:f="anchorEl",children:K,className:z,container:G,elevation:W=8,marginThreshold:ae=16,open:oe,PaperProps:S={},slots:j,slotProps:I,transformOrigin:p={vertical:"top",horizontal:"left"},TransitionComponent:w=zs,transitionDuration:y="auto",TransitionProps:{onEntering:_}={},disableScrollLock:a=!1}=b,h=st(b.TransitionProps,X6),l=st(b,Z6),s=(r=I==null?void 0:I.paper)!=null?r:S,d=ue.useRef(),c=Sn(d,s.ref),o=we({},b,{anchorOrigin:P,anchorReference:f,elevation:W,marginThreshold:ae,externalPaperSlotProps:s,transformOrigin:p,TransitionComponent:w,transitionDuration:y,TransitionProps:h}),g=Q6(o),m=ue.useCallback(()=>{if(f==="anchorPosition")return O;const B=Ml(R),N=(B&&B.nodeType===1?B:Kn(d.current).body).getBoundingClientRect();return{top:N.top+gh(N,P.vertical),left:N.left+mh(N,P.horizontal)}},[R,P.horizontal,P.vertical,O,f]),v=ue.useCallback(B=>({vertical:gh(B,p.vertical),horizontal:mh(B,p.horizontal)}),[p.horizontal,p.vertical]),E=ue.useCallback(B=>{const A={width:B.offsetWidth,height:B.offsetHeight},N=v(A);if(f==="none")return{top:null,left:null,transformOrigin:yh(N)};const Z=m();let Q=Z.top-N.vertical,ne=Z.left-N.horizontal;const q=Q+A.height,ce=ne+A.width,ge=Eo(Ml(R)),_e=ge.innerHeight-ae,Re=ge.innerWidth-ae;if(ae!==null&&Q_e){const xe=q-_e;Q-=xe,N.vertical+=xe}if(ae!==null&&neRe){const xe=ce-Re;ne-=xe,N.horizontal+=xe}return{top:`${Math.round(Q)}px`,left:`${Math.round(ne)}px`,transformOrigin:yh(N)}},[R,f,m,v,ae]),[k,M]=ue.useState(oe),F=ue.useCallback(()=>{const B=d.current;if(!B)return;const A=E(B);A.top!==null&&(B.style.top=A.top),A.left!==null&&(B.style.left=A.left),B.style.transformOrigin=A.transformOrigin,M(!0)},[E]);ue.useEffect(()=>(a&&window.addEventListener("scroll",F),()=>window.removeEventListener("scroll",F)),[R,a,F]);const x=(B,A)=>{_&&_(B,A),F()},L=()=>{M(!1)};ue.useEffect(()=>{oe&&F()}),ue.useImperativeHandle(C,()=>oe?{updatePosition:()=>{F()}}:null,[oe,F]),ue.useEffect(()=>{if(!oe)return;const B=Bu(()=>{F()}),A=Eo(R);return A.addEventListener("resize",B),()=>{B.clear(),A.removeEventListener("resize",B)}},[R,oe,F]);let V=y;y==="auto"&&!w.muiSupportAuto&&(V=void 0);const U=G||(R?Kn(Ml(R)).body:void 0),ee=(i=j==null?void 0:j.root)!=null?i:e4,Y=(u=j==null?void 0:j.paper)!=null?u:lm,de=Nn({elementType:Y,externalSlotProps:we({},s,{style:k?s.style:we({},s.style,{opacity:0})}),additionalProps:{elevation:W,ref:c},ownerState:o,className:at(g.paper,s==null?void 0:s.className)}),fe=Nn({elementType:ee,externalSlotProps:(I==null?void 0:I.root)||{},externalForwardedProps:l,additionalProps:{ref:n,slotProps:{backdrop:{invisible:!0}},container:U,open:oe},ownerState:o,className:at(g.root,z)}),{slotProps:$}=fe,T=st(fe,J6);return te.jsx(ee,we({},T,!Xr(ee)&&{slotProps:$,disableScrollLock:a},{children:te.jsx(w,we({appear:!0,in:oe,onEntering:x,onExited:L,timeout:V},h,{children:te.jsx(Y,we({},de,{children:K}))}))}))}),n4=t4;function r4(e){return It("MuiMenu",e)}Rt("MuiMenu",["root","paper","list"]);const i4=["onEntering"],o4=["autoFocus","children","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant","slots","slotProps"],a4={vertical:"top",horizontal:"right"},s4={vertical:"top",horizontal:"left"},l4=e=>{const{classes:t}=e;return Tt({root:["root"],paper:["paper"],list:["list"]},r4,t)},c4=qe(n4,{shouldForwardProp:e=>Un(e)||e==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),u4=qe(lm,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),d4=qe(G6,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),f4=ue.forwardRef(function(t,n){var r,i;const u=Bt({props:t,name:"MuiMenu"}),{autoFocus:b=!0,children:C,className:R,disableAutoFocusItem:P=!1,MenuListProps:O={},onClose:f,open:K,PaperProps:z={},PopoverClasses:G,transitionDuration:W="auto",TransitionProps:{onEntering:ae}={},variant:oe="selectedMenu",slots:S={},slotProps:j={}}=u,I=st(u.TransitionProps,i4),p=st(u,o4),w=rl(),y=we({},u,{autoFocus:b,disableAutoFocusItem:P,MenuListProps:O,onEntering:ae,PaperProps:z,transitionDuration:W,TransitionProps:I,variant:oe}),_=l4(y),a=b&&!P&&K,h=ue.useRef(null),l=(v,E)=>{h.current&&h.current.adjustStyleForScrollbar(v,{direction:w?"rtl":"ltr"}),ae&&ae(v,E)},s=v=>{v.key==="Tab"&&(v.preventDefault(),f&&f(v,"tabKeyDown"))};let d=-1;ue.Children.map(C,(v,E)=>{ue.isValidElement(v)&&(v.props.disabled||(oe==="selectedMenu"&&v.props.selected||d===-1)&&(d=E))});const c=(r=S.paper)!=null?r:u4,o=(i=j.paper)!=null?i:z,g=Nn({elementType:S.root,externalSlotProps:j.root,ownerState:y,className:[_.root,R]}),m=Nn({elementType:c,externalSlotProps:o,ownerState:y,className:_.paper});return te.jsx(c4,we({onClose:f,anchorOrigin:{vertical:"bottom",horizontal:w?"right":"left"},transformOrigin:w?a4:s4,slots:{paper:c,root:S.root},slotProps:{root:g,paper:m},open:K,ref:n,transitionDuration:W,TransitionProps:we({onEntering:l},I),ownerState:y},p,{classes:G,children:te.jsx(d4,we({onKeyDown:s,actions:h,autoFocus:b&&(d===-1||P),autoFocusItem:a,variant:oe},O,{className:at(_.list,O.className),children:C}))}))}),Ju=f4;function h4(e){return It("MuiNativeSelect",e)}const p4=Rt("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),Qu=p4,g4=["className","disabled","error","IconComponent","inputRef","variant"],m4=e=>{const{classes:t,variant:n,disabled:r,multiple:i,open:u,error:b}=e,C={select:["select",n,r&&"disabled",i&&"multiple",b&&"error"],icon:["icon",`icon${nt(n)}`,u&&"iconOpen",r&&"disabled"]};return Tt(C,h4,t)},cm=({ownerState:e,theme:t})=>we({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":we({},t.vars?{backgroundColor:`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.05)`}:{backgroundColor:t.palette.mode==="light"?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)"},{borderRadius:0}),"&::-ms-expand":{display:"none"},[`&.${Qu.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(t.vars||t).palette.background.paper},"&&&":{paddingRight:24,minWidth:16}},e.variant==="filled"&&{"&&&":{paddingRight:32}},e.variant==="outlined"&&{borderRadius:(t.vars||t).shape.borderRadius,"&:focus":{borderRadius:(t.vars||t).shape.borderRadius},"&&&":{paddingRight:32}}),y4=qe("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:Un,overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.select,t[n.variant],n.error&&t.error,{[`&.${Qu.multiple}`]:t.multiple}]}})(cm),um=({ownerState:e,theme:t})=>we({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(t.vars||t).palette.action.active,[`&.${Qu.disabled}`]:{color:(t.vars||t).palette.action.disabled}},e.open&&{transform:"rotate(180deg)"},e.variant==="filled"&&{right:7},e.variant==="outlined"&&{right:7}),v4=qe("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${nt(n.variant)}`],n.open&&t.iconOpen]}})(um),b4=ue.forwardRef(function(t,n){const{className:r,disabled:i,error:u,IconComponent:b,inputRef:C,variant:R="standard"}=t,P=st(t,g4),O=we({},t,{disabled:i,variant:R,error:u}),f=m4(O);return te.jsxs(ue.Fragment,{children:[te.jsx(y4,we({ownerState:O,className:at(f.select,r),disabled:i,ref:C||n},P)),t.multiple?null:te.jsx(v4,{as:b,ownerState:O,className:f.icon})]})}),_4=b4;function w4(e){return It("MuiSelect",e)}const qo=Rt("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var vh;const x4=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","error","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],S4=qe("div",{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`&.${qo.select}`]:t.select},{[`&.${qo.select}`]:t[n.variant]},{[`&.${qo.error}`]:t.error},{[`&.${qo.multiple}`]:t.multiple}]}})(cm,{[`&.${qo.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),E4=qe("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${nt(n.variant)}`],n.open&&t.iconOpen]}})(um),k4=qe("input",{shouldForwardProp:e=>Mu(e)&&e!=="classes",name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function bh(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}function C4(e){return e==null||typeof e=="string"&&!e.trim()}const A4=e=>{const{classes:t,variant:n,disabled:r,multiple:i,open:u,error:b}=e,C={select:["select",n,r&&"disabled",i&&"multiple",b&&"error"],icon:["icon",`icon${nt(n)}`,u&&"iconOpen",r&&"disabled"],nativeInput:["nativeInput"]};return Tt(C,w4,t)},R4=ue.forwardRef(function(t,n){var r;const{"aria-describedby":i,"aria-label":u,autoFocus:b,autoWidth:C,children:R,className:P,defaultOpen:O,defaultValue:f,disabled:K,displayEmpty:z,error:G=!1,IconComponent:W,inputRef:ae,labelId:oe,MenuProps:S={},multiple:j,name:I,onBlur:p,onChange:w,onClose:y,onFocus:_,onOpen:a,open:h,readOnly:l,renderValue:s,SelectDisplayProps:d={},tabIndex:c,value:o,variant:g="standard"}=t,m=st(t,x4),[v,E]=_a({controlled:o,default:f,name:"Select"}),[k,M]=_a({controlled:h,default:O,name:"Select"}),F=ue.useRef(null),x=ue.useRef(null),[L,V]=ue.useState(null),{current:U}=ue.useRef(h!=null),[ee,Y]=ue.useState(),de=Sn(n,ae),fe=ue.useCallback(se=>{x.current=se,se&&V(se)},[]),$=L==null?void 0:L.parentNode;ue.useImperativeHandle(de,()=>({focus:()=>{x.current.focus()},node:F.current,value:v}),[v]),ue.useEffect(()=>{O&&k&&L&&!U&&(Y(C?null:$.clientWidth),x.current.focus())},[L,C]),ue.useEffect(()=>{b&&x.current.focus()},[b]),ue.useEffect(()=>{if(!oe)return;const se=Kn(x.current).getElementById(oe);if(se){const X=()=>{getSelection().isCollapsed&&x.current.focus()};return se.addEventListener("click",X),()=>{se.removeEventListener("click",X)}}},[oe]);const T=(se,X)=>{se?a&&a(X):y&&y(X),U||(Y(C?null:$.clientWidth),M(se))},B=se=>{se.button===0&&(se.preventDefault(),x.current.focus(),T(!0,se))},A=se=>{T(!1,se)},N=ue.Children.toArray(R),Z=se=>{const X=N.find(D=>D.props.value===se.target.value);X!==void 0&&(E(X.props.value),w&&w(se,X))},Q=se=>X=>{let D;if(X.currentTarget.hasAttribute("tabindex")){if(j){D=Array.isArray(v)?v.slice():[];const H=v.indexOf(se.props.value);H===-1?D.push(se.props.value):D.splice(H,1)}else D=se.props.value;if(se.props.onClick&&se.props.onClick(X),v!==D&&(E(D),w)){const H=X.nativeEvent||X,he=new H.constructor(H.type,H);Object.defineProperty(he,"target",{writable:!0,value:{value:D,name:I}}),w(he,se)}j||T(!1,X)}},ne=se=>{l||[" ","ArrowUp","ArrowDown","Enter"].indexOf(se.key)!==-1&&(se.preventDefault(),T(!0,se))},q=L!==null&&k,ce=se=>{!q&&p&&(Object.defineProperty(se,"target",{writable:!0,value:{value:v,name:I}}),p(se))};delete m["aria-invalid"];let ge,_e;const Re=[];let xe=!1;(Fs({value:v})||z)&&(s?ge=s(v):xe=!0);const Pe=N.map(se=>{if(!ue.isValidElement(se))return null;let X;if(j){if(!Array.isArray(v))throw new Error(hg(2));X=v.some(D=>bh(D,se.props.value)),X&&xe&&Re.push(se.props.children)}else X=bh(v,se.props.value),X&&xe&&(_e=se.props.children);return ue.cloneElement(se,{"aria-selected":X?"true":"false",onClick:Q(se),onKeyUp:D=>{D.key===" "&&D.preventDefault(),se.props.onKeyUp&&se.props.onKeyUp(D)},role:"option",selected:X,value:void 0,"data-value":se.props.value})});xe&&(j?Re.length===0?ge=null:ge=Re.reduce((se,X,D)=>(se.push(X),D{const{classes:t}=e;return t},ed={name:"MuiSelect",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>Un(e)&&e!=="variant",slot:"Root"},B4=qe(em,ed)(""),D4=qe(im,ed)(""),M4=qe(nm,ed)(""),dm=ue.forwardRef(function(t,n){const r=Bt({name:"MuiSelect",props:t}),{autoWidth:i=!1,children:u,classes:b={},className:C,defaultOpen:R=!1,displayEmpty:P=!1,IconComponent:O=I4,id:f,input:K,inputProps:z,label:G,labelId:W,MenuProps:ae,multiple:oe=!1,native:S=!1,onClose:j,onOpen:I,open:p,renderValue:w,SelectDisplayProps:y,variant:_="outlined"}=r,a=st(r,P4),h=S?_4:T4,l=Hr(),s=Ti({props:r,muiFormControl:l,states:["variant","error"]}),d=s.variant||_,c=we({},r,{variant:d,classes:b}),o=L4(c),g=st(o,O4),m=K||{standard:te.jsx(B4,{ownerState:c}),outlined:te.jsx(D4,{label:G,ownerState:c}),filled:te.jsx(M4,{ownerState:c})}[d],v=Sn(n,m.ref);return te.jsx(ue.Fragment,{children:ue.cloneElement(m,we({inputComponent:h,inputProps:we({children:u,error:s.error,IconComponent:O,variant:d,type:void 0,multiple:oe},S?{id:f}:{autoWidth:i,defaultOpen:R,displayEmpty:P,labelId:W,MenuProps:ae,onClose:j,onOpen:I,open:p,renderValue:w,SelectDisplayProps:we({id:f},y)},z,{classes:z?tl(g,z.classes):g},K?K.props.inputProps:{})},(oe&&S||P)&&d==="outlined"?{notched:!0}:{},{ref:v,className:at(m.props.className,C,o.root)},!K&&{variant:d},a))})});dm.muiName="Select";const N4=dm;function j4(e){return It("MuiTextField",e)}Rt("MuiTextField",["root"]);const F4=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],U4={standard:em,filled:nm,outlined:im},$4=e=>{const{classes:t}=e;return Tt({root:["root"]},j4,t)},z4=qe(ll,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),H4=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiTextField"}),{autoComplete:i,autoFocus:u=!1,children:b,className:C,color:R="primary",defaultValue:P,disabled:O=!1,error:f=!1,FormHelperTextProps:K,fullWidth:z=!1,helperText:G,id:W,InputLabelProps:ae,inputProps:oe,InputProps:S,inputRef:j,label:I,maxRows:p,minRows:w,multiline:y=!1,name:_,onBlur:a,onChange:h,onFocus:l,placeholder:s,required:d=!1,rows:c,select:o=!1,SelectProps:g,type:m,value:v,variant:E="outlined"}=r,k=st(r,F4),M=we({},r,{autoFocus:u,color:R,disabled:O,error:f,fullWidth:z,multiline:y,required:d,select:o,variant:E}),F=$4(M),x={};E==="outlined"&&(ae&&typeof ae.shrink<"u"&&(x.notched=ae.shrink),x.label=I),o&&((!g||!g.native)&&(x.id=void 0),x["aria-describedby"]=void 0);const L=Nu(W),V=G&&L?`${L}-helper-text`:void 0,U=I&&L?`${L}-label`:void 0,ee=U4[E],Y=te.jsx(ee,we({"aria-describedby":V,autoComplete:i,autoFocus:u,defaultValue:P,fullWidth:z,multiline:y,name:_,rows:c,maxRows:p,minRows:w,type:m,value:v,id:L,inputRef:j,onBlur:a,onChange:h,onFocus:l,placeholder:s,inputProps:oe},x,S));return te.jsxs(z4,we({className:at(F.root,C),disabled:O,error:f,fullWidth:z,ref:n,required:d,color:R,variant:E,ownerState:M},k,{children:[I!=null&&I!==""&&te.jsx(P6,we({htmlFor:L,id:U},ae,{children:I})),o?te.jsx(N4,we({"aria-describedby":V,id:L,labelId:U,value:v,input:Y},g,{children:b})):Y,G&&te.jsx(om,we({id:V},K,{children:G}))]}))}),Fa=H4;function W4(e){return It("MuiDivider",e)}const _h=Rt("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),V4=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],G4=e=>{const{absolute:t,children:n,classes:r,flexItem:i,light:u,orientation:b,textAlign:C,variant:R}=e;return Tt({root:["root",t&&"absolute",R,u&&"light",b==="vertical"&&"vertical",i&&"flexItem",n&&"withChildren",n&&b==="vertical"&&"withChildrenVertical",C==="right"&&b!=="vertical"&&"textAlignRight",C==="left"&&b!=="vertical"&&"textAlignLeft"],wrapper:["wrapper",b==="vertical"&&"wrapperVertical"]},W4,r)},q4=qe("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.absolute&&t.absolute,t[n.variant],n.light&&t.light,n.orientation==="vertical"&&t.vertical,n.flexItem&&t.flexItem,n.children&&t.withChildren,n.children&&n.orientation==="vertical"&&t.withChildrenVertical,n.textAlign==="right"&&n.orientation!=="vertical"&&t.textAlignRight,n.textAlign==="left"&&n.orientation!=="vertical"&&t.textAlignLeft]}})(({theme:e,ownerState:t})=>we({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(e.vars||e).palette.divider,borderBottomWidth:"thin"},t.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},t.light&&{borderColor:e.vars?`rgba(${e.vars.palette.dividerChannel} / 0.08)`:yn(e.palette.divider,.08)},t.variant==="inset"&&{marginLeft:72},t.variant==="middle"&&t.orientation==="horizontal"&&{marginLeft:e.spacing(2),marginRight:e.spacing(2)},t.variant==="middle"&&t.orientation==="vertical"&&{marginTop:e.spacing(1),marginBottom:e.spacing(1)},t.orientation==="vertical"&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},t.flexItem&&{alignSelf:"stretch",height:"auto"}),({ownerState:e})=>we({},e.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,"&::before, &::after":{content:'""',alignSelf:"center"}}),({theme:e,ownerState:t})=>we({},t.children&&t.orientation!=="vertical"&&{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(e.vars||e).palette.divider}`}}),({theme:e,ownerState:t})=>we({},t.children&&t.orientation==="vertical"&&{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(e.vars||e).palette.divider}`}}),({ownerState:e})=>we({},e.textAlign==="right"&&e.orientation!=="vertical"&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},e.textAlign==="left"&&e.orientation!=="vertical"&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})),K4=qe("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.wrapper,n.orientation==="vertical"&&t.wrapperVertical]}})(({theme:e,ownerState:t})=>we({display:"inline-block",paddingLeft:`calc(${e.spacing(1)} * 1.2)`,paddingRight:`calc(${e.spacing(1)} * 1.2)`},t.orientation==="vertical"&&{paddingTop:`calc(${e.spacing(1)} * 1.2)`,paddingBottom:`calc(${e.spacing(1)} * 1.2)`})),fm=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiDivider"}),{absolute:i=!1,children:u,className:b,component:C=u?"div":"hr",flexItem:R=!1,light:P=!1,orientation:O="horizontal",role:f=C!=="hr"?"separator":void 0,textAlign:K="center",variant:z="fullWidth"}=r,G=st(r,V4),W=we({},r,{absolute:i,component:C,flexItem:R,light:P,orientation:O,role:f,textAlign:K,variant:z}),ae=G4(W);return te.jsx(q4,we({as:C,className:at(ae.root,b),role:f,ref:n,ownerState:W},G,{children:u?te.jsx(K4,{className:ae.wrapper,ownerState:W,children:u}):null}))});fm.muiSkipListHighlight=!0;const Qr=fm;function Y4(e){return It("MuiIconButton",e)}const X4=Rt("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),Z4=["edge","children","className","color","disabled","disableFocusRipple","size"],J4=e=>{const{classes:t,disabled:n,color:r,edge:i,size:u}=e,b={root:["root",n&&"disabled",r!=="default"&&`color${nt(r)}`,i&&`edge${nt(i)}`,`size${nt(u)}`]};return Tt(b,Y4,t)},Q4=qe(Qi,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${nt(n.color)}`],n.edge&&t[`edge${nt(n.edge)}`],t[`size${nt(n.size)}`]]}})(({theme:e,ownerState:t})=>we({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:(e.vars||e).palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest})},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:yn(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.edge==="start"&&{marginLeft:t.size==="small"?-3:-12},t.edge==="end"&&{marginRight:t.size==="small"?-3:-12}),({theme:e,ownerState:t})=>{var n;const r=(n=(e.vars||e).palette)==null?void 0:n[t.color];return we({},t.color==="inherit"&&{color:"inherit"},t.color!=="inherit"&&t.color!=="default"&&we({color:r==null?void 0:r.main},!t.disableRipple&&{"&:hover":we({},r&&{backgroundColor:e.vars?`rgba(${r.mainChannel} / ${e.vars.palette.action.hoverOpacity})`:yn(r.main,e.palette.action.hoverOpacity)},{"@media (hover: none)":{backgroundColor:"transparent"}})}),t.size==="small"&&{padding:5,fontSize:e.typography.pxToRem(18)},t.size==="large"&&{padding:12,fontSize:e.typography.pxToRem(28)},{[`&.${X4.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}})}),jn=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiIconButton"}),{edge:i=!1,children:u,className:b,color:C="default",disabled:R=!1,disableFocusRipple:P=!1,size:O="medium"}=r,f=st(r,Z4),K=we({},r,{edge:i,color:C,disabled:R,disableFocusRipple:P,size:O}),z=J4(K);return te.jsx(Q4,we({className:at(z.root,b),centerRipple:!0,focusRipple:!P,disabled:R,ref:n},f,{ownerState:K,children:u}))});var td={},ex=Ut;Object.defineProperty(td,"__esModule",{value:!0});var hm=td.default=void 0;rx(ue);var tx=ex(Ft()),nx=te;function pm(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(pm=function(r){return r?n:t})(e)}function rx(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=pm(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(u!=="default"&&Object.prototype.hasOwnProperty.call(e,u)){var b=i?Object.getOwnPropertyDescriptor(e,u):null;b&&(b.get||b.set)?Object.defineProperty(r,u,b):r[u]=e[u]}return r.default=e,n&&n.set(e,r),r}hm=td.default=(0,tx.default)((0,nx.jsx)("path",{d:"M12 1.27a11 11 0 00-3.48 21.46c.55.09.73-.28.73-.55v-1.84c-3.03.64-3.67-1.46-3.67-1.46-.55-1.29-1.28-1.65-1.28-1.65-.92-.65.1-.65.1-.65 1.1 0 1.73 1.1 1.73 1.1.92 1.65 2.57 1.2 3.21.92a2 2 0 01.64-1.47c-2.47-.27-5.04-1.19-5.04-5.5 0-1.1.46-2.1 1.2-2.84a3.76 3.76 0 010-2.93s.91-.28 3.11 1.1c1.8-.49 3.7-.49 5.5 0 2.1-1.38 3.02-1.1 3.02-1.1a3.76 3.76 0 010 2.93c.83.74 1.2 1.74 1.2 2.94 0 4.21-2.57 5.13-5.04 5.4.45.37.82.92.82 2.02v3.03c0 .27.1.64.73.55A11 11 0 0012 1.27"}),"GitHub");var nd={},ix=Ut;Object.defineProperty(nd,"__esModule",{value:!0});var gm=nd.default=void 0,ox=ix(Ft()),ax=te;gm=nd.default=(0,ox.default)((0,ax.jsx)("path",{d:"m19 8-4 4h3c0 3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19.54 10.43 20 12 20c4.42 0 8-3.58 8-8h3zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97.25 2.8.7l1.46-1.46C15.03 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4z"}),"Cached");var Gn=(e=>(e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(Gn||{}),Br=(e=>(e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(Br||{}),Bn=(e=>(e.WEBCAM="WEBCAM",e.SCREEN_SHARE="SCREEN_SHARE",e.MICROPHONE="MICROPHONE",e))(Bn||{}),Dr=(e=>(e.SHARING="SHARING",e.NOT_SHARING="NOT_SHARING",e))(Dr||{}),Si=(e=>(e[e.VERIFYING=0]="VERIFYING",e[e.UNVERIFIED=1]="UNVERIFIED",e[e.VERIFIED=2]="VERIFIED",e))(Si||{}),gn=(e=>(e.MICROPHONE="microphone",e.SCREEN_SHARE="screen-share",e))(gn||{});const mm=e=>"timeReceived"in e,ym=e=>"magnetURI"in e;/*! simple-peer. MIT License. Feross Aboukhadijeh */const wh=64*1024,sx=5*1e3,lx=5*1e3;function xh(e){const t=new Uint8Array(e);for(let n=0;n"u")return null;const e={RTCPeerConnection:globalThis.RTCPeerConnection||globalThis.mozRTCPeerConnection||globalThis.webkitRTCPeerConnection,RTCSessionDescription:globalThis.RTCSessionDescription||globalThis.mozRTCSessionDescription||globalThis.webkitRTCSessionDescription,RTCIceCandidate:globalThis.RTCIceCandidate||globalThis.mozRTCIceCandidate||globalThis.webkitRTCIceCandidate};return e.RTCPeerConnection?e:null}function tn(e,t){return Object.defineProperty(e,"code",{value:t,enumerable:!0,configurable:!0}),e}function Sh(e){return e.replace(/a=ice-options:trickle\s\n/g,"")}function cx(e){console.warn(e)}class Xi{constructor(t={}){if(this._map=new Map,this._id=xh(4).toString("hex").slice(0,7),this._doDebug=t.debug,this._debug("new peer %o",t),this.channelName=t.initiator?t.channelName||xh(20).toString("hex"):null,this.initiator=t.initiator||!1,this.channelConfig=t.channelConfig||Xi.channelConfig,this.channelNegotiated=this.channelConfig.negotiated,this.config=Object.assign({},Xi.config,t.config),this.offerOptions=t.offerOptions||{},this.answerOptions=t.answerOptions||{},this.sdpTransform=t.sdpTransform||(n=>n),this.streams=t.streams||(t.stream?[t.stream]:[]),this.trickle=t.trickle!==void 0?t.trickle:!0,this.allowHalfTrickle=t.allowHalfTrickle!==void 0?t.allowHalfTrickle:!1,this.iceCompleteTimeout=t.iceCompleteTimeout||sx,this.destroyed=!1,this.destroying=!1,this._connected=!1,this.remoteAddress=void 0,this.remoteFamily=void 0,this.remotePort=void 0,this.localAddress=void 0,this.localFamily=void 0,this.localPort=void 0,this._wrtc=t.wrtc&&typeof t.wrtc=="object"?t.wrtc:vm(),!this._wrtc)throw tn(typeof window>"u"?new Error("No WebRTC support: Specify `opts.wrtc` option in this environment"):new Error("No WebRTC support: Not a supported browser"),"ERR_WEBRTC_SUPPORT");this._pcReady=!1,this._channelReady=!1,this._iceComplete=!1,this._iceCompleteTimer=null,this._channel=null,this._pendingCandidates=[],this._isNegotiating=!1,this._firstNegotiation=!0,this._batchedNegotiation=!1,this._queuedNegotiation=!1,this._sendersAwaitingStable=[],this._senderMap=new Map,this._closingInterval=null,this._remoteTracks=[],this._remoteStreams=[],this._chunk=null,this._cb=null,this._interval=null;try{this._pc=new this._wrtc.RTCPeerConnection(this.config)}catch(n){this.destroy(tn(n,"ERR_PC_CONSTRUCTOR"));return}this._isReactNativeWebrtc=typeof this._pc._peerConnectionId=="number",this._pc.oniceconnectionstatechange=()=>{this._onIceStateChange()},this._pc.onicegatheringstatechange=()=>{this._onIceStateChange()},this._pc.onconnectionstatechange=()=>{this._onConnectionStateChange()},this._pc.onsignalingstatechange=()=>{this._onSignalingStateChange()},this._pc.onicecandidate=n=>{this._onIceCandidate(n)},typeof this._pc.peerIdentity=="object"&&this._pc.peerIdentity.catch(n=>{this.destroy(tn(n,"ERR_PC_PEER_IDENTITY"))}),this.initiator||this.channelNegotiated?this._setupData({channel:this._pc.createDataChannel(this.channelName,this.channelConfig)}):this._pc.ondatachannel=n=>{this._setupData(n)},this.streams&&this.streams.forEach(n=>{this.addStream(n)}),this._pc.ontrack=n=>{this._onTrack(n)},this._debug("initial negotiation"),this._needsNegotiation()}get bufferSize(){return this._channel&&this._channel.bufferedAmount||0}get connected(){return this._connected&&this._channel.readyState==="open"}address(){return{port:this.localPort,family:this.localFamily,address:this.localAddress}}signal(t){if(!this.destroying){if(this.destroyed)throw tn(new Error("cannot signal after peer is destroyed"),"ERR_DESTROYED");if(typeof t=="string")try{t=JSON.parse(t)}catch{t={}}this._debug("signal()"),t.renegotiate&&this.initiator&&(this._debug("got request to renegotiate"),this._needsNegotiation()),t.transceiverRequest&&this.initiator&&(this._debug("got request for transceiver"),this.addTransceiver(t.transceiverRequest.kind,t.transceiverRequest.init)),t.candidate&&(this._pc.remoteDescription&&this._pc.remoteDescription.type?this._addIceCandidate(t.candidate):this._pendingCandidates.push(t.candidate)),t.sdp&&this._pc.setRemoteDescription(new this._wrtc.RTCSessionDescription(t)).then(()=>{this.destroyed||(this._pendingCandidates.forEach(n=>{this._addIceCandidate(n)}),this._pendingCandidates=[],this._pc.remoteDescription.type==="offer"&&this._createAnswer())}).catch(n=>{this.destroy(tn(n,"ERR_SET_REMOTE_DESCRIPTION"))}),!t.sdp&&!t.candidate&&!t.renegotiate&&!t.transceiverRequest&&this.destroy(tn(new Error("signal() called with invalid signal data"),"ERR_SIGNALING"))}}_addIceCandidate(t){const n=new this._wrtc.RTCIceCandidate(t);this._pc.addIceCandidate(n).catch(r=>{!n.address||n.address.endsWith(".local")?cx("Ignoring unsupported ICE candidate."):this.destroy(tn(r,"ERR_ADD_ICE_CANDIDATE"))})}send(t){if(!this.destroying){if(this.destroyed)throw tn(new Error("cannot send after peer is destroyed"),"ERR_DESTROYED");this._channel.send(t)}}addTransceiver(t,n){if(!this.destroying){if(this.destroyed)throw tn(new Error("cannot addTransceiver after peer is destroyed"),"ERR_DESTROYED");if(this._debug("addTransceiver()"),this.initiator)try{this._pc.addTransceiver(t,n),this._needsNegotiation()}catch(r){this.destroy(tn(r,"ERR_ADD_TRANSCEIVER"))}else this.emit("signal",{type:"transceiverRequest",transceiverRequest:{kind:t,init:n}})}}addStream(t){if(!this.destroying){if(this.destroyed)throw tn(new Error("cannot addStream after peer is destroyed"),"ERR_DESTROYED");this._debug("addStream()"),t.getTracks().forEach(n=>{this.addTrack(n,t)})}}addTrack(t,n){if(this.destroying)return;if(this.destroyed)throw tn(new Error("cannot addTrack after peer is destroyed"),"ERR_DESTROYED");this._debug("addTrack()");const r=this._senderMap.get(t)||new Map;let i=r.get(n);if(!i)i=this._pc.addTrack(t,n),r.set(n,i),this._senderMap.set(t,r),this._needsNegotiation();else throw i.removed?tn(new Error("Track has been removed. You should enable/disable tracks that you want to re-add."),"ERR_SENDER_REMOVED"):tn(new Error("Track has already been added to that stream."),"ERR_SENDER_ALREADY_ADDED")}replaceTrack(t,n,r){if(this.destroying)return;if(this.destroyed)throw tn(new Error("cannot replaceTrack after peer is destroyed"),"ERR_DESTROYED");this._debug("replaceTrack()");const i=this._senderMap.get(t),u=i?i.get(r):null;if(!u)throw tn(new Error("Cannot replace track that was never added."),"ERR_TRACK_NOT_ADDED");n&&this._senderMap.set(n,i),u.replaceTrack!=null?u.replaceTrack(n):this.destroy(tn(new Error("replaceTrack is not supported in this browser"),"ERR_UNSUPPORTED_REPLACETRACK"))}removeTrack(t,n){if(this.destroying)return;if(this.destroyed)throw tn(new Error("cannot removeTrack after peer is destroyed"),"ERR_DESTROYED");this._debug("removeSender()");const r=this._senderMap.get(t),i=r?r.get(n):null;if(!i)throw tn(new Error("Cannot remove track that was never added."),"ERR_TRACK_NOT_ADDED");try{i.removed=!0,this._pc.removeTrack(i)}catch(u){u.name==="NS_ERROR_UNEXPECTED"?this._sendersAwaitingStable.push(i):this.destroy(tn(u,"ERR_REMOVE_TRACK"))}this._needsNegotiation()}removeStream(t){if(!this.destroying){if(this.destroyed)throw tn(new Error("cannot removeStream after peer is destroyed"),"ERR_DESTROYED");this._debug("removeSenders()"),t.getTracks().forEach(n=>{this.removeTrack(n,t)})}}_needsNegotiation(){this._debug("_needsNegotiation"),!this._batchedNegotiation&&(this._batchedNegotiation=!0,queueMicrotask(()=>{this._batchedNegotiation=!1,this.initiator||!this._firstNegotiation?(this._debug("starting batched negotiation"),this.negotiate()):this._debug("non-initiator initial negotiation request discarded"),this._firstNegotiation=!1}))}negotiate(){if(!this.destroying){if(this.destroyed)throw tn(new Error("cannot negotiate after peer is destroyed"),"ERR_DESTROYED");this.initiator?this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("start negotiation"),setTimeout(()=>{this._createOffer()},0)):this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("requesting negotiation from initiator"),this.emit("signal",{type:"renegotiate",renegotiate:!0})),this._isNegotiating=!0}}destroy(t){this.destroyed||this.destroying||(this.destroying=!0,this._debug("destroying (error: %s)",t&&(t.message||t)),queueMicrotask(()=>{if(this.destroyed=!0,this.destroying=!1,this._debug("destroy (error: %s)",t&&(t.message||t)),this._connected=!1,this._pcReady=!1,this._channelReady=!1,this._remoteTracks=null,this._remoteStreams=null,this._senderMap=null,clearInterval(this._closingInterval),this._closingInterval=null,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._channel){try{this._channel.close()}catch{}this._channel.onmessage=null,this._channel.onopen=null,this._channel.onclose=null,this._channel.onerror=null}if(this._pc){try{this._pc.close()}catch{}this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ontrack=null,this._pc.ondatachannel=null}this._pc=null,this._channel=null,t&&this.emit("error",t),this.emit("close")}))}_setupData(t){if(!t.channel)return this.destroy(tn(new Error("Data channel event is missing `channel` property"),"ERR_DATA_CHANNEL"));this._channel=t.channel,this._channel.binaryType="arraybuffer",typeof this._channel.bufferedAmountLowThreshold=="number"&&(this._channel.bufferedAmountLowThreshold=wh),this.channelName=this._channel.label,this._channel.onmessage=r=>{this._onChannelMessage(r)},this._channel.onbufferedamountlow=()=>{this._onChannelBufferedAmountLow()},this._channel.onopen=()=>{this._onChannelOpen()},this._channel.onclose=()=>{this._onChannelClose()},this._channel.onerror=r=>{this.destroy(tn(r,"ERR_DATA_CHANNEL"))};let n=!1;this._closingInterval=setInterval(()=>{this._channel&&this._channel.readyState==="closing"?(n&&this._onChannelClose(),n=!0):n=!1},lx)}_startIceCompleteTimeout(){this.destroyed||this._iceCompleteTimer||(this._debug("started iceComplete timeout"),this._iceCompleteTimer=setTimeout(()=>{this._iceComplete||(this._iceComplete=!0,this._debug("iceComplete timeout completed"),this.emit("iceTimeout"),this.emit("_iceComplete"))},this.iceCompleteTimeout))}_createOffer(){this.destroyed||this._pc.createOffer(this.offerOptions).then(t=>{if(this.destroyed)return;!this.trickle&&!this.allowHalfTrickle&&(t.sdp=Sh(t.sdp)),t.sdp=this.sdpTransform(t.sdp);const n=()=>{if(this.destroyed)return;const u=this._pc.localDescription||t;this._debug("signal"),this.emit("signal",{type:u.type,sdp:u.sdp})},r=()=>{this._debug("createOffer success"),!this.destroyed&&(this.trickle||this._iceComplete?n():this.once("_iceComplete",n))},i=u=>{this.destroy(tn(u,"ERR_SET_LOCAL_DESCRIPTION"))};this._pc.setLocalDescription(t).then(r).catch(i)}).catch(t=>{this.destroy(tn(t,"ERR_CREATE_OFFER"))})}_requestMissingTransceivers(){this._pc.getTransceivers&&this._pc.getTransceivers().forEach(t=>{!t.mid&&t.sender.track&&!t.requested&&(t.requested=!0,this.addTransceiver(t.sender.track.kind))})}_createAnswer(){this.destroyed||this._pc.createAnswer(this.answerOptions).then(t=>{if(this.destroyed)return;!this.trickle&&!this.allowHalfTrickle&&(t.sdp=Sh(t.sdp)),t.sdp=this.sdpTransform(t.sdp);const n=()=>{if(this.destroyed)return;const u=this._pc.localDescription||t;this._debug("signal"),this.emit("signal",{type:u.type,sdp:u.sdp}),this.initiator||this._requestMissingTransceivers()},r=()=>{this.destroyed||(this.trickle||this._iceComplete?n():this.once("_iceComplete",n))},i=u=>{this.destroy(tn(u,"ERR_SET_LOCAL_DESCRIPTION"))};this._pc.setLocalDescription(t).then(r).catch(i)}).catch(t=>{this.destroy(tn(t,"ERR_CREATE_ANSWER"))})}_onConnectionStateChange(){this.destroyed||this._pc.connectionState==="failed"&&this.destroy(tn(new Error("Connection failed."),"ERR_CONNECTION_FAILURE"))}_onIceStateChange(){if(this.destroyed)return;const t=this._pc.iceConnectionState,n=this._pc.iceGatheringState;this._debug("iceStateChange (connection: %s) (gathering: %s)",t,n),this.emit("iceStateChange",t,n),(t==="connected"||t==="completed")&&(this._pcReady=!0,this._maybeReady()),t==="failed"&&this.destroy(tn(new Error("Ice connection failed."),"ERR_ICE_CONNECTION_FAILURE")),t==="closed"&&this.destroy(tn(new Error("Ice connection closed."),"ERR_ICE_CONNECTION_CLOSED"))}getStats(t){const n=r=>(Object.prototype.toString.call(r.values)==="[object Array]"&&r.values.forEach(i=>{Object.assign(r,i)}),r);this._pc.getStats.length===0||this._isReactNativeWebrtc?this._pc.getStats().then(r=>{const i=[];r.forEach(u=>{i.push(n(u))}),t(null,i)},r=>t(r)):this._pc.getStats.length>0?this._pc.getStats(r=>{if(this.destroyed)return;const i=[];r.result().forEach(u=>{const b={};u.names().forEach(C=>{b[C]=u.stat(C)}),b.id=u.id,b.type=u.type,b.timestamp=u.timestamp,i.push(n(b))}),t(null,i)},r=>t(r)):t(null,[])}_maybeReady(){if(this._debug("maybeReady pc %s channel %s",this._pcReady,this._channelReady),this._connected||this._connecting||!this._pcReady||!this._channelReady)return;this._connecting=!0;const t=()=>{this.destroyed||this.getStats((n,r)=>{if(this.destroyed)return;n&&(r=[]);const i={},u={},b={};let C=!1;r.forEach(P=>{(P.type==="remotecandidate"||P.type==="remote-candidate")&&(i[P.id]=P),(P.type==="localcandidate"||P.type==="local-candidate")&&(u[P.id]=P),(P.type==="candidatepair"||P.type==="candidate-pair")&&(b[P.id]=P)});const R=P=>{C=!0;let O=u[P.localCandidateId];O&&(O.ip||O.address)?(this.localAddress=O.ip||O.address,this.localPort=Number(O.port)):O&&O.ipAddress?(this.localAddress=O.ipAddress,this.localPort=Number(O.portNumber)):typeof P.googLocalAddress=="string"&&(O=P.googLocalAddress.split(":"),this.localAddress=O[0],this.localPort=Number(O[1])),this.localAddress&&(this.localFamily=this.localAddress.includes(":")?"IPv6":"IPv4");let f=i[P.remoteCandidateId];f&&(f.ip||f.address)?(this.remoteAddress=f.ip||f.address,this.remotePort=Number(f.port)):f&&f.ipAddress?(this.remoteAddress=f.ipAddress,this.remotePort=Number(f.portNumber)):typeof P.googRemoteAddress=="string"&&(f=P.googRemoteAddress.split(":"),this.remoteAddress=f[0],this.remotePort=Number(f[1])),this.remoteAddress&&(this.remoteFamily=this.remoteAddress.includes(":")?"IPv6":"IPv4"),this._debug("connect local: %s:%s remote: %s:%s",this.localAddress,this.localPort,this.remoteAddress,this.remotePort)};if(r.forEach(P=>{P.type==="transport"&&P.selectedCandidatePairId&&R(b[P.selectedCandidatePairId]),(P.type==="googCandidatePair"&&P.googActiveConnection==="true"||(P.type==="candidatepair"||P.type==="candidate-pair")&&P.selected)&&R(P)}),!C&&(!Object.keys(b).length||Object.keys(u).length)){setTimeout(t,100);return}else this._connecting=!1,this._connected=!0;if(this._chunk){try{this.send(this._chunk)}catch(O){return this.destroy(tn(O,"ERR_DATA_CHANNEL"))}this._chunk=null,this._debug('sent chunk from "write before connect"');const P=this._cb;this._cb=null,P(null)}typeof this._channel.bufferedAmountLowThreshold!="number"&&(this._interval=setInterval(()=>this._onInterval(),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect")})};t()}_onInterval(){!this._cb||!this._channel||this._channel.bufferedAmount>wh||this._onChannelBufferedAmountLow()}_onSignalingStateChange(){this.destroyed||(this._pc.signalingState==="stable"&&(this._isNegotiating=!1,this._debug("flushing sender queue",this._sendersAwaitingStable),this._sendersAwaitingStable.forEach(t=>{this._pc.removeTrack(t),this._queuedNegotiation=!0}),this._sendersAwaitingStable=[],this._queuedNegotiation?(this._debug("flushing negotiation queue"),this._queuedNegotiation=!1,this._needsNegotiation()):(this._debug("negotiated"),this.emit("negotiated"))),this._debug("signalingStateChange %s",this._pc.signalingState),this.emit("signalingStateChange",this._pc.signalingState))}_onIceCandidate(t){this.destroyed||(t.candidate&&this.trickle?this.emit("signal",{type:"candidate",candidate:{candidate:t.candidate.candidate,sdpMLineIndex:t.candidate.sdpMLineIndex,sdpMid:t.candidate.sdpMid}}):!t.candidate&&!this._iceComplete&&(this._iceComplete=!0,this.emit("_iceComplete")),t.candidate&&this._startIceCompleteTimeout())}_onChannelMessage(t){if(this.destroyed)return;let n=t.data;n instanceof ArrayBuffer&&(n=new Uint8Array(n)),this.emit("data",n)}_onChannelBufferedAmountLow(){if(this.destroyed||!this._cb)return;this._debug("ending backpressure: bufferedAmount %d",this._channel.bufferedAmount);const t=this._cb;this._cb=null,t(null)}_onChannelOpen(){this._connected||this.destroyed||(this._debug("on channel open"),this._channelReady=!0,this._maybeReady())}_onChannelClose(){this.destroyed||(this._debug("on channel close"),this.destroy())}_onTrack(t){this.destroyed||t.streams.forEach(n=>{this._debug("on track"),this.emit("track",t.track,n),this._remoteTracks.push({track:t.track,stream:n}),!this._remoteStreams.some(r=>r.id===n.id)&&(this._remoteStreams.push(n),queueMicrotask(()=>{this._debug("on stream"),this.emit("stream",n)}))})}_debug(...t){this._doDebug&&(t[0]="["+this._id+"] "+t[0],console.log(...t))}on(t,n){const r=this._map;r.has(t)||r.set(t,new Set),r.get(t).add(n)}off(t,n){const r=this._map,i=r.get(t);i&&(i.delete(n),i.size===0&&r.delete(t))}once(t,n){const r=(...i)=>{this.off(t,r),n(...i)};this.on(t,r)}emit(t,...n){const r=this._map;if(r.has(t))for(const i of r.get(t))try{i(...n)}catch(u){console.error(u)}}}Xi.WEBRTC_SUPPORT=!!vm();Xi.config={iceServers:[{urls:["stun:stun.l.google.com:19302","stun:global.stun.twilio.com:3478"]}],sdpSemantics:"unified-plan"};Xi.channelConfig={};const Eh="0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",kh=(e,t,n)=>{const r=new Xi({initiator:e,trickle:t,config:n}),i=u=>r.__earlyDataBuffer.push(u);return r.on(Vn.data,i),r.__earlyDataBuffer=[],r.__drainEarlyData=u=>{r.off(Vn.data,i),r.__earlyDataBuffer.forEach(u),delete r.__earlyDataBuffer,delete r.__drainEarlyData},r},bm=e=>Array(e).fill().map(()=>Eh[Math.floor(Math.random()*Eh.length)]).join(""),ux=(e,t)=>(n,r)=>{if(e[r])return e[r];if(!n)throw xr("requires a config map as the first argument");if(!n.appId&&!n.firebaseApp)throw xr("config map is missing appId field");if(!r)throw xr("namespace argument required");return e[r]=t(n,r)},pa="Trystero",Nl=bm(20),{keys:dx,values:fx,entries:Hs,fromEntries:rd}=Object,ji=()=>{},xr=e=>new Error(`${pa}: ${e}`),yo=e=>new TextEncoder().encode(e),gs=e=>new TextDecoder().decode(e),Vn=rd(["close","connect","data","error","signal","stream","track"].map(e=>[e,e])),hx=(e,t,n)=>(e.relayUrls||t).slice(0,e.relayUrls?e.relayUrls.length:e.relayRedundancy||n),px=e=>new Promise(t=>setTimeout(t,e)),gx=Object.getPrototypeOf(Uint8Array),ms=12,_m=0,ys=_m+ms,vs=ys+1,aa=vs+1,sa=aa+1,Li=16*2**10-sa,ns=255,Ch="bufferedamountlow",mx=(e,t)=>{const n={},r={},i={},u={},b={},C={},R=(h,l)=>(h?Array.isArray(h)?h:[h]:dx(n)).flatMap(s=>{const d=n[s];return d?l(s,d):(console.warn(`${pa}: no peer with id ${s} found`),[])}),P=h=>{n[h]&&(delete n[h],delete i[h],delete u[h],y(h))},O=h=>{if(r[h])return[r[h].send,r[h].setOnComplete,r[h].setOnProgress];if(!h)throw xr("action type argument is required");const l=yo(h);if(l.byteLength>ms)throw xr(`action type string "${h}" (${l.byteLength}b) exceeds byte limit (${ms}). Hint: choose a shorter name.`);const s=new Uint8Array(ms);s.set(l);let d=0;return r[h]={onComplete:ji,onProgress:ji,setOnComplete:c=>r[h]={...r[h],onComplete:c},setOnProgress:c=>r[h]={...r[h],onProgress:c},send:async(c,o,g,m)=>{if(g&&typeof g!="object")throw xr("action meta argument must be an object");if(c===void 0)throw xr("action data cannot be undefined");const v=typeof c!="string",E=c instanceof Blob,k=E||c instanceof ArrayBuffer||c instanceof gx;if(g&&!k)throw xr("action meta argument can only be used with binary data");const M=k?new Uint8Array(E?await c.arrayBuffer():c):yo(v?JSON.stringify(c):c),F=g?yo(JSON.stringify(g)):null,x=Math.ceil(M.byteLength/Li)+(g?1:0)||1,L=Array(x).fill().map((V,U)=>{const ee=U===x-1,Y=g&&U===0,de=new Uint8Array(sa+(Y?F.byteLength:ee?M.byteLength-Li*(x-(g?2:1)):Li));return de.set(s),de.set([d],ys),de.set([ee|Y<<1|k<<2|v<<3],vs),de.set([Math.round((U+1)/x*ns)],aa),de.set(g?Y?F:M.subarray((U-1)*Li,U*Li):M.subarray(U*Li,(U+1)*Li),sa),de});return d=d+1&ns,Promise.all(R(o,async(V,U)=>{const ee=U._channel;let Y=0;for(;Yee.bufferedAmountLowThreshold&&await new Promise(fe=>{const $=()=>{ee.removeEventListener(Ch,$),fe()};ee.addEventListener(Ch,$)}),!n[V])break;U.send(de),Y++,m&&m(de[aa]/ns,V,g)}}))}},[r[h].send,r[h].setOnComplete,r[h].setOnProgress]},f=(h,l)=>{const s=new Uint8Array(l),d=gs(s.subarray(_m,ys)).replaceAll("\0",""),[c]=s.subarray(ys,vs),[o]=s.subarray(vs,aa),[g]=s.subarray(aa,sa),m=s.subarray(sa),v=!!(o&1),E=!!(o&2),k=!!(o&4),M=!!(o&8);if(!r[d])throw xr(`received message with unregistered type (${d})`);i[h]||(i[h]={}),i[h][d]||(i[h][d]={});let F=i[h][d][c];if(F||(F=i[h][d][c]={chunks:[]}),E?F.meta=JSON.parse(gs(m)):F.chunks.push(m),r[d].onProgress(g/ns,h,F.meta),!v)return;const x=new Uint8Array(F.chunks.reduce((L,V)=>L+V.byteLength,0));if(F.chunks.reduce((L,V)=>(x.set(V,L),L+V.byteLength),0),k)r[d].onComplete(x,h,F.meta);else{const L=gs(x);r[d].onComplete(M?JSON.parse(L):L,h)}delete i[h][d][c]},[K,z]=O("__91n6__"),[G,W]=O("__90n6__"),[ae,oe]=O("__516n4L__"),[S,j]=O("__57r34m__"),[I,p]=O("__7r4ck__");let w=ji,y=ji,_=ji,a=ji;return e((h,l)=>{if(n[l])return;const s=f.bind(null,l);n[l]=h,h.on(Vn.signal,d=>ae(d,l)),h.on(Vn.close,()=>P(l)),h.on(Vn.data,s),h.on(Vn.stream,d=>{_(d,l,b[l]),delete b[l]}),h.on(Vn.track,(d,c)=>{a(d,c,l,C[l]),delete C[l]}),h.on(Vn.error,d=>{d.code!=="ERR_DATA_CHANNEL"&&console.error(d)}),w(l),h.__drainEarlyData(s)}),z((h,l)=>G("",l)),W((h,l)=>{u[l]&&(u[l](),delete u[l])}),oe((h,l)=>{n[l]&&n[l].signal(h)}),j((h,l)=>b[l]=h),p((h,l)=>C[l]=h),{makeAction:O,ping:async h=>{if(!h)throw xr("ping() must be called with target peer ID");const l=Date.now();return K("",h),await new Promise(s=>u[h]=s),Date.now()-l},leave:()=>{Hs(n).forEach(([h,l])=>{l.destroy(),delete n[h]}),t()},getPeers:()=>rd(Hs(n).map(([h,l])=>[h,l._pc])),addStream:(h,l,s)=>R(l,async(d,c)=>{s&&await S(s,d),c.addStream(h)}),removeStream:(h,l)=>R(l,(s,d)=>d.removeStream(h)),addTrack:(h,l,s,d)=>R(s,async(c,o)=>{d&&await I(d,c),o.addTrack(h,l)}),removeTrack:(h,l,s)=>R(s,(d,c)=>c.removeTrack(h,l)),replaceTrack:(h,l,s,d,c)=>R(d,async(o,g)=>{c&&await I(c,o),g.replaceTrack(h,l,s)}),onPeerJoin:h=>w=h,onPeerLeave:h=>y=h,onPeerStream:h=>_=h,onPeerTrack:h=>a=h}},id="AES-CBC",yx=e=>btoa(String.fromCharCode.apply(null,new Uint8Array(e))),vx=e=>{const t=atob(e);return new Uint8Array(t.length).map((n,r)=>t.charCodeAt(r)).buffer},bx=async(e,t)=>crypto.subtle.importKey("raw",await crypto.subtle.digest({name:"SHA-256"},yo(`${e}:${t}`)),{name:id},!1,["encrypt","decrypt"]),Ah=async(e,t)=>{const n=crypto.getRandomValues(new Uint8Array(16));return JSON.stringify({c:yx(await crypto.subtle.encrypt({name:id,iv:n},await e,yo(t))),iv:[...n]})},Rh=async(e,t)=>{const{c:n,iv:r}=JSON.parse(t);return gs(await crypto.subtle.decrypt({name:id,iv:new Uint8Array(r)},await e,vx(n)))},Th={},jl={},wm={},Ko={},Yo={},Ih=20,Ph=10,_x=3,wx=33,xx=120,Oh=4,Lh="announce",Sx=["wss://tracker.webtorrent.dev","wss://tracker.openwebtorrent.com","wss://tracker.files.fm:7073/announce","wss://tracker.btorrent.xyz"],Ex=ux(Th,(e,t)=>{if(e.trackerUrls||e.trackerRedundancy)throw xr("trackerUrls/trackerRedundancy have been replaced by relayUrls/relayRedundancy");const n={},r=e.password&&bx(e.password,t),i=hx(e,Sx,_x),u=crypto.subtle.digest("SHA-1",yo(`${pa}:${e.appId}:${t}`)).then(j=>Array.from(new Uint8Array(j)).map(I=>I.toString(36)).join("").slice(0,Ih)),b=j=>rd(Array(j).fill().map(()=>{const I=kh(!0,!1,e.rtcConfig);return[bm(Ih),{peer:I,offerP:new Promise(p=>I.once(Vn.signal,p))}]})),C=async(j,I)=>{const p=await u;let w;try{w=JSON.parse(I.data)}catch{console.error(`${pa}: received malformed SDP JSON`);return}if(w.info_hash!==p||w.peer_id&&w.peer_id===Nl)return;const y=w["failure reason"];if(y){console.warn(`${pa}: torrent tracker failure from ${j.url} - ${y}`);return}if(w.interval&&w.interval>G&&w.interval<=xx&&(clearInterval(W),G=w.interval,W=setInterval(O,G*1e3)),w.offer&&w.offer_id){if(n[w.peer_id]||oe[w.offer_id])return;oe[w.offer_id]=!0;const _=kh(!1,!1,e.rtcConfig);_.once(Vn.signal,async a=>j.send(JSON.stringify({answer:r?{...a,sdp:await Ah(r,a.sdp)}:a,action:Lh,info_hash:p,peer_id:Nl,to_peer_id:w.peer_id,offer_id:w.offer_id}))),_.on(Vn.connect,()=>K(_,w.peer_id)),_.on(Vn.close,()=>z(_,w.peer_id,w.offer_id)),_.signal(r?{...w.offer,sdp:await Rh(r,w.offer.sdp)}:w.offer);return}if(w.answer){if(n[w.peer_id]||oe[w.offer_id])return;const _=S[w.offer_id];if(_){const{peer:a}=_;if(a.destroyed)return;oe[w.offer_id]=!0,a.on(Vn.connect,()=>K(a,w.peer_id,w.offer_id)),a.on(Vn.close,()=>z(a,w.peer_id,w.offer_id)),a.signal(r?{...w.answer,sdp:await Rh(r,w.answer.sdp)}:w.answer)}}},R=async(j,I)=>j.send(JSON.stringify({action:Lh,info_hash:I,numwant:Ph,peer_id:Nl,offers:await Promise.all(Hs(S).map(async([p,{offerP:w}])=>{const y=await w;return{offer_id:p,offer:r?{...y,sdp:await Ah(r,y.sdp)}:y}}))})),P=(j,I,p)=>(p||!jl[j]?(Yo[j]={...Yo[j],[I]:C},jl[j]=new Promise(w=>{const y=new WebSocket(j);wm[j]=y,y.addEventListener("open",()=>{Ko[j]=Oh*1e3,w(y)}),y.addEventListener("message",_=>fx(Yo[j]).forEach(a=>a(y,_))),y.addEventListener("close",async()=>{Ko[j]=Ko[j]??Oh*1e3,await px(Ko[j]),Ko[j]*=2,P(j,I,!0)})})):Yo[j][I]=C,jl[j]),O=async()=>{const j=await u;S&&f(),S=b(Ph),i.forEach(async I=>{const p=await P(I,j);p.readyState===WebSocket.OPEN?R(p,j):p.readyState!==WebSocket.CONNECTING&&R(await P(I,j,!0),j)})},f=()=>{Hs(S).forEach(([j,{peer:I}])=>{!oe[j]&&!n[j]&&I.destroy()}),oe={}},K=(j,I,p)=>{ae(j,I),n[I]=!0,p&&(n[p]=!0)},z=(j,I,p)=>{delete n[I],j.destroy(),p in S&&(delete S[p],S={...S,...b(1)})};let G=wx,W=setInterval(O,G*1e3),ae=ji,oe={},S;return O(),mx(j=>ae=j,async()=>{const j=await u;i.forEach(I=>delete Yo[I][j]),delete Th[t],clearInterval(W),f()})}),kx=()=>({...wm}),od={iceServers:[{urls:"turn:relay1.expressturn.com:3478",username:"efQUQ79N77B5BNVVKF",credential:"N4EAUgpjMzPLrxSS"}]};var Fi=(e=>(e.CONNECTION_TEST_RESULTS_UPDATED="CONNECTION_TEST_RESULTS_UPDATED",e.HAS_HOST_CHANGED="HAS_HOST_CHANGED",e.HAS_RELAY_CHANGED="HAS_RELAY_CHANGED",e))(Fi||{}),Zi=(e=>(e.SEARCHING="SEARCHING",e.CONNECTED="CONNECTED",e.FAILED="FAILED",e))(Zi||{});const Bh=10*1e3;class Hc extends EventTarget{constructor(){super(...arguments),this.trackerConnection="SEARCHING",this.hasHost=!1,this.hasRelay=!1,this.hasPeerReflexive=!1,this.hasServerReflexive=!1}async initRtcPeerConnectionTest(){if(typeof RTCPeerConnection>"u")return;const{iceServers:t}=od;this.rtcPeerConnection=new RTCPeerConnection({iceServers:t});const n=setTimeout(()=>{this.hasHost=!1,this.dispatchEvent(new CustomEvent("HAS_HOST_CHANGED",{detail:this}))},Bh),r=setTimeout(()=>{this.hasRelay=!1,this.dispatchEvent(new CustomEvent("HAS_RELAY_CHANGED",{detail:this}))},Bh);this.rtcPeerConnection.addEventListener("icecandidate",i=>{var u;if((u=i.candidate)!=null&&u.candidate.length){const b=Sb.parseCandidate(i.candidate.candidate);let C;switch(b.type){case"host":clearTimeout(n),this.hasHost=window.navigator.onLine,C="HAS_HOST_CHANGED";break;case"relay":clearTimeout(r),this.hasRelay=window.navigator.onLine,C="HAS_RELAY_CHANGED";break}typeof C<"u"&&this.dispatchEvent(new CustomEvent(C,{detail:this})),this.dispatchEvent(new Event("CONNECTION_TEST_RESULTS_UPDATED"))}});try{const i=await this.rtcPeerConnection.createOffer({offerToReceiveAudio:!0});this.rtcPeerConnection.setLocalDescription(i)}catch{}}destroyRtcPeerConnectionTest(){var t;(t=this.rtcPeerConnection)==null||t.close()}testTrackerConnection(){const t=Object.values(kx());if(t.length===0)return this.trackerConnection="SEARCHING",this.trackerConnection;const n=t.map(({readyState:u})=>u);if(n.every(u=>u===WebSocket.CLOSED))throw this.trackerConnection="FAILED",new Error("Could not connect to a WebTorrent tracker");const i=n.some(u=>u===WebSocket.OPEN);return this.trackerConnection=i?"CONNECTED":"SEARCHING",this.trackerConnection}}new Hc;const vn=ue.createContext({isEmbedded:!1,tabHasFocus:!0,showRoomControls:!1,setShowRoomControls:()=>{},setTitle:()=>{},showAlert:()=>{},roomId:void 0,setRoomId:()=>{},password:void 0,setPassword:()=>{},isPeerListOpen:!1,setIsPeerListOpen:()=>{},peerList:[],setPeerList:()=>{},isServerConnectionFailureDialogOpen:!1,setIsServerConnectionFailureDialogOpen:()=>{},peerConnectionTypes:{},setPeerConnectionTypes:()=>{},audioChannelState:{[gn.MICROPHONE]:Gn.STOPPED,[gn.SCREEN_SHARE]:Gn.STOPPED},setAudioChannelState:()=>{},videoState:Br.STOPPED,setVideoState:()=>{},screenState:Dr.NOT_SHARING,setScreenState:()=>{},peerAudioChannels:{},setPeerAudioChannels:()=>{},customUsername:"",setCustomUsername:()=>{},connectionTestResults:{hasHost:!1,hasRelay:!1,trackerConnection:Zi.SEARCHING},updatePeer:()=>{}});var Cx=["Aardvark","Albatross","Alligator","Alpaca","Angelfish","Anglerfish","Ant","Anteater","Antelope","Antlion","Ape","Armadillo","Asp","Baboon","Badger","Bandicoot","Barnacle","Barracuda","Basilisk","Bass","Bat","Bear","Beaver","Bee","Beetle","Bird","Bison","Blackbird","Boar","Bobcat","Bonobo","Bug","Butterfly","Buzzard","Camel","Capybara","Cardinal","Caribou","Cat","Caterpillar","Catfish","Cattle","Chameleon","Cheetah","Chickadee","Chicken","Chimpanzee","Chinchilla","Chipmunk","Clam","Clownfish","Cobra","Condor","Coral","Cougar","Coyote","Crab","Crane","Crawdad","Crayfish","Cricket","Crocodile","Crow","Cuckoo","Deer","Dingo","Dinosaur","Dog","Dolphin","Donkey","Dove","Dragon","Dragonfly","Duck","Eagle","Earthworm","Echidna","Egret","Elephant","Elk","Emu","Ermine","Falcon","Ferret","Finch","Firefly","Fish","Flamingo","Fowl","Fox","Frog","Gazelle","Gecko","Gerbil","Gibbon","Giraffe","Goat","Goldfish","Goose","Gopher","Gorilla","Grasshopper","Grouse","Gull","Guppy","Hamster","Hare","Harrier","Hawk","Hedgehog","Heron","Hippopotamus","Horse","Hummingbird","Hyena","Iguana","Impala","Jackal","Jaguar","Jay","Jellyfish","Kangaroo","Kingfisher","Kiwi","Koala","Koi","Ladybug","Lark","Lemming","Lemur","Leopard","Lion","Llama","Lobster","Loon","Lynx","Macaw","Mackerel","Mammal","Manatee","Mandrill","Marlin","Marmoset","Marmot","Marsupial","Mastodon","Meerkat","Mink","Minnow","Mockingbird","Mole","Mongoose","Monkey","Moose","Mosquito","Mouse","Mule","Muskox","Narwhal","Ocelot","Octopus","Opossum","Orangutan","Orca","Ostrich","Otter","Owl","Ox","Panda","Panther","Parakeet","Parrot","Partridge","Peacock","Pelican","Penguin","Pig","Pigeon","Platypus","Pony","Porcupine","Porpoise","Puffin","Puma","Python","Quail","Quokka","Rabbit","Raccoon","Raven","Reindeer","Rhinoceros","Roadrunner","Rooster","Salamander","Salmon","Seahorse","Shark","Sheep","Shrew","Sloth","Snail","Sparrow","Squid","Squirrel","Starfish","Stingray","Stoat","Stork","Sturgeon","Swan","Swift","Swordfish","Tapir","Tarsier","Tern","Tiger","Tortoise","Toucan","Turkey","Turtle","Tyrannosaurus","Vole","Wallaby","Walrus","Warbler","Whale","Wildcat","Wolf","Wolverine","Wombat","Woodpecker","Wren","Yak","Zebra"],Ax=["Adorable","Adventurous","Agreeable","Alert","Amused","Attractive","Average","Beautiful","Blushing","Brainy","Brave","Bright","Busy","Calm","Careful","Cautious","Charming","Cheerful","Clever","Cloudy","Colorful","Comfortable","Concerned","Cooperative","Courageous","Crazy","Curious","Cute","Delightful","Determined","Distinct","Dizzy","Elated","Elegant","Enchanting","Encouraging","Energetic","Enthusiastic","Excited","Exuberant","Famous","Fancy","Fantastic","Fierce","Fine","Friendly","Funny","Gentle","Gifted","Glamorous","Gleaming","Glorious","Gorgeous","Graceful","Handsome","Happy","Healthy","Helpful","Hilarious","Important","Inquisitive","Jolly","Joyous","Kind","Light","Lively","Lovely","Lucky","Magnificent","Mysterious","Nice","Nutty","Outrageous","Outstanding","Perfect","Pleasant","Poised","Powerful","Precious","Proud","Puzzled","Quaint","Relieved","Shiny","Silly","Sleepy","Smiling","Sparkling","Splendid","Stormy","Strange","Successful","Tame","Thankful","Thoughtful","Tough","Victorious","Vivacious","Wandering","Wide-eyed","Wild","Witty","Zany"],Dh=function(t){return t.split("").reduce(function(n,r,i){return n+r.charCodeAt(0)*i},0)},Rx=function(t,n){var r=n===void 0?{}:n,i=r.adjectives,u=i===void 0?Ax:i,b=r.animalNames,C=b===void 0?Cx:b,R=Dh(t),P=u[R%u.length],O=Dh(P),f=C[(R+O)%C.length];return P+" "+f};const Ei=e=>Rx(e),pl=()=>{const{getUserSettings:e}=ue.useContext(oi),{peerList:t,customUsername:n}=ue.useContext(vn),{userId:r}=e(),i=P=>r===P,u=P=>t.find(O=>O.userId===P),b=P=>{var O;return i(P)?n:((O=u(P))==null?void 0:O.customUsername)??""},C=P=>b(P)||Ei(P);return{getCustomUsername:b,isPeerSelf:i,getFriendlyName:C,getDisplayUsername:P=>{const O=C(P),f=b(P);let K;return f===O?K=`${O} (${Ei(P)})`:K=Ei(P),K}}},fr=({children:e,...t})=>{const{getCustomUsername:n,getFriendlyName:r}=pl(),i=r(e);return n(e)===i?te.jsxs(Ot,{component:"span",...t,children:[i,te.jsxs(Ot,{variant:"caption",...t,children:[" ","(",Ei(e),")"]})]}):te.jsx(Ot,{component:"span",...t,children:Ei(e)})},xm=qe("form")({}),Tx=qe("input")({}),Ix=qe("main")({}),Px=e=>ue.createElement("svg",{width:"100%",zoomAndPan:"magnify",viewBox:"0 0 354.64453 128.97656",height:"unset",preserveAspectRatio:"xMidYMid",id:"svg110",...e},ue.createElement("defs",{id:"defs10"},ue.createElement("clipPath",{id:"3bacd8e954"},ue.createElement("path",{d:"M 11.863281,122.92969 H 113.10938 v 101.0625 H 11.863281 Z m 0,0",clipRule:"nonzero",id:"path4"})),ue.createElement("clipPath",{id:"abfee98d57"},ue.createElement("path",{d:"m 50.867188,216.45703 h 58.414062 v 35.44922 H 50.867188 Z m 0,0",clipRule:"nonzero",id:"path7"}))),ue.createElement("g",{clipPath:"url(#3bacd8e954)",id:"g14",transform:"translate(-11.863281,-122.92969)"},ue.createElement("path",{fill:"#1976d2",d:"M 45.214844,214.47266 C 32.179688,207.12891 23.378906,193.1875 23.378906,177.19531 c 0,-23.6289 19.214844,-42.78906 42.917969,-42.78906 13.101563,0 24.828125,5.85547 32.703125,15.08203 h 14.10938 c -9.49219,-15.90234 -26.902349,-26.55859 -46.812505,-26.55859 -30.0625,0 -54.433594,24.29687 -54.433594,54.26562 0,19.8711 10.710938,37.24219 26.691407,46.69922 l 6.660156,-9.42187",fillOpacity:1,fillRule:"nonzero",id:"path12"})),ue.createElement("g",{clipPath:"url(#abfee98d57)",id:"g18",transform:"translate(-11.863281,-122.92969)"},ue.createElement("path",{fill:"#1976d2",d:"m 79.015625,218.07422 c -0.476563,0.14844 -0.953125,0.28906 -1.4375,0.41797 l -26.652344,10.77734 c 1.820313,0.53125 3.675781,0.97266 5.566407,1.31641 l 52.726562,21.32422 -24.984375,-35.34375 c -1.699219,0.61718 -3.441406,1.12109 -5.21875,1.50781",fillOpacity:1,fillRule:"nonzero",id:"path16"})),ue.createElement("path",{fill:"#d9d9d9",d:"m 58.480469,83.542972 c 15.527344,0 28.113281,-12.54688 28.113281,-28.02344 0,-15.48047 -12.585937,-28.02735 -28.113281,-28.02735 -8.582031,0 -16.261719,3.83204 -21.417969,9.875 h -9.242187 c 6.21875,-10.41406 17.621094,-17.39453 30.660156,-17.39453 19.691406,0 35.65234,15.91407 35.65234,35.54688 0,17.4414 -12.601559,31.95312 -29.226559,34.96875 L 30.371094,104.45312 46.902344,81.062502 c 3.53125,1.59375 7.449219,2.48047 11.578125,2.48047",fillOpacity:1,fillRule:"nonzero",id:"path20"}),ue.createElement("path",{fill:"#1976d2",d:"m 47.800781,54.269532 c 0,2.54297 -2.066406,4.60547 -4.621093,4.60547 -2.550781,0 -4.617188,-2.0625 -4.617188,-4.60547 0,-2.54688 2.066407,-4.60938 4.617188,-4.60938 2.554687,0 4.621093,2.0625 4.621093,4.60938",fillOpacity:1,fillRule:"nonzero",id:"path22"}),ue.createElement("path",{fill:"#1976d2",d:"m 61.714844,54.269532 c 0,2.54297 -2.066406,4.60547 -4.621094,4.60547 -2.550781,0 -4.617187,-2.0625 -4.617187,-4.60547 0,-2.54688 2.066406,-4.60938 4.617187,-4.60938 2.554688,0 4.621094,2.0625 4.621094,4.60938",fillOpacity:1,fillRule:"nonzero",id:"path24"}),ue.createElement("path",{fill:"#1976d2",d:"m 75.628907,54.269532 c 0,2.54297 -2.070313,4.60547 -4.621094,4.60547 -2.550782,0 -4.621094,-2.0625 -4.621094,-4.60547 0,-2.54688 2.070312,-4.60938 4.621094,-4.60938 2.550781,0 4.621094,2.0625 4.621094,4.60938",fillOpacity:1,fillRule:"nonzero",id:"path26"}),ue.createElement("path",{fill:"#1976d2",d:"m 104.62891,40.363282 h 250.01562 v 48.73828 H 104.62891 v -48.73828",fillOpacity:1,fillRule:"nonzero",id:"path28"}),ue.createElement("g",{fill:"#ffffff",fillOpacity:1,id:"g36",transform:"translate(-11.863281,-122.92969)"},ue.createElement("g",{transform:"translate(124.78224,199.77909)",id:"g34"},ue.createElement("g",{id:"g32"},ue.createElement("path",{d:"m 2.4375,0 0.332031,-24.335938 h 4.507813 v 11.015626 h 9.480468 v -11.015626 h 4.542969 L 21.601562,0 h -4.84375 V -7.746094 H 7.277344 V 0 Z m 0,0",id:"path30"})))),ue.createElement("g",{fill:"#ffffff",fillOpacity:1,id:"g44",transform:"translate(-11.863281,-122.92969)"},ue.createElement("g",{transform:"translate(148.85163,199.77909)",id:"g42"},ue.createElement("g",{id:"g40"},ue.createElement("path",{d:"m 2.4375,0 0.5,-24.335938 H 7.144531 L 7.445312,0 Z m 0,0",id:"path38"})))),ue.createElement("g",{fill:"#ffffff",fillOpacity:1,id:"g52",transform:"translate(-11.863281,-122.92969)"},ue.createElement("g",{transform:"translate(158.7331,199.77909)",id:"g50"},ue.createElement("g",{id:"g48"},ue.createElement("path",{d:"m 2.4375,-20.464844 v -3.871094 h 20.796875 v 3.90625 L 15.054688,-20.765625 15.65625,0 h -5.640625 l 0.601563,-20.765625 z m 0,0",id:"path46"})))),ue.createElement("g",{fill:"#ffffff",fillOpacity:1,id:"g60",transform:"translate(-11.863281,-122.92969)"},ue.createElement("g",{transform:"translate(184.40489,199.77909)",id:"g58"},ue.createElement("g",{id:"g56"},ue.createElement("path",{d:"m 22.300781,-18.027344 c -3.707031,-2.539062 -5.742187,-2.90625 -8.277343,-2.90625 -4.910157,0 -7.046876,3.039063 -7.046876,8.78125 0.066407,4.972656 2.503907,6.609375 7.546876,6.609375 2.535156,0 5.039062,-1.199219 7.777343,-3.703125 v 7.175782 c -2.46875,1.667968 -5.074219,2.539062 -7.945312,2.539062 -7.378907,0 -11.917969,-4.875 -11.917969,-12.621094 0,-7.710937 4.039062,-12.285156 11.417969,-12.621094 2.835937,-0.132812 5.007812,0.03516 8.445312,1.703126 z m 0,0",id:"path54"})))),ue.createElement("g",{fill:"#ffffff",fillOpacity:1,id:"g68",transform:"translate(-11.863281,-122.92969)"},ue.createElement("g",{transform:"translate(209.14196,199.77909)",id:"g66"},ue.createElement("g",{id:"g64"},ue.createElement("path",{d:"m 2.4375,0 0.332031,-24.335938 h 4.507813 v 11.015626 h 9.480468 v -11.015626 h 4.542969 L 21.601562,0 h -4.84375 V -7.746094 H 7.277344 V 0 Z m 0,0",id:"path62"})))),ue.createElement("g",{fill:"#ffffff",fillOpacity:1,id:"g76",transform:"translate(-11.863281,-122.92969)"},ue.createElement("g",{transform:"translate(233.21136,199.77909)",id:"g74"},ue.createElement("g",{id:"g72"},ue.createElement("path",{d:"m 17.359375,-8.679688 -3.4375,-10.183593 c -0.265625,0.867187 -0.566406,1.703125 -0.835937,2.539062 -0.265626,0.832031 -0.535157,1.667969 -0.800782,2.46875 -0.300781,0.835938 -0.566406,1.671875 -0.867187,2.539063 -0.265625,0.867187 -0.566407,1.734375 -0.867188,2.636718 z M 2.4375,0 12.050781,-24.335938 h 3.773438 L 25.4375,0 H 19.53125 L 18.664062,-3.773438 H 9.179688 L 8.011719,0 Z m 0,0",id:"path70"})))),ue.createElement("g",{fill:"#ffffff",fillOpacity:1,id:"g84",transform:"translate(-11.863281,-122.92969)"},ue.createElement("g",{transform:"translate(261.08647,199.77909)",id:"g82"},ue.createElement("g",{id:"g80"},ue.createElement("path",{d:"m 2.4375,-20.464844 v -3.871094 h 20.796875 v 3.90625 L 15.054688,-20.765625 15.65625,0 h -5.640625 l 0.601563,-20.765625 z m 0,0",id:"path78"})))),ue.createElement("g",{fill:"#ffffff",fillOpacity:1,id:"g92",transform:"translate(-11.863281,-122.92969)"},ue.createElement("g",{transform:"translate(286.75826,199.77909)",id:"g90"},ue.createElement("g",{id:"g88"},ue.createElement("path",{d:"m 2.4375,-20.464844 v -3.871094 h 20.796875 v 3.90625 L 15.054688,-20.765625 15.65625,0 h -5.640625 l 0.601563,-20.765625 z m 0,0",id:"path86"})))),ue.createElement("g",{fill:"#ffffff",fillOpacity:1,id:"g100",transform:"translate(-11.863281,-122.92969)"},ue.createElement("g",{transform:"translate(312.43006,199.77909)",id:"g98"},ue.createElement("g",{id:"g96"},ue.createElement("path",{d:"m 2.4375,0 v -24.335938 h 15.855469 v 3.871094 H 6.808594 v 5.609375 h 10.984375 v 3.839844 H 6.808594 v 4.972656 H 18.5625 V 0 Z m 0,0",id:"path94"})))),ue.createElement("g",{fill:"#ffffff",fillOpacity:1,id:"g108",transform:"translate(-11.863281,-122.92969)"},ue.createElement("g",{transform:"translate(333.42821,199.77909)",id:"g106"},ue.createElement("g",{id:"g104"},ue.createElement("path",{d:"m 18.128906,-17.058594 c 0,2.636719 -1.003906,4.574219 -2.773437,5.640625 1.101562,0.835938 2.070312,2.269531 3.074219,4.207031 0.53125,1.035157 1.167968,2.335938 1.835937,3.640626 0.632813,1.265624 1.300781,2.535156 1.800781,3.570312 h -5.875 l -2.46875,-6.308594 v 0.03125 C 12.320312,-9.179688 11.316406,-9.75 9.113281,-9.75 H 7.410156 V 0 H 2.4375 v -24.335938 h 7.679688 c 2.535156,0 4.503906,0.597657 5.875,1.800782 1.402343,1.203125 2.136718,3.039062 2.136718,5.476562 z m -11.019531,-4.40625 v 7.277344 h 3.339844 c 2.101562,0 4.238281,-1.4375 4.238281,-2.871094 0,-3.472656 -2.167969,-4.40625 -4.238281,-4.40625 z m 0,0",id:"path102"}))))),Ws={'code[class*="language-"]':{textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",color:"#eee",background:"#2f2f2f",fontFamily:"Roboto Mono, monospace",fontSize:"1em",lineHeight:"1.5em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",color:"#eee",background:"#2f2f2f",fontFamily:"Roboto Mono, monospace",fontSize:"1em",lineHeight:"1.5em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",overflow:"auto",position:"relative",margin:"0.5em 0",padding:"1.25em 1em"},'code[class*="language-"]::-moz-selection':{background:"#363636"},'pre[class*="language-"]::-moz-selection':{background:"#363636"},'code[class*="language-"] ::-moz-selection':{background:"#363636"},'pre[class*="language-"] ::-moz-selection':{background:"#363636"},'code[class*="language-"]::selection':{background:"#363636"},'pre[class*="language-"]::selection':{background:"#363636"},'code[class*="language-"] ::selection':{background:"#363636"},'pre[class*="language-"] ::selection':{background:"#363636"},':not(pre) > code[class*="language-"]':{whiteSpace:"normal",borderRadius:"0.2em",padding:"0.1em"},".language-css > code":{color:"#fd9170"},".language-sass > code":{color:"#fd9170"},".language-scss > code":{color:"#fd9170"},'[class*="language-"] .namespace':{Opacity:"0.7"},atrule:{color:"#c792ea"},"attr-name":{color:"#ffcb6b"},"attr-value":{color:"#a5e844"},attribute:{color:"#a5e844"},boolean:{color:"#c792ea"},builtin:{color:"#ffcb6b"},cdata:{color:"#80cbc4"},char:{color:"#80cbc4"},class:{color:"#ffcb6b"},"class-name":{color:"#f2ff00"},comment:{color:"#616161"},constant:{color:"#c792ea"},deleted:{color:"#ff6666"},doctype:{color:"#616161"},entity:{color:"#ff6666"},function:{color:"#c792ea"},hexcode:{color:"#f2ff00"},id:{color:"#c792ea",fontWeight:"bold"},important:{color:"#c792ea",fontWeight:"bold"},inserted:{color:"#80cbc4"},keyword:{color:"#c792ea"},number:{color:"#fd9170"},operator:{color:"#89ddff"},prolog:{color:"#616161"},property:{color:"#80cbc4"},"pseudo-class":{color:"#a5e844"},"pseudo-element":{color:"#a5e844"},punctuation:{color:"#89ddff"},regex:{color:"#f2ff00"},selector:{color:"#ff6666"},string:{color:"#a5e844"},symbol:{color:"#c792ea"},tag:{color:"#ff6666"},unit:{color:"#fd9170"},url:{color:"#ff6666"},variable:{color:"#ff6666"}};function Ox(e){return It("MuiDialogActions",e)}Rt("MuiDialogActions",["root","spacing"]);const Lx=["className","disableSpacing"],Bx=e=>{const{classes:t,disableSpacing:n}=e;return Tt({root:["root",!n&&"spacing"]},Ox,t)},Dx=qe("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]}})(({ownerState:e})=>we({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!e.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})),Mx=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiDialogActions"}),{className:i,disableSpacing:u=!1}=r,b=st(r,Lx),C=we({},r,{disableSpacing:u}),R=Bx(C);return te.jsx(Dx,we({className:at(R.root,i),ownerState:C,ref:n},b))}),ai=Mx;var ad={};Object.defineProperty(ad,"__esModule",{value:!0});var Sm=ad.default=void 0,Nx=Fx(ue),jx=Eb;function Em(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(Em=function(r){return r?n:t})(e)}function Fx(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=Em(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(u!=="default"&&Object.prototype.hasOwnProperty.call(e,u)){var b=i?Object.getOwnPropertyDescriptor(e,u):null;b&&(b.get||b.set)?Object.defineProperty(r,u,b):r[u]=e[u]}return r.default=e,n&&n.set(e,r),r}function Ux(e){return Object.keys(e).length===0}function $x(e=null){const t=Nx.useContext(jx.ThemeContext);return!t||Ux(t)?e:t}Sm=ad.default=$x;const zx=["anchorEl","component","components","componentsProps","container","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","transition","slots","slotProps"],Hx=qe(I3,{name:"MuiPopper",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Wx=ue.forwardRef(function(t,n){var r;const i=Sm(),u=Bt({props:t,name:"MuiPopper"}),{anchorEl:b,component:C,components:R,componentsProps:P,container:O,disablePortal:f,keepMounted:K,modifiers:z,open:G,placement:W,popperOptions:ae,popperRef:oe,transition:S,slots:j,slotProps:I}=u,p=st(u,zx),w=(r=j==null?void 0:j.root)!=null?r:R==null?void 0:R.Root,y=we({anchorEl:b,container:O,disablePortal:f,keepMounted:K,modifiers:z,open:G,placement:W,popperOptions:ae,popperRef:oe,transition:S},p);return te.jsx(Hx,we({as:C,direction:i==null?void 0:i.direction,slots:{root:w},slotProps:I??P},y,{ref:n}))}),km=Wx;function Vx(e){return It("MuiTooltip",e)}const Gx=Rt("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),bi=Gx,qx=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","slotProps","slots","title","TransitionComponent","TransitionProps"];function Kx(e){return Math.round(e*1e5)/1e5}const Yx=e=>{const{classes:t,disableInteractive:n,arrow:r,touch:i,placement:u}=e,b={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",i&&"touch",`tooltipPlacement${nt(u.split("-")[0])}`],arrow:["arrow"]};return Tt(b,Vx,t)},Xx=qe(km,{name:"MuiTooltip",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})(({theme:e,ownerState:t,open:n})=>we({zIndex:(e.vars||e).zIndex.tooltip,pointerEvents:"none"},!t.disableInteractive&&{pointerEvents:"auto"},!n&&{pointerEvents:"none"},t.arrow&&{[`&[data-popper-placement*="bottom"] .${bi.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${bi.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${bi.arrow}`]:we({},t.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}}),[`&[data-popper-placement*="left"] .${bi.arrow}`]:we({},t.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})})),Zx=qe("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t[`tooltipPlacement${nt(n.placement.split("-")[0])}`]]}})(({theme:e,ownerState:t})=>we({backgroundColor:e.vars?e.vars.palette.Tooltip.bg:yn(e.palette.grey[700],.92),borderRadius:(e.vars||e).shape.borderRadius,color:(e.vars||e).palette.common.white,fontFamily:e.typography.fontFamily,padding:"4px 8px",fontSize:e.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:e.typography.fontWeightMedium},t.arrow&&{position:"relative",margin:0},t.touch&&{padding:"8px 16px",fontSize:e.typography.pxToRem(14),lineHeight:`${Kx(16/14)}em`,fontWeight:e.typography.fontWeightRegular},{[`.${bi.popper}[data-popper-placement*="left"] &`]:we({transformOrigin:"right center"},t.isRtl?we({marginLeft:"14px"},t.touch&&{marginLeft:"24px"}):we({marginRight:"14px"},t.touch&&{marginRight:"24px"})),[`.${bi.popper}[data-popper-placement*="right"] &`]:we({transformOrigin:"left center"},t.isRtl?we({marginRight:"14px"},t.touch&&{marginRight:"24px"}):we({marginLeft:"14px"},t.touch&&{marginLeft:"24px"})),[`.${bi.popper}[data-popper-placement*="top"] &`]:we({transformOrigin:"center bottom",marginBottom:"14px"},t.touch&&{marginBottom:"24px"}),[`.${bi.popper}[data-popper-placement*="bottom"] &`]:we({transformOrigin:"center top",marginTop:"14px"},t.touch&&{marginTop:"24px"})})),Jx=qe("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(e,t)=>t.arrow})(({theme:e})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:e.vars?e.vars.palette.Tooltip.bg:yn(e.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}));let rs=!1;const Mh=new kb;let Xo={x:0,y:0};function is(e,t){return(n,...r)=>{t&&t(n,...r),e(n,...r)}}const Qx=ue.forwardRef(function(t,n){var r,i,u,b,C,R,P,O,f,K,z,G,W,ae,oe,S,j,I,p;const w=Bt({props:t,name:"MuiTooltip"}),{arrow:y=!1,children:_,components:a={},componentsProps:h={},describeChild:l=!1,disableFocusListener:s=!1,disableHoverListener:d=!1,disableInteractive:c=!1,disableTouchListener:o=!1,enterDelay:g=100,enterNextDelay:m=0,enterTouchDelay:v=700,followCursor:E=!1,id:k,leaveDelay:M=0,leaveTouchDelay:F=1500,onClose:x,onOpen:L,open:V,placement:U="bottom",PopperComponent:ee,PopperProps:Y={},slotProps:de={},slots:fe={},title:$,TransitionComponent:T=zs,TransitionProps:B}=w,A=st(w,qx),N=ue.isValidElement(_)?_:te.jsx("span",{children:_}),Z=Dn(),Q=rl(),[ne,q]=ue.useState(),[ce,ge]=ue.useState(null),_e=ue.useRef(!1),Re=c||E,xe=mi(),Pe=mi(),Oe=mi(),Ce=mi(),[Se,ye]=_a({controlled:V,default:!1,name:"Tooltip",state:"open"});let le=Se;const J=Nu(k),ie=ue.useRef(),se=dr(()=>{ie.current!==void 0&&(document.body.style.WebkitUserSelect=ie.current,ie.current=void 0),Ce.clear()});ue.useEffect(()=>se,[se]);const X=ut=>{Mh.clear(),rs=!0,ye(!0),L&&!le&&L(ut)},D=dr(ut=>{Mh.start(800+M,()=>{rs=!1}),ye(!1),x&&le&&x(ut),xe.start(Z.transitions.duration.shortest,()=>{_e.current=!1})}),H=ut=>{_e.current&&ut.type!=="touchstart"||(ne&&ne.removeAttribute("title"),Pe.clear(),Oe.clear(),g||rs&&m?Pe.start(rs?m:g,()=>{X(ut)}):X(ut))},he=ut=>{Pe.clear(),Oe.start(M,()=>{D(ut)})},{isFocusVisibleRef:be,onBlur:ke,onFocus:Ie,ref:je}=Lu(),[,ze]=ue.useState(!1),Fe=ut=>{ke(ut),be.current===!1&&(ze(!1),he(ut))},$e=ut=>{ne||q(ut.currentTarget),Ie(ut),be.current===!0&&(ze(!0),H(ut))},We=ut=>{_e.current=!0;const Nt=N.props;Nt.onTouchStart&&Nt.onTouchStart(ut)},tt=ut=>{We(ut),Oe.clear(),xe.clear(),se(),ie.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",Ce.start(v,()=>{document.body.style.WebkitUserSelect=ie.current,H(ut)})},Ze=ut=>{N.props.onTouchEnd&&N.props.onTouchEnd(ut),se(),Oe.start(F,()=>{D(ut)})};ue.useEffect(()=>{if(!le)return;function ut(Nt){(Nt.key==="Escape"||Nt.key==="Esc")&&D(Nt)}return document.addEventListener("keydown",ut),()=>{document.removeEventListener("keydown",ut)}},[D,le]);const dt=Sn(N.ref,je,q,n);!$&&$!==0&&(le=!1);const gt=ue.useRef(),rt=ut=>{const Nt=N.props;Nt.onMouseMove&&Nt.onMouseMove(ut),Xo={x:ut.clientX,y:ut.clientY},gt.current&>.current.update()},Pt={},Dt=typeof $=="string";l?(Pt.title=!le&&Dt&&!d?$:null,Pt["aria-describedby"]=le?J:null):(Pt["aria-label"]=Dt?$:null,Pt["aria-labelledby"]=le&&!Dt?J:null);const ct=we({},Pt,A,N.props,{className:at(A.className,N.props.className),onTouchStart:We,ref:dt},E?{onMouseMove:rt}:{}),Mt={};o||(ct.onTouchStart=tt,ct.onTouchEnd=Ze),d||(ct.onMouseOver=is(H,ct.onMouseOver),ct.onMouseLeave=is(he,ct.onMouseLeave),Re||(Mt.onMouseOver=H,Mt.onMouseLeave=he)),s||(ct.onFocus=is($e,ct.onFocus),ct.onBlur=is(Fe,ct.onBlur),Re||(Mt.onFocus=$e,Mt.onBlur=Fe));const Wt=ue.useMemo(()=>{var ut;let Nt=[{name:"arrow",enabled:!!ce,options:{element:ce,padding:4}}];return(ut=Y.popperOptions)!=null&&ut.modifiers&&(Nt=Nt.concat(Y.popperOptions.modifiers)),we({},Y.popperOptions,{modifiers:Nt})},[ce,Y]),ht=we({},w,{isRtl:Q,arrow:y,disableInteractive:Re,placement:U,PopperComponentProp:ee,touch:_e.current}),Zt=Yx(ht),Kt=(r=(i=fe.popper)!=null?i:a.Popper)!=null?r:Xx,vt=(u=(b=(C=fe.transition)!=null?C:a.Transition)!=null?b:T)!=null?u:zs,Jt=(R=(P=fe.tooltip)!=null?P:a.Tooltip)!=null?R:Zx,mt=(O=(f=fe.arrow)!=null?f:a.Arrow)!=null?O:Jx,it=ia(Kt,we({},Y,(K=de.popper)!=null?K:h.popper,{className:at(Zt.popper,Y==null?void 0:Y.className,(z=(G=de.popper)!=null?G:h.popper)==null?void 0:z.className)}),ht),Vt=ia(vt,we({},B,(W=de.transition)!=null?W:h.transition),ht),Lt=ia(Jt,we({},(ae=de.tooltip)!=null?ae:h.tooltip,{className:at(Zt.tooltip,(oe=(S=de.tooltip)!=null?S:h.tooltip)==null?void 0:oe.className)}),ht),lt=ia(mt,we({},(j=de.arrow)!=null?j:h.arrow,{className:at(Zt.arrow,(I=(p=de.arrow)!=null?p:h.arrow)==null?void 0:I.className)}),ht);return te.jsxs(ue.Fragment,{children:[ue.cloneElement(N,ct),te.jsx(Kt,we({as:ee??km,placement:U,anchorEl:E?{getBoundingClientRect:()=>({top:Xo.y,left:Xo.x,right:Xo.x,bottom:Xo.y,width:0,height:0})}:ne,popperRef:gt,open:ne?le:!1,id:J,transition:!0},Mt,it,{popperOptions:Wt,children:({TransitionProps:ut})=>te.jsx(vt,we({timeout:Z.transitions.duration.shorter},ut,Vt,{children:te.jsxs(Jt,we({},Lt,{children:[$,y?te.jsx(mt,we({},lt,{ref:ge})):null]}))}))}))]})}),un=Qx;function e5(e){return It("MuiFab",e)}const t5=Rt("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),Nh=t5,n5=["children","className","color","component","disabled","disableFocusRipple","focusVisibleClassName","size","variant"],r5=e=>{const{color:t,variant:n,classes:r,size:i}=e,u={root:["root",n,`size${nt(i)}`,t==="inherit"?"colorInherit":t]},b=Tt(u,e5,r);return we({},r,b)},i5=qe(Qi,{name:"MuiFab",slot:"Root",shouldForwardProp:e=>Un(e)||e==="classes",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${nt(n.size)}`],n.color==="inherit"&&t.colorInherit,t[nt(n.size)],t[n.color]]}})(({theme:e,ownerState:t})=>{var n,r;return we({},e.typography.button,{minHeight:36,transition:e.transitions.create(["background-color","box-shadow","border-color"],{duration:e.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(e.vars||e).zIndex.fab,boxShadow:(e.vars||e).shadows[6],"&:active":{boxShadow:(e.vars||e).shadows[12]},color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:(e.vars||e).palette.grey[300],"&:hover":{backgroundColor:(e.vars||e).palette.grey.A100,"@media (hover: none)":{backgroundColor:(e.vars||e).palette.grey[300]},textDecoration:"none"},[`&.${Nh.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]}},t.size==="small"&&{width:40,height:40},t.size==="medium"&&{width:48,height:48},t.variant==="extended"&&{borderRadius:48/2,padding:"0 16px",width:"auto",minHeight:"auto",minWidth:48,height:48},t.variant==="extended"&&t.size==="small"&&{width:"auto",padding:"0 8px",borderRadius:34/2,minWidth:34,height:34},t.variant==="extended"&&t.size==="medium"&&{width:"auto",padding:"0 16px",borderRadius:40/2,minWidth:40,height:40},t.color==="inherit"&&{color:"inherit"})},({theme:e,ownerState:t})=>we({},t.color!=="inherit"&&t.color!=="default"&&(e.vars||e).palette[t.color]!=null&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main,"&:hover":{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}}),({theme:e})=>({[`&.${Nh.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}})),o5=ue.forwardRef(function(t,n){const r=Bt({props:t,name:"MuiFab"}),{children:i,className:u,color:b="default",component:C="button",disabled:R=!1,disableFocusRipple:P=!1,focusVisibleClassName:O,size:f="large",variant:K="circular"}=r,z=st(r,n5),G=we({},r,{color:b,component:C,disabled:R,disableFocusRipple:P,size:f,variant:K}),W=r5(G);return te.jsx(i5,we({className:at(W.root,u),component:C,disabled:R,focusRipple:!P,focusVisibleClassName:at(W.focusVisible,O),ownerState:G,ref:n},z,{classes:W,children:i}))}),Ua=o5;var sd={},a5=Ut;Object.defineProperty(sd,"__esModule",{value:!0});var Cm=sd.default=void 0,s5=a5(Ft()),l5=te;Cm=sd.default=(0,s5.default)((0,l5.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy");const Vs=({children:e})=>{const{showAlert:t}=ue.useContext(vn),n=ue.useRef(null),r=async()=>{const i=n==null?void 0:n.current;i&&(await navigator.clipboard.writeText(i.innerText),t("Copied to clipboard",{severity:"success"}))};return te.jsxs(At,{ref:n,sx:{position:"relative","&:hover button":{opacity:.75}},children:[e,te.jsx(un,{title:"Copy to clipboard",children:te.jsx(Ua,{color:"default",size:"small",onClick:r,sx:i=>({position:"absolute",top:"1em",right:"1em",opacity:0,transition:i.transitions.create(["opacity","transform"])}),children:te.jsx(Cm,{})})})]})},c5=["camera","microphone","display-capture","fullscreen"];var ki=(e=>(e.GET_SDK_CONFIG="getSdkConfig",e.IS_EMBEDDED="embed",e.PARENT_DOMAIN="parentDomain",e))(ki||{}),Am=(e=>(e.CONFIG="config",e.CONFIG_REQUESTED="configRequested",e))(Am||{}),Wc=(e=>(e.COLOR_MODE="color-mode",e.PLAY_MESSAGE_SOUND="play-message-sound",e.ROOM_NAME="room",e.ROOT_URL="root-url",e.USER_ID="user-id",e.USER_NAME="user-name",e))(Wc||{});const u5=e=>{const{data:t}=e;return!(typeof t!="object"||t===null||!("name"in t&&typeof t.name=="string")||!("payload"in t&&typeof t.payload=="object"))},Rm=e=>{const n=new URLSearchParams(window.location.search).get(ki.PARENT_DOMAIN);if(n===null)return!1;const{origin:r}=new URL(decodeURIComponent(n));return!(e.origin!==r||!u5(e)||e.data.name!=="config")},d5=({showEmbedCode:e,handleEmbedCodeWindowClose:t,roomName:n})=>{const r=new URL(`${window.location.origin}/public/${n}`);r.search=new URLSearchParams({embed:"1"}).toString();const i=window.location.origin!==Mg.origin,u={width:"800",height:"800",[Wc.ROOM_NAME]:n,...i&&{[Wc.ROOT_URL]:`${window.location.origin}/`}},b=Object.entries(u).map(([R,P])=>`${R}="${P}"`).join(" "),C=`\n\n`\n\n return (\n \n )\n}\n","import React, { useEffect, useContext, useState } from 'react'\nimport { Link, useNavigate } from 'react-router-dom'\nimport Button from '@mui/material/Button'\nimport Box from '@mui/material/Box'\nimport FormControl from '@mui/material/FormControl'\nimport Typography from '@mui/material/Typography'\nimport TextField from '@mui/material/TextField'\nimport Divider from '@mui/material/Divider'\nimport IconButton from '@mui/material/IconButton'\nimport MuiLink from '@mui/material/Link'\nimport GitHubIcon from '@mui/icons-material/GitHub'\nimport Cached from '@mui/icons-material/Cached'\nimport useTheme from '@mui/material/styles/useTheme'\nimport styled from '@mui/material/styles/styled'\n\nimport { v4 as uuid } from 'uuid'\n\nimport { routes } from 'config/routes'\nimport { ShellContext } from 'contexts/ShellContext'\nimport { PeerNameDisplay } from 'components/PeerNameDisplay'\nimport { Form, Main } from 'components/Elements'\nimport Logo from 'img/logo.svg?react'\n\nimport { EmbedCodeDialog } from './EmbedCodeDialog'\n\nconst StyledLogo = styled(Logo)({})\n\ninterface HomeProps {\n userId: string\n}\n\nexport function Home({ userId }: HomeProps) {\n const { setTitle } = useContext(ShellContext)\n const theme = useTheme()\n const [roomName, setRoomName] = useState(uuid())\n const [showEmbedCode, setShowEmbedCode] = useState(false)\n const navigate = useNavigate()\n\n useEffect(() => {\n setTitle('Chitchatter')\n }, [setTitle])\n\n const handleRoomNameChange = (event: React.ChangeEvent) => {\n const { value } = event.target\n setRoomName(value)\n }\n\n const handleFormSubmit = (event: React.SyntheticEvent) => {\n event.preventDefault()\n }\n\n const handleJoinPublicRoomClick = () => {\n navigate(`/public/${roomName}`)\n }\n\n const handleJoinPrivateRoomClick = () => {\n navigate(`/private/${roomName}`)\n }\n\n const handleGetEmbedCodeClick = () => {\n setShowEmbedCode(true)\n }\n\n const handleEmbedCodeWindowClose = () => {\n setShowEmbedCode(false)\n }\n\n const isRoomNameValid = roomName.length > 0\n\n return (\n \n \n \n \n \n \n \n \n \n \n This is a free communication tool that is designed for simplicity,\n privacy, and security. All interaction between you and your online\n peers is encrypted. There is no record of your conversation once you\n all leave.\n \n \n \n ({\n color: theme.palette.text.primary,\n })}\n >\n \n \n \n \n \n \n Licensed under{' '}\n \n GPL v2\n \n . Please{' '}\n \n read the docs\n \n .\n \n \n \n )\n}\n","import*as e from\"react\";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var n=1;n(e[n.toLowerCase()]=n,e),{for:\"htmlFor\"}),o={amp:\"&\",apos:\"'\",gt:\">\",lt:\"<\",nbsp:\" \",quot:\"“\"},c=[\"style\",\"script\"],a=/([-A-Z0-9_:]+)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|(?:\\{((?:\\\\.|{[^}]*?}|[^}])*)\\})))?/gi,s=/mailto:/i,d=/\\n{2,}$/,u=/^( *>[^\\n]+(\\n[^\\n]+)*\\n*)+\\n{2,}/,p=/^ *> ?/gm,f=/^ {2,}\\n/,h=/^(?:( *[-*_])){3,} *(?:\\n *)+\\n/,m=/^\\s*(`{3,}|~{3,}) *(\\S+)?([^\\n]*?)?\\n([\\s\\S]+?)\\s*\\1 *(?:\\n *)*\\n?/,g=/^(?: {4}[^\\n]+\\n*)+(?:\\n *)+\\n?/,y=/^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/,k=/^(?:\\n *)*\\n/,x=/\\r\\n?/g,v=/^\\[\\^([^\\]]+)](:.*)\\n/,b=/^\\[\\^([^\\]]+)]/,$=/\\f/g,S=/^---[ \\t]*\\n(.|\\n)*\\n---[ \\t]*\\n/,w=/^\\s*?\\[(x|\\s)\\]/,C=/^ *(#{1,6}) *([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/,E=/^ *(#{1,6}) +([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/,A=/^([^\\n]+)\\n *(=|-){3,} *(?:\\n *)+\\n/,O=/^ *(?!<[a-z][^ >/]* ?\\/>)<([a-z][^ >/]*) ?([^>]*)\\/{0}>\\n?(\\s*(?:<\\1[^>]*?>[\\s\\S]*?<\\/\\1>|(?!<\\1)[\\s\\S])*?)<\\/\\1>\\n*/i,T=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,L=/^)/,z=/^(data|aria|x)-[a-z_][a-z\\d_.-]*$/,M=/^ *<([a-z][a-z0-9:]*)(?:\\s+((?:<.*?>|[^>])*))?\\/?>(?!<\\/\\1>)(\\s*\\n)?/i,I=/^\\{.*\\}$/,R=/^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/,U=/^<([^ >]+@[^ >]+)>/,j=/^<([^ >]+:\\/[^ >]+)>/,B=/-([a-z])?/gi,N=/^(.*\\|?.*)\\n *(\\|? *[-:]+ *\\|[-| :]*)\\n((?:.*\\|.*\\n)*)\\n?/,H=/^\\[([^\\]]*)\\]:\\s+([^\\s>]+)>?\\s*(\"([^\"]*)\")?/,D=/^!\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/,P=/^\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/,_=/(\\[|\\])/g,F=/(\\n|^[-*]\\s|^#|^ {2,}|^-{2,}|^>\\s)/,W=/\\t/g,G=/^ *\\| */,Z=/(^ *\\||\\| *$)/g,q=/ *$/,V=/^ *:-+: *$/,X=/^ *:-+ *$/,Q=/^ *-+: *$/,J=/^([*_])\\1((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1\\1(?!\\1)/,K=/^([*_])((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1(?!\\1|\\w)/,Y=/^==((?:\\[.*?\\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)==/,ee=/^~~((?:\\[.*?\\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/,ne=/^\\\\([^0-9A-Za-z\\s])/,te=/^[\\s\\S]+?(?=[^0-9A-Z\\s\\u00c0-\\uffff.()'\"]|\\d+\\.|\\n\\n| {2,}\\n|\\w+:\\S|$)/i,re=/^\\n+/,ie=/^([ \\t]*)/,le=/\\\\([^\\\\])/g,oe=/ *\\n+$/,ce=/(?:^|\\n)( *)$/,ae=\"(?:\\\\d+\\\\.)\",se=\"(?:[*+-])\";function de(e){return\"( *)(\"+(1===e?ae:se)+\") +\"}const ue=de(1),pe=de(2);function fe(e){return new RegExp(\"^\"+(1===e?ue:pe))}const he=fe(1),me=fe(2);function ge(e){return new RegExp(\"^\"+(1===e?ue:pe)+\"[^\\\\n]*(?:\\\\n(?!\\\\1\"+(1===e?ae:se)+\" )[^\\\\n]*)*(\\\\n|$)\",\"gm\")}const ye=ge(1),ke=ge(2);function xe(e){const n=1===e?ae:se;return new RegExp(\"^( *)(\"+n+\") [\\\\s\\\\S]+?(?:\\\\n{2,}(?! )(?!\\\\1\"+n+\" (?!\"+n+\" ))\\\\n*|\\\\s*\\\\n*$)\")}const ve=xe(1),be=xe(2);function $e(e,n){const t=1===n,r=t?ve:be,i=t?ye:ke,l=t?he:me;return{match(e,n,t){const i=ce.exec(t);return i&&(n.list||!n.inline&&!n.simple)?r.exec(e=i[1]+e):null},order:1,parse(e,n,r){const o=t?+e[2]:void 0,c=e[0].replace(d,\"\\n\").match(i);let a=!1;return{items:c.map(function(e,t){const i=l.exec(e)[0].length,o=new RegExp(\"^ {1,\"+i+\"}\",\"gm\"),s=e.replace(o,\"\").replace(l,\"\"),d=t===c.length-1,u=-1!==s.indexOf(\"\\n\\n\")||d&&a;a=u;const p=r.inline,f=r.list;let h;r.list=!0,u?(r.inline=!1,h=s.replace(oe,\"\\n\\n\")):(r.inline=!0,h=s.replace(oe,\"\"));const m=n(h,r);return r.inline=p,r.list=f,m}),ordered:t,start:o}},render:(n,t,r)=>e(n.ordered?\"ol\":\"ul\",{key:r.key,start:\"20\"===n.type?n.start:void 0},n.items.map(function(n,i){return e(\"li\",{key:i},t(n,r))}))}}const Se=/^\\[([^\\]]*)]\\( *((?:\\([^)]*\\)|[^() ])*) *\"?([^)\"]*)?\"?\\)/,we=/^!\\[([^\\]]*)]\\( *((?:\\([^)]*\\)|[^() ])*) *\"?([^)\"]*)?\"?\\)/,Ce=[u,m,g,C,A,E,L,N,ye,ve,ke,be],Ee=[...Ce,/^[^\\n]+(?: \\n|\\n{2,})/,O,M];function Ae(e){return e.replace(/[ÀÁÂÃÄÅàáâãäåæÆ]/g,\"a\").replace(/[çÇ]/g,\"c\").replace(/[ðÐ]/g,\"d\").replace(/[ÈÉÊËéèêë]/g,\"e\").replace(/[ÏïÎîÍíÌì]/g,\"i\").replace(/[Ññ]/g,\"n\").replace(/[øØœŒÕõÔôÓóÒò]/g,\"o\").replace(/[ÜüÛûÚúÙù]/g,\"u\").replace(/[ŸÿÝý]/g,\"y\").replace(/[^a-z0-9- ]/gi,\"\").replace(/ /gi,\"-\").toLowerCase()}function Oe(e){return Q.test(e)?\"right\":V.test(e)?\"center\":X.test(e)?\"left\":null}function Te(e,n,t){const r=t.inTable;t.inTable=!0;const i=n(e.trim(),t);t.inTable=r;let l=[[]];return i.forEach(function(e,n){\"26\"===e.type?0!==n&&n!==i.length-1&&l.push([]):(\"27\"!==e.type||null!=i[n+1]&&\"26\"!==i[n+1].type||(e.text=e.text.replace(q,\"\")),l[l.length-1].push(e))}),l}function Le(e,n,t){t.inline=!0;const r=Te(e[1],n,t),i=e[2].replace(Z,\"\").split(\"|\").map(Oe),l=function(e,n,t){return e.trim().split(\"\\n\").map(function(e){return Te(e,n,t)})}(e[3],n,t);return t.inline=!1,{align:i,cells:l,header:r,type:\"25\"}}function ze(e,n){return null==e.align[n]?{}:{textAlign:e.align[n]}}function Me(e){return function(n,t){return t.inline?e.exec(n):null}}function Ie(e){return function(n,t){return t.inline||t.simple?e.exec(n):null}}function Re(e){return function(n,t){return t.inline||t.simple?null:e.exec(n)}}function Ue(e){return function(n){return e.exec(n)}}function je(e,n,t){if(n.inline||n.simple)return null;if(t&&!t.endsWith(\"\\n\"))return null;let r=\"\";e.split(\"\\n\").every(e=>!Ce.some(n=>n.test(e))&&(r+=e+\"\\n\",e.trim()));const i=r.trimEnd();return\"\"==i?null:[r,i]}function Be(e){try{if(decodeURIComponent(e).replace(/[^A-Za-z0-9/:]/g,\"\").match(/^\\s*(javascript|vbscript|data(?!:image)):/i))return}catch(e){return null}return e}function Ne(e){return e.replace(le,\"$1\")}function He(e,n,t){const r=t.inline||!1,i=t.simple||!1;t.inline=!0,t.simple=!0;const l=e(n,t);return t.inline=r,t.simple=i,l}function De(e,n,t){const r=t.inline||!1,i=t.simple||!1;t.inline=!1,t.simple=!0;const l=e(n,t);return t.inline=r,t.simple=i,l}function Pe(e,n,t){return t.inline=!1,e(n,t)}const _e=(e,n,t)=>({children:He(n,e[1],t)});function Fe(){return{}}function We(){return null}function Ge(...e){return e.filter(Boolean).join(\" \")}function Ze(e,n,t){let r=e;const i=n.split(\".\");for(;i.length&&(r=r[i[0]],void 0!==r);)i.shift();return r||t}function qe(t,r={}){r.overrides=r.overrides||{},r.slugify=r.slugify||Ae,r.namedCodesToUnicode=r.namedCodesToUnicode?n({},o,r.namedCodesToUnicode):o;const i=r.createElement||e.createElement;function d(e,t,...l){const o=Ze(r.overrides,`${e}.props`,{});return i(function(e,n){const t=Ze(n,e);return t?\"function\"==typeof t||\"object\"==typeof t&&\"render\"in t?t:Ze(n,`${e}.component`,e):e}(e,r.overrides),n({},t,o,{className:Ge(null==t?void 0:t.className,o.className)||void 0}),...l)}function Z(n){n=n.replace(S,\"\");let t=!1;r.forceInline?t=!0:r.forceBlock||(t=!1===F.test(n));const i=oe(le(t?n:`${n.trimEnd().replace(re,\"\")}\\n\\n`,{inline:t}));for(;\"string\"==typeof i[i.length-1]&&!i[i.length-1].trim();)i.pop();if(null===r.wrapper)return i;const l=r.wrapper||(t?\"span\":\"div\");let o;if(i.length>1||r.forceWrapper)o=i;else{if(1===i.length)return o=i[0],\"string\"==typeof o?d(\"span\",{key:\"outer\"},o):o;o=null}return e.createElement(l,{key:\"outer\"},o)}function q(n){const t=n.match(a);return t?t.reduce(function(n,t,r){const i=t.indexOf(\"=\");if(-1!==i){const o=function(e){return-1!==e.indexOf(\"-\")&&null===e.match(z)&&(e=e.replace(B,function(e,n){return n.toUpperCase()})),e}(t.slice(0,i)).trim(),c=function(e){const n=e[0];return('\"'===n||\"'\"===n)&&e.length>=2&&e[e.length-1]===n?e.slice(1,-1):e}(t.slice(i+1).trim()),a=l[o]||o,s=n[a]=function(e,n){return\"style\"===e?n.split(/;\\s?/).reduce(function(e,n){const t=n.slice(0,n.indexOf(\":\"));return e[t.replace(/(-[a-z])/g,e=>e[1].toUpperCase())]=n.slice(t.length+1).trim(),e},{}):\"href\"===e||\"src\"===e?Be(n):(n.match(I)&&(n=n.slice(1,n.length-1)),\"true\"===n||\"false\"!==n&&n)}(o,c);\"string\"==typeof s&&(O.test(s)||M.test(s))&&(n[a]=e.cloneElement(Z(s.trim()),{key:r}))}else\"style\"!==t&&(n[l[t]||t]=!0);return n},{}):null}const V=[],X={},Q={0:{match:Re(u),order:1,parse:(e,n,t)=>({children:n(e[0].replace(p,\"\"),t)}),render:(e,n,t)=>d(\"blockquote\",{key:t.key},n(e.children,t))},1:{match:Ue(f),order:1,parse:Fe,render:(e,n,t)=>d(\"br\",{key:t.key})},2:{match:Re(h),order:1,parse:Fe,render:(e,n,t)=>d(\"hr\",{key:t.key})},3:{match:Re(g),order:0,parse:e=>({lang:void 0,text:e[0].replace(/^ {4}/gm,\"\").replace(/\\n+$/,\"\")}),render:(e,t,r)=>d(\"pre\",{key:r.key},d(\"code\",n({},e.attrs,{className:e.lang?`lang-${e.lang}`:\"\"}),e.text))},4:{match:Re(m),order:0,parse:e=>({attrs:q(e[3]||\"\"),lang:e[2]||void 0,text:e[4],type:\"3\"})},5:{match:Ie(y),order:3,parse:e=>({text:e[2]}),render:(e,n,t)=>d(\"code\",{key:t.key},e.text)},6:{match:Re(v),order:0,parse:e=>(V.push({footnote:e[2],identifier:e[1]}),{}),render:We},7:{match:Me(b),order:1,parse:e=>({target:`#${r.slugify(e[1])}`,text:e[1]}),render:(e,n,t)=>d(\"a\",{key:t.key,href:Be(e.target)},d(\"sup\",{key:t.key},e.text))},8:{match:Me(w),order:1,parse:e=>({completed:\"x\"===e[1].toLowerCase()}),render:(e,n,t)=>d(\"input\",{checked:e.completed,key:t.key,readOnly:!0,type:\"checkbox\"})},9:{match:Re(r.enforceAtxHeadings?E:C),order:1,parse:(e,n,t)=>({children:He(n,e[2],t),id:r.slugify(e[2]),level:e[1].length}),render:(e,n,t)=>d(`h${e.level}`,{id:e.id,key:t.key},n(e.children,t))},10:{match:Re(A),order:0,parse:(e,n,t)=>({children:He(n,e[1],t),level:\"=\"===e[2]?1:2,type:\"9\"})},11:{match:Ue(O),order:1,parse(e,n,t){const[,r]=e[3].match(ie),i=new RegExp(`^${r}`,\"gm\"),l=e[3].replace(i,\"\"),o=(a=l,Ee.some(e=>e.test(a))?Pe:He);var a;const s=e[1].toLowerCase(),d=-1!==c.indexOf(s),u={attrs:q(e[2]),noInnerParse:d,tag:d?s:e[1]};return t.inAnchor=t.inAnchor||\"a\"===s,d?u.text=e[3]:u.children=o(n,l,t),t.inAnchor=!1,u},render:(e,t,r)=>d(e.tag,n({key:r.key},e.attrs),e.text||t(e.children,r))},13:{match:Ue(M),order:1,parse:e=>({attrs:q(e[2]||\"\"),tag:e[1]}),render:(e,t,r)=>d(e.tag,n({},e.attrs,{key:r.key}))},12:{match:Ue(L),order:1,parse:()=>({}),render:We},14:{match:Ie(we),order:1,parse:e=>({alt:e[1],target:Ne(e[2]),title:e[3]}),render:(e,n,t)=>d(\"img\",{key:t.key,alt:e.alt||void 0,title:e.title||void 0,src:Be(e.target)})},15:{match:Me(Se),order:3,parse:(e,n,t)=>({children:De(n,e[1],t),target:Ne(e[2]),title:e[3]}),render:(e,n,t)=>d(\"a\",{key:t.key,href:Be(e.target),title:e.title},n(e.children,t))},16:{match:Me(j),order:0,parse:e=>({children:[{text:e[1],type:\"27\"}],target:e[1],type:\"15\"})},17:{match:(e,n)=>n.inAnchor?null:Me(R)(e,n),order:0,parse:e=>({children:[{text:e[1],type:\"27\"}],target:e[1],title:void 0,type:\"15\"})},18:{match:Me(U),order:0,parse(e){let n=e[1],t=e[1];return s.test(t)||(t=\"mailto:\"+t),{children:[{text:n.replace(\"mailto:\",\"\"),type:\"27\"}],target:t,type:\"15\"}}},20:$e(d,1),33:$e(d,2),19:{match:Re(k),order:3,parse:Fe,render:()=>\"\\n\"},21:{match:je,order:3,parse:_e,render:(e,n,t)=>d(\"p\",{key:t.key},n(e.children,t))},22:{match:Me(H),order:0,parse:e=>(X[e[1]]={target:e[2],title:e[4]},{}),render:We},23:{match:Ie(D),order:0,parse:e=>({alt:e[1]||void 0,ref:e[2]}),render:(e,n,t)=>d(\"img\",{key:t.key,alt:e.alt,src:Be(X[e.ref].target),title:X[e.ref].title})},24:{match:Me(P),order:0,parse:(e,n,t)=>({children:n(e[1],t),fallbackChildren:n(e[0].replace(_,\"\\\\$1\"),t),ref:e[2]}),render:(e,n,t)=>X[e.ref]?d(\"a\",{key:t.key,href:Be(X[e.ref].target),title:X[e.ref].title},n(e.children,t)):d(\"span\",{key:t.key},n(e.fallbackChildren,t))},25:{match:Re(N),order:1,parse:Le,render:(e,n,t)=>d(\"table\",{key:t.key},d(\"thead\",null,d(\"tr\",null,e.header.map(function(r,i){return d(\"th\",{key:i,style:ze(e,i)},n(r,t))}))),d(\"tbody\",null,e.cells.map(function(r,i){return d(\"tr\",{key:i},r.map(function(r,i){return d(\"td\",{key:i,style:ze(e,i)},n(r,t))}))})))},26:{match:function(e,n){return n.inTable?(n.inline=!0,G.exec(e)):null},order:1,parse:function(){return{type:\"26\"}},render:()=>\" | \"},27:{match:Ue(te),order:4,parse:e=>({text:e[0].replace(T,(e,n)=>r.namedCodesToUnicode[n]?r.namedCodesToUnicode[n]:e)}),render:e=>e.text},28:{match:Ie(J),order:2,parse:(e,n,t)=>({children:n(e[2],t)}),render:(e,n,t)=>d(\"strong\",{key:t.key},n(e.children,t))},29:{match:Ie(K),order:3,parse:(e,n,t)=>({children:n(e[2],t)}),render:(e,n,t)=>d(\"em\",{key:t.key},n(e.children,t))},30:{match:Ie(ne),order:1,parse:e=>({text:e[1],type:\"27\"})},31:{match:Ie(Y),order:3,parse:_e,render:(e,n,t)=>d(\"mark\",{key:t.key},n(e.children,t))},32:{match:Ie(ee),order:3,parse:_e,render:(e,n,t)=>d(\"del\",{key:t.key},n(e.children,t))}};!0===r.disableParsingRawHTML&&(delete Q[11],delete Q[13]);const le=function(e){let n=Object.keys(e);function t(r,i){let l=[],o=\"\";for(;r;){let c=0;for(;cl(t,r,i),t,r,i):l(t,r,i)}}(Q,r.renderRule),function e(n,t={}){if(Array.isArray(n)){const r=t.key,i=[];let l=!1;for(let r=0;r{let{children:r,options:i}=n,l=function(e,n){if(null==e)return{};var t,r,i={},l=Object.keys(e);for(r=0;r=0||(i[t]=e[t]);return i}(n,t);return e.cloneElement(qe(r,i),l)};export{r as RuleType,qe as compiler};\n//# sourceMappingURL=index.modern.js.map\n","// Duotone Dark\n// Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes)\n// Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-evening-dark.css)\n// Generated with Base16 Builder (https://github.com/base16-builder/base16-builder)\nvar theme = {\n plain: {\n backgroundColor: \"#2a2734\",\n color: \"#9a86fd\"\n },\n styles: [{\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#6c6783\"\n }\n }, {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n }, {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#e09142\"\n }\n }, {\n types: [\"property\", \"function\"],\n style: {\n color: \"#9a86fd\"\n }\n }, {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#eeebff\"\n }\n }, {\n types: [\"attr-name\"],\n style: {\n color: \"#c4b9fe\"\n }\n }, {\n types: [\"boolean\", \"string\", \"entity\", \"url\", \"attr-value\", \"keyword\", \"control\", \"directive\", \"unit\", \"statement\", \"regex\", \"atrule\", \"placeholder\", \"variable\"],\n style: {\n color: \"#ffcc99\"\n }\n }, {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n }, {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n }, {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n }, {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n }, {\n types: [\"important\"],\n style: {\n color: \"#c4b9fe\"\n }\n }]\n};\n\nexport default theme;\n","// Converted automatically using ./tools/themeFromVsCode\nvar theme = {\n plain: {\n color: \"#9CDCFE\",\n backgroundColor: \"#1E1E1E\"\n },\n styles: [{\n types: [\"prolog\"],\n style: {\n color: \"rgb(0, 0, 128)\"\n }\n }, {\n types: [\"comment\"],\n style: {\n color: \"rgb(106, 153, 85)\"\n }\n }, {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n }, {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"rgb(181, 206, 168)\"\n }\n }, {\n types: [\"constant\"],\n style: {\n color: \"rgb(100, 102, 149)\"\n }\n }, {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"rgb(156, 220, 254)\"\n }\n }, {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"rgb(206, 145, 120)\"\n }\n }, {\n types: [\"selector\"],\n style: {\n color: \"rgb(215, 186, 125)\"\n }\n }, {\n // Fix tag color\n types: [\"tag\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n }, {\n // Fix tag color for HTML\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n }, {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"rgb(212, 212, 212)\"\n }\n }, {\n // Fix punctuation color for HTML\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n }, {\n types: [\"function\"],\n style: {\n color: \"rgb(220, 220, 170)\"\n }\n }, {\n types: [\"class-name\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n }, {\n types: [\"char\"],\n style: {\n color: \"rgb(209, 105, 105)\"\n }\n }]\n};\n\nexport default theme;\n","import useThemeProps from '../styles/useThemeProps';\nexport { default as styled } from '../styles/styled';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function createUseThemeProps(name) {\n return useThemeProps;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCollapseUtilityClass(slot) {\n return generateUtilityClass('MuiCollapse', slot);\n}\nconst collapseClasses = generateUtilityClasses('MuiCollapse', ['root', 'horizontal', 'vertical', 'entered', 'hidden', 'wrapper', 'wrapperInner']);\nexport default collapseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"addEndListener\", \"children\", \"className\", \"collapsedSize\", \"component\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"orientation\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport useTimeout from '@mui/utils/useTimeout';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { duration } from '../styles/createTransitions';\nimport { getTransitionProps } from '../transitions/utils';\nimport useTheme from '../styles/useTheme';\nimport { useForkRef } from '../utils';\nimport { getCollapseUtilityClass } from './collapseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n orientation,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `${orientation}`],\n entered: ['entered'],\n hidden: ['hidden'],\n wrapper: ['wrapper', `${orientation}`],\n wrapperInner: ['wrapperInner', `${orientation}`]\n };\n return composeClasses(slots, getCollapseUtilityClass, classes);\n};\nconst CollapseRoot = styled('div', {\n name: 'MuiCollapse',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.orientation], ownerState.state === 'entered' && styles.entered, ownerState.state === 'exited' && !ownerState.in && ownerState.collapsedSize === '0px' && styles.hidden];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n height: 0,\n overflow: 'hidden',\n transition: theme.transitions.create('height')\n}, ownerState.orientation === 'horizontal' && {\n height: 'auto',\n width: 0,\n transition: theme.transitions.create('width')\n}, ownerState.state === 'entered' && _extends({\n height: 'auto',\n overflow: 'visible'\n}, ownerState.orientation === 'horizontal' && {\n width: 'auto'\n}), ownerState.state === 'exited' && !ownerState.in && ownerState.collapsedSize === '0px' && {\n visibility: 'hidden'\n}));\nconst CollapseWrapper = styled('div', {\n name: 'MuiCollapse',\n slot: 'Wrapper',\n overridesResolver: (props, styles) => styles.wrapper\n})(({\n ownerState\n}) => _extends({\n // Hack to get children with a negative margin to not falsify the height computation.\n display: 'flex',\n width: '100%'\n}, ownerState.orientation === 'horizontal' && {\n width: 'auto',\n height: '100%'\n}));\nconst CollapseWrapperInner = styled('div', {\n name: 'MuiCollapse',\n slot: 'WrapperInner',\n overridesResolver: (props, styles) => styles.wrapperInner\n})(({\n ownerState\n}) => _extends({\n width: '100%'\n}, ownerState.orientation === 'horizontal' && {\n width: 'auto',\n height: '100%'\n}));\n\n/**\n * The Collapse transition is used by the\n * [Vertical Stepper](/material-ui/react-stepper/#vertical-stepper) StepContent component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Collapse = /*#__PURE__*/React.forwardRef(function Collapse(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCollapse'\n });\n const {\n addEndListener,\n children,\n className,\n collapsedSize: collapsedSizeProp = '0px',\n component,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n orientation = 'vertical',\n style,\n timeout = duration.standard,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n orientation,\n collapsedSize: collapsedSizeProp\n });\n const classes = useUtilityClasses(ownerState);\n const theme = useTheme();\n const timer = useTimeout();\n const wrapperRef = React.useRef(null);\n const autoTransitionDuration = React.useRef();\n const collapsedSize = typeof collapsedSizeProp === 'number' ? `${collapsedSizeProp}px` : collapsedSizeProp;\n const isHorizontal = orientation === 'horizontal';\n const size = isHorizontal ? 'width' : 'height';\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(ref, nodeRef);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const getWrapperSize = () => wrapperRef.current ? wrapperRef.current[isHorizontal ? 'clientWidth' : 'clientHeight'] : 0;\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n if (wrapperRef.current && isHorizontal) {\n // Set absolute position to get the size of collapsed content\n wrapperRef.current.style.position = 'absolute';\n }\n node.style[size] = collapsedSize;\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntering = normalizedTransitionCallback((node, isAppearing) => {\n const wrapperSize = getWrapperSize();\n if (wrapperRef.current && isHorizontal) {\n // After the size is read reset the position back to default\n wrapperRef.current.style.position = '';\n }\n const {\n duration: transitionDuration,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n if (timeout === 'auto') {\n const duration2 = theme.transitions.getAutoHeightDuration(wrapperSize);\n node.style.transitionDuration = `${duration2}ms`;\n autoTransitionDuration.current = duration2;\n } else {\n node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : `${transitionDuration}ms`;\n }\n node.style[size] = `${wrapperSize}px`;\n node.style.transitionTimingFunction = transitionTimingFunction;\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback((node, isAppearing) => {\n node.style[size] = 'auto';\n if (onEntered) {\n onEntered(node, isAppearing);\n }\n });\n const handleExit = normalizedTransitionCallback(node => {\n node.style[size] = `${getWrapperSize()}px`;\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleExiting = normalizedTransitionCallback(node => {\n const wrapperSize = getWrapperSize();\n const {\n duration: transitionDuration,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n if (timeout === 'auto') {\n // TODO: rename getAutoHeightDuration to something more generic (width support)\n // Actually it just calculates animation duration based on size\n const duration2 = theme.transitions.getAutoHeightDuration(wrapperSize);\n node.style.transitionDuration = `${duration2}ms`;\n autoTransitionDuration.current = duration2;\n } else {\n node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : `${transitionDuration}ms`;\n }\n node.style[size] = collapsedSize;\n node.style.transitionTimingFunction = transitionTimingFunction;\n if (onExiting) {\n onExiting(node);\n }\n });\n const handleAddEndListener = next => {\n if (timeout === 'auto') {\n timer.start(autoTransitionDuration.current || 0, next);\n }\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: inProp,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n nodeRef: nodeRef,\n timeout: timeout === 'auto' ? null : timeout\n }, other, {\n children: (state, childProps) => /*#__PURE__*/_jsx(CollapseRoot, _extends({\n as: component,\n className: clsx(classes.root, className, {\n 'entered': classes.entered,\n 'exited': !inProp && collapsedSize === '0px' && classes.hidden\n }[state]),\n style: _extends({\n [isHorizontal ? 'minWidth' : 'minHeight']: collapsedSize\n }, style),\n ref: handleRef\n }, childProps, {\n // `ownerState` is set after `childProps` to override any existing `ownerState` property in `childProps`\n // that might have been forwarded from the Transition component.\n ownerState: _extends({}, ownerState, {\n state\n }),\n children: /*#__PURE__*/_jsx(CollapseWrapper, {\n ownerState: _extends({}, ownerState, {\n state\n }),\n className: classes.wrapper,\n ref: wrapperRef,\n children: /*#__PURE__*/_jsx(CollapseWrapperInner, {\n ownerState: _extends({}, ownerState, {\n state\n }),\n className: classes.wrapperInner,\n children: children\n })\n })\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Collapse.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * The content node to be collapsed.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The width (horizontal) or height (vertical) of the container when collapsed.\n * @default '0px'\n */\n collapsedSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * The transition orientation.\n * @default 'vertical'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default duration.standard\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nCollapse.muiSupportAuto = true;\nexport default Collapse;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"elementType\", \"ownerState\", \"externalForwardedProps\", \"getSlotOwnerState\", \"internalForwardedProps\"],\n _excluded2 = [\"component\", \"slots\", \"slotProps\"],\n _excluded3 = [\"component\"];\nimport useForkRef from '@mui/utils/useForkRef';\nimport { appendOwnerState, resolveComponentProps, mergeSlotProps } from '@mui/base/utils';\n/**\n * An internal function to create a Material UI slot.\n *\n * This is an advanced version of Base UI `useSlotProps` because Material UI allows leaf component to be customized via `component` prop\n * while Base UI does not need to support leaf component customization.\n *\n * @param {string} name: name of the slot\n * @param {object} parameters\n * @returns {[Slot, slotProps]} The slot's React component and the slot's props\n *\n * Note: the returned slot's props\n * - will never contain `component` prop.\n * - might contain `as` prop.\n */\nexport default function useSlot(\n/**\n * The slot's name. All Material UI components should have `root` slot.\n *\n * If the name is `root`, the logic behaves differently from other slots,\n * e.g. the `externalForwardedProps` are spread to `root` slot but not other slots.\n */\nname, parameters) {\n const {\n className,\n elementType: initialElementType,\n ownerState,\n externalForwardedProps,\n getSlotOwnerState,\n internalForwardedProps\n } = parameters,\n useSlotPropsParams = _objectWithoutPropertiesLoose(parameters, _excluded);\n const {\n component: rootComponent,\n slots = {\n [name]: undefined\n },\n slotProps = {\n [name]: undefined\n }\n } = externalForwardedProps,\n other = _objectWithoutPropertiesLoose(externalForwardedProps, _excluded2);\n const elementType = slots[name] || initialElementType;\n\n // `slotProps[name]` can be a callback that receives the component's ownerState.\n // `resolvedComponentsProps` is always a plain object.\n const resolvedComponentsProps = resolveComponentProps(slotProps[name], ownerState);\n const _mergeSlotProps = mergeSlotProps(_extends({\n className\n }, useSlotPropsParams, {\n externalForwardedProps: name === 'root' ? other : undefined,\n externalSlotProps: resolvedComponentsProps\n })),\n {\n props: {\n component: slotComponent\n },\n internalRef\n } = _mergeSlotProps,\n mergedProps = _objectWithoutPropertiesLoose(_mergeSlotProps.props, _excluded3);\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, parameters.ref);\n const slotOwnerState = getSlotOwnerState ? getSlotOwnerState(mergedProps) : {};\n const finalOwnerState = _extends({}, ownerState, slotOwnerState);\n const LeafComponent = name === 'root' ? slotComponent || rootComponent : slotComponent;\n const props = appendOwnerState(elementType, _extends({}, name === 'root' && !rootComponent && !slots[name] && internalForwardedProps, name !== 'root' && !slots[name] && internalForwardedProps, mergedProps, LeafComponent && {\n as: LeafComponent\n }, {\n ref\n }), finalOwnerState);\n Object.keys(slotOwnerState).forEach(propName => {\n delete props[propName];\n });\n return [elementType, props];\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAlertUtilityClass(slot) {\n return generateUtilityClass('MuiAlert', slot);\n}\nconst alertClasses = generateUtilityClasses('MuiAlert', ['root', 'action', 'icon', 'message', 'filled', 'colorSuccess', 'colorInfo', 'colorWarning', 'colorError', 'filledSuccess', 'filledInfo', 'filledWarning', 'filledError', 'outlined', 'outlinedSuccess', 'outlinedInfo', 'outlinedWarning', 'outlinedError', 'standard', 'standardSuccess', 'standardInfo', 'standardWarning', 'standardError']);\nexport default alertClasses;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\"\n}), 'SuccessOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z\"\n}), 'ReportProblemOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'ErrorOutline');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z\"\n}), 'InfoOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n *\n * Alias to `Clear`.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"action\", \"children\", \"className\", \"closeText\", \"color\", \"components\", \"componentsProps\", \"icon\", \"iconMapping\", \"onClose\", \"role\", \"severity\", \"slotProps\", \"slots\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { darken, lighten } from '@mui/system/colorManipulator';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport useSlot from '../utils/useSlot';\nimport capitalize from '../utils/capitalize';\nimport Paper from '../Paper';\nimport alertClasses, { getAlertUtilityClass } from './alertClasses';\nimport IconButton from '../IconButton';\nimport SuccessOutlinedIcon from '../internal/svg-icons/SuccessOutlined';\nimport ReportProblemOutlinedIcon from '../internal/svg-icons/ReportProblemOutlined';\nimport ErrorOutlineIcon from '../internal/svg-icons/ErrorOutline';\nimport InfoOutlinedIcon from '../internal/svg-icons/InfoOutlined';\nimport CloseIcon from '../internal/svg-icons/Close';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useThemeProps = createUseThemeProps('MuiAlert');\nconst useUtilityClasses = ownerState => {\n const {\n variant,\n color,\n severity,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color || severity)}`, `${variant}${capitalize(color || severity)}`, `${variant}`],\n icon: ['icon'],\n message: ['message'],\n action: ['action']\n };\n return composeClasses(slots, getAlertUtilityClass, classes);\n};\nconst AlertRoot = styled(Paper, {\n name: 'MuiAlert',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color || ownerState.severity)}`]];\n }\n})(({\n theme\n}) => {\n const getColor = theme.palette.mode === 'light' ? darken : lighten;\n const getBackgroundColor = theme.palette.mode === 'light' ? lighten : darken;\n return _extends({}, theme.typography.body2, {\n backgroundColor: 'transparent',\n display: 'flex',\n padding: '6px 16px',\n variants: [...Object.entries(theme.palette).filter(([, value]) => value.main && value.light).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'standard'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, 0.9),\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(([, value]) => value.main && value.light).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'outlined'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n border: `1px solid ${(theme.vars || theme).palette[color].light}`,\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(([, value]) => value.main && value.dark).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'filled'\n },\n style: _extends({\n fontWeight: theme.typography.fontWeightMedium\n }, theme.vars ? {\n color: theme.vars.palette.Alert[`${color}FilledColor`],\n backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`]\n } : {\n backgroundColor: theme.palette.mode === 'dark' ? theme.palette[color].dark : theme.palette[color].main,\n color: theme.palette.getContrastText(theme.palette[color].main)\n })\n }))]\n });\n});\nconst AlertIcon = styled('div', {\n name: 'MuiAlert',\n slot: 'Icon',\n overridesResolver: (props, styles) => styles.icon\n})({\n marginRight: 12,\n padding: '7px 0',\n display: 'flex',\n fontSize: 22,\n opacity: 0.9\n});\nconst AlertMessage = styled('div', {\n name: 'MuiAlert',\n slot: 'Message',\n overridesResolver: (props, styles) => styles.message\n})({\n padding: '8px 0',\n minWidth: 0,\n overflow: 'auto'\n});\nconst AlertAction = styled('div', {\n name: 'MuiAlert',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n display: 'flex',\n alignItems: 'flex-start',\n padding: '4px 0 0 16px',\n marginLeft: 'auto',\n marginRight: -8\n});\nconst defaultIconMapping = {\n success: /*#__PURE__*/_jsx(SuccessOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n warning: /*#__PURE__*/_jsx(ReportProblemOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n error: /*#__PURE__*/_jsx(ErrorOutlineIcon, {\n fontSize: \"inherit\"\n }),\n info: /*#__PURE__*/_jsx(InfoOutlinedIcon, {\n fontSize: \"inherit\"\n })\n};\nconst Alert = /*#__PURE__*/React.forwardRef(function Alert(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAlert'\n });\n const {\n action,\n children,\n className,\n closeText = 'Close',\n color,\n components = {},\n componentsProps = {},\n icon,\n iconMapping = defaultIconMapping,\n onClose,\n role = 'alert',\n severity = 'success',\n slotProps = {},\n slots = {},\n variant = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n severity,\n variant,\n colorSeverity: color || severity\n });\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots: _extends({\n closeButton: components.CloseButton,\n closeIcon: components.CloseIcon\n }, slots),\n slotProps: _extends({}, componentsProps, slotProps)\n };\n const [CloseButtonSlot, closeButtonProps] = useSlot('closeButton', {\n elementType: IconButton,\n externalForwardedProps,\n ownerState\n });\n const [CloseIconSlot, closeIconProps] = useSlot('closeIcon', {\n elementType: CloseIcon,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(AlertRoot, _extends({\n role: role,\n elevation: 0,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [icon !== false ? /*#__PURE__*/_jsx(AlertIcon, {\n ownerState: ownerState,\n className: classes.icon,\n children: icon || iconMapping[severity] || defaultIconMapping[severity]\n }) : null, /*#__PURE__*/_jsx(AlertMessage, {\n ownerState: ownerState,\n className: classes.message,\n children: children\n }), action != null ? /*#__PURE__*/_jsx(AlertAction, {\n ownerState: ownerState,\n className: classes.action,\n children: action\n }) : null, action == null && onClose ? /*#__PURE__*/_jsx(AlertAction, {\n ownerState: ownerState,\n className: classes.action,\n children: /*#__PURE__*/_jsx(CloseButtonSlot, _extends({\n size: \"small\",\n \"aria-label\": closeText,\n title: closeText,\n color: \"inherit\",\n onClick: onClose\n }, closeButtonProps, {\n children: /*#__PURE__*/_jsx(CloseIconSlot, _extends({\n fontSize: \"small\"\n }, closeIconProps))\n }))\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Alert.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the alert.\n */\n action: PropTypes.node,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Override the default label for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The color of the component. Unless provided, the value is taken from the `severity` prop.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n components: PropTypes.shape({\n CloseButton: PropTypes.elementType,\n CloseIcon: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n closeButton: PropTypes.object,\n closeIcon: PropTypes.object\n }),\n /**\n * Override the icon displayed before the children.\n * Unless provided, the icon is mapped to the value of the `severity` prop.\n * Set to `false` to remove the `icon`.\n */\n icon: PropTypes.node,\n /**\n * The component maps the `severity` prop to a range of different icons,\n * for instance success to ``.\n * If you wish to change this mapping, you can provide your own.\n * Alternatively, you can use the `icon` prop to override the icon displayed.\n */\n iconMapping: PropTypes.shape({\n error: PropTypes.node,\n info: PropTypes.node,\n success: PropTypes.node,\n warning: PropTypes.node\n }),\n /**\n * Callback fired when the component requests to be closed.\n * When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked.\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * The ARIA role attribute of the element.\n * @default 'alert'\n */\n role: PropTypes.string,\n /**\n * The severity of the alert. This defines the color and icon used.\n * @default 'success'\n */\n severity: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n closeButton: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n closeIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n closeButton: PropTypes.elementType,\n closeIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined', 'standard']), PropTypes.string])\n} : void 0;\nexport default Alert;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAppBarUtilityClass(slot) {\n return generateUtilityClass('MuiAppBar', slot);\n}\nconst appBarClasses = generateUtilityClasses('MuiAppBar', ['root', 'positionFixed', 'positionAbsolute', 'positionSticky', 'positionStatic', 'positionRelative', 'colorDefault', 'colorPrimary', 'colorSecondary', 'colorInherit', 'colorTransparent', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning']);\nexport default appBarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"enableColorOnDark\", \"position\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Paper from '../Paper';\nimport { getAppBarUtilityClass } from './appBarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n position,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, `position${capitalize(position)}`]\n };\n return composeClasses(slots, getAppBarUtilityClass, classes);\n};\n\n// var2 is the fallback.\n// Ex. var1: 'var(--a)', var2: 'var(--b)'; return: 'var(--a, var(--b))'\nconst joinVars = (var1, var2) => var1 ? `${var1 == null ? void 0 : var1.replace(')', '')}, ${var2})` : var2;\nconst AppBarRoot = styled(Paper, {\n name: 'MuiAppBar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const backgroundColorDefault = theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[900];\n return _extends({\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n boxSizing: 'border-box',\n // Prevent padding issue with the Modal and fixed positioned AppBar.\n flexShrink: 0\n }, ownerState.position === 'fixed' && {\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0,\n '@media print': {\n // Prevent the app bar to be visible on each printed page.\n position: 'absolute'\n }\n }, ownerState.position === 'absolute' && {\n position: 'absolute',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0\n }, ownerState.position === 'sticky' && {\n // ⚠️ sticky is not supported by IE11.\n position: 'sticky',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0\n }, ownerState.position === 'static' && {\n position: 'static'\n }, ownerState.position === 'relative' && {\n position: 'relative'\n }, !theme.vars && _extends({}, ownerState.color === 'default' && {\n backgroundColor: backgroundColorDefault,\n color: theme.palette.getContrastText(backgroundColorDefault)\n }, ownerState.color && ownerState.color !== 'default' && ownerState.color !== 'inherit' && ownerState.color !== 'transparent' && {\n backgroundColor: theme.palette[ownerState.color].main,\n color: theme.palette[ownerState.color].contrastText\n }, ownerState.color === 'inherit' && {\n color: 'inherit'\n }, theme.palette.mode === 'dark' && !ownerState.enableColorOnDark && {\n backgroundColor: null,\n color: null\n }, ownerState.color === 'transparent' && _extends({\n backgroundColor: 'transparent',\n color: 'inherit'\n }, theme.palette.mode === 'dark' && {\n backgroundImage: 'none'\n })), theme.vars && _extends({}, ownerState.color === 'default' && {\n '--AppBar-background': ownerState.enableColorOnDark ? theme.vars.palette.AppBar.defaultBg : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette.AppBar.defaultBg),\n '--AppBar-color': ownerState.enableColorOnDark ? theme.vars.palette.text.primary : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette.text.primary)\n }, ownerState.color && !ownerState.color.match(/^(default|inherit|transparent)$/) && {\n '--AppBar-background': ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].main : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette[ownerState.color].main),\n '--AppBar-color': ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].contrastText : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette[ownerState.color].contrastText)\n }, {\n backgroundColor: 'var(--AppBar-background)',\n color: ownerState.color === 'inherit' ? 'inherit' : 'var(--AppBar-color)'\n }, ownerState.color === 'transparent' && {\n backgroundImage: 'none',\n backgroundColor: 'transparent',\n color: 'inherit'\n }));\n});\nconst AppBar = /*#__PURE__*/React.forwardRef(function AppBar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAppBar'\n });\n const {\n className,\n color = 'primary',\n enableColorOnDark = false,\n position = 'fixed'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n position,\n enableColorOnDark\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AppBarRoot, _extends({\n square: true,\n component: \"header\",\n ownerState: ownerState,\n elevation: 4,\n className: clsx(classes.root, className, position === 'fixed' && 'mui-fixed'),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? AppBar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'inherit', 'primary', 'secondary', 'transparent', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If true, the `color` prop is applied in dark mode.\n * @default false\n */\n enableColorOnDark: PropTypes.bool,\n /**\n * The positioning type. The behavior of the different options is described\n * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning).\n * Note: `sticky` is not universally supported and will fall back to `static` when unavailable.\n * @default 'fixed'\n */\n position: PropTypes.oneOf(['absolute', 'fixed', 'relative', 'static', 'sticky']),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AppBar;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBadgeUtilityClass(slot) {\n return generateUtilityClass('MuiBadge', slot);\n}\nconst badgeClasses = generateUtilityClasses('MuiBadge', ['root', 'badge', 'dot', 'standard', 'anchorOriginTopRight', 'anchorOriginBottomRight', 'anchorOriginTopLeft', 'anchorOriginBottomLeft', 'invisible', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'overlapRectangular', 'overlapCircular',\n// TODO: v6 remove the overlap value from these class keys\n'anchorOriginTopLeftCircular', 'anchorOriginTopLeftRectangular', 'anchorOriginTopRightCircular', 'anchorOriginTopRightRectangular', 'anchorOriginBottomLeftCircular', 'anchorOriginBottomLeftRectangular', 'anchorOriginBottomRightCircular', 'anchorOriginBottomRightRectangular']);\nexport default badgeClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"anchorOrigin\", \"className\", \"classes\", \"component\", \"components\", \"componentsProps\", \"children\", \"overlap\", \"color\", \"invisible\", \"max\", \"badgeContent\", \"slots\", \"slotProps\", \"showZero\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport usePreviousProps from '@mui/utils/usePreviousProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useBadge } from '@mui/base/useBadge';\nimport { useSlotProps } from '@mui/base/utils';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport capitalize from '../utils/capitalize';\nimport badgeClasses, { getBadgeUtilityClass } from './badgeClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst RADIUS_STANDARD = 10;\nconst RADIUS_DOT = 4;\nconst useThemeProps = createUseThemeProps('MuiBadge');\nconst useUtilityClasses = ownerState => {\n const {\n color,\n anchorOrigin,\n invisible,\n overlap,\n variant,\n classes = {}\n } = ownerState;\n const slots = {\n root: ['root'],\n badge: ['badge', variant, invisible && 'invisible', `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`, `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}${capitalize(overlap)}`, `overlap${capitalize(overlap)}`, color !== 'default' && `color${capitalize(color)}`]\n };\n return composeClasses(slots, getBadgeUtilityClass, classes);\n};\nconst BadgeRoot = styled('span', {\n name: 'MuiBadge',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n position: 'relative',\n display: 'inline-flex',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n flexShrink: 0\n});\nconst BadgeBadge = styled('span', {\n name: 'MuiBadge',\n slot: 'Badge',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.badge, styles[ownerState.variant], styles[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}${capitalize(ownerState.overlap)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.invisible && styles.invisible];\n }\n})(({\n theme\n}) => {\n var _theme$vars;\n return {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n boxSizing: 'border-box',\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(12),\n minWidth: RADIUS_STANDARD * 2,\n lineHeight: 1,\n padding: '0 6px',\n height: RADIUS_STANDARD * 2,\n borderRadius: RADIUS_STANDARD,\n zIndex: 1,\n // Render the badge on top of potential ripples.\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.enteringScreen\n }),\n variants: [...Object.keys(((_theme$vars = theme.vars) != null ? _theme$vars : theme).palette).filter(key => {\n var _theme$vars2, _theme$vars3;\n return ((_theme$vars2 = theme.vars) != null ? _theme$vars2 : theme).palette[key].main && ((_theme$vars3 = theme.vars) != null ? _theme$vars3 : theme).palette[key].contrastText;\n }).map(color => ({\n props: {\n color\n },\n style: {\n backgroundColor: (theme.vars || theme).palette[color].main,\n color: (theme.vars || theme).palette[color].contrastText\n }\n })), {\n props: {\n variant: 'dot'\n },\n style: {\n borderRadius: RADIUS_DOT,\n height: RADIUS_DOT * 2,\n minWidth: RADIUS_DOT * 2,\n padding: 0\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular',\n style: {\n top: 0,\n right: 0,\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, -50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular',\n style: {\n bottom: 0,\n right: 0,\n transform: 'scale(1) translate(50%, 50%)',\n transformOrigin: '100% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, 50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular',\n style: {\n top: 0,\n left: 0,\n transform: 'scale(1) translate(-50%, -50%)',\n transformOrigin: '0% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, -50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular',\n style: {\n bottom: 0,\n left: 0,\n transform: 'scale(1) translate(-50%, 50%)',\n transformOrigin: '0% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, 50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular',\n style: {\n top: '14%',\n right: '14%',\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, -50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular',\n style: {\n bottom: '14%',\n right: '14%',\n transform: 'scale(1) translate(50%, 50%)',\n transformOrigin: '100% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, 50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular',\n style: {\n top: '14%',\n left: '14%',\n transform: 'scale(1) translate(-50%, -50%)',\n transformOrigin: '0% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, -50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular',\n style: {\n bottom: '14%',\n left: '14%',\n transform: 'scale(1) translate(-50%, 50%)',\n transformOrigin: '0% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, 50%)'\n }\n }\n }, {\n props: {\n invisible: true\n },\n style: {\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.leavingScreen\n })\n }\n }]\n };\n});\nconst Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$badge, _slotProps$root, _slotProps$badge;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiBadge'\n });\n const {\n anchorOrigin: anchorOriginProp = {\n vertical: 'top',\n horizontal: 'right'\n },\n className,\n component,\n components = {},\n componentsProps = {},\n children,\n overlap: overlapProp = 'rectangular',\n color: colorProp = 'default',\n invisible: invisibleProp = false,\n max: maxProp = 99,\n badgeContent: badgeContentProp,\n slots,\n slotProps,\n showZero = false,\n variant: variantProp = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n badgeContent,\n invisible: invisibleFromHook,\n max,\n displayValue: displayValueFromHook\n } = useBadge({\n max: maxProp,\n invisible: invisibleProp,\n badgeContent: badgeContentProp,\n showZero\n });\n const prevProps = usePreviousProps({\n anchorOrigin: anchorOriginProp,\n color: colorProp,\n overlap: overlapProp,\n variant: variantProp,\n badgeContent: badgeContentProp\n });\n const invisible = invisibleFromHook || badgeContent == null && variantProp !== 'dot';\n const {\n color = colorProp,\n overlap = overlapProp,\n anchorOrigin = anchorOriginProp,\n variant = variantProp\n } = invisible ? prevProps : props;\n const displayValue = variant !== 'dot' ? displayValueFromHook : undefined;\n const ownerState = _extends({}, props, {\n badgeContent,\n invisible,\n max,\n displayValue,\n showZero,\n anchorOrigin,\n color,\n overlap,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n\n // support both `slots` and `components` for backward compatibility\n const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : BadgeRoot;\n const BadgeSlot = (_ref2 = (_slots$badge = slots == null ? void 0 : slots.badge) != null ? _slots$badge : components.Badge) != null ? _ref2 : BadgeBadge;\n const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;\n const badgeSlotProps = (_slotProps$badge = slotProps == null ? void 0 : slotProps.badge) != null ? _slotProps$badge : componentsProps.badge;\n const rootProps = useSlotProps({\n elementType: RootSlot,\n externalSlotProps: rootSlotProps,\n externalForwardedProps: other,\n additionalProps: {\n ref,\n as: component\n },\n ownerState,\n className: clsx(rootSlotProps == null ? void 0 : rootSlotProps.className, classes.root, className)\n });\n const badgeProps = useSlotProps({\n elementType: BadgeSlot,\n externalSlotProps: badgeSlotProps,\n ownerState,\n className: clsx(classes.badge, badgeSlotProps == null ? void 0 : badgeSlotProps.className)\n });\n return /*#__PURE__*/_jsxs(RootSlot, _extends({}, rootProps, {\n children: [children, /*#__PURE__*/_jsx(BadgeSlot, _extends({}, badgeProps, {\n children: displayValue\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Badge.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The anchor of the badge.\n * @default {\n * vertical: 'top',\n * horizontal: 'right',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n /**\n * The content rendered within the badge.\n */\n badgeContent: PropTypes.node,\n /**\n * The badge will be added relative to this node.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Badge: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n badge: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * If `true`, the badge is invisible.\n * @default false\n */\n invisible: PropTypes.bool,\n /**\n * Max count to show.\n * @default 99\n */\n max: PropTypes.number,\n /**\n * Wrapped shape the badge should overlap.\n * @default 'rectangular'\n */\n overlap: PropTypes.oneOf(['circular', 'rectangular']),\n /**\n * Controls whether the badge is hidden when `badgeContent` is zero.\n * @default false\n */\n showZero: PropTypes.bool,\n /**\n * The props used for each slot inside the Badge.\n * @default {}\n */\n slotProps: PropTypes.shape({\n badge: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Badge.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n badge: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['dot', 'standard']), PropTypes.string])\n} : void 0;\nexport default Badge;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input', {\n shouldForwardProp: rootShouldForwardProp\n})({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor ? id : undefined,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium']);\nexport default checkboxClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`, `size${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, styles[`size${capitalize(ownerState.size)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium',\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport useThemeProps from '../styles/useThemeProps';\nimport GlobalStyles from '../GlobalStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const html = (theme, enableColorScheme) => _extends({\n WebkitFontSmoothing: 'antialiased',\n // Antialiasing.\n MozOsxFontSmoothing: 'grayscale',\n // Antialiasing.\n // Change from `box-sizing: content-box` so that `width`\n // is not affected by `padding` or `border`.\n boxSizing: 'border-box',\n // Fix font resize problem in iOS\n WebkitTextSizeAdjust: '100%'\n}, enableColorScheme && !theme.vars && {\n colorScheme: theme.palette.mode\n});\nexport const body = theme => _extends({\n color: (theme.vars || theme).palette.text.primary\n}, theme.typography.body1, {\n backgroundColor: (theme.vars || theme).palette.background.default,\n '@media print': {\n // Save printer ink.\n backgroundColor: (theme.vars || theme).palette.common.white\n }\n});\nexport const styles = (theme, enableColorScheme = false) => {\n var _theme$components;\n const colorSchemeStyles = {};\n if (enableColorScheme && theme.colorSchemes) {\n Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {\n var _scheme$palette;\n colorSchemeStyles[theme.getColorSchemeSelector(key).replace(/\\s*&/, '')] = {\n colorScheme: (_scheme$palette = scheme.palette) == null ? void 0 : _scheme$palette.mode\n };\n });\n }\n let defaultStyles = _extends({\n html: html(theme, enableColorScheme),\n '*, *::before, *::after': {\n boxSizing: 'inherit'\n },\n 'strong, b': {\n fontWeight: theme.typography.fontWeightBold\n },\n body: _extends({\n margin: 0\n }, body(theme), {\n // Add support for document.body.requestFullScreen().\n // Other elements, if background transparent, are not supported.\n '&::backdrop': {\n backgroundColor: (theme.vars || theme).palette.background.default\n }\n })\n }, colorSchemeStyles);\n const themeOverrides = (_theme$components = theme.components) == null || (_theme$components = _theme$components.MuiCssBaseline) == null ? void 0 : _theme$components.styleOverrides;\n if (themeOverrides) {\n defaultStyles = [defaultStyles, themeOverrides];\n }\n return defaultStyles;\n};\n\n/**\n * Kickstart an elegant, consistent, and simple baseline to build upon.\n */\nfunction CssBaseline(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCssBaseline'\n });\n const {\n children,\n enableColorScheme = false\n } = props;\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(GlobalStyles, {\n styles: theme => styles(theme, enableColorScheme)\n }), children]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? CssBaseline.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * You can wrap a node.\n */\n children: PropTypes.node,\n /**\n * Enable `color-scheme` CSS property to use `theme.palette.mode`.\n * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme\n * For browser support, check out https://caniuse.com/?search=color-scheme\n * @default false\n */\n enableColorScheme: PropTypes.bool\n} : void 0;\nexport default CssBaseline;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"container\", \"direction\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport debounce from '../utils/debounce';\nimport useForkRef from '../utils/useForkRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport { ownerWindow } from '../utils';\n\n// Translate the node so it can't be seen on the screen.\n// Later, we're going to translate the node back to its original location with `none`.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getTranslateValue(direction, node, resolvedContainer) {\n const rect = node.getBoundingClientRect();\n const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect();\n const containerWindow = ownerWindow(node);\n let transform;\n if (node.fakeTransform) {\n transform = node.fakeTransform;\n } else {\n const computedStyle = containerWindow.getComputedStyle(node);\n transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform');\n }\n let offsetX = 0;\n let offsetY = 0;\n if (transform && transform !== 'none' && typeof transform === 'string') {\n const transformValues = transform.split('(')[1].split(')')[0].split(',');\n offsetX = parseInt(transformValues[4], 10);\n offsetY = parseInt(transformValues[5], 10);\n }\n if (direction === 'left') {\n if (containerRect) {\n return `translateX(${containerRect.right + offsetX - rect.left}px)`;\n }\n return `translateX(${containerWindow.innerWidth + offsetX - rect.left}px)`;\n }\n if (direction === 'right') {\n if (containerRect) {\n return `translateX(-${rect.right - containerRect.left - offsetX}px)`;\n }\n return `translateX(-${rect.left + rect.width - offsetX}px)`;\n }\n if (direction === 'up') {\n if (containerRect) {\n return `translateY(${containerRect.bottom + offsetY - rect.top}px)`;\n }\n return `translateY(${containerWindow.innerHeight + offsetY - rect.top}px)`;\n }\n\n // direction === 'down'\n if (containerRect) {\n return `translateY(-${rect.top - containerRect.top + rect.height - offsetY}px)`;\n }\n return `translateY(-${rect.top + rect.height - offsetY}px)`;\n}\nfunction resolveContainer(containerPropProp) {\n return typeof containerPropProp === 'function' ? containerPropProp() : containerPropProp;\n}\nexport function setTranslateValue(direction, node, containerProp) {\n const resolvedContainer = resolveContainer(containerProp);\n const transform = getTranslateValue(direction, node, resolvedContainer);\n if (transform) {\n node.style.webkitTransform = transform;\n node.style.transform = transform;\n }\n}\n\n/**\n * The Slide transition is used by the [Drawer](/material-ui/react-drawer/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {\n const theme = useTheme();\n const defaultEasing = {\n enter: theme.transitions.easing.easeOut,\n exit: theme.transitions.easing.sharp\n };\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n container: containerProp,\n direction = 'down',\n easing: easingProp = defaultEasing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const childrenRef = React.useRef(null);\n const handleRef = useForkRef(children.ref, childrenRef, ref);\n const normalizedTransitionCallback = callback => isAppearing => {\n if (callback) {\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (isAppearing === undefined) {\n callback(childrenRef.current);\n } else {\n callback(childrenRef.current, isAppearing);\n }\n }\n };\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n setTranslateValue(direction, node, containerProp);\n reflow(node);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntering = normalizedTransitionCallback((node, isAppearing) => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps));\n node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps));\n node.style.webkitTransform = 'none';\n node.style.transform = 'none';\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n setTranslateValue(direction, node, containerProp);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(node => {\n // No need for transitions when the component is hidden\n node.style.webkitTransition = '';\n node.style.transition = '';\n if (onExited) {\n onExited(node);\n }\n });\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(childrenRef.current, next);\n }\n };\n const updatePosition = React.useCallback(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n }, [direction, containerProp]);\n React.useEffect(() => {\n // Skip configuration where the position is screen size invariant.\n if (inProp || direction === 'down' || direction === 'right') {\n return undefined;\n }\n const handleResize = debounce(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n });\n const containerWindow = ownerWindow(childrenRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [direction, inProp, containerProp]);\n React.useEffect(() => {\n if (!inProp) {\n // We need to update the position of the drawer when the direction change and\n // when it's hidden.\n updatePosition();\n }\n }, [inProp, updatePosition]);\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n nodeRef: childrenRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n appear: appear,\n in: inProp,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n ref: handleRef,\n style: _extends({\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, style, children.props.style)\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Slide.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the container the Slide is transitioning from.\n */\n container: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open) {\n const resolvedContainer = resolveContainer(props.container);\n if (resolvedContainer && resolvedContainer.nodeType === 1) {\n const box = resolvedContainer.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `container` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else if (!resolvedContainer || typeof resolvedContainer.getBoundingClientRect !== 'function' || resolvedContainer.contextElement != null && resolvedContainer.contextElement.nodeType !== 1) {\n return new Error(['MUI: The `container` prop provided to the component is invalid.', 'It should be an HTML element instance.'].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * Direction the child node will enter from.\n * @default 'down'\n */\n direction: PropTypes.oneOf(['down', 'left', 'right', 'up']),\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n * @default {\n * enter: theme.transitions.easing.easeOut,\n * exit: theme.transitions.easing.sharp,\n * }\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Slide;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDrawerUtilityClass(slot) {\n return generateUtilityClass('MuiDrawer', slot);\n}\nconst drawerClasses = generateUtilityClasses('MuiDrawer', ['root', 'docked', 'paper', 'paperAnchorLeft', 'paperAnchorRight', 'paperAnchorTop', 'paperAnchorBottom', 'paperAnchorDockedLeft', 'paperAnchorDockedRight', 'paperAnchorDockedTop', 'paperAnchorDockedBottom', 'modal']);\nexport default drawerClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropProps\"],\n _excluded2 = [\"anchor\", \"BackdropProps\", \"children\", \"className\", \"elevation\", \"hideBackdrop\", \"ModalProps\", \"onClose\", \"open\", \"PaperProps\", \"SlideProps\", \"TransitionComponent\", \"transitionDuration\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport Modal from '../Modal';\nimport Slide from '../Slide';\nimport Paper from '../Paper';\nimport capitalize from '../utils/capitalize';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getDrawerUtilityClass } from './drawerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, styles.modal];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n anchor,\n variant\n } = ownerState;\n const slots = {\n root: ['root'],\n docked: [(variant === 'permanent' || variant === 'persistent') && 'docked'],\n modal: ['modal'],\n paper: ['paper', `paperAnchor${capitalize(anchor)}`, variant !== 'temporary' && `paperAnchorDocked${capitalize(anchor)}`]\n };\n return composeClasses(slots, getDrawerUtilityClass, classes);\n};\nconst DrawerRoot = styled(Modal, {\n name: 'MuiDrawer',\n slot: 'Root',\n overridesResolver\n})(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.drawer\n}));\nconst DrawerDockedRoot = styled('div', {\n shouldForwardProp: rootShouldForwardProp,\n name: 'MuiDrawer',\n slot: 'Docked',\n skipVariantsResolver: false,\n overridesResolver\n})({\n flex: '0 0 auto'\n});\nconst DrawerPaper = styled(Paper, {\n name: 'MuiDrawer',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`paperAnchor${capitalize(ownerState.anchor)}`], ownerState.variant !== 'temporary' && styles[`paperAnchorDocked${capitalize(ownerState.anchor)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n flex: '1 0 auto',\n zIndex: (theme.vars || theme).zIndex.drawer,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n // temporary style\n position: 'fixed',\n top: 0,\n // We disable the focus ring for mouse, touch and keyboard users.\n // At some point, it would be better to keep it for keyboard users.\n // :focus-ring CSS pseudo-class will help.\n outline: 0\n}, ownerState.anchor === 'left' && {\n left: 0\n}, ownerState.anchor === 'top' && {\n top: 0,\n left: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'right' && {\n right: 0\n}, ownerState.anchor === 'bottom' && {\n top: 'auto',\n left: 0,\n bottom: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'left' && ownerState.variant !== 'temporary' && {\n borderRight: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'top' && ownerState.variant !== 'temporary' && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'right' && ownerState.variant !== 'temporary' && {\n borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'bottom' && ownerState.variant !== 'temporary' && {\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`\n}));\nconst oppositeDirection = {\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up'\n};\nexport function isHorizontal(anchor) {\n return ['left', 'right'].indexOf(anchor) !== -1;\n}\nexport function getAnchor({\n direction\n}, anchor) {\n return direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;\n}\n\n/**\n * The props of the [Modal](/material-ui/api/modal/) component are available\n * when `variant=\"temporary\"` is set.\n */\nconst Drawer = /*#__PURE__*/React.forwardRef(function Drawer(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDrawer'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n anchor: anchorProp = 'left',\n BackdropProps,\n children,\n className,\n elevation = 16,\n hideBackdrop = false,\n ModalProps: {\n BackdropProps: BackdropPropsProp\n } = {},\n onClose,\n open = false,\n PaperProps = {},\n SlideProps,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Slide,\n transitionDuration = defaultTransitionDuration,\n variant = 'temporary'\n } = props,\n ModalProps = _objectWithoutPropertiesLoose(props.ModalProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n\n // Let's assume that the Drawer will always be rendered on user space.\n // We use this state is order to skip the appear transition during the\n // initial mount of the component.\n const mounted = React.useRef(false);\n React.useEffect(() => {\n mounted.current = true;\n }, []);\n const anchorInvariant = getAnchor({\n direction: isRtl ? 'rtl' : 'ltr'\n }, anchorProp);\n const anchor = anchorProp;\n const ownerState = _extends({}, props, {\n anchor,\n elevation,\n open,\n variant\n }, other);\n const classes = useUtilityClasses(ownerState);\n const drawer = /*#__PURE__*/_jsx(DrawerPaper, _extends({\n elevation: variant === 'temporary' ? elevation : 0,\n square: true\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className),\n ownerState: ownerState,\n children: children\n }));\n if (variant === 'permanent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: drawer\n }));\n }\n const slidingDrawer = /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n direction: oppositeDirection[anchorInvariant],\n timeout: transitionDuration,\n appear: mounted.current\n }, SlideProps, {\n children: drawer\n }));\n if (variant === 'persistent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: slidingDrawer\n }));\n }\n\n // variant === temporary\n return /*#__PURE__*/_jsx(DrawerRoot, _extends({\n BackdropProps: _extends({}, BackdropProps, BackdropPropsProp, {\n transitionDuration\n }),\n className: clsx(classes.root, classes.modal, className),\n open: open,\n ownerState: ownerState,\n onClose: onClose,\n hideBackdrop: hideBackdrop,\n ref: ref\n }, other, ModalProps, {\n children: slidingDrawer\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Drawer.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Side from which the drawer will appear.\n * @default 'left'\n */\n anchor: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The elevation of the drawer.\n * @default 16\n */\n elevation: integerPropType,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Props applied to the [`Modal`](/material-ui/api/modal/) element.\n * @default {}\n */\n ModalProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes.object,\n /**\n * Props applied to the [`Slide`](/material-ui/api/slide/) element.\n */\n SlideProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * The variant to use.\n * @default 'temporary'\n */\n variant: PropTypes.oneOf(['permanent', 'persistent', 'temporary'])\n} : void 0;\nexport default Drawer;","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createStack } from '@mui/system';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nconst Stack = createStack({\n createStyledComponent: styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n }),\n useThemeProps: inProps => useThemeProps({\n props: inProps,\n name: 'MuiStack'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.\n *\n * While CSS `gap` removes the [known limitations](https://mui.com/joy-ui/react-stack/#limitations),\n * it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.\n *\n * To enable this flag globally, follow the [theme's default props](https://mui.com/material-ui/customization/theme-components/#default-props) configuration.\n * @default false\n */\n useFlexGap: PropTypes.bool\n} : void 0;\nexport default Stack;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormControlLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControlLabel', slot);\n}\nconst formControlLabelClasses = generateUtilityClasses('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error', 'required', 'asterisk']);\nexport default formControlLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checked\", \"className\", \"componentsProps\", \"control\", \"disabled\", \"disableTypography\", \"inputRef\", \"label\", \"labelPlacement\", \"name\", \"onChange\", \"required\", \"slotProps\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useFormControl } from '../FormControl';\nimport Stack from '../Stack';\nimport Typography from '../Typography';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport formControlLabelClasses, { getFormControlLabelUtilityClasses } from './formControlLabelClasses';\nimport formControlState from '../FormControl/formControlState';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n labelPlacement,\n error,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', `labelPlacement${capitalize(labelPlacement)}`, error && 'error', required && 'required'],\n label: ['label', disabled && 'disabled'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormControlLabelUtilityClasses, classes);\n};\nexport const FormControlLabelRoot = styled('label', {\n name: 'MuiFormControlLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formControlLabelClasses.label}`]: styles.label\n }, styles.root, styles[`labelPlacement${capitalize(ownerState.labelPlacement)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n [`&.${formControlLabelClasses.disabled}`]: {\n cursor: 'default'\n }\n}, ownerState.labelPlacement === 'start' && {\n flexDirection: 'row-reverse',\n marginLeft: 16,\n // used for row presentation of radio/checkbox\n marginRight: -11\n}, ownerState.labelPlacement === 'top' && {\n flexDirection: 'column-reverse',\n marginLeft: 16\n}, ownerState.labelPlacement === 'bottom' && {\n flexDirection: 'column',\n marginLeft: 16\n}, {\n [`& .${formControlLabelClasses.label}`]: {\n [`&.${formControlLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormControlLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formControlLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\n\n/**\n * Drop-in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\nconst FormControlLabel = /*#__PURE__*/React.forwardRef(function FormControlLabel(inProps, ref) {\n var _ref, _slotProps$typography;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormControlLabel'\n });\n const {\n className,\n componentsProps = {},\n control,\n disabled: disabledProp,\n disableTypography,\n label: labelProp,\n labelPlacement = 'end',\n required: requiredProp,\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const disabled = (_ref = disabledProp != null ? disabledProp : control.props.disabled) != null ? _ref : muiFormControl == null ? void 0 : muiFormControl.disabled;\n const required = requiredProp != null ? requiredProp : control.props.required;\n const controlProps = {\n disabled,\n required\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(key => {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = _extends({}, props, {\n disabled,\n labelPlacement,\n required,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n const typographySlotProps = (_slotProps$typography = slotProps.typography) != null ? _slotProps$typography : componentsProps.typography;\n let label = labelProp;\n if (label != null && label.type !== Typography && !disableTypography) {\n label = /*#__PURE__*/_jsx(Typography, _extends({\n component: \"span\"\n }, typographySlotProps, {\n className: clsx(classes.label, typographySlotProps == null ? void 0 : typographySlotProps.className),\n children: label\n }));\n }\n return /*#__PURE__*/_jsxs(FormControlLabelRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/React.cloneElement(control, controlProps), required ? /*#__PURE__*/_jsxs(Stack, {\n display: \"block\",\n children: [label, /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }) : label]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControlLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component appears selected.\n */\n checked: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: PropTypes.element.isRequired,\n /**\n * If `true`, the control is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is rendered as it is passed without an additional typography node.\n */\n disableTypography: PropTypes.bool,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * A text or an element to be used in an enclosing label element.\n */\n label: PropTypes.node,\n /**\n * The position of the label.\n * @default 'end'\n */\n labelPlacement: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * @ignore\n */\n name: PropTypes.string,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default FormControlLabel;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormGroupUtilityClass(slot) {\n return generateUtilityClass('MuiFormGroup', slot);\n}\nconst formGroupClasses = generateUtilityClasses('MuiFormGroup', ['root', 'row', 'error']);\nexport default formGroupClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"row\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getFormGroupUtilityClass } from './formGroupClasses';\nimport useFormControl from '../FormControl/useFormControl';\nimport formControlState from '../FormControl/formControlState';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n row,\n error\n } = ownerState;\n const slots = {\n root: ['root', row && 'row', error && 'error']\n };\n return composeClasses(slots, getFormGroupUtilityClass, classes);\n};\nconst FormGroupRoot = styled('div', {\n name: 'MuiFormGroup',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.row && styles.row];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap'\n}, ownerState.row && {\n flexDirection: 'row'\n}));\n\n/**\n * `FormGroup` wraps controls such as `Checkbox` and `Switch`.\n * It provides compact row layout.\n * For the `Radio`, you should be using the `RadioGroup` component instead of this one.\n */\nconst FormGroup = /*#__PURE__*/React.forwardRef(function FormGroup(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormGroup'\n });\n const {\n className,\n row = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = _extends({}, props, {\n row,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormGroupRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormGroup.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Display group of elements in a compact row.\n * @default false\n */\n row: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormGroup;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: (theme.vars || theme).palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ? ( /* notranslate needed while Google Translate will not fix zero-width space issue */_span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n }))) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemUtilityClass(slot) {\n return generateUtilityClass('MuiListItem', slot);\n}\nconst listItemClasses = generateUtilityClasses('MuiListItem', ['root', 'container', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'padding', 'button', 'secondaryAction', 'selected']);\nexport default listItemClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemButtonUtilityClass(slot) {\n return generateUtilityClass('MuiListItemButton', slot);\n}\nconst listItemButtonClasses = generateUtilityClasses('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']);\nexport default listItemButtonClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alignItems\", \"autoFocus\", \"component\", \"children\", \"dense\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disabled,\n disableGutters,\n divider,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', divider && 'divider', disabled && 'disabled', alignItems === 'flex-start' && 'alignItemsFlexStart', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst ListItemButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiListItemButton',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minWidth: 0,\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemButtonClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemButtonClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemButtonClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}));\nconst ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemButton'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n component = 'div',\n children,\n dense = false,\n disableGutters = false,\n divider = false,\n focusVisibleClassName,\n selected = false,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n alignItems,\n dense: childContext.dense,\n disableGutters,\n divider,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(ListItemButtonRoot, _extends({\n ref: handleRef,\n href: other.href || other.to\n // `ButtonBase` processes `href` or `to` if `component` is set to 'button'\n ,\n component: (other.href || other.to) && component === 'div' ? 'button' : component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes.string,\n /**\n * Use to apply selected styling.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemSecondaryActionClassesUtilityClass(slot) {\n return generateUtilityClass('MuiListItemSecondaryAction', slot);\n}\nconst listItemSecondaryActionClasses = generateUtilityClasses('MuiListItemSecondaryAction', ['root', 'disableGutters']);\nexport default listItemSecondaryActionClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport { getListItemSecondaryActionClassesUtilityClass } from './listItemSecondaryActionClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disableGutters,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getListItemSecondaryActionClassesUtilityClass, classes);\n};\nconst ListItemSecondaryActionRoot = styled('div', {\n name: 'MuiListItemSecondaryAction',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.disableGutters && styles.disableGutters];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'absolute',\n right: 16,\n top: '50%',\n transform: 'translateY(-50%)'\n}, ownerState.disableGutters && {\n right: 0\n}));\n\n/**\n * Must be used as the last child of ListItem to function properly.\n */\nconst ListItemSecondaryAction = /*#__PURE__*/React.forwardRef(function ListItemSecondaryAction(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemSecondaryAction'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const ownerState = _extends({}, props, {\n disableGutters: context.disableGutters\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemSecondaryActionRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemSecondaryAction.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or selection control.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nListItemSecondaryAction.muiName = 'ListItemSecondaryAction';\nexport default ListItemSecondaryAction;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"],\n _excluded2 = [\"alignItems\", \"autoFocus\", \"button\", \"children\", \"className\", \"component\", \"components\", \"componentsProps\", \"ContainerComponent\", \"ContainerProps\", \"dense\", \"disabled\", \"disableGutters\", \"disablePadding\", \"divider\", \"focusVisibleClassName\", \"secondaryAction\", \"selected\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { isHostComponent } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport isMuiElement from '../utils/isMuiElement';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemClasses, { getListItemUtilityClass } from './listItemClasses';\nimport { listItemButtonClasses } from '../ListItemButton';\nimport ListItemSecondaryAction from '../ListItemSecondaryAction';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters, !ownerState.disablePadding && styles.padding, ownerState.button && styles.button, ownerState.hasSecondaryAction && styles.secondaryAction];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n button,\n classes,\n dense,\n disabled,\n disableGutters,\n disablePadding,\n divider,\n hasSecondaryAction,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', !disablePadding && 'padding', divider && 'divider', disabled && 'disabled', button && 'button', alignItems === 'flex-start' && 'alignItemsFlexStart', hasSecondaryAction && 'secondaryAction', selected && 'selected'],\n container: ['container']\n };\n return composeClasses(slots, getListItemUtilityClass, classes);\n};\nexport const ListItemRoot = styled('div', {\n name: 'MuiListItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n width: '100%',\n boxSizing: 'border-box',\n textAlign: 'left'\n}, !ownerState.disablePadding && _extends({\n paddingTop: 8,\n paddingBottom: 8\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, !!ownerState.secondaryAction && {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n}), !!ownerState.secondaryAction && {\n [`& > .${listItemButtonClasses.root}`]: {\n paddingRight: 48\n }\n}, {\n [`&.${listItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.button && {\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n }\n}, ownerState.hasSecondaryAction && {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n}));\nconst ListItemContainer = styled('li', {\n name: 'MuiListItem',\n slot: 'Container',\n overridesResolver: (props, styles) => styles.container\n})({\n position: 'relative'\n});\n\n/**\n * Uses an additional container component if `ListItemSecondaryAction` is the last child.\n */\nconst ListItem = /*#__PURE__*/React.forwardRef(function ListItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItem'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n button = false,\n children: childrenProp,\n className,\n component: componentProp,\n components = {},\n componentsProps = {},\n ContainerComponent = 'li',\n ContainerProps: {\n className: ContainerClassName\n } = {},\n dense = false,\n disabled = false,\n disableGutters = false,\n disablePadding = false,\n divider = false,\n focusVisibleClassName,\n secondaryAction,\n selected = false,\n slotProps = {},\n slots = {}\n } = props,\n ContainerProps = _objectWithoutPropertiesLoose(props.ContainerProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const children = React.Children.toArray(childrenProp);\n\n // v4 implementation, deprecated in v5, will be removed in v6\n const hasSecondaryAction = children.length && isMuiElement(children[children.length - 1], ['ListItemSecondaryAction']);\n const ownerState = _extends({}, props, {\n alignItems,\n autoFocus,\n button,\n dense: childContext.dense,\n disabled,\n disableGutters,\n disablePadding,\n divider,\n hasSecondaryAction,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n const Root = slots.root || components.Root || ListItemRoot;\n const rootProps = slotProps.root || componentsProps.root || {};\n const componentProps = _extends({\n className: clsx(classes.root, rootProps.className, className),\n disabled\n }, other);\n let Component = componentProp || 'li';\n if (button) {\n componentProps.component = componentProp || 'div';\n componentProps.focusVisibleClassName = clsx(listItemClasses.focusVisible, focusVisibleClassName);\n Component = ButtonBase;\n }\n\n // v4 implementation, deprecated in v5, will be removed in v6\n if (hasSecondaryAction) {\n // Use div by default.\n Component = !componentProps.component && !componentProp ? 'div' : Component;\n\n // Avoid nesting of li > li.\n if (ContainerComponent === 'li') {\n if (Component === 'li') {\n Component = 'div';\n } else if (componentProps.component === 'li') {\n componentProps.component = 'div';\n }\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsxs(ListItemContainer, _extends({\n as: ContainerComponent,\n className: clsx(classes.container, ContainerClassName),\n ref: handleRef,\n ownerState: ownerState\n }, ContainerProps, {\n children: [/*#__PURE__*/_jsx(Root, _extends({}, rootProps, !isHostComponent(Root) && {\n as: Component,\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, componentProps, {\n children: children\n })), children.pop()]\n }))\n });\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {\n as: Component,\n ref: handleRef\n }, !isHostComponent(Root) && {\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, componentProps, {\n children: [children, secondaryAction && /*#__PURE__*/_jsx(ListItemSecondaryAction, {\n children: secondaryAction\n })]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the list item is a button (using `ButtonBase`). Props intended\n * for `ButtonBase` can then be applied to `ListItem`.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n button: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: chainPropTypes(PropTypes.node, props => {\n const children = React.Children.toArray(props.children);\n\n // React.Children.toArray(props.children).findLastIndex(isListItemSecondaryAction)\n let secondaryActionIndex = -1;\n for (let i = children.length - 1; i >= 0; i -= 1) {\n const child = children[i];\n if (isMuiElement(child, ['ListItemSecondaryAction'])) {\n secondaryActionIndex = i;\n break;\n }\n }\n\n // is ListItemSecondaryAction the last child of ListItem\n if (secondaryActionIndex !== -1 && secondaryActionIndex !== children.length - 1) {\n return new Error('MUI: You used an element after ListItemSecondaryAction. ' + 'For ListItem to detect that it has a secondary action ' + 'you must pass it as the last child to ListItem.');\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The container component used when a `ListItemSecondaryAction` is the last child.\n * @default 'li'\n * @deprecated\n */\n ContainerComponent: elementTypeAcceptingRef,\n /**\n * Props applied to the container component if used.\n * @default {}\n * @deprecated\n */\n ContainerProps: PropTypes.object,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, all padding is removed.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * The element to display at the end of ListItem.\n */\n secondaryAction: PropTypes.node,\n /**\n * Use to apply selected styling.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n selected: PropTypes.bool,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItem;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemIconUtilityClass(slot) {\n return generateUtilityClass('MuiListItemIcon', slot);\n}\nconst listItemIconClasses = generateUtilityClasses('MuiListItemIcon', ['root', 'alignItemsFlexStart']);\nexport default listItemIconClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getListItemIconUtilityClass } from './listItemIconClasses';\nimport ListContext from '../List/ListContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes\n } = ownerState;\n const slots = {\n root: ['root', alignItems === 'flex-start' && 'alignItemsFlexStart']\n };\n return composeClasses(slots, getListItemIconUtilityClass, classes);\n};\nconst ListItemIconRoot = styled('div', {\n name: 'MuiListItemIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n minWidth: 56,\n color: (theme.vars || theme).palette.action.active,\n flexShrink: 0,\n display: 'inline-flex'\n}, ownerState.alignItems === 'flex-start' && {\n marginTop: 8\n}));\n\n/**\n * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`.\n */\nconst ListItemIcon = /*#__PURE__*/React.forwardRef(function ListItemIcon(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemIcon'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const ownerState = _extends({}, props, {\n alignItems: context.alignItems\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemIconRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `Icon`, `SvgIcon`,\n * or a `@mui/icons-material` SVG icon element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemIcon;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemTextUtilityClass(slot) {\n return generateUtilityClass('MuiListItemText', slot);\n}\nconst listItemTextClasses = generateUtilityClasses('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']);\nexport default listItemTextClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"disableTypography\", \"inset\", \"primary\", \"primaryTypographyProps\", \"secondary\", \"secondaryTypographyProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Typography from '../Typography';\nimport ListContext from '../List/ListContext';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport listItemTextClasses, { getListItemTextUtilityClass } from './listItemTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n inset,\n primary,\n secondary,\n dense\n } = ownerState;\n const slots = {\n root: ['root', inset && 'inset', dense && 'dense', primary && secondary && 'multiline'],\n primary: ['primary'],\n secondary: ['secondary']\n };\n return composeClasses(slots, getListItemTextUtilityClass, classes);\n};\nconst ListItemTextRoot = styled('div', {\n name: 'MuiListItemText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${listItemTextClasses.primary}`]: styles.primary\n }, {\n [`& .${listItemTextClasses.secondary}`]: styles.secondary\n }, styles.root, ownerState.inset && styles.inset, ownerState.primary && ownerState.secondary && styles.multiline, ownerState.dense && styles.dense];\n }\n})(({\n ownerState\n}) => _extends({\n flex: '1 1 auto',\n minWidth: 0,\n marginTop: 4,\n marginBottom: 4\n}, ownerState.primary && ownerState.secondary && {\n marginTop: 6,\n marginBottom: 6\n}, ownerState.inset && {\n paddingLeft: 56\n}));\nconst ListItemText = /*#__PURE__*/React.forwardRef(function ListItemText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemText'\n });\n const {\n children,\n className,\n disableTypography = false,\n inset = false,\n primary: primaryProp,\n primaryTypographyProps,\n secondary: secondaryProp,\n secondaryTypographyProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n dense\n } = React.useContext(ListContext);\n let primary = primaryProp != null ? primaryProp : children;\n let secondary = secondaryProp;\n const ownerState = _extends({}, props, {\n disableTypography,\n inset,\n primary: !!primary,\n secondary: !!secondary,\n dense\n });\n const classes = useUtilityClasses(ownerState);\n if (primary != null && primary.type !== Typography && !disableTypography) {\n primary = /*#__PURE__*/_jsx(Typography, _extends({\n variant: dense ? 'body2' : 'body1',\n className: classes.primary,\n component: primaryTypographyProps != null && primaryTypographyProps.variant ? undefined : 'span',\n display: \"block\"\n }, primaryTypographyProps, {\n children: primary\n }));\n }\n if (secondary != null && secondary.type !== Typography && !disableTypography) {\n secondary = /*#__PURE__*/_jsx(Typography, _extends({\n variant: \"body2\",\n className: classes.secondary,\n color: \"text.secondary\",\n display: \"block\"\n }, secondaryTypographyProps, {\n children: secondary\n }));\n }\n return /*#__PURE__*/_jsxs(ListItemTextRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [primary, secondary]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Alias for the `primary` prop.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the children won't be wrapped by a Typography component.\n * This can be useful to render an alternative Typography variant by wrapping\n * the `children` (or `primary`) text, and optional `secondary` text\n * with the Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * If `true`, the children are indented.\n * This should be used if there is no left avatar or left icon.\n * @default false\n */\n inset: PropTypes.bool,\n /**\n * The main content element.\n */\n primary: PropTypes.node,\n /**\n * These props will be forwarded to the primary typography component\n * (as long as disableTypography is not `true`).\n */\n primaryTypographyProps: PropTypes.object,\n /**\n * The secondary content element.\n */\n secondary: PropTypes.node,\n /**\n * These props will be forwarded to the secondary typography component\n * (as long as disableTypography is not `true`).\n */\n secondaryTypographyProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemText;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://m2.material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n disableGutters\n }), [context.dense, dense, disableGutters]);\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n className: clsx(classes.root, className)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * If `true`, the component is selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import { isHostComponent } from '@mui/base/utils';\nconst shouldSpreadAdditionalProps = Slot => {\n return !Slot || !isHostComponent(Slot);\n};\nexport default shouldSpreadAdditionalProps;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSliderUtilityClass(slot) {\n return generateUtilityClass('MuiSlider', slot);\n}\nconst sliderClasses = generateUtilityClasses('MuiSlider', ['root', 'active', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'disabled', 'dragging', 'focusVisible', 'mark', 'markActive', 'marked', 'markLabel', 'markLabelActive', 'rail', 'sizeSmall', 'thumb', 'thumbColorPrimary', 'thumbColorSecondary', 'thumbColorError', 'thumbColorSuccess', 'thumbColorInfo', 'thumbColorWarning', 'track', 'trackInverted', 'trackFalse', 'thumbSizeSmall', 'valueLabel', 'valueLabelOpen', 'valueLabelCircle', 'valueLabelLabel', 'vertical']);\nexport default sliderClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport sliderClasses from './sliderClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useValueLabelClasses = props => {\n const {\n open\n } = props;\n const utilityClasses = {\n offset: clsx(open && sliderClasses.valueLabelOpen),\n circle: sliderClasses.valueLabelCircle,\n label: sliderClasses.valueLabelLabel\n };\n return utilityClasses;\n};\n\n/**\n * @ignore - internal component.\n */\nexport default function SliderValueLabel(props) {\n const {\n children,\n className,\n value\n } = props;\n const classes = useValueLabelClasses(props);\n if (!children) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(children, {\n className: clsx(children.props.className)\n }, /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children.props.children, /*#__PURE__*/_jsx(\"span\", {\n className: clsx(classes.offset, className),\n \"aria-hidden\": true,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: classes.circle,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: classes.label,\n children: value\n })\n })\n })]\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? SliderValueLabel.propTypes = {\n children: PropTypes.element.isRequired,\n className: PropTypes.string,\n value: PropTypes.node\n} : void 0;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-label\", \"aria-valuetext\", \"aria-labelledby\", \"component\", \"components\", \"componentsProps\", \"color\", \"classes\", \"className\", \"disableSwap\", \"disabled\", \"getAriaLabel\", \"getAriaValueText\", \"marks\", \"max\", \"min\", \"name\", \"onChange\", \"onChangeCommitted\", \"orientation\", \"shiftStep\", \"size\", \"step\", \"scale\", \"slotProps\", \"slots\", \"tabIndex\", \"track\", \"value\", \"valueLabelDisplay\", \"valueLabelFormat\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport { isHostComponent, useSlotProps } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useSlider, valueToPercent } from '@mui/base/useSlider';\nimport { alpha, lighten, darken } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport slotShouldForwardProp from '../styles/slotShouldForwardProp';\nimport shouldSpreadAdditionalProps from '../utils/shouldSpreadAdditionalProps';\nimport capitalize from '../utils/capitalize';\nimport BaseSliderValueLabel from './SliderValueLabel';\nimport sliderClasses, { getSliderUtilityClass } from './sliderClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useThemeProps = createUseThemeProps('MuiSlider');\nfunction Identity(x) {\n return x;\n}\nexport const SliderRoot = styled('span', {\n name: 'MuiSlider',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`color${capitalize(ownerState.color)}`], ownerState.size !== 'medium' && styles[`size${capitalize(ownerState.size)}`], ownerState.marked && styles.marked, ownerState.orientation === 'vertical' && styles.vertical, ownerState.track === 'inverted' && styles.trackInverted, ownerState.track === false && styles.trackFalse];\n }\n})(({\n theme\n}) => {\n var _theme$vars;\n return {\n borderRadius: 12,\n boxSizing: 'content-box',\n display: 'inline-block',\n position: 'relative',\n cursor: 'pointer',\n touchAction: 'none',\n WebkitTapHighlightColor: 'transparent',\n '@media print': {\n colorAdjust: 'exact'\n },\n [`&.${sliderClasses.disabled}`]: {\n pointerEvents: 'none',\n cursor: 'default',\n color: (theme.vars || theme).palette.grey[400]\n },\n [`&.${sliderClasses.dragging}`]: {\n [`& .${sliderClasses.thumb}, & .${sliderClasses.track}`]: {\n transition: 'none'\n }\n },\n variants: [...Object.keys(((_theme$vars = theme.vars) != null ? _theme$vars : theme).palette).filter(key => {\n var _theme$vars2;\n return ((_theme$vars2 = theme.vars) != null ? _theme$vars2 : theme).palette[key].main;\n }).map(color => ({\n props: {\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].main\n }\n })), {\n props: {\n orientation: 'horizontal'\n },\n style: {\n height: 4,\n width: '100%',\n padding: '13px 0',\n // The primary input mechanism of the device includes a pointing device of limited accuracy.\n '@media (pointer: coarse)': {\n // Reach 42px touch target, about ~8mm on screen.\n padding: '20px 0'\n }\n }\n }, {\n props: {\n orientation: 'horizontal',\n size: 'small'\n },\n style: {\n height: 2\n }\n }, {\n props: {\n orientation: 'horizontal',\n marked: true\n },\n style: {\n marginBottom: 20\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n height: '100%',\n width: 4,\n padding: '0 13px',\n // The primary input mechanism of the device includes a pointing device of limited accuracy.\n '@media (pointer: coarse)': {\n // Reach 42px touch target, about ~8mm on screen.\n padding: '0 20px'\n }\n }\n }, {\n props: {\n orientation: 'vertical',\n size: 'small'\n },\n style: {\n width: 2\n }\n }, {\n props: {\n orientation: 'vertical',\n marked: true\n },\n style: {\n marginRight: 44\n }\n }]\n };\n});\nexport const SliderRail = styled('span', {\n name: 'MuiSlider',\n slot: 'Rail',\n overridesResolver: (props, styles) => styles.rail\n})({\n display: 'block',\n position: 'absolute',\n borderRadius: 'inherit',\n backgroundColor: 'currentColor',\n opacity: 0.38,\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n width: '100%',\n height: 'inherit',\n top: '50%',\n transform: 'translateY(-50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n height: '100%',\n width: 'inherit',\n left: '50%',\n transform: 'translateX(-50%)'\n }\n }, {\n props: {\n track: 'inverted'\n },\n style: {\n opacity: 1\n }\n }]\n});\nexport const SliderTrack = styled('span', {\n name: 'MuiSlider',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => {\n var _theme$vars3;\n return {\n display: 'block',\n position: 'absolute',\n borderRadius: 'inherit',\n border: '1px solid currentColor',\n backgroundColor: 'currentColor',\n transition: theme.transitions.create(['left', 'width', 'bottom', 'height'], {\n duration: theme.transitions.duration.shortest\n }),\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n border: 'none'\n }\n }, {\n props: {\n orientation: 'horizontal'\n },\n style: {\n height: 'inherit',\n top: '50%',\n transform: 'translateY(-50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n width: 'inherit',\n left: '50%',\n transform: 'translateX(-50%)'\n }\n }, {\n props: {\n track: false\n },\n style: {\n display: 'none'\n }\n }, ...Object.keys(((_theme$vars3 = theme.vars) != null ? _theme$vars3 : theme).palette).filter(key => {\n var _theme$vars4;\n return ((_theme$vars4 = theme.vars) != null ? _theme$vars4 : theme).palette[key].main;\n }).map(color => ({\n props: {\n color,\n track: 'inverted'\n },\n style: _extends({}, theme.vars ? {\n backgroundColor: theme.vars.palette.Slider[`${color}Track`],\n borderColor: theme.vars.palette.Slider[`${color}Track`]\n } : _extends({\n backgroundColor: lighten(theme.palette[color].main, 0.62),\n borderColor: lighten(theme.palette[color].main, 0.62)\n }, theme.applyStyles('dark', {\n backgroundColor: darken(theme.palette[color].main, 0.5)\n }), theme.applyStyles('dark', {\n borderColor: darken(theme.palette[color].main, 0.5)\n })))\n }))]\n };\n});\nexport const SliderThumb = styled('span', {\n name: 'MuiSlider',\n slot: 'Thumb',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.thumb, styles[`thumbColor${capitalize(ownerState.color)}`], ownerState.size !== 'medium' && styles[`thumbSize${capitalize(ownerState.size)}`]];\n }\n})(({\n theme\n}) => {\n var _theme$vars5;\n return {\n position: 'absolute',\n width: 20,\n height: 20,\n boxSizing: 'border-box',\n borderRadius: '50%',\n outline: 0,\n backgroundColor: 'currentColor',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: theme.transitions.create(['box-shadow', 'left', 'bottom'], {\n duration: theme.transitions.duration.shortest\n }),\n '&::before': {\n position: 'absolute',\n content: '\"\"',\n borderRadius: 'inherit',\n width: '100%',\n height: '100%',\n boxShadow: (theme.vars || theme).shadows[2]\n },\n '&::after': {\n position: 'absolute',\n content: '\"\"',\n borderRadius: '50%',\n // 42px is the hit target\n width: 42,\n height: 42,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)'\n },\n [`&.${sliderClasses.disabled}`]: {\n '&:hover': {\n boxShadow: 'none'\n }\n },\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n width: 12,\n height: 12,\n '&::before': {\n boxShadow: 'none'\n }\n }\n }, {\n props: {\n orientation: 'horizontal'\n },\n style: {\n top: '50%',\n transform: 'translate(-50%, -50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n left: '50%',\n transform: 'translate(-50%, 50%)'\n }\n }, ...Object.keys(((_theme$vars5 = theme.vars) != null ? _theme$vars5 : theme).palette).filter(key => {\n var _theme$vars6;\n return ((_theme$vars6 = theme.vars) != null ? _theme$vars6 : theme).palette[key].main;\n }).map(color => ({\n props: {\n color\n },\n style: {\n [`&:hover, &.${sliderClasses.focusVisible}`]: _extends({}, theme.vars ? {\n boxShadow: `0px 0px 0px 8px rgba(${theme.vars.palette[color].mainChannel} / 0.16)`\n } : {\n boxShadow: `0px 0px 0px 8px ${alpha(theme.palette[color].main, 0.16)}`\n }, {\n '@media (hover: none)': {\n boxShadow: 'none'\n }\n }),\n [`&.${sliderClasses.active}`]: _extends({}, theme.vars ? {\n boxShadow: `0px 0px 0px 14px rgba(${theme.vars.palette[color].mainChannel} / 0.16)}`\n } : {\n boxShadow: `0px 0px 0px 14px ${alpha(theme.palette[color].main, 0.16)}`\n })\n }\n }))]\n };\n});\nexport const SliderValueLabel = styled(BaseSliderValueLabel, {\n name: 'MuiSlider',\n slot: 'ValueLabel',\n overridesResolver: (props, styles) => styles.valueLabel\n})(({\n theme\n}) => _extends({\n zIndex: 1,\n whiteSpace: 'nowrap'\n}, theme.typography.body2, {\n fontWeight: 500,\n transition: theme.transitions.create(['transform'], {\n duration: theme.transitions.duration.shortest\n }),\n position: 'absolute',\n backgroundColor: (theme.vars || theme).palette.grey[600],\n borderRadius: 2,\n color: (theme.vars || theme).palette.common.white,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '0.25rem 0.75rem',\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n transform: 'translateY(-100%) scale(0)',\n top: '-10px',\n transformOrigin: 'bottom center',\n '&::before': {\n position: 'absolute',\n content: '\"\"',\n width: 8,\n height: 8,\n transform: 'translate(-50%, 50%) rotate(45deg)',\n backgroundColor: 'inherit',\n bottom: 0,\n left: '50%'\n },\n [`&.${sliderClasses.valueLabelOpen}`]: {\n transform: 'translateY(-100%) scale(1)'\n }\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n transform: 'translateY(-50%) scale(0)',\n right: '30px',\n top: '50%',\n transformOrigin: 'right center',\n '&::before': {\n position: 'absolute',\n content: '\"\"',\n width: 8,\n height: 8,\n transform: 'translate(-50%, -50%) rotate(45deg)',\n backgroundColor: 'inherit',\n right: -8,\n top: '50%'\n },\n [`&.${sliderClasses.valueLabelOpen}`]: {\n transform: 'translateY(-50%) scale(1)'\n }\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n fontSize: theme.typography.pxToRem(12),\n padding: '0.25rem 0.5rem'\n }\n }, {\n props: {\n orientation: 'vertical',\n size: 'small'\n },\n style: {\n right: '20px'\n }\n }]\n}));\nexport const SliderMark = styled('span', {\n name: 'MuiSlider',\n slot: 'Mark',\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'markActive',\n overridesResolver: (props, styles) => {\n const {\n markActive\n } = props;\n return [styles.mark, markActive && styles.markActive];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n width: 2,\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n top: '50%',\n transform: 'translate(-1px, -50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n left: '50%',\n transform: 'translate(-50%, 1px)'\n }\n }, {\n props: {\n markActive: true\n },\n style: {\n backgroundColor: (theme.vars || theme).palette.background.paper,\n opacity: 0.8\n }\n }]\n}));\nexport const SliderMarkLabel = styled('span', {\n name: 'MuiSlider',\n slot: 'MarkLabel',\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'markLabelActive',\n overridesResolver: (props, styles) => styles.markLabel\n})(({\n theme\n}) => _extends({}, theme.typography.body2, {\n color: (theme.vars || theme).palette.text.secondary,\n position: 'absolute',\n whiteSpace: 'nowrap',\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n top: 30,\n transform: 'translateX(-50%)',\n '@media (pointer: coarse)': {\n top: 40\n }\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n left: 36,\n transform: 'translateY(50%)',\n '@media (pointer: coarse)': {\n left: 44\n }\n }\n }, {\n props: {\n markLabelActive: true\n },\n style: {\n color: (theme.vars || theme).palette.text.primary\n }\n }]\n}));\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dragging,\n marked,\n orientation,\n track,\n classes,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', dragging && 'dragging', marked && 'marked', orientation === 'vertical' && 'vertical', track === 'inverted' && 'trackInverted', track === false && 'trackFalse', color && `color${capitalize(color)}`, size && `size${capitalize(size)}`],\n rail: ['rail'],\n track: ['track'],\n mark: ['mark'],\n markActive: ['markActive'],\n markLabel: ['markLabel'],\n markLabelActive: ['markLabelActive'],\n valueLabel: ['valueLabel'],\n thumb: ['thumb', disabled && 'disabled', size && `thumbSize${capitalize(size)}`, color && `thumbColor${capitalize(color)}`],\n active: ['active'],\n disabled: ['disabled'],\n focusVisible: ['focusVisible']\n };\n return composeClasses(slots, getSliderUtilityClass, classes);\n};\nconst Forward = ({\n children\n}) => children;\nconst Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {\n var _ref, _slots$root, _ref2, _slots$rail, _ref3, _slots$track, _ref4, _slots$thumb, _ref5, _slots$valueLabel, _ref6, _slots$mark, _ref7, _slots$markLabel, _ref8, _slots$input, _slotProps$root, _slotProps$rail, _slotProps$track, _slotProps$thumb, _slotProps$valueLabel, _slotProps$mark, _slotProps$markLabel, _slotProps$input;\n const props = useThemeProps({\n props: inputProps,\n name: 'MuiSlider'\n });\n const isRtl = useRtl();\n const {\n 'aria-label': ariaLabel,\n 'aria-valuetext': ariaValuetext,\n 'aria-labelledby': ariaLabelledby,\n // eslint-disable-next-line react/prop-types\n component = 'span',\n components = {},\n componentsProps = {},\n color = 'primary',\n classes: classesProp,\n className,\n disableSwap = false,\n disabled = false,\n getAriaLabel,\n getAriaValueText,\n marks: marksProp = false,\n max = 100,\n min = 0,\n orientation = 'horizontal',\n shiftStep = 10,\n size = 'medium',\n step = 1,\n scale = Identity,\n slotProps,\n slots,\n track = 'normal',\n valueLabelDisplay = 'off',\n valueLabelFormat = Identity\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n isRtl,\n max,\n min,\n classes: classesProp,\n disabled,\n disableSwap,\n orientation,\n marks: marksProp,\n color,\n size,\n step,\n shiftStep,\n scale,\n track,\n valueLabelDisplay,\n valueLabelFormat\n });\n const {\n axisProps,\n getRootProps,\n getHiddenInputProps,\n getThumbProps,\n open,\n active,\n axis,\n focusedThumbIndex,\n range,\n dragging,\n marks,\n values,\n trackOffset,\n trackLeap,\n getThumbStyle\n } = useSlider(_extends({}, ownerState, {\n rootRef: ref\n }));\n ownerState.marked = marks.length > 0 && marks.some(mark => mark.label);\n ownerState.dragging = dragging;\n ownerState.focusedThumbIndex = focusedThumbIndex;\n const classes = useUtilityClasses(ownerState);\n\n // support both `slots` and `components` for backward compatibility\n const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : SliderRoot;\n const RailSlot = (_ref2 = (_slots$rail = slots == null ? void 0 : slots.rail) != null ? _slots$rail : components.Rail) != null ? _ref2 : SliderRail;\n const TrackSlot = (_ref3 = (_slots$track = slots == null ? void 0 : slots.track) != null ? _slots$track : components.Track) != null ? _ref3 : SliderTrack;\n const ThumbSlot = (_ref4 = (_slots$thumb = slots == null ? void 0 : slots.thumb) != null ? _slots$thumb : components.Thumb) != null ? _ref4 : SliderThumb;\n const ValueLabelSlot = (_ref5 = (_slots$valueLabel = slots == null ? void 0 : slots.valueLabel) != null ? _slots$valueLabel : components.ValueLabel) != null ? _ref5 : SliderValueLabel;\n const MarkSlot = (_ref6 = (_slots$mark = slots == null ? void 0 : slots.mark) != null ? _slots$mark : components.Mark) != null ? _ref6 : SliderMark;\n const MarkLabelSlot = (_ref7 = (_slots$markLabel = slots == null ? void 0 : slots.markLabel) != null ? _slots$markLabel : components.MarkLabel) != null ? _ref7 : SliderMarkLabel;\n const InputSlot = (_ref8 = (_slots$input = slots == null ? void 0 : slots.input) != null ? _slots$input : components.Input) != null ? _ref8 : 'input';\n const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;\n const railSlotProps = (_slotProps$rail = slotProps == null ? void 0 : slotProps.rail) != null ? _slotProps$rail : componentsProps.rail;\n const trackSlotProps = (_slotProps$track = slotProps == null ? void 0 : slotProps.track) != null ? _slotProps$track : componentsProps.track;\n const thumbSlotProps = (_slotProps$thumb = slotProps == null ? void 0 : slotProps.thumb) != null ? _slotProps$thumb : componentsProps.thumb;\n const valueLabelSlotProps = (_slotProps$valueLabel = slotProps == null ? void 0 : slotProps.valueLabel) != null ? _slotProps$valueLabel : componentsProps.valueLabel;\n const markSlotProps = (_slotProps$mark = slotProps == null ? void 0 : slotProps.mark) != null ? _slotProps$mark : componentsProps.mark;\n const markLabelSlotProps = (_slotProps$markLabel = slotProps == null ? void 0 : slotProps.markLabel) != null ? _slotProps$markLabel : componentsProps.markLabel;\n const inputSlotProps = (_slotProps$input = slotProps == null ? void 0 : slotProps.input) != null ? _slotProps$input : componentsProps.input;\n const rootProps = useSlotProps({\n elementType: RootSlot,\n getSlotProps: getRootProps,\n externalSlotProps: rootSlotProps,\n externalForwardedProps: other,\n additionalProps: _extends({}, shouldSpreadAdditionalProps(RootSlot) && {\n as: component\n }),\n ownerState: _extends({}, ownerState, rootSlotProps == null ? void 0 : rootSlotProps.ownerState),\n className: [classes.root, className]\n });\n const railProps = useSlotProps({\n elementType: RailSlot,\n externalSlotProps: railSlotProps,\n ownerState,\n className: classes.rail\n });\n const trackProps = useSlotProps({\n elementType: TrackSlot,\n externalSlotProps: trackSlotProps,\n additionalProps: {\n style: _extends({}, axisProps[axis].offset(trackOffset), axisProps[axis].leap(trackLeap))\n },\n ownerState: _extends({}, ownerState, trackSlotProps == null ? void 0 : trackSlotProps.ownerState),\n className: classes.track\n });\n const thumbProps = useSlotProps({\n elementType: ThumbSlot,\n getSlotProps: getThumbProps,\n externalSlotProps: thumbSlotProps,\n ownerState: _extends({}, ownerState, thumbSlotProps == null ? void 0 : thumbSlotProps.ownerState),\n className: classes.thumb\n });\n const valueLabelProps = useSlotProps({\n elementType: ValueLabelSlot,\n externalSlotProps: valueLabelSlotProps,\n ownerState: _extends({}, ownerState, valueLabelSlotProps == null ? void 0 : valueLabelSlotProps.ownerState),\n className: classes.valueLabel\n });\n const markProps = useSlotProps({\n elementType: MarkSlot,\n externalSlotProps: markSlotProps,\n ownerState,\n className: classes.mark\n });\n const markLabelProps = useSlotProps({\n elementType: MarkLabelSlot,\n externalSlotProps: markLabelSlotProps,\n ownerState,\n className: classes.markLabel\n });\n const inputSliderProps = useSlotProps({\n elementType: InputSlot,\n getSlotProps: getHiddenInputProps,\n externalSlotProps: inputSlotProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, _extends({}, rootProps, {\n children: [/*#__PURE__*/_jsx(RailSlot, _extends({}, railProps)), /*#__PURE__*/_jsx(TrackSlot, _extends({}, trackProps)), marks.filter(mark => mark.value >= min && mark.value <= max).map((mark, index) => {\n const percent = valueToPercent(mark.value, min, max);\n const style = axisProps[axis].offset(percent);\n let markActive;\n if (track === false) {\n markActive = values.indexOf(mark.value) !== -1;\n } else {\n markActive = track === 'normal' && (range ? mark.value >= values[0] && mark.value <= values[values.length - 1] : mark.value <= values[0]) || track === 'inverted' && (range ? mark.value <= values[0] || mark.value >= values[values.length - 1] : mark.value >= values[0]);\n }\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(MarkSlot, _extends({\n \"data-index\": index\n }, markProps, !isHostComponent(MarkSlot) && {\n markActive\n }, {\n style: _extends({}, style, markProps.style),\n className: clsx(markProps.className, markActive && classes.markActive)\n })), mark.label != null ? /*#__PURE__*/_jsx(MarkLabelSlot, _extends({\n \"aria-hidden\": true,\n \"data-index\": index\n }, markLabelProps, !isHostComponent(MarkLabelSlot) && {\n markLabelActive: markActive\n }, {\n style: _extends({}, style, markLabelProps.style),\n className: clsx(classes.markLabel, markLabelProps.className, markActive && classes.markLabelActive),\n children: mark.label\n })) : null]\n }, index);\n }), values.map((value, index) => {\n const percent = valueToPercent(value, min, max);\n const style = axisProps[axis].offset(percent);\n const ValueLabelComponent = valueLabelDisplay === 'off' ? Forward : ValueLabelSlot;\n return (\n /*#__PURE__*/\n /* TODO v6: Change component structure. It will help in avoiding the complicated React.cloneElement API added in SliderValueLabel component. Should be: Thumb -> Input, ValueLabel. Follow Joy UI's Slider structure. */\n _jsx(ValueLabelComponent, _extends({}, !isHostComponent(ValueLabelComponent) && {\n valueLabelFormat,\n valueLabelDisplay,\n value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,\n index,\n open: open === index || active === index || valueLabelDisplay === 'on',\n disabled\n }, valueLabelProps, {\n children: /*#__PURE__*/_jsx(ThumbSlot, _extends({\n \"data-index\": index\n }, thumbProps, {\n className: clsx(classes.thumb, thumbProps.className, active === index && classes.active, focusedThumbIndex === index && classes.focusVisible),\n style: _extends({}, style, getThumbStyle(index), thumbProps.style),\n children: /*#__PURE__*/_jsx(InputSlot, _extends({\n \"data-index\": index,\n \"aria-label\": getAriaLabel ? getAriaLabel(index) : ariaLabel,\n \"aria-valuenow\": scale(value),\n \"aria-labelledby\": ariaLabelledby,\n \"aria-valuetext\": getAriaValueText ? getAriaValueText(scale(value), index) : ariaValuetext,\n value: values[index]\n }, inputSliderProps))\n }))\n }), index)\n );\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Slider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The label of the slider.\n */\n 'aria-label': chainPropTypes(PropTypes.string, props => {\n const range = Array.isArray(props.value || props.defaultValue);\n if (range && props['aria-label'] != null) {\n return new Error('MUI: You need to use the `getAriaLabel` prop instead of `aria-label` when using a range slider.');\n }\n return null;\n }),\n /**\n * The id of the element containing a label for the slider.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * A string value that provides a user-friendly name for the current value of the slider.\n */\n 'aria-valuetext': chainPropTypes(PropTypes.string, props => {\n const range = Array.isArray(props.value || props.defaultValue);\n if (range && props['aria-valuetext'] != null) {\n return new Error('MUI: You need to use the `getAriaValueText` prop instead of `aria-valuetext` when using a range slider.');\n }\n return null;\n }),\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Mark: PropTypes.elementType,\n MarkLabel: PropTypes.elementType,\n Rail: PropTypes.elementType,\n Root: PropTypes.elementType,\n Thumb: PropTypes.elementType,\n Track: PropTypes.elementType,\n ValueLabel: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n mark: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n markLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n rail: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n thumb: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n track: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n valueLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n children: PropTypes.element,\n className: PropTypes.string,\n open: PropTypes.bool,\n style: PropTypes.object,\n value: PropTypes.number,\n valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on'])\n })])\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number]),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the active thumb doesn't swap when moving pointer over a thumb while dragging another thumb.\n * @default false\n */\n disableSwap: PropTypes.bool,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the thumb labels of the slider.\n * This is important for screen reader users.\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaLabel: PropTypes.func,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider.\n * This is important for screen reader users.\n * @param {number} value The thumb label's value to format.\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaValueText: PropTypes.func,\n /**\n * Marks indicate predetermined values to which the user can move the slider.\n * If `true` the marks are spaced according the value of the `step` prop.\n * If an array, it should contain objects with `value` and an optional `label` keys.\n * @default false\n */\n marks: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.node,\n value: PropTypes.number.isRequired\n })), PropTypes.bool]),\n /**\n * The maximum allowed value of the slider.\n * Should not be equal to min.\n * @default 100\n */\n max: PropTypes.number,\n /**\n * The minimum allowed value of the slider.\n * Should not be equal to max.\n * @default 0\n */\n min: PropTypes.number,\n /**\n * Name attribute of the hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback function that is fired when the slider's value changed.\n *\n * @param {Event} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * **Warning**: This is a generic event not a change event.\n * @param {number | number[]} value The new value.\n * @param {number} activeThumb Index of the currently moved thumb.\n */\n onChange: PropTypes.func,\n /**\n * Callback function that is fired when the `mouseup` is triggered.\n *\n * @param {React.SyntheticEvent | Event} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {number | number[]} value The new value.\n */\n onChangeCommitted: PropTypes.func,\n /**\n * The component orientation.\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * A transformation function, to change the scale of the slider.\n * @param {any} x\n * @returns {any}\n * @default function Identity(x) {\n * return x;\n * }\n */\n scale: PropTypes.func,\n /**\n * The granularity with which the slider can step through values when using Page Up/Page Down or Shift + Arrow Up/Arrow Down.\n * @default 10\n */\n shiftStep: PropTypes.number,\n /**\n * The size of the slider.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),\n /**\n * The props used for each slot inside the Slider.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n mark: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n markLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n rail: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n thumb: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n track: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n valueLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n children: PropTypes.element,\n className: PropTypes.string,\n open: PropTypes.bool,\n style: PropTypes.object,\n value: PropTypes.number,\n valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on'])\n })])\n }),\n /**\n * The components used for each slot inside the Slider.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n mark: PropTypes.elementType,\n markLabel: PropTypes.elementType,\n rail: PropTypes.elementType,\n root: PropTypes.elementType,\n thumb: PropTypes.elementType,\n track: PropTypes.elementType,\n valueLabel: PropTypes.elementType\n }),\n /**\n * The granularity with which the slider can step through values. (A \"discrete\" slider.)\n * The `min` prop serves as the origin for the valid values.\n * We recommend (max - min) to be evenly divisible by the step.\n *\n * When step is `null`, the thumb can only be slid onto marks provided with the `marks` prop.\n * @default 1\n */\n step: PropTypes.number,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Tab index attribute of the hidden `input` element.\n */\n tabIndex: PropTypes.number,\n /**\n * The track presentation:\n *\n * - `normal` the track will render a bar representing the slider value.\n * - `inverted` the track will render a bar representing the remaining slider value.\n * - `false` the track will render without a bar.\n * @default 'normal'\n */\n track: PropTypes.oneOf(['inverted', 'normal', false]),\n /**\n * The value of the slider.\n * For ranged sliders, provide an array with two values.\n */\n value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number]),\n /**\n * Controls when the value label is displayed:\n *\n * - `auto` the value label will display when the thumb is hovered or focused.\n * - `on` will display persistently.\n * - `off` will never display.\n * @default 'off'\n */\n valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on']),\n /**\n * The format function the value label's value.\n *\n * When a function is provided, it should have the following signature:\n *\n * - {number} value The value label's value to format\n * - {number} index The value label's index to format\n * @param {any} x\n * @returns {any}\n * @default function Identity(x) {\n * return x;\n * }\n */\n valueLabelFormat: PropTypes.oneOfType([PropTypes.func, PropTypes.string])\n} : void 0;\nexport default Slider;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSnackbarContentUtilityClass(slot) {\n return generateUtilityClass('MuiSnackbarContent', slot);\n}\nconst snackbarContentClasses = generateUtilityClasses('MuiSnackbarContent', ['root', 'message', 'action']);\nexport default snackbarContentClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"action\", \"className\", \"message\", \"role\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { emphasize } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Paper from '../Paper';\nimport { getSnackbarContentUtilityClass } from './snackbarContentClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n action: ['action'],\n message: ['message']\n };\n return composeClasses(slots, getSnackbarContentUtilityClass, classes);\n};\nconst SnackbarContentRoot = styled(Paper, {\n name: 'MuiSnackbarContent',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => {\n const emphasis = theme.palette.mode === 'light' ? 0.8 : 0.98;\n const backgroundColor = emphasize(theme.palette.background.default, emphasis);\n return _extends({}, theme.typography.body2, {\n color: theme.vars ? theme.vars.palette.SnackbarContent.color : theme.palette.getContrastText(backgroundColor),\n backgroundColor: theme.vars ? theme.vars.palette.SnackbarContent.bg : backgroundColor,\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n padding: '6px 16px',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n flexGrow: 1,\n [theme.breakpoints.up('sm')]: {\n flexGrow: 'initial',\n minWidth: 288\n }\n });\n});\nconst SnackbarContentMessage = styled('div', {\n name: 'MuiSnackbarContent',\n slot: 'Message',\n overridesResolver: (props, styles) => styles.message\n})({\n padding: '8px 0'\n});\nconst SnackbarContentAction = styled('div', {\n name: 'MuiSnackbarContent',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n paddingLeft: 16,\n marginRight: -8\n});\nconst SnackbarContent = /*#__PURE__*/React.forwardRef(function SnackbarContent(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSnackbarContent'\n });\n const {\n action,\n className,\n message,\n role = 'alert'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SnackbarContentRoot, _extends({\n role: role,\n square: true,\n elevation: 6,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SnackbarContentMessage, {\n className: classes.message,\n ownerState: ownerState,\n children: message\n }), action ? /*#__PURE__*/_jsx(SnackbarContentAction, {\n className: classes.action,\n ownerState: ownerState,\n children: action\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? SnackbarContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the snackbar.\n */\n action: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The message to display.\n */\n message: PropTypes.node,\n /**\n * The ARIA role attribute of the element.\n * @default 'alert'\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default SnackbarContent;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSnackbarUtilityClass(slot) {\n return generateUtilityClass('MuiSnackbar', slot);\n}\nconst snackbarClasses = generateUtilityClasses('MuiSnackbar', ['root', 'anchorOriginTopCenter', 'anchorOriginBottomCenter', 'anchorOriginTopRight', 'anchorOriginBottomRight', 'anchorOriginTopLeft', 'anchorOriginBottomLeft']);\nexport default snackbarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"onEnter\", \"onExited\"],\n _excluded2 = [\"action\", \"anchorOrigin\", \"autoHideDuration\", \"children\", \"className\", \"ClickAwayListenerProps\", \"ContentProps\", \"disableWindowBlurListener\", \"message\", \"onBlur\", \"onClose\", \"onFocus\", \"onMouseEnter\", \"onMouseLeave\", \"open\", \"resumeHideDuration\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useSlotProps } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { ClickAwayListener } from '@mui/base/ClickAwayListener';\nimport { useSnackbar } from '@mui/base/useSnackbar';\nimport styled from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Grow from '../Grow';\nimport SnackbarContent from '../SnackbarContent';\nimport { getSnackbarUtilityClass } from './snackbarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n anchorOrigin\n } = ownerState;\n const slots = {\n root: ['root', `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`]\n };\n return composeClasses(slots, getSnackbarUtilityClass, classes);\n};\nconst SnackbarRoot = styled('div', {\n name: 'MuiSnackbar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const center = {\n left: '50%',\n right: 'auto',\n transform: 'translateX(-50%)'\n };\n return _extends({\n zIndex: (theme.vars || theme).zIndex.snackbar,\n position: 'fixed',\n display: 'flex',\n left: 8,\n right: 8,\n justifyContent: 'center',\n alignItems: 'center'\n }, ownerState.anchorOrigin.vertical === 'top' ? {\n top: 8\n } : {\n bottom: 8\n }, ownerState.anchorOrigin.horizontal === 'left' && {\n justifyContent: 'flex-start'\n }, ownerState.anchorOrigin.horizontal === 'right' && {\n justifyContent: 'flex-end'\n }, {\n [theme.breakpoints.up('sm')]: _extends({}, ownerState.anchorOrigin.vertical === 'top' ? {\n top: 24\n } : {\n bottom: 24\n }, ownerState.anchorOrigin.horizontal === 'center' && center, ownerState.anchorOrigin.horizontal === 'left' && {\n left: 24,\n right: 'auto'\n }, ownerState.anchorOrigin.horizontal === 'right' && {\n right: 24,\n left: 'auto'\n })\n });\n});\nconst Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSnackbar'\n });\n const theme = useTheme();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n action,\n anchorOrigin: {\n vertical,\n horizontal\n } = {\n vertical: 'bottom',\n horizontal: 'left'\n },\n autoHideDuration = null,\n children,\n className,\n ClickAwayListenerProps,\n ContentProps,\n disableWindowBlurListener = false,\n message,\n open,\n TransitionComponent = Grow,\n transitionDuration = defaultTransitionDuration,\n TransitionProps: {\n onEnter,\n onExited\n } = {}\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const ownerState = _extends({}, props, {\n anchorOrigin: {\n vertical,\n horizontal\n },\n autoHideDuration,\n disableWindowBlurListener,\n TransitionComponent,\n transitionDuration\n });\n const classes = useUtilityClasses(ownerState);\n const {\n getRootProps,\n onClickAway\n } = useSnackbar(_extends({}, ownerState));\n const [exited, setExited] = React.useState(true);\n const rootProps = useSlotProps({\n elementType: SnackbarRoot,\n getSlotProps: getRootProps,\n externalForwardedProps: other,\n ownerState,\n additionalProps: {\n ref\n },\n className: [classes.root, className]\n });\n const handleExited = node => {\n setExited(true);\n if (onExited) {\n onExited(node);\n }\n };\n const handleEnter = (node, isAppearing) => {\n setExited(false);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n };\n\n // So we only render active snackbars.\n if (!open && exited) {\n return null;\n }\n return /*#__PURE__*/_jsx(ClickAwayListener, _extends({\n onClickAway: onClickAway\n }, ClickAwayListenerProps, {\n children: /*#__PURE__*/_jsx(SnackbarRoot, _extends({}, rootProps, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n timeout: transitionDuration,\n direction: vertical === 'top' ? 'down' : 'up',\n onEnter: handleEnter,\n onExited: handleExited\n }, TransitionProps, {\n children: children || /*#__PURE__*/_jsx(SnackbarContent, _extends({\n message: message,\n action: action\n }, ContentProps))\n }))\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Snackbar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the snackbar.\n */\n action: PropTypes.node,\n /**\n * The anchor of the `Snackbar`.\n * On smaller screens, the component grows to occupy all the available width,\n * the horizontal alignment is ignored.\n * @default { vertical: 'bottom', horizontal: 'left' }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['center', 'left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n /**\n * The number of milliseconds to wait before automatically calling the\n * `onClose` function. `onClose` should then set the state of the `open`\n * prop to hide the Snackbar. This behavior is disabled by default with\n * the `null` value.\n * @default null\n */\n autoHideDuration: PropTypes.number,\n /**\n * Replace the `SnackbarContent` component.\n */\n children: PropTypes.element,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Props applied to the `ClickAwayListener` element.\n */\n ClickAwayListenerProps: PropTypes.object,\n /**\n * Props applied to the [`SnackbarContent`](/material-ui/api/snackbar-content/) element.\n */\n ContentProps: PropTypes.object,\n /**\n * If `true`, the `autoHideDuration` timer will expire even if the window is not focused.\n * @default false\n */\n disableWindowBlurListener: PropTypes.bool,\n /**\n * When displaying multiple consecutive snackbars using a single parent-rendered\n * ``, add the `key` prop to ensure independent treatment of each message.\n * For instance, use ``. Otherwise, messages might update\n * in place, and features like `autoHideDuration` could be affected.\n */\n key: () => null,\n /**\n * The message to display.\n */\n message: PropTypes.node,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Typically `onClose` is used to set state in the parent component,\n * which is used to control the `Snackbar` `open` prop.\n * The `reason` parameter can optionally be used to control the response to `onClose`,\n * for example ignoring `clickaway`.\n *\n * @param {React.SyntheticEvent | Event} event The event source of the callback.\n * @param {string} reason Can be: `\"timeout\"` (`autoHideDuration` expired), `\"clickaway\"`, or `\"escapeKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * @ignore\n */\n onMouseEnter: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * The number of milliseconds to wait before dismissing after user interaction.\n * If `autoHideDuration` prop isn't specified, it does nothing.\n * If `autoHideDuration` prop is specified but `resumeHideDuration` isn't,\n * we default to `autoHideDuration / 2` ms.\n */\n resumeHideDuration: PropTypes.number,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Snackbar;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n entering: {\n transform: 'none'\n },\n entered: {\n transform: 'none'\n }\n};\n\n/**\n * The Zoom transition can be used for the floating variant of the\n * [Button](/material-ui/react-button/#floating-action-buttons) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {\n const theme = useTheme();\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: nodeRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n transform: 'scale(0)',\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Zoom.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Zoom;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z\"\n}), 'CheckCircle');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\"\n}), 'Warning');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getStepIconUtilityClass(slot) {\n return generateUtilityClass('MuiStepIcon', slot);\n}\nconst stepIconClasses = generateUtilityClasses('MuiStepIcon', ['root', 'active', 'completed', 'error', 'text']);\nexport default stepIconClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _circle;\nconst _excluded = [\"active\", \"className\", \"completed\", \"error\", \"icon\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport CheckCircle from '../internal/svg-icons/CheckCircle';\nimport Warning from '../internal/svg-icons/Warning';\nimport SvgIcon from '../SvgIcon';\nimport stepIconClasses, { getStepIconUtilityClass } from './stepIconClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n active,\n completed,\n error\n } = ownerState;\n const slots = {\n root: ['root', active && 'active', completed && 'completed', error && 'error'],\n text: ['text']\n };\n return composeClasses(slots, getStepIconUtilityClass, classes);\n};\nconst StepIconRoot = styled(SvgIcon, {\n name: 'MuiStepIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n display: 'block',\n transition: theme.transitions.create('color', {\n duration: theme.transitions.duration.shortest\n }),\n color: (theme.vars || theme).palette.text.disabled,\n [`&.${stepIconClasses.completed}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n [`&.${stepIconClasses.active}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n [`&.${stepIconClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst StepIconText = styled('text', {\n name: 'MuiStepIcon',\n slot: 'Text',\n overridesResolver: (props, styles) => styles.text\n})(({\n theme\n}) => ({\n fill: (theme.vars || theme).palette.primary.contrastText,\n fontSize: theme.typography.caption.fontSize,\n fontFamily: theme.typography.fontFamily\n}));\nconst StepIcon = /*#__PURE__*/React.forwardRef(function StepIcon(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiStepIcon'\n });\n const {\n active = false,\n className: classNameProp,\n completed = false,\n error = false,\n icon\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n active,\n completed,\n error\n });\n const classes = useUtilityClasses(ownerState);\n if (typeof icon === 'number' || typeof icon === 'string') {\n const className = clsx(classNameProp, classes.root);\n if (error) {\n return /*#__PURE__*/_jsx(StepIconRoot, _extends({\n as: Warning,\n className: className,\n ref: ref,\n ownerState: ownerState\n }, other));\n }\n if (completed) {\n return /*#__PURE__*/_jsx(StepIconRoot, _extends({\n as: CheckCircle,\n className: className,\n ref: ref,\n ownerState: ownerState\n }, other));\n }\n return /*#__PURE__*/_jsxs(StepIconRoot, _extends({\n className: className,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: [_circle || (_circle = /*#__PURE__*/_jsx(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"12\"\n })), /*#__PURE__*/_jsx(StepIconText, {\n className: classes.text,\n x: \"12\",\n y: \"12\",\n textAnchor: \"middle\",\n dominantBaseline: \"central\",\n ownerState: ownerState,\n children: icon\n })]\n }));\n }\n return icon;\n});\nprocess.env.NODE_ENV !== \"production\" ? StepIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Whether this step is active.\n * @default false\n */\n active: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Mark the step as completed. Is passed to child components.\n * @default false\n */\n completed: PropTypes.bool,\n /**\n * If `true`, the step is marked as failed.\n * @default false\n */\n error: PropTypes.bool,\n /**\n * The label displayed in the step icon.\n */\n icon: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default StepIcon;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","'use client';\n\n// @inheritedComponent IconButton\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, darken, lighten } from '@mui/system/colorManipulator';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useThemeProps = createUseThemeProps('MuiSwitch');\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n },\n variants: [{\n props: {\n edge: 'start'\n },\n style: {\n marginLeft: -8\n }\n }, {\n props: {\n edge: 'end'\n },\n style: {\n marginRight: -8\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n }\n }]\n});\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme\n}) => ({\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n variants: [...Object.entries(theme.palette).filter(([, value]) => value.main && value.light) // check all the used fields in the style below\n .map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&.${switchClasses.checked}`]: {\n color: (theme.vars || theme).palette[color].main,\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch[`${color}DisabledColor`] : `${theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.55)}`\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: (theme.vars || theme).palette[color].main\n }\n }\n }))]\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,\n opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: (theme.vars || theme).shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n const classes = useUtilityClasses(ownerState);\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst TableContext = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n TableContext.displayName = 'TableContext';\n}\nexport default TableContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableUtilityClass(slot) {\n return generateUtilityClass('MuiTable', slot);\n}\nconst tableClasses = generateUtilityClasses('MuiTable', ['root', 'stickyHeader']);\nexport default tableClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"padding\", \"size\", \"stickyHeader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport TableContext from './TableContext';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableUtilityClass } from './tableClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', stickyHeader && 'stickyHeader']\n };\n return composeClasses(slots, getTableUtilityClass, classes);\n};\nconst TableRoot = styled('table', {\n name: 'MuiTable',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'table',\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n '& caption': _extends({}, theme.typography.body2, {\n padding: theme.spacing(2),\n color: (theme.vars || theme).palette.text.secondary,\n textAlign: 'left',\n captionSide: 'bottom'\n })\n}, ownerState.stickyHeader && {\n borderCollapse: 'separate'\n}));\nconst defaultComponent = 'table';\nconst Table = /*#__PURE__*/React.forwardRef(function Table(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTable'\n });\n const {\n className,\n component = defaultComponent,\n padding = 'normal',\n size = 'medium',\n stickyHeader = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n padding,\n size,\n stickyHeader\n });\n const classes = useUtilityClasses(ownerState);\n const table = React.useMemo(() => ({\n padding,\n size,\n stickyHeader\n }), [padding, size, stickyHeader]);\n return /*#__PURE__*/_jsx(TableContext.Provider, {\n value: table,\n children: /*#__PURE__*/_jsx(TableRoot, _extends({\n as: component,\n role: component === defaultComponent ? null : 'table',\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Table.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the table, normally `TableHead` and `TableBody`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Allows TableCells to inherit padding of the Table.\n * @default 'normal'\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Allows TableCells to inherit size of the Table.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set the header sticky.\n *\n * ⚠️ It doesn't work with IE11.\n * @default false\n */\n stickyHeader: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Table;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableContainerUtilityClass(slot) {\n return generateUtilityClass('MuiTableContainer', slot);\n}\nconst tableContainerClasses = generateUtilityClasses('MuiTableContainer', ['root']);\nexport default tableContainerClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableContainerUtilityClass } from './tableContainerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableContainerUtilityClass, classes);\n};\nconst TableContainerRoot = styled('div', {\n name: 'MuiTableContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n width: '100%',\n overflowX: 'auto'\n});\nconst TableContainer = /*#__PURE__*/React.forwardRef(function TableContainer(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableContainer'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TableContainerRoot, _extends({\n ref: ref,\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableContainer.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `Table`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableContainer;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getToolbarUtilityClass(slot) {\n return generateUtilityClass('MuiToolbar', slot);\n}\nconst toolbarClasses = generateUtilityClasses('MuiToolbar', ['root', 'gutters', 'regular', 'dense']);\nexport default toolbarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"disableGutters\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getToolbarUtilityClass } from './toolbarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableGutters,\n variant\n } = ownerState;\n const slots = {\n root: ['root', !disableGutters && 'gutters', variant]\n };\n return composeClasses(slots, getToolbarUtilityClass, classes);\n};\nconst ToolbarRoot = styled('div', {\n name: 'MuiToolbar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableGutters && styles.gutters, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n}, !ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n}, ownerState.variant === 'dense' && {\n minHeight: 48\n}), ({\n theme,\n ownerState\n}) => ownerState.variant === 'regular' && theme.mixins.toolbar);\nconst Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiToolbar'\n });\n const {\n className,\n component = 'div',\n disableGutters = false,\n variant = 'regular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n disableGutters,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ToolbarRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Toolbar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.\n * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, disables gutter padding.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'regular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['dense', 'regular']), PropTypes.string])\n} : void 0;\nexport default Toolbar;","/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT \n * @author Lea Verou \n * @namespace\n * @public\n */\n/**\n * prism-react-renderer:\n * This file has been modified to remove:\n * - globals and window dependency\n * - worker support\n * - highlightAll and other element dependent methods\n * - _.hooks helpers\n * - UMD/node-specific hacks\n * It has also been run through prettier\n */\n\n var Prism = (function () {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `