"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1917],{31917:(e,t,a)=>{a.r(t),a.d(t,{default:()=>y});var r=a(20475),s=a(20107),i=a(72167),n=a(35601),l=a(85014),o=a(42541),d=a(18861),c=a(49153),u=a(64219),m=a(59166),h=a(39997);let p=(0,h.A)("ShieldX",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]]),f=(0,h.A)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var x=a(12607);let g=(0,h.A)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),v=(0,h.A)("ScanEye",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0",key:"11ak4c"}]]),b=(0,h.A)("Ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]]);var j=a(32857);let y=()=>{let{toast:e}=(0,j.dj)(),[t,a]=(0,s.useState)({pingTarget:"8.8.8.8",pingInterval:60,pingFailures:3,maxRetries:5,connectionRefresh:!1,autoSimFailover:!1,simFailoverSchedule:30}),[h,y]=(0,s.useState)("loading"),[w,N]=(0,s.useState)(!1),[k,S]=(0,s.useState)(null),[R,F]=(0,s.useState)(null),[C,T]=(0,s.useState)(0),E=async()=>{try{let e=await fetch("/cgi-bin/quecmanager/experimental/quecwatch/fetch-quecwatch.sh");if(!e.ok)throw Error("Network response was not ok");let t=await e.json();if("active"===t.status){if(t.config){let e={pingTarget:t.config.pingTarget||"8.8.8.8",pingInterval:t.config.pingInterval||60,pingFailures:t.config.pingFailures||3,maxRetries:t.config.maxRetries||5,connectionRefresh:!!t.config.connectionRefresh,autoSimFailover:!!t.config.autoSimFailover,simFailoverSchedule:t.config.simFailoverSchedule||30};a(e),void 0!==t.config.currentRetries?(T(t.config.currentRetries),t.config.currentRetries>=e.maxRetries?y("maxRetries"):y("active")):y("active"),F(t.lastActivity||null)}else y("active")}else"inactive"===t.status?y("inactive"):(y("error"),S(t.message||"Unknown error occurred"))}catch(t){y("error"),S(t instanceof Error?t.message:"An unknown error occurred"),e({title:"Error",description:"Failed to fetch QuecWatch configuration",variant:"destructive"})}};(0,s.useEffect)(()=>{E()},[]),(0,s.useEffect)(()=>{if("active"===h||"maxRetries"===h){let e=setInterval(E,5e3);return()=>clearInterval(e)}},[h]);let A=async()=>{N(!0);try{let t=await fetch("/cgi-bin/quecmanager/experimental/quecwatch/reset-quecwatch.sh",{method:"POST",headers:{"Content-Type":"application/json"}});if(!t.ok)throw Error("Network response was not ok");let a=await t.json();if("success"===a.status)e({title:"QuecWatch Reset",description:"Counter reset and service restarted successfully"}),y("active"),T(0),setTimeout(E,1e3);else throw Error(a.message||"Failed to reset retry counter")}catch(t){e({title:"Error",description:t instanceof Error?t.message:"Failed to reset retry counter",variant:"destructive"})}finally{N(!1)}},I=async()=>{N(!0),S(null);try{let a=await fetch("/cgi-bin/quecmanager/experimental/quecwatch/enable-quecwatch.sh",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pingTarget:t.pingTarget,pingInterval:t.pingInterval,pingFailures:t.pingFailures,maxRetries:t.maxRetries,connectionRefresh:t.connectionRefresh,autoSimFailover:t.autoSimFailover,simFailoverSchedule:t.simFailoverSchedule})});if(!a.ok)throw Error("Network response was not ok");let r=await a.json();if("success"===r.status)y("active"),e({title:"QuecWatch Enabled",description:"QuecWatch enabled successfully"}),await E();else throw Error(r.message||"Failed to enable QuecWatch")}catch(t){y("error"),S(t instanceof Error?t.message:"An unknown error occurred"),e({title:"Error",description:t instanceof Error?t.message:"Failed to enable QuecWatch",variant:"destructive"})}finally{N(!1)}},M=async()=>{N(!0),S(null);try{let t=await fetch("/cgi-bin/quecmanager/experimental/quecwatch/disable-quecwatch.sh",{method:"POST",headers:{"Content-Type":"application/json"}});if(!t.ok)throw Error("Network response was not ok");let a=await t.json();if("success"===a.status)y("inactive"),e({title:"QuecWatch Disabled",description:"QuecWatch disabled successfully",variant:"default"});else throw Error(a.message||"Failed to disable QuecWatch")}catch(t){y("error"),S(t instanceof Error?t.message:"An unknown error occurred"),e({title:"Error",description:t instanceof Error?t.message:"Failed to disable QuecWatch",variant:"destructive"})}finally{N(!1)}};return(0,r.jsxs)(i.Zp,{children:[(0,r.jsxs)(i.aR,{children:[(0,r.jsx)(i.ZB,{children:"QuecWatch"}),(0,r.jsx)(i.BT,{children:"An intelligent watchdog service for Quectel-AP modems that ensures network reliability through automated monitoring, connection management, and SIM failover capabilities."})]}),(0,r.jsx)(i.Wu,{children:(0,r.jsxs)("div",{className:"grid gap-8",children:[(0,r.jsxs)("div",{className:"grid gap-2",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center gap-x-4 rounded-lg border p-4",children:[(0,r.jsx)(c.J,{children:"QuecWatch Status"}),(0,r.jsx)("div",{className:"flex items-center space-x-1",children:"loading"===h?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(m.A,{className:"animate-spin text-primary size-4"}),(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:"Loading..."})]}):"inactive"===h?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p,{className:"text-rose-500 size-4"}),(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:"Inactive"})]}):"active"===h?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f,{className:"text-green-500 size-4"}),(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:"Active"})]}):"maxRetries"===h?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(x.A,{className:"text-yellow-500 size-4"}),(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:"Maximum Retries Exhausted"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p,{className:"text-amber-500 size-4"}),(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:"Error"})]})})]}),(0,r.jsxs)("div",{className:"flex justify-between items-center gap-x-4 rounded-lg border p-4",children:[(0,r.jsx)(c.J,{children:"Remaining Retries"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[("active"===h||"maxRetries"===h)&&(0,r.jsx)(l.TooltipProvider,{children:(0,r.jsxs)(l.m_,{children:[(0,r.jsx)(l.k$,{asChild:!0,children:(0,r.jsx)(o.$,{variant:"outline",size:"icon",className:"h-6 w-6",onClick:A,disabled:w,children:(0,r.jsx)(g,{className:"h-4 w-4"})})}),(0,r.jsx)(l.ZI,{children:(0,r.jsx)("p",{children:"Reset the retry counter"})})]})}),(0,r.jsxs)("p",{className:"text-muted-foreground text-sm",children:[C," / ",t.maxRetries]})]})]})]}),(0,r.jsxs)("div",{className:"grid grid-flow-row lg:grid-cols-2 grid-cols-1 gap-4",children:[(0,r.jsxs)("div",{className:"grid w-full items-center gap-1.5",children:[(0,r.jsx)(c.J,{htmlFor:"ping",children:"Ping Target"}),(0,r.jsx)(u.p,{id:"ping",placeholder:"8.8.8.8",value:t.pingTarget,disabled:"active"===h||"maxRetries"===h,onChange:e=>a(t=>({...t,pingTarget:e.target.value}))})]}),(0,r.jsxs)("div",{className:"grid w-full items-center gap-1.5",children:[(0,r.jsx)(c.J,{htmlFor:"ping-interval",children:"Ping Interval"}),(0,r.jsxs)(n.l6,{value:t.pingInterval.toString(),disabled:"active"===h||"maxRetries"===h,onValueChange:e=>a(t=>({...t,pingInterval:parseInt(e)})),children:[(0,r.jsx)(n.bq,{id:"ping-interval",children:(0,r.jsx)(n.yv,{placeholder:"Select Ping Interval"})}),(0,r.jsx)(n.gC,{children:[5,10,15,30,60,120,300,600,1800,3600].map(e=>(0,r.jsx)(n.eb,{value:e.toString(),children:e>=3600?"".concat(e/3600," hour").concat(e>3600?"s":""):e>=60?"".concat(e/60," minute").concat(e>=120?"s":""):"".concat(e," second").concat(1!==e?"s":"")},e))})]})]}),(0,r.jsxs)("div",{className:"grid w-full items-center gap-1.5",children:[(0,r.jsx)(c.J,{htmlFor:"ping-failure",children:"Ping Failures"}),(0,r.jsxs)(n.l6,{value:t.pingFailures.toString(),disabled:"active"===h||"maxRetries"===h,onValueChange:e=>a(t=>({...t,pingFailures:parseInt(e)})),children:[(0,r.jsx)(n.bq,{id:"ping-failure",children:(0,r.jsx)(n.yv,{placeholder:"Select Ping Failures"})}),(0,r.jsx)(n.gC,{children:[1,3,5,10].map(e=>(0,r.jsxs)(n.eb,{value:e.toString(),children:[e," failure",1!==e?"s":""]},e))})]})]}),(0,r.jsxs)("div",{className:"grid w-full items-center gap-1.5",children:[(0,r.jsx)(c.J,{htmlFor:"max-retries",children:"Max Retries"}),(0,r.jsxs)(n.l6,{value:t.maxRetries.toString(),disabled:"active"===h||"maxRetries"===h,onValueChange:e=>a(t=>({...t,maxRetries:parseInt(e)})),children:[(0,r.jsx)(n.bq,{id:"max-retries",children:(0,r.jsx)(n.yv,{placeholder:"Select Max Retries"})}),(0,r.jsx)(n.gC,{children:[1,3,5,10,15,20].map(e=>(0,r.jsx)(n.eb,{value:e.toString(),children:e},e))})]})]})]}),(0,r.jsxs)("div",{className:"flex flex-row items-center justify-between rounded-lg border p-4",children:[(0,r.jsxs)("div",{className:"space-y-0.5 grid",children:[(0,r.jsx)(c.J,{className:"text-base",children:"Connection Refresh"}),(0,r.jsx)(c.J,{className:"text-sm font-normal text-muted-foreground",children:"Toggle the connection refresh for the modem to first attempt reconnecting to the network before restarting."})]}),(0,r.jsx)(d.d,{checked:t.connectionRefresh,disabled:"active"===h||"maxRetries"===h,onCheckedChange:e=>a(t=>({...t,connectionRefresh:e}))})]}),(0,r.jsxs)("div",{className:" rounded-lg border p-4 grid gap-y-6",children:[(0,r.jsxs)("div",{className:"flex flex-row items-center justify-between",children:[(0,r.jsxs)("div",{className:"space-y-0.5 grid",children:[(0,r.jsx)(c.J,{className:"text-base",children:"Auto SIM Failover"}),(0,r.jsx)(c.J,{className:"text-sm font-normal text-muted-foreground",children:"Auto SIM Failover will automatically switch to the next available SIM card when the current SIM card fails to connect to the network."})]}),(0,r.jsx)(d.d,{checked:t.autoSimFailover,disabled:"active"===h||"maxRetries"===h,onCheckedChange:e=>a(t=>({...t,autoSimFailover:e}))})]}),(0,r.jsxs)("div",{className:"grid w-full items-center gap-1.5",children:[(0,r.jsx)(c.J,{htmlFor:"sim-failover",children:"Schedule SIM Checking"}),(0,r.jsxs)(n.l6,{value:t.simFailoverSchedule.toString(),disabled:"active"===h||"maxRetries"===h||!t.autoSimFailover,onValueChange:e=>a(t=>({...t,simFailoverSchedule:parseInt(e)})),children:[(0,r.jsx)(n.bq,{id:"sim-failover",className:"max-w-xs",children:(0,r.jsx)(n.yv,{placeholder:"Select SIM Checking Interval"})}),(0,r.jsxs)(n.gC,{children:[(0,r.jsx)(n.eb,{value:"0",children:"Disabled"}),(0,r.jsx)(n.eb,{value:"1",children:"1 Minute"}),(0,r.jsx)(n.eb,{value:"5",children:"5 Minutes"}),(0,r.jsx)(n.eb,{value:"30",children:"30 Minutes"}),(0,r.jsx)(n.eb,{value:"60",children:"1 Hour"}),(0,r.jsx)(n.eb,{value:"360",children:"6 Hours"}),(0,r.jsx)(n.eb,{value:"720",children:"12 Hours"}),(0,r.jsx)(n.eb,{value:"1440",children:"24 Hours"})]})]})]})]}),(0,r.jsxs)("div",{className:"rounded-lg border p-4",children:[(0,r.jsx)(c.J,{className:"text-base",children:"Last Activity"}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground mt-2",children:R||"No recent activity"})]}),k&&(0,r.jsx)("div",{className:"text-red-500 text-sm",children:k})]})}),(0,r.jsxs)(i.wL,{className:"flex gap-4 border-t py-4",children:[("inactive"===h||"error"===h)&&(0,r.jsx)(o.$,{onClick:I,disabled:w||!t.pingTarget,children:w?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(m.A,{className:"h-4 w-4 animate-spin"}),"Enabling..."]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v,{className:"w-4 h-4"}),"Enable QuecWatch"]})}),("active"===h||"maxRetries"===h)&&(0,r.jsx)(o.$,{variant:"destructive",onClick:M,disabled:w,children:w?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(m.A,{className:"h-4 w-4 animate-spin"}),"Disabling..."]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(b,{className:"w-4 h-4"}),"Disable QuecWatch"]})})]})]})}},42541:(e,t,a)=>{a.d(t,{$:()=>d,r:()=>o});var r=a(20475),s=a(20107),i=a(61837),n=a(29395),l=a(22250);let o=(0,n.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),d=s.forwardRef((e,t)=>{let{className:a,variant:s,size:n,asChild:d=!1,...c}=e,u=d?i.DX:"button";return(0,r.jsx)(u,{className:(0,l.cn)(o({variant:s,size:n,className:a})),ref:t,...c})});d.displayName="Button"},72167:(e,t,a)=>{a.d(t,{BT:()=>d,Wu:()=>c,ZB:()=>o,Zp:()=>n,aR:()=>l,wL:()=>u});var r=a(20475),s=a(20107),i=a(22250);let n=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("div",{ref:t,className:(0,i.cn)("rounded-xl border bg-card text-card-foreground shadow",a),...s})});n.displayName="Card";let l=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("div",{ref:t,className:(0,i.cn)("flex flex-col space-y-1.5 p-6",a),...s})});l.displayName="CardHeader";let o=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("h3",{ref:t,className:(0,i.cn)("font-semibold leading-none tracking-tight",a),...s})});o.displayName="CardTitle";let d=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("p",{ref:t,className:(0,i.cn)("text-sm text-muted-foreground",a),...s})});d.displayName="CardDescription";let c=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("div",{ref:t,className:(0,i.cn)("p-6 pt-0",a),...s})});c.displayName="CardContent";let u=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("div",{ref:t,className:(0,i.cn)("flex items-center p-6 pt-0",a),...s})});u.displayName="CardFooter"},64219:(e,t,a)=>{a.d(t,{p:()=>n});var r=a(20475),s=a(20107),i=a(22250);let n=s.forwardRef((e,t)=>{let{className:a,type:s,...n}=e;return(0,r.jsx)("input",{type:s,className:(0,i.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",a),ref:t,...n})});n.displayName="Input"},49153:(e,t,a)=>{a.d(t,{J:()=>d});var r=a(20475),s=a(20107),i=a(21840),n=a(29395),l=a(22250);let o=(0,n.F)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(i.b,{ref:t,className:(0,l.cn)(o(),a),...s})});d.displayName=i.b.displayName},35601:(e,t,a)=>{a.d(t,{TR:()=>f,bq:()=>u,eb:()=>x,gC:()=>p,l6:()=>o,s3:()=>d,yv:()=>c});var r=a(20475),s=a(20107),i=a(7197),n=a(95257),l=a(22250);let o=n.bL,d=n.YJ,c=n.WT,u=s.forwardRef((e,t)=>{let{className:a,children:s,...o}=e;return(0,r.jsxs)(n.l9,{ref:t,className:(0,l.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...o,children:[s,(0,r.jsx)(n.In,{asChild:!0,children:(0,r.jsx)(i.TBE,{className:"h-4 w-4 opacity-50"})})]})});u.displayName=n.l9.displayName;let m=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(n.PP,{ref:t,className:(0,l.cn)("flex cursor-default items-center justify-center py-1",a),...s,children:(0,r.jsx)(i.Mtm,{})})});m.displayName=n.PP.displayName;let h=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(n.wn,{ref:t,className:(0,l.cn)("flex cursor-default items-center justify-center py-1",a),...s,children:(0,r.jsx)(i.D3D,{})})});h.displayName=n.wn.displayName;let p=s.forwardRef((e,t)=>{let{className:a,children:s,position:i="popper",...o}=e;return(0,r.jsx)(n.ZL,{children:(0,r.jsxs)(n.UC,{ref:t,className:(0,l.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:i,...o,children:[(0,r.jsx)(m,{}),(0,r.jsx)(n.LM,{className:(0,l.cn)("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:s}),(0,r.jsx)(h,{})]})})});p.displayName=n.UC.displayName;let f=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(n.JU,{ref:t,className:(0,l.cn)("px-2 py-1.5 text-sm font-semibold",a),...s})});f.displayName=n.JU.displayName;let x=s.forwardRef((e,t)=>{let{className:a,children:s,...o}=e;return(0,r.jsxs)(n.q7,{ref:t,className:(0,l.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...o,children:[(0,r.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,r.jsx)(n.VF,{children:(0,r.jsx)(i.Srz,{className:"h-4 w-4"})})}),(0,r.jsx)(n.p4,{children:s})]})});x.displayName=n.q7.displayName,s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(n.wv,{ref:t,className:(0,l.cn)("-mx-1 my-1 h-px bg-muted",a),...s})}).displayName=n.wv.displayName},18861:(e,t,a)=>{a.d(t,{d:()=>l});var r=a(20475),s=a(20107),i=a(80982),n=a(22250);let l=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(i.bL,{className:(0,n.cn)("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",a),...s,ref:t,children:(0,r.jsx)(i.zi,{className:(0,n.cn)("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})})});l.displayName=i.bL.displayName},85014:(e,t,a)=>{a.d(t,{TooltipProvider:()=>l,ZI:()=>c,k$:()=>d,m_:()=>o});var r=a(20475),s=a(20107),i=a(43048),n=a(22250);let l=i.Kq,o=i.bL,d=i.l9,c=s.forwardRef((e,t)=>{let{className:a,sideOffset:s=4,...l}=e;return(0,r.jsx)(i.UC,{ref:t,sideOffset:s,className:(0,n.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...l})});c.displayName=i.UC.displayName},32857:(e,t,a)=>{a.d(t,{dj:()=>m,oR:()=>u});var r=a(20107);let s=0,i=new Map,n=e=>{if(i.has(e))return;let t=setTimeout(()=>{i.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);i.set(e,t)},l=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:a}=t;return a?n(a):e.toasts.forEach(e=>{n(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===a||void 0===a?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},o=[],d={toasts:[]};function c(e){d=l(d,e),o.forEach(e=>{e(d)})}function u(e){let{...t}=e,a=(s=(s+1)%Number.MAX_SAFE_INTEGER).toString(),r=()=>c({type:"DISMISS_TOAST",toastId:a});return c({type:"ADD_TOAST",toast:{...t,id:a,open:!0,onOpenChange:e=>{e||r()}}}),{id:a,dismiss:r,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function m(){let[e,t]=r.useState(d);return r.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},22250:(e,t,a)=>{a.d(t,{cn:()=>i});var r=a(64901),s=a(868);function i(){for(var e=arguments.length,t=Array(e),a=0;a{a.d(t,{A:()=>r});let r=(0,a(39997).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},12607:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(39997).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},80982:(e,t,a)=>{a.d(t,{bL:()=>w,zi:()=>N});var r=a(20107),s=a(94521),i=a(64236),n=a(45170),l=a(13061),o=a(65163),d=a(63620),c=a(34544),u=a(20475),m="Switch",[h,p]=(0,n.A)(m),[f,x]=h(m),g=r.forwardRef((e,t)=>{let{__scopeSwitch:a,name:n,checked:o,defaultChecked:d,required:m,disabled:h,value:p="on",onCheckedChange:x,form:g,...v}=e,[b,w]=r.useState(null),N=(0,i.s)(t,e=>w(e)),k=r.useRef(!1),S=!b||g||!!b.closest("form"),[R=!1,F]=(0,l.i)({prop:o,defaultProp:d,onChange:x});return(0,u.jsxs)(f,{scope:a,checked:R,disabled:h,children:[(0,u.jsx)(c.sG.button,{type:"button",role:"switch","aria-checked":R,"aria-required":m,"data-state":y(R),"data-disabled":h?"":void 0,disabled:h,value:p,...v,ref:N,onClick:(0,s.m)(e.onClick,e=>{F(e=>!e),S&&(k.current=e.isPropagationStopped(),k.current||e.stopPropagation())})}),S&&(0,u.jsx)(j,{control:b,bubbles:!k.current,name:n,value:p,checked:R,required:m,disabled:h,form:g,style:{transform:"translateX(-100%)"}})]})});g.displayName=m;var v="SwitchThumb",b=r.forwardRef((e,t)=>{let{__scopeSwitch:a,...r}=e,s=x(v,a);return(0,u.jsx)(c.sG.span,{"data-state":y(s.checked),"data-disabled":s.disabled?"":void 0,...r,ref:t})});b.displayName=v;var j=e=>{let{control:t,checked:a,bubbles:s=!0,...i}=e,n=r.useRef(null),l=(0,o.Z)(a),c=(0,d.X)(t);return r.useEffect(()=>{let e=n.current,t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(l!==a&&t){let r=new Event("click",{bubbles:s});t.call(e,a),e.dispatchEvent(r)}},[l,a,s]),(0,u.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a,...i,tabIndex:-1,ref:n,style:{...e.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function y(e){return e?"checked":"unchecked"}var w=g,N=b}}]);