fddevpay 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -116,7 +116,7 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
|
|
|
116
116
|
animation: ${Gl} 1.4s linear infinite;
|
|
117
117
|
`,ql=typeof Kl==`string`?null:uo`
|
|
118
118
|
animation: ${Kl} 1.4s ease-in-out infinite;
|
|
119
|
-
`,z=e=>{let{classes:t,variant:n,color:r,disableShrink:i}=e;return Zn({root:[`root`,n,`color${nr(r)}`],svg:[`svg`],track:[`track`],circle:[`circle`,`circle${nr(n)}`,i&&`circleDisableShrink`]},Ul,t)},B=Wc(`span`,{name:`MuiCircularProgress`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`color${nr(n.color)}`]]}})(Gc(({theme:e})=>({display:`inline-block`,variants:[{props:{variant:`determinate`},style:{transition:e.transitions.create(`transform`)}},{props:{variant:`indeterminate`},style:R||{animation:`${Gl} 1.4s linear infinite`}},...Object.entries(e.palette).filter(Hl()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}}))]}))),Jl=Wc(`svg`,{name:`MuiCircularProgress`,slot:`Svg`})({display:`block`}),Yl=Wc(`circle`,{name:`MuiCircularProgress`,slot:`Circle`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.circle,t[`circle${nr(n.variant)}`],n.disableShrink&&t.circleDisableShrink]}})(Gc(({theme:e})=>({stroke:`currentColor`,variants:[{props:{variant:`determinate`},style:{transition:e.transitions.create(`stroke-dashoffset`)}},{props:{variant:`indeterminate`},style:{strokeDasharray:`80px, 200px`,strokeDashoffset:0}},{props:({ownerState:e})=>e.variant===`indeterminate`&&!e.disableShrink,style:ql||{animation:`${Kl} 1.4s ease-in-out infinite`}}]}))),Xl=Wc(`circle`,{name:`MuiCircularProgress`,slot:`Track`})(Gc(({theme:e})=>({stroke:`currentColor`,opacity:(e.vars||e).palette.action.activatedOpacity}))),Zl=v.forwardRef(function(e,t){let n=Kc({props:e,name:`MuiCircularProgress`}),{className:r,color:i=`primary`,disableShrink:a=!1,enableTrackSlot:o=!1,size:s=40,style:c,thickness:l=3.6,value:u=0,variant:d=`indeterminate`,...f}=n,p={...n,color:i,disableShrink:a,size:s,thickness:l,value:u,variant:d,enableTrackSlot:o},m=z(p),h={},g={},_={};if(d===`determinate`){let e=2*Math.PI*((Wl-l)/2);h.strokeDasharray=e.toFixed(3),_[`aria-valuenow`]=Math.round(u),h.strokeDashoffset=`${((100-u)/100*e).toFixed(3)}px`,g.transform=`rotate(-90deg)`}return(0,F.jsx)(B,{className:Yn(m.root,r),style:{width:s,height:s,...g,...c},ownerState:p,ref:t,role:`progressbar`,..._,...f,children:(0,F.jsxs)(Jl,{className:m.svg,ownerState:p,viewBox:`${Wl/2} ${Wl/2} ${Wl} ${Wl}`,children:[o?(0,F.jsx)(Xl,{className:m.track,ownerState:p,cx:Wl,cy:Wl,r:(Wl-l)/2,fill:`none`,strokeWidth:l,"aria-hidden":`true`}):null,(0,F.jsx)(Yl,{className:m.circle,style:h,ownerState:p,cx:Wl,cy:Wl,r:(Wl-l)/2,fill:`none`,strokeWidth:l})]})})});function Ql(e){return Io(`MuiButton`,e)}var $l=Lo(`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.loading.loadingWrapper.loadingIconPlaceholder.loadingIndicator.loadingPositionCenter.loadingPositionStart.loadingPositionEnd`.split(`.`)),eu=v.createContext({}),tu=v.createContext(void 0),nu=e=>{let{color:t,disableElevation:n,fullWidth:r,size:i,variant:a,loading:o,loadingPosition:s,classes:c}=e,l=Zn({root:[`root`,o&&`loading`,a,`${a}${nr(t)}`,`size${nr(i)}`,`${a}Size${nr(i)}`,`color${nr(t)}`,n&&`disableElevation`,r&&`fullWidth`,o&&`loadingPosition${nr(s)}`],startIcon:[`icon`,`startIcon`,`iconSize${nr(i)}`],endIcon:[`icon`,`endIcon`,`iconSize${nr(i)}`],loadingIndicator:[`loadingIndicator`],loadingWrapper:[`loadingWrapper`]},Ql,c);return{...c,...l}},ru=[{props:{size:`small`},style:{"& > *:nth-of-type(1)":{fontSize:18}}},{props:{size:`medium`},style:{"& > *:nth-of-type(1)":{fontSize:20}}},{props:{size:`large`},style:{"& > *:nth-of-type(1)":{fontSize:22}}}],iu=Wc(Rl,{shouldForwardProp:e=>Uc(e)||e===`classes`,name:`MuiButton`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${nr(n.color)}`],t[`size${nr(n.size)}`],t[`${n.variant}Size${nr(n.size)}`],n.color===`inherit`&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth,n.loading&&t.loading]}})(Gc(({theme:e})=>{let t=e.palette.mode===`light`?e.palette.grey[300]:e.palette.grey[800],n=e.palette.mode===`light`?e.palette.grey.A100:e.palette.grey[700];return{...e.typography.button,minWidth:64,padding:`6px 16px`,border:0,borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create([`background-color`,`box-shadow`,`border-color`,`color`],{duration:e.transitions.duration.short}),"&:hover":{textDecoration:`none`},[`&.${$l.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:{variant:`contained`},style:{color:`var(--variant-containedColor)`,backgroundColor:`var(--variant-containedBg)`,boxShadow:(e.vars||e).shadows[2],"&:hover":{boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2]}},"&:active":{boxShadow:(e.vars||e).shadows[8]},[`&.${$l.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},[`&.${$l.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}},{props:{variant:`outlined`},style:{padding:`5px 15px`,border:`1px solid currentColor`,borderColor:`var(--variant-outlinedBorder, currentColor)`,backgroundColor:`var(--variant-outlinedBg)`,color:`var(--variant-outlinedColor)`,[`&.${$l.disabled}`]:{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`}}},{props:{variant:`text`},style:{padding:`6px 8px`,color:`var(--variant-textColor)`,backgroundColor:`var(--variant-textBg)`}},...Object.entries(e.palette).filter(Hl()).map(([t])=>({props:{color:t},style:{"--variant-textColor":(e.vars||e).palette[t].main,"--variant-outlinedColor":(e.vars||e).palette[t].main,"--variant-outlinedBorder":e.alpha((e.vars||e).palette[t].main,.5),"--variant-containedColor":(e.vars||e).palette[t].contrastText,"--variant-containedBg":(e.vars||e).palette[t].main,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":(e.vars||e).palette[t].dark,"--variant-textBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity),"--variant-outlinedBorder":(e.vars||e).palette[t].main,"--variant-outlinedBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}}})),{props:{color:`inherit`},style:{color:`inherit`,borderColor:`currentColor`,"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedBg:t,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedHoverBg:n,"--variant-textBg":e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.hoverOpacity),"--variant-outlinedBg":e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.hoverOpacity)}}}},{props:{size:`small`,variant:`text`},style:{padding:`4px 5px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`text`},style:{padding:`8px 11px`,fontSize:e.typography.pxToRem(15)}},{props:{size:`small`,variant:`outlined`},style:{padding:`3px 9px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`outlined`},style:{padding:`7px 21px`,fontSize:e.typography.pxToRem(15)}},{props:{size:`small`,variant:`contained`},style:{padding:`4px 10px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`contained`},style:{padding:`8px 22px`,fontSize:e.typography.pxToRem(15)}},{props:{disableElevation:!0},style:{boxShadow:`none`,"&:hover":{boxShadow:`none`},[`&.${$l.focusVisible}`]:{boxShadow:`none`},"&:active":{boxShadow:`none`},[`&.${$l.disabled}`]:{boxShadow:`none`}}},{props:{fullWidth:!0},style:{width:`100%`}},{props:{loadingPosition:`center`},style:{transition:e.transitions.create([`background-color`,`box-shadow`,`border-color`],{duration:e.transitions.duration.short}),[`&.${$l.loading}`]:{color:`transparent`}}}]}})),au=Wc(`span`,{name:`MuiButton`,slot:`StartIcon`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.startIcon,n.loading&&t.startIconLoadingStart,t[`iconSize${nr(n.size)}`]]}})(({theme:e})=>({display:`inherit`,marginRight:8,marginLeft:-4,variants:[{props:{size:`small`},style:{marginLeft:-2}},{props:{loadingPosition:`start`,loading:!0},style:{transition:e.transitions.create([`opacity`],{duration:e.transitions.duration.short}),opacity:0}},{props:{loadingPosition:`start`,loading:!0,fullWidth:!0},style:{marginRight:-8}},...ru]})),ou=Wc(`span`,{name:`MuiButton`,slot:`EndIcon`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.endIcon,n.loading&&t.endIconLoadingEnd,t[`iconSize${nr(n.size)}`]]}})(({theme:e})=>({display:`inherit`,marginRight:-4,marginLeft:8,variants:[{props:{size:`small`},style:{marginRight:-2}},{props:{loadingPosition:`end`,loading:!0},style:{transition:e.transitions.create([`opacity`],{duration:e.transitions.duration.short}),opacity:0}},{props:{loadingPosition:`end`,loading:!0,fullWidth:!0},style:{marginLeft:-8}},...ru]})),su=Wc(`span`,{name:`MuiButton`,slot:`LoadingIndicator`})(({theme:e})=>({display:`none`,position:`absolute`,visibility:`visible`,variants:[{props:{loading:!0},style:{display:`flex`}},{props:{loadingPosition:`start`},style:{left:14}},{props:{loadingPosition:`start`,size:`small`},style:{left:10}},{props:{variant:`text`,loadingPosition:`start`},style:{left:6}},{props:{loadingPosition:`center`},style:{left:`50%`,transform:`translate(-50%)`,color:(e.vars||e).palette.action.disabled}},{props:{loadingPosition:`end`},style:{right:14}},{props:{loadingPosition:`end`,size:`small`},style:{right:10}},{props:{variant:`text`,loadingPosition:`end`},style:{right:6}},{props:{loadingPosition:`start`,fullWidth:!0},style:{position:`relative`,left:-10}},{props:{loadingPosition:`end`,fullWidth:!0},style:{position:`relative`,right:-10}}]})),cu=Wc(`span`,{name:`MuiButton`,slot:`LoadingIconPlaceholder`})({display:`inline-block`,width:`1em`,height:`1em`}),lu=v.forwardRef(function(e,t){let n=v.useContext(eu),r=v.useContext(tu),i=Kc({props:Xn(n,e),name:`MuiButton`}),{children:a,color:o=`primary`,component:s=`button`,className:c,disabled:l=!1,disableElevation:u=!1,disableFocusRipple:d=!1,endIcon:f,focusVisibleClassName:p,fullWidth:m=!1,id:h,loading:g=null,loadingIndicator:_,loadingPosition:y=`center`,size:b=`medium`,startIcon:x,type:S,variant:C=`text`,...w}=i,ee=Qc(h),T=_??(0,F.jsx)(Zl,{"aria-labelledby":ee,color:`inherit`,size:16}),E={...i,color:o,component:s,disabled:l,disableElevation:u,disableFocusRipple:d,fullWidth:m,loading:g,loadingIndicator:T,loadingPosition:y,size:b,type:S,variant:C},te=nu(E),ne=(x||g&&y===`start`)&&(0,F.jsx)(au,{className:te.startIcon,ownerState:E,children:x||(0,F.jsx)(cu,{className:te.loadingIconPlaceholder,ownerState:E})}),re=(f||g&&y===`end`)&&(0,F.jsx)(ou,{className:te.endIcon,ownerState:E,children:f||(0,F.jsx)(cu,{className:te.loadingIconPlaceholder,ownerState:E})}),ie=r||``,ae=typeof g==`boolean`?(0,F.jsx)(`span`,{className:te.loadingWrapper,style:{display:`contents`},children:g&&(0,F.jsx)(su,{className:te.loadingIndicator,ownerState:E,children:T})}):null;return(0,F.jsxs)(iu,{ownerState:E,className:Yn(n.className,te.root,c,ie),component:s,disabled:l||g,focusRipple:!d,focusVisibleClassName:Yn(te.focusVisible,p),ref:t,type:S,id:g?ee:h,...w,classes:te,children:[ne,y!==`end`&&ae,a,y===`end`&&ae,re]})});function uu(){return(0,F.jsx)(`header`,{className:`homeheader`,children:(0,F.jsxs)(`div`,{className:`navhome`,children:[(0,F.jsx)(`div`,{className:`dLogo`,children:(0,F.jsx)(`h3`,{children:`fdpay`})}),(0,F.jsx)(`div`,{className:`menu`,children:(0,F.jsxs)(`ul`,{className:`menuul`,children:[(0,F.jsx)(`li`,{className:`navLink`,children:(0,F.jsx)(An,{id:`Nav_Link`,to:`/`,children:`Home`})}),(0,F.jsx)(`li`,{id:`Nav_Link`,className:`navLink`,children:(0,F.jsxs)(An,{to:`/login`,children:[(0,F.jsx)(lu,{id:`ThemecommonButton`,variant:`contained`,children:`Login`}),` `]})})]})})]})})}function du(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var fu={read:function(e){return e[0]===`"`&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function pu(e,t){function n(n,r,i){if(!(typeof document>`u`)){i=du({},t,i),typeof i.expires==`number`&&(i.expires=new Date(Date.now()+i.expires*864e5)),i.expires&&=i.expires.toUTCString(),n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a=``;for(var o in i)i[o]&&(a+=`; `+o,i[o]!==!0&&(a+=`=`+i[o].split(`;`)[0]));return document.cookie=n+`=`+e.write(r,n)+a}}function r(t){if(!(typeof document>`u`||arguments.length&&!t)){for(var n=document.cookie?document.cookie.split(`; `):[],r={},i=0;i<n.length;i++){var a=n[i].split(`=`),o=a.slice(1).join(`=`);try{var s=decodeURIComponent(a[0]);if(r[s]=e.read(o,s),t===s)break}catch{}}return t?r[t]:r}}return Object.create({set:n,get:r,remove:function(e,t){n(e,``,du({},t,{expires:-1}))},withAttributes:function(e){return pu(this.converter,du({},this.attributes,e))},withConverter:function(e){return pu(du({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var V=pu(fu,{path:`/`});function mu(){return(0,F.jsx)(`div`,{className:`mylibcontainer`,children:(0,F.jsx)(`div`,{className:`mylib`,children:(0,F.jsx)(`a`,{target:`_blank`,href:`https://www.npmjs.com/package/fdpaydashboard`,className:`linknpm`,children:`npm i fdpaydashboard`})})})}function hu(){let e=V.get(`user`)||``;return console.log(e),(0,F.jsxs)(`section`,{className:`hero`,children:[(0,F.jsxs)(`h1`,{children:[`BUILD & TEST YOUR OWN `,(0,F.jsx)(`span`,{children:`FAKE PAYMENT SYSTEM`})]}),(0,F.jsx)(`p`,{children:`Create bank accounts, generate UPI IDs, and simulate real-time payments. Perfect for developers and learning fintech systems.`}),(0,F.jsx)(mu,{}),(0,F.jsx)(An,{to:`/login`,children:(0,F.jsx)(`button`,{className:`cta`,children:`START SETUP 🚀`})})]})}function gu(){let e=lt();return(0,F.jsxs)(`div`,{className:`root`,children:[(0,F.jsx)(uu,{}),(0,F.jsx)(hu,{}),(0,F.jsxs)(`div`,{className:`home`,children:[(0,F.jsxs)(`section`,{className:`notice`,children:[(0,F.jsx)(`h2`,{children:`🚀 use Dashboard on Localhost`}),(0,F.jsxs)(`p`,{children:[`Install the npm package on your local system and run command `,(0,F.jsx)(`strong`,{children:`fdpaydashboard`}),` and they run on your local ip.`]})]}),(0,F.jsxs)(`section`,{className:`notice`,children:[(0,F.jsx)(`h2`,{children:`⚠️ Demo / Testing Platform`}),(0,F.jsxs)(`p`,{children:[`This is a `,(0,F.jsx)(`strong`,{children:`fake payment system`}),` built for developers to test and integrate payment workflows in their own projects.`]}),(0,F.jsxs)(`p`,{children:[`🚫 No real money transactions happen here. `,(0,F.jsx)(`br`,{}),`💡 It provides a `,(0,F.jsx)(`strong`,{children:`free fake payment API`}),` for learning, testing, and development purposes only.`]}),(0,F.jsx)(`p`,{className:`highlight`,children:`Use this system to simulate UPI, wallet balance, and transactions safely.`})]}),(0,F.jsxs)(`section`,{className:`features`,children:[(0,F.jsx)(`h2`,{children:`🚀 Powerful Features`}),(0,F.jsxs)(`div`,{className:`grid`,children:[(0,F.jsx)(`div`,{className:`card`,children:`🔐 Secure Bank Account`}),(0,F.jsx)(`div`,{className:`card`,children:`💳 UPI Generator`}),(0,F.jsx)(`div`,{className:`card`,children:`💸 Instant Payments`}),(0,F.jsx)(`div`,{className:`card`,children:`📊 Transactions`}),(0,F.jsx)(`div`,{className:`card`,children:`💰 Wallet Balance`}),(0,F.jsx)(`div`,{className:`card`,children:`🔑 Developer APIs`})]})]}),(0,F.jsxs)(`section`,{className:`how`,children:[(0,F.jsx)(`h2`,{children:`⚡ How It Works`}),(0,F.jsxs)(`div`,{className:`steps`,children:[(0,F.jsx)(`div`,{className:`step`,children:`1️⃣ Create Account`}),(0,F.jsx)(`div`,{className:`step`,children:`2️⃣ Generate UPI`}),(0,F.jsx)(`div`,{className:`step`,children:`3️⃣ Add Balance`}),(0,F.jsx)(`div`,{className:`step`,children:`4️⃣ Send Payment`}),(0,F.jsx)(`div`,{className:`step`,children:`5️⃣ Track History`}),(0,F.jsx)(`div`,{className:`step`,children:`6️⃣ Use API`})]})]}),(0,F.jsxs)(`section`,{className:`developer`,children:[(0,F.jsx)(`h2`,{children:`💻 Developer APIs`}),(0,F.jsx)(`p`,{children:`Integrate payments into your app with simple API keys.`}),(0,F.jsxs)(`ul`,{children:[(0,F.jsx)(`li`,{children:`✔ Fetch Accounts`}),(0,F.jsx)(`li`,{children:`✔ Generate UPI`}),(0,F.jsx)(`li`,{children:`✔ Send Payments`}),(0,F.jsx)(`li`,{children:`✔ View Transactions`})]})]}),(0,F.jsxs)(`section`,{className:`cta-section`,children:[(0,F.jsx)(`h2`,{children:`Start Building Your Payment System 🚀`}),(0,F.jsx)(`button`,{onClick:()=>e(`/signup`),children:`Get Started`})]}),(0,F.jsxs)(`footer`,{className:`footer`,children:[(0,F.jsx)(`p`,{children:`© 2026 fdpay • Demo Payment System`}),(0,F.jsx)(`p`,{children:(0,F.jsx)(`a`,{style:{color:`white`},href:`mailto:rangamapp@gmail.com`,children:`rangamapp@gmail.com`})})]})]})]})}function _u({title:e,onClick:t}){return(0,F.jsx)(`button`,{id:`ThemecommonButton`,onClick:t,children:e})}function vu({label:e,value:t,onChangeText:n,width:r,onEnter:i}){return(0,F.jsxs)(`div`,{className:`themeinputcontainer`,style:{width:r},children:[(0,F.jsx)(`p`,{children:e}),(0,F.jsx)(`input`,{type:`text`,value:t,onChange:e=>n?.(e.target.value),onKeyDown:e=>{e.key===`Enter`&&i?.()},id:`ThemeInput`})]})}function yu(e){return(0,F.jsx)(`div`,{className:`authrootl`,children:(0,F.jsxs)(`div`,{className:`authcontainer`,children:[(0,F.jsx)(`div`,{className:`authheading`,children:(0,F.jsx)(`p`,{children:e.heading})}),e.children]})})}var bu=()=>void 0,xu=function(e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=i&63|128):(i&64512)==55296&&r+1<e.length&&(e.charCodeAt(r+1)&64512)==56320?(i=65536+((i&1023)<<10)+(e.charCodeAt(++r)&1023),t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=i&63|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=i&63|128)}return t},Su=function(e){let t=[],n=0,r=0;for(;n<e.length;){let i=e[n++];if(i<128)t[r++]=String.fromCharCode(i);else if(i>191&&i<224){let a=e[n++];t[r++]=String.fromCharCode((i&31)<<6|a&63)}else if(i>239&&i<365){let a=e[n++],o=e[n++],s=e[n++],c=((i&7)<<18|(a&63)<<12|(o&63)<<6|s&63)-65536;t[r++]=String.fromCharCode(55296+(c>>10)),t[r++]=String.fromCharCode(56320+(c&1023))}else{let a=e[n++],o=e[n++];t[r++]=String.fromCharCode((i&15)<<12|(a&63)<<6|o&63)}}return t.join(``)},Cu={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`,get ENCODED_VALS(){return this.ENCODED_VALS_BASE+`+/=`},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+`-_.`},HAS_NATIVE_SUPPORT:typeof atob==`function`,encodeByteArray(e,t){if(!Array.isArray(e))throw Error(`encodeByteArray takes an array as a parameter`);this.init_();let n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let t=0;t<e.length;t+=3){let i=e[t],a=t+1<e.length,o=a?e[t+1]:0,s=t+2<e.length,c=s?e[t+2]:0,l=i>>2,u=(i&3)<<4|o>>4,d=(o&15)<<2|c>>6,f=c&63;s||(f=64,a||(d=64)),r.push(n[l],n[u],n[d],n[f])}return r.join(``)},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(xu(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):Su(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let t=0;t<e.length;){let i=n[e.charAt(t++)],a=t<e.length?n[e.charAt(t)]:0;++t;let o=t<e.length?n[e.charAt(t)]:64;++t;let s=t<e.length?n[e.charAt(t)]:64;if(++t,i==null||a==null||o==null||s==null)throw new wu;let c=i<<2|a>>4;if(r.push(c),o!==64){let e=a<<4&240|o>>2;if(r.push(e),s!==64){let e=o<<6&192|s;r.push(e)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e,e>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},wu=class extends Error{constructor(){super(...arguments),this.name=`DecodeBase64StringError`}},Tu=function(e){let t=xu(e);return Cu.encodeByteArray(t,!0)},Eu=function(e){return Tu(e).replace(/\./g,``)},Du=function(e){try{return Cu.decodeString(e,!0)}catch(e){console.error(`base64Decode failed: `,e)}return null};function Ou(){if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`Unable to locate global object.`)}var ku=()=>Ou().__FIREBASE_DEFAULTS__,Au=()=>{if(typeof process>`u`)return;let e={}.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)},ju=()=>{if(typeof document>`u`)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}let t=e&&Du(e[1]);return t&&JSON.parse(t)},Mu=()=>{try{return bu()||ku()||Au()||ju()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},Nu=e=>Mu()?.emulatorHosts?.[e],Pu=e=>{let t=Nu(e);if(!t)return;let n=t.lastIndexOf(`:`);if(n<=0||n+1===t.length)throw Error(`Invalid host ${t} with no separate hostname and port!`);let r=parseInt(t.substring(n+1),10);return t[0]===`[`?[t.substring(1,n-1),r]:[t.substring(0,n),r]},Fu=()=>Mu()?.config,Iu=e=>Mu()?.[`_${e}`],Lu=class{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,n)=>{t?this.reject(t):this.resolve(n),typeof e==`function`&&(this.promise.catch(()=>{}),e.length===1?e(t):e(t,n))}}};function Ru(e,t){if(e.uid)throw Error(`The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.`);let n={alg:`none`,type:`JWT`},r=t||`demo-project`,i=e.iat||0,a=e.sub||e.user_id;if(!a)throw Error(`mockUserToken must contain 'sub' or 'user_id' field!`);let o={iss:`https://securetoken.google.com/${r}`,aud:r,iat:i,exp:i+3600,auth_time:i,sub:a,user_id:a,firebase:{sign_in_provider:`custom`,identities:{}},...e};return[Eu(JSON.stringify(n)),Eu(JSON.stringify(o)),``].join(`.`)}function zu(){return typeof navigator<`u`&&typeof navigator.userAgent==`string`?navigator.userAgent:``}function Bu(){return typeof window<`u`&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(zu())}function Vu(){let e=Mu()?.forceEnvironment;if(e===`node`)return!0;if(e===`browser`)return!1;try{return Object.prototype.toString.call(global.process)===`[object process]`}catch{return!1}}function Hu(){return typeof navigator<`u`&&navigator.userAgent===`Cloudflare-Workers`}function Uu(){let e=typeof chrome==`object`?chrome.runtime:typeof browser==`object`?browser.runtime:void 0;return typeof e==`object`&&e.id!==void 0}function Wu(){return typeof navigator==`object`&&navigator.product===`ReactNative`}function Gu(){let e=zu();return e.indexOf(`MSIE `)>=0||e.indexOf(`Trident/`)>=0}function Ku(){return!Vu()&&!!navigator.userAgent&&navigator.userAgent.includes(`Safari`)&&!navigator.userAgent.includes(`Chrome`)}function qu(){try{return typeof indexedDB==`object`}catch{return!1}}function Ju(){return new Promise((e,t)=>{try{let n=!0,r=`validate-browser-context-for-indexeddb-analytics-module`,i=self.indexedDB.open(r);i.onsuccess=()=>{i.result.close(),n||self.indexedDB.deleteDatabase(r),e(!0)},i.onupgradeneeded=()=>{n=!1},i.onerror=()=>{t(i.error?.message||``)}}catch(e){t(e)}})}var Yu=`FirebaseError`,Xu=class e extends Error{constructor(t,n,r){super(n),this.code=t,this.customData=r,this.name=Yu,Object.setPrototypeOf(this,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,Zu.prototype.create)}},Zu=class{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){let n=t[0]||{},r=`${this.service}/${e}`,i=this.errors[e],a=i?Qu(i,n):`Error`;return new Xu(r,`${this.serviceName}: ${a} (${r}).`,n)}};function Qu(e,t){return e.replace($u,(e,n)=>{let r=t[n];return r==null?`<${n}?>`:String(r)})}var $u=/\{\$([^}]+)}/g;function ed(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function td(e,t){if(e===t)return!0;let n=Object.keys(e),r=Object.keys(t);for(let i of n){if(!r.includes(i))return!1;let n=e[i],a=t[i];if(nd(n)&&nd(a)){if(!td(n,a))return!1}else if(n!==a)return!1}for(let e of r)if(!n.includes(e))return!1;return!0}function nd(e){return typeof e==`object`&&!!e}function rd(e){let t=[];for(let[n,r]of Object.entries(e))Array.isArray(r)?r.forEach(e=>{t.push(encodeURIComponent(n)+`=`+encodeURIComponent(e))}):t.push(encodeURIComponent(n)+`=`+encodeURIComponent(r));return t.length?`&`+t.join(`&`):``}function id(e){let t={};return e.replace(/^\?/,``).split(`&`).forEach(e=>{if(e){let[n,r]=e.split(`=`);t[decodeURIComponent(n)]=decodeURIComponent(r)}}),t}function ad(e){let t=e.indexOf(`?`);if(!t)return``;let n=e.indexOf(`#`,t);return e.substring(t,n>0?n:void 0)}function od(e,t){let n=new sd(e,t);return n.subscribe.bind(n)}var sd=class{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,n){let r;if(e===void 0&&t===void 0&&n===void 0)throw Error(`Missing Observer.`);r=cd(e,[`next`,`error`,`complete`])?e:{next:e,error:t,complete:n},r.next===void 0&&(r.next=ld),r.error===void 0&&(r.error=ld),r.complete===void 0&&(r.complete=ld);let i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?r.error(this.finalError):r.complete()}catch{}}),this.observers.push(r),i}unsubscribeOne(e){this.observers===void 0||this.observers[e]===void 0||(delete this.observers[e],--this.observerCount,this.observerCount===0&&this.onNoObservers!==void 0&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then(()=>{if(this.observers!==void 0&&this.observers[e]!==void 0)try{t(this.observers[e])}catch(e){typeof console<`u`&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,e!==void 0&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}};function cd(e,t){if(typeof e!=`object`||!e)return!1;for(let n of t)if(n in e&&typeof e[n]==`function`)return!0;return!1}function ld(){}function ud(e){return e&&e._delegate?e._delegate:e}function dd(e){try{return(e.startsWith(`http://`)||e.startsWith(`https://`)?new URL(e).hostname:e).endsWith(`.cloudworkstations.dev`)}catch{return!1}}async function fd(e){return(await fetch(e,{credentials:`include`})).ok}var pd=class{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode=`LAZY`,this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}},md=`[DEFAULT]`,hd=class{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let e=new Lu;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){let t=this.normalizeInstanceIdentifier(e?.identifier),n=e?.optional??!1;if(this.isInitialized(t)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(n)return null;throw e}else if(n)return null;else throw Error(`Service ${this.name} is not available`)}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_d(e))try{this.getOrInitializeService({instanceIdentifier:md})}catch{}for(let[e,t]of this.instancesDeferred.entries()){let n=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:n});t.resolve(e)}catch{}}}}clearInstance(e=md){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>`INTERNAL`in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>`_delete`in e).map(e=>e._delete())])}isComponentSet(){return this.component!=null}isInitialized(e=md){return this.instances.has(e)}getOptions(e=md){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,n=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(n))throw Error(`${this.name}(${n}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let r=this.getOrInitializeService({instanceIdentifier:n,options:t});for(let[e,t]of this.instancesDeferred.entries())n===this.normalizeInstanceIdentifier(e)&&t.resolve(r);return r}onInit(e,t){let n=this.normalizeInstanceIdentifier(t),r=this.onInitCallbacks.get(n)??new Set;r.add(e),this.onInitCallbacks.set(n,r);let i=this.instances.get(n);return i&&e(i,n),()=>{r.delete(e)}}invokeOnInitCallbacks(e,t){let n=this.onInitCallbacks.get(t);if(n)for(let r of n)try{r(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let n=this.instances.get(e);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:gd(e),options:t}),this.instances.set(e,n),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(n,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,n)}catch{}return n||null}normalizeInstanceIdentifier(e=md){return this.component?this.component.multipleInstances?e:md:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!==`EXPLICIT`}};function gd(e){return e===md?void 0:e}function _d(e){return e.instantiationMode===`EAGER`}var vd=class{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);let t=new hd(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}},yd=[],H;(function(e){e[e.DEBUG=0]=`DEBUG`,e[e.VERBOSE=1]=`VERBOSE`,e[e.INFO=2]=`INFO`,e[e.WARN=3]=`WARN`,e[e.ERROR=4]=`ERROR`,e[e.SILENT=5]=`SILENT`})(H||={});var bd={debug:H.DEBUG,verbose:H.VERBOSE,info:H.INFO,warn:H.WARN,error:H.ERROR,silent:H.SILENT},xd=H.INFO,Sd={[H.DEBUG]:`log`,[H.VERBOSE]:`log`,[H.INFO]:`info`,[H.WARN]:`warn`,[H.ERROR]:`error`},Cd=(e,t,...n)=>{if(t<e.logLevel)return;let r=new Date().toISOString(),i=Sd[t];if(i)console[i](`[${r}] ${e.name}:`,...n);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)},wd=class{constructor(e){this.name=e,this._logLevel=xd,this._logHandler=Cd,this._userLogHandler=null,yd.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in H))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e==`string`?bd[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!=`function`)throw TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,H.DEBUG,...e),this._logHandler(this,H.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,H.VERBOSE,...e),this._logHandler(this,H.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,H.INFO,...e),this._logHandler(this,H.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,H.WARN,...e),this._logHandler(this,H.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,H.ERROR,...e),this._logHandler(this,H.ERROR,...e)}},Td=(e,t)=>t.some(t=>e instanceof t),Ed,Dd;function Od(){return Ed||=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function U(){return Dd||=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]}var kd=new WeakMap,Ad=new WeakMap,jd=new WeakMap,Md=new WeakMap,Nd=new WeakMap;function Pd(e){let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`success`,i),e.removeEventListener(`error`,a)},i=()=>{t(Bd(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(`success`,i),e.addEventListener(`error`,a)});return t.then(t=>{t instanceof IDBCursor&&kd.set(t,e)}).catch(()=>{}),Nd.set(t,e),t}function Fd(e){if(Ad.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`complete`,i),e.removeEventListener(`error`,a),e.removeEventListener(`abort`,a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException(`AbortError`,`AbortError`)),r()};e.addEventListener(`complete`,i),e.addEventListener(`error`,a),e.addEventListener(`abort`,a)});Ad.set(e,t)}var Id={get(e,t,n){if(e instanceof IDBTransaction){if(t===`done`)return Ad.get(e);if(t===`objectStoreNames`)return e.objectStoreNames||jd.get(e);if(t===`store`)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Bd(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t===`done`||t===`store`)?!0:t in e}};function Ld(e){Id=e(Id)}function Rd(e){return e===IDBDatabase.prototype.transaction&&!(`objectStoreNames`in IDBTransaction.prototype)?function(t,...n){let r=e.call(Vd(this),t,...n);return jd.set(r,t.sort?t.sort():[t]),Bd(r)}:U().includes(e)?function(...t){return e.apply(Vd(this),t),Bd(kd.get(this))}:function(...t){return Bd(e.apply(Vd(this),t))}}function zd(e){return typeof e==`function`?Rd(e):(e instanceof IDBTransaction&&Fd(e),Td(e,Od())?new Proxy(e,Id):e)}function Bd(e){if(e instanceof IDBRequest)return Pd(e);if(Md.has(e))return Md.get(e);let t=zd(e);return t!==e&&(Md.set(e,t),Nd.set(t,e)),t}var Vd=e=>Nd.get(e);function Hd(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){let o=indexedDB.open(e,t),s=Bd(o);return r&&o.addEventListener(`upgradeneeded`,e=>{r(Bd(o.result),e.oldVersion,e.newVersion,Bd(o.transaction),e)}),n&&o.addEventListener(`blocked`,e=>n(e.oldVersion,e.newVersion,e)),s.then(e=>{a&&e.addEventListener(`close`,()=>a()),i&&e.addEventListener(`versionchange`,e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),s}var Ud=[`get`,`getKey`,`getAll`,`getAllKeys`,`count`],Wd=[`put`,`add`,`delete`,`clear`],Gd=new Map;function Kd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t==`string`))return;if(Gd.get(t))return Gd.get(t);let n=t.replace(/FromIndex$/,``),r=t!==n,i=Wd.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||Ud.includes(n)))return;let a=async function(e,...t){let a=this.transaction(e,i?`readwrite`:`readonly`),o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return Gd.set(t,a),a}Ld(e=>({...e,get:(t,n,r)=>Kd(t,n)||e.get(t,n,r),has:(t,n)=>!!Kd(t,n)||e.has(t,n)}));var qd=class{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{if(Jd(e)){let t=e.getImmediate();return`${t.library}/${t.version}`}else return null}).filter(e=>e).join(` `)}};function Jd(e){return e.getComponent()?.type===`VERSION`}var Yd=`@firebase/app`,Xd=`0.14.10`,Zd=new wd(`@firebase/app`),Qd=`@firebase/app-compat`,$d=`@firebase/analytics-compat`,ef=`@firebase/analytics`,tf=`@firebase/app-check-compat`,nf=`@firebase/app-check`,rf=`@firebase/auth`,af=`@firebase/auth-compat`,of=`@firebase/database`,sf=`@firebase/data-connect`,cf=`@firebase/database-compat`,lf=`@firebase/functions`,uf=`@firebase/functions-compat`,df=`@firebase/installations`,ff=`@firebase/installations-compat`,pf=`@firebase/messaging`,mf=`@firebase/messaging-compat`,hf=`@firebase/performance`,gf=`@firebase/performance-compat`,_f=`@firebase/remote-config`,vf=`@firebase/remote-config-compat`,yf=`@firebase/storage`,bf=`@firebase/storage-compat`,xf=`@firebase/firestore`,Sf=`@firebase/ai`,Cf=`@firebase/firestore-compat`,wf=`firebase`,Tf=`12.11.0`,Ef=`[DEFAULT]`,Df={[Yd]:`fire-core`,[Qd]:`fire-core-compat`,[ef]:`fire-analytics`,[$d]:`fire-analytics-compat`,[nf]:`fire-app-check`,[tf]:`fire-app-check-compat`,[rf]:`fire-auth`,[af]:`fire-auth-compat`,[of]:`fire-rtdb`,[sf]:`fire-data-connect`,[cf]:`fire-rtdb-compat`,[lf]:`fire-fn`,[uf]:`fire-fn-compat`,[df]:`fire-iid`,[ff]:`fire-iid-compat`,[pf]:`fire-fcm`,[mf]:`fire-fcm-compat`,[hf]:`fire-perf`,[gf]:`fire-perf-compat`,[_f]:`fire-rc`,[vf]:`fire-rc-compat`,[yf]:`fire-gcs`,[bf]:`fire-gcs-compat`,[xf]:`fire-fst`,[Cf]:`fire-fst-compat`,[Sf]:`fire-vertex`,"fire-js":`fire-js`,[wf]:`fire-js-all`},Of=new Map,kf=new Map,Af=new Map;function jf(e,t){try{e.container.addComponent(t)}catch(n){Zd.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function Mf(e){let t=e.name;if(Af.has(t))return Zd.debug(`There were multiple attempts to register component ${t}.`),!1;Af.set(t,e);for(let t of Of.values())jf(t,e);for(let t of kf.values())jf(t,e);return!0}function Nf(e,t){let n=e.container.getProvider(`heartbeat`).getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}function Pf(e){return e==null?!1:e.settings!==void 0}var Ff=new Zu(`app`,`Firebase`,{"no-app":`No Firebase App '{$appName}' has been created - call initializeApp() first`,"bad-app-name":`Illegal App name: '{$appName}'`,"duplicate-app":`Firebase App named '{$appName}' already exists with different options or config`,"app-deleted":`Firebase App named '{$appName}' already deleted`,"server-app-deleted":`Firebase Server App has been deleted`,"no-options":`Need to provide options, when not being deployed to hosting via source.`,"invalid-app-argument":`firebase.{$appName}() takes either no argument or a Firebase App instance.`,"invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":`Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.`,"idb-get":`Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.`,"idb-set":`Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.`,"idb-delete":`Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.`,"finalization-registry-not-supported":`FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.`,"invalid-server-app-environment":`FirebaseServerApp is not for use in browser environments.`}),If=class{constructor(e,t,n){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new pd(`app`,()=>this,`PUBLIC`))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw Ff.create(`app-deleted`,{appName:this._name})}},Lf=Tf;function Rf(e,t={}){let n=e;typeof t!=`object`&&(t={name:t});let r={name:Ef,automaticDataCollectionEnabled:!0,...t},i=r.name;if(typeof i!=`string`||!i)throw Ff.create(`bad-app-name`,{appName:String(i)});if(n||=Fu(),!n)throw Ff.create(`no-options`);let a=Of.get(i);if(a){if(td(n,a.options)&&td(r,a.config))return a;throw Ff.create(`duplicate-app`,{appName:i})}let o=new vd(i);for(let e of Af.values())o.addComponent(e);let s=new If(n,r,o);return Of.set(i,s),s}function zf(e=Ef){let t=Of.get(e);if(!t&&e===`[DEFAULT]`&&Fu())return Rf();if(!t)throw Ff.create(`no-app`,{appName:e});return t}function Bf(e,t,n){let r=Df[e]??e;n&&(r+=`-${n}`);let i=r.match(/\s|\//),a=t.match(/\s|\//);if(i||a){let e=[`Unable to register library "${r}" with version "${t}":`];i&&e.push(`library name "${r}" contains illegal characters (whitespace or "/")`),i&&a&&e.push(`and`),a&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),Zd.warn(e.join(` `));return}Mf(new pd(`${r}-version`,()=>({library:r,version:t}),`VERSION`))}var Vf=`firebase-heartbeat-database`,Hf=1,Uf=`firebase-heartbeat-store`,Wf=null;function Gf(){return Wf||=Hd(Vf,Hf,{upgrade:(e,t)=>{switch(t){case 0:try{e.createObjectStore(Uf)}catch(e){console.warn(e)}}}}).catch(e=>{throw Ff.create(`idb-open`,{originalErrorMessage:e.message})}),Wf}async function Kf(e){try{let t=(await Gf()).transaction(Uf),n=await t.objectStore(Uf).get(Jf(e));return await t.done,n}catch(e){if(e instanceof Xu)Zd.warn(e.message);else{let t=Ff.create(`idb-get`,{originalErrorMessage:e?.message});Zd.warn(t.message)}}}async function qf(e,t){try{let n=(await Gf()).transaction(Uf,`readwrite`);await n.objectStore(Uf).put(t,Jf(e)),await n.done}catch(e){if(e instanceof Xu)Zd.warn(e.message);else{let t=Ff.create(`idb-set`,{originalErrorMessage:e?.message});Zd.warn(t.message)}}}function Jf(e){return`${e.name}!${e.options.appId}`}var Yf=1024,Xf=30,Zf=class{constructor(e){this.container=e,this._heartbeatsCache=null,this._storage=new ep(this.container.getProvider(`app`).getImmediate()),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{let e=this.container.getProvider(`platform-logger`).getImmediate().getPlatformInfoString(),t=Qf();if(this._heartbeatsCache?.heartbeats==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)||this._heartbeatsCache.lastSentHeartbeatDate===t||this._heartbeatsCache.heartbeats.some(e=>e.date===t))return;if(this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats.length>Xf){let e=np(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){Zd.warn(e)}}async getHeartbeatsHeader(){try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||this._heartbeatsCache.heartbeats.length===0)return``;let e=Qf(),{heartbeatsToSend:t,unsentEntries:n}=$f(this._heartbeatsCache.heartbeats),r=Eu(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),r}catch(e){return Zd.warn(e),``}}};function Qf(){return new Date().toISOString().substring(0,10)}function $f(e,t=Yf){let n=[],r=e.slice();for(let i of e){let e=n.find(e=>e.agent===i.agent);if(!e){if(n.push({agent:i.agent,dates:[i.date]}),tp(n)>t){n.pop();break}}else if(e.dates.push(i.date),tp(n)>t){e.dates.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}var ep=class{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return qu()?Ju().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){let e=await Kf(this.app);return e?.heartbeats?e:{heartbeats:[]}}else return{heartbeats:[]}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return qf(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}else return}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return qf(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}else return}};function tp(e){return Eu(JSON.stringify({version:2,heartbeats:e})).length}function np(e){if(e.length===0)return-1;let t=0,n=e[0].date;for(let r=1;r<e.length;r++)e[r].date<n&&(n=e[r].date,t=r);return t}function rp(e){Mf(new pd(`platform-logger`,e=>new qd(e),`PRIVATE`)),Mf(new pd(`heartbeat`,e=>new Zf(e),`PRIVATE`)),Bf(Yd,Xd,e),Bf(Yd,Xd,`esm2020`),Bf(`fire-js`,``)}rp(``),Bf(`firebase`,`12.11.0`,`app`);function ip(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}var ap=ip,op=new Zu(`auth`,`Firebase`,ip()),sp=new wd(`@firebase/auth`);function cp(e,...t){sp.logLevel<=H.WARN&&sp.warn(`Auth (${Lf}): ${e}`,...t)}function lp(e,...t){sp.logLevel<=H.ERROR&&sp.error(`Auth (${Lf}): ${e}`,...t)}function up(e,...t){throw mp(e,...t)}function dp(e,...t){return mp(e,...t)}function fp(e,t,n){return new Zu(`auth`,`Firebase`,{...ap(),[t]:n}).create(t,{appName:e.name})}function pp(e){return fp(e,`operation-not-supported-in-this-environment`,`Operations that alter the current user are not supported in conjunction with FirebaseServerApp`)}function mp(e,...t){if(typeof e!=`string`){let n=t[0],r=[...t.slice(1)];return r[0]&&(r[0].appName=e.name),e._errorFactory.create(n,...r)}return op.create(e,...t)}function W(e,t,...n){if(!e)throw mp(t,...n)}function hp(e){let t=`INTERNAL ASSERTION FAILED: `+e;throw lp(t),Error(t)}function gp(e,t){e||hp(t)}function _p(){return typeof self<`u`&&self.location?.href||``}function vp(){return yp()===`http:`||yp()===`https:`}function yp(){return typeof self<`u`&&self.location?.protocol||null}function bp(){return typeof navigator<`u`&&navigator&&`onLine`in navigator&&typeof navigator.onLine==`boolean`&&(vp()||Uu()||`connection`in navigator)?navigator.onLine:!0}function xp(){if(typeof navigator>`u`)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}var Sp=class{constructor(e,t){this.shortDelay=e,this.longDelay=t,gp(t>e,`Short delay should be less than long delay!`),this.isMobile=Bu()||Wu()}get(){return bp()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}};function Cp(e,t){gp(e.emulator,`Emulator should always be set here`);let{url:n}=e.emulator;return t?`${n}${t.startsWith(`/`)?t.slice(1):t}`:n}var wp=class{static initialize(e,t,n){this.fetchImpl=e,t&&(this.headersImpl=t),n&&(this.responseImpl=n)}static fetch(){if(this.fetchImpl)return this.fetchImpl;if(typeof self<`u`&&`fetch`in self)return self.fetch;if(typeof globalThis<`u`&&globalThis.fetch)return globalThis.fetch;if(typeof fetch<`u`)return fetch;hp(`Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static headers(){if(this.headersImpl)return this.headersImpl;if(typeof self<`u`&&`Headers`in self)return self.Headers;if(typeof globalThis<`u`&&globalThis.Headers)return globalThis.Headers;if(typeof Headers<`u`)return Headers;hp(`Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static response(){if(this.responseImpl)return this.responseImpl;if(typeof self<`u`&&`Response`in self)return self.Response;if(typeof globalThis<`u`&&globalThis.Response)return globalThis.Response;if(typeof Response<`u`)return Response;hp(`Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}},Tp={CREDENTIAL_MISMATCH:`custom-token-mismatch`,MISSING_CUSTOM_TOKEN:`internal-error`,INVALID_IDENTIFIER:`invalid-email`,MISSING_CONTINUE_URI:`internal-error`,INVALID_PASSWORD:`wrong-password`,MISSING_PASSWORD:`missing-password`,INVALID_LOGIN_CREDENTIALS:`invalid-credential`,EMAIL_EXISTS:`email-already-in-use`,PASSWORD_LOGIN_DISABLED:`operation-not-allowed`,INVALID_IDP_RESPONSE:`invalid-credential`,INVALID_PENDING_TOKEN:`invalid-credential`,FEDERATED_USER_ID_ALREADY_LINKED:`credential-already-in-use`,MISSING_REQ_TYPE:`internal-error`,EMAIL_NOT_FOUND:`user-not-found`,RESET_PASSWORD_EXCEED_LIMIT:`too-many-requests`,EXPIRED_OOB_CODE:`expired-action-code`,INVALID_OOB_CODE:`invalid-action-code`,MISSING_OOB_CODE:`internal-error`,CREDENTIAL_TOO_OLD_LOGIN_AGAIN:`requires-recent-login`,INVALID_ID_TOKEN:`invalid-user-token`,TOKEN_EXPIRED:`user-token-expired`,USER_NOT_FOUND:`user-token-expired`,TOO_MANY_ATTEMPTS_TRY_LATER:`too-many-requests`,PASSWORD_DOES_NOT_MEET_REQUIREMENTS:`password-does-not-meet-requirements`,INVALID_CODE:`invalid-verification-code`,INVALID_SESSION_INFO:`invalid-verification-id`,INVALID_TEMPORARY_PROOF:`invalid-credential`,MISSING_SESSION_INFO:`missing-verification-id`,SESSION_EXPIRED:`code-expired`,MISSING_ANDROID_PACKAGE_NAME:`missing-android-pkg-name`,UNAUTHORIZED_DOMAIN:`unauthorized-continue-uri`,INVALID_OAUTH_CLIENT_ID:`invalid-oauth-client-id`,ADMIN_ONLY_OPERATION:`admin-restricted-operation`,INVALID_MFA_PENDING_CREDENTIAL:`invalid-multi-factor-session`,MFA_ENROLLMENT_NOT_FOUND:`multi-factor-info-not-found`,MISSING_MFA_ENROLLMENT_ID:`missing-multi-factor-info`,MISSING_MFA_PENDING_CREDENTIAL:`missing-multi-factor-session`,SECOND_FACTOR_EXISTS:`second-factor-already-in-use`,SECOND_FACTOR_LIMIT_EXCEEDED:`maximum-second-factor-count-exceeded`,BLOCKING_FUNCTION_ERROR_RESPONSE:`internal-error`,RECAPTCHA_NOT_ENABLED:`recaptcha-not-enabled`,MISSING_RECAPTCHA_TOKEN:`missing-recaptcha-token`,INVALID_RECAPTCHA_TOKEN:`invalid-recaptcha-token`,INVALID_RECAPTCHA_ACTION:`invalid-recaptcha-action`,MISSING_CLIENT_TYPE:`missing-client-type`,MISSING_RECAPTCHA_VERSION:`missing-recaptcha-version`,INVALID_RECAPTCHA_VERSION:`invalid-recaptcha-version`,INVALID_REQ_TYPE:`invalid-req-type`},Ep=[`/v1/accounts:signInWithCustomToken`,`/v1/accounts:signInWithEmailLink`,`/v1/accounts:signInWithIdp`,`/v1/accounts:signInWithPassword`,`/v1/accounts:signInWithPhoneNumber`,`/v1/token`],Dp=new Sp(3e4,6e4);function Op(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function kp(e,t,n,r,i={}){return Ap(e,i,async()=>{let i={},a={};r&&(t===`GET`?a=r:i={body:JSON.stringify(r)});let o=rd({key:e.config.apiKey,...a}).slice(1),s=await e._getAdditionalHeaders();s[`Content-Type`]=`application/json`,e.languageCode&&(s[`X-Firebase-Locale`]=e.languageCode);let c={method:t,headers:s,...i};return Hu()||(c.referrerPolicy=`no-referrer`),e.emulatorConfig&&dd(e.emulatorConfig.host)&&(c.credentials=`include`),wp.fetch()(await Mp(e,e.config.apiHost,n,o),c)})}async function Ap(e,t,n){e._canInitEmulator=!1;let r={...Tp,...t};try{let t=new Pp(e),i=await Promise.race([n(),t.promise]);t.clearNetworkTimeout();let a=await i.json();if(`needConfirmation`in a)throw Fp(e,`account-exists-with-different-credential`,a);if(i.ok&&!(`errorMessage`in a))return a;{let[t,n]=(i.ok?a.errorMessage:a.error.message).split(` : `);if(t===`FEDERATED_USER_ID_ALREADY_LINKED`)throw Fp(e,`credential-already-in-use`,a);if(t===`EMAIL_EXISTS`)throw Fp(e,`email-already-in-use`,a);if(t===`USER_DISABLED`)throw Fp(e,`user-disabled`,a);let o=r[t]||t.toLowerCase().replace(/[_\s]+/g,`-`);if(n)throw fp(e,o,n);up(e,o)}}catch(t){if(t instanceof Xu)throw t;up(e,`network-request-failed`,{message:String(t)})}}async function jp(e,t,n,r,i={}){let a=await kp(e,t,n,r,i);return`mfaPendingCredential`in a&&up(e,`multi-factor-auth-required`,{_serverResponse:a}),a}async function Mp(e,t,n,r){let i=`${t}${n}?${r}`,a=e,o=a.config.emulator?Cp(e.config,i):`${e.config.apiScheme}://${i}`;return Ep.includes(n)&&(await a._persistenceManagerAvailable,a._getPersistenceType()===`COOKIE`)?a._getPersistence()._getFinalTarget(o).toString():o}function Np(e){switch(e){case`ENFORCE`:return`ENFORCE`;case`AUDIT`:return`AUDIT`;case`OFF`:return`OFF`;default:return`ENFORCEMENT_STATE_UNSPECIFIED`}}var Pp=class{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(dp(this.auth,`network-request-failed`)),Dp.get())})}};function Fp(e,t,n){let r={appName:e.name};n.email&&(r.email=n.email),n.phoneNumber&&(r.phoneNumber=n.phoneNumber);let i=dp(e,t,r);return i.customData._tokenResponse=n,i}function Ip(e){return e!==void 0&&e.enterprise!==void 0}var Lp=class{constructor(e){if(this.siteKey=``,this.recaptchaEnforcementState=[],e.recaptchaKey===void 0)throw Error(`recaptchaKey undefined`);this.siteKey=e.recaptchaKey.split(`/`)[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||this.recaptchaEnforcementState.length===0)return null;for(let t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return Np(t.enforcementState);return null}isProviderEnabled(e){return this.getProviderEnforcementState(e)===`ENFORCE`||this.getProviderEnforcementState(e)===`AUDIT`}isAnyProviderEnabled(){return this.isProviderEnabled(`EMAIL_PASSWORD_PROVIDER`)||this.isProviderEnabled(`PHONE_PROVIDER`)}};async function Rp(e,t){return kp(e,`GET`,`/v2/recaptchaConfig`,Op(e,t))}async function zp(e,t){return kp(e,`POST`,`/v1/accounts:delete`,t)}async function Bp(e,t){return kp(e,`POST`,`/v1/accounts:lookup`,t)}function Vp(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch{}}async function Hp(e,t=!1){let n=ud(e),r=await n.getIdToken(t),i=Wp(r);W(i&&i.exp&&i.auth_time&&i.iat,n.auth,`internal-error`);let a=typeof i.firebase==`object`?i.firebase:void 0,o=a?.sign_in_provider;return{claims:i,token:r,authTime:Vp(Up(i.auth_time)),issuedAtTime:Vp(Up(i.iat)),expirationTime:Vp(Up(i.exp)),signInProvider:o||null,signInSecondFactor:a?.sign_in_second_factor||null}}function Up(e){return Number(e)*1e3}function Wp(e){let[t,n,r]=e.split(`.`);if(t===void 0||n===void 0||r===void 0)return lp(`JWT malformed, contained fewer than 3 sections`),null;try{let e=Du(n);return e?JSON.parse(e):(lp(`Failed to decode base64 JWT payload`),null)}catch(e){return lp(`Caught error parsing JWT payload as JSON`,e?.toString()),null}}function Gp(e){let t=Wp(e);return W(t,`internal-error`),W(t.exp!==void 0,`internal-error`),W(t.iat!==void 0,`internal-error`),Number(t.exp)-Number(t.iat)}async function Kp(e,t,n=!1){if(n)return t;try{return await t}catch(t){throw t instanceof Xu&&qp(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}function qp({code:e}){return e===`auth/user-disabled`||e===`auth/user-token-expired`}var Jp=class{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,this.timerId!==null&&clearTimeout(this.timerId))}getInterval(e){if(e){let e=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),e}else{this.errorBackoff=3e4;let e=(this.user.stsTokenManager.expirationTime??0)-Date.now()-3e5;return Math.max(0,e)}}schedule(e=!1){if(!this.isRunning)return;let t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){e?.code===`auth/network-request-failed`&&this.schedule(!0);return}this.schedule()}},Yp=class{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=Vp(this.lastLoginAt),this.creationTime=Vp(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}};async function Xp(e){let t=e.auth,n=await Kp(e,Bp(t,{idToken:await e.getIdToken()}));W(n?.users.length,t,`internal-error`);let r=n.users[0];e._notifyReloadListener(r);let i=r.providerUserInfo?.length?$p(r.providerUserInfo):[],a=Qp(e.providerData,i),o=e.isAnonymous,s=!(e.email&&r.passwordHash)&&!a?.length,c=o?s:!1,l={uid:r.localId,displayName:r.displayName||null,photoURL:r.photoUrl||null,email:r.email||null,emailVerified:r.emailVerified||!1,phoneNumber:r.phoneNumber||null,tenantId:r.tenantId||null,providerData:a,metadata:new Yp(r.createdAt,r.lastLoginAt),isAnonymous:c};Object.assign(e,l)}async function Zp(e){let t=ud(e);await Xp(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function Qp(e,t){return[...e.filter(e=>!t.some(t=>t.providerId===e.providerId)),...t]}function $p(e){return e.map(({providerId:e,...t})=>({providerId:e,uid:t.rawId||``,displayName:t.displayName||null,email:t.email||null,phoneNumber:t.phoneNumber||null,photoURL:t.photoUrl||null}))}async function em(e,t){let n=await Ap(e,{},async()=>{let n=rd({grant_type:`refresh_token`,refresh_token:t}).slice(1),{tokenApiHost:r,apiKey:i}=e.config,a=await Mp(e,r,`/v1/token`,`key=${i}`),o=await e._getAdditionalHeaders();o[`Content-Type`]=`application/x-www-form-urlencoded`;let s={method:`POST`,headers:o,body:n};return e.emulatorConfig&&dd(e.emulatorConfig.host)&&(s.credentials=`include`),wp.fetch()(a,s)});return{accessToken:n.access_token,expiresIn:n.expires_in,refreshToken:n.refresh_token}}async function tm(e,t){return kp(e,`POST`,`/v2/accounts:revokeToken`,Op(e,t))}var nm=class e{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){W(e.idToken,`internal-error`),W(e.idToken!==void 0,`internal-error`),W(e.refreshToken!==void 0,`internal-error`);let t=`expiresIn`in e&&e.expiresIn!==void 0?Number(e.expiresIn):Gp(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){W(e.length!==0,`internal-error`);let t=Gp(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:(W(this.refreshToken,e,`user-token-expired`),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null)}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:n,refreshToken:r,expiresIn:i}=await em(e,t);this.updateTokensAndExpiration(n,r,Number(i))}updateTokensAndExpiration(e,t,n){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+n*1e3}static fromJSON(t,n){let{refreshToken:r,accessToken:i,expirationTime:a}=n,o=new e;return r&&(W(typeof r==`string`,`internal-error`,{appName:t}),o.refreshToken=r),i&&(W(typeof i==`string`,`internal-error`,{appName:t}),o.accessToken=i),a&&(W(typeof a==`number`,`internal-error`,{appName:t}),o.expirationTime=a),o}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new e,this.toJSON())}_performRefresh(){return hp(`not implemented`)}};function rm(e,t){W(typeof e==`string`||e===void 0,`internal-error`,{appName:t})}var im=class e{constructor({uid:e,auth:t,stsTokenManager:n,...r}){this.providerId=`firebase`,this.proactiveRefresh=new Jp(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=e,this.auth=t,this.stsTokenManager=n,this.accessToken=n.accessToken,this.displayName=r.displayName||null,this.email=r.email||null,this.emailVerified=r.emailVerified||!1,this.phoneNumber=r.phoneNumber||null,this.photoURL=r.photoURL||null,this.isAnonymous=r.isAnonymous||!1,this.tenantId=r.tenantId||null,this.providerData=r.providerData?[...r.providerData]:[],this.metadata=new Yp(r.createdAt||void 0,r.lastLoginAt||void 0)}async getIdToken(e){let t=await Kp(this,this.stsTokenManager.getToken(this.auth,e));return W(t,this.auth,`internal-error`),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return Hp(this,e)}reload(){return Zp(this)}_assign(e){this!==e&&(W(this.uid===e.uid,this.auth,`internal-error`),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>({...e})),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(t){let n=new e({...this,auth:t,stsTokenManager:this.stsTokenManager._clone()});return n.metadata._copy(this.metadata),n}_onReload(e){W(!this.reloadListener,this.auth,`internal-error`),this.reloadListener=e,this.reloadUserInfo&&=(this._notifyReloadListener(this.reloadUserInfo),null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let n=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),n=!0),t&&await Xp(this),await this.auth._persistUserIfCurrent(this),n&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(Pf(this.auth.app))return Promise.reject(pp(this.auth));let e=await this.getIdToken();return await Kp(this,zp(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return{uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>({...e})),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId,...this.metadata.toJSON(),apiKey:this.auth.config.apiKey,appName:this.auth.name}}get refreshToken(){return this.stsTokenManager.refreshToken||``}static _fromJSON(t,n){let r=n.displayName??void 0,i=n.email??void 0,a=n.phoneNumber??void 0,o=n.photoURL??void 0,s=n.tenantId??void 0,c=n._redirectEventId??void 0,l=n.createdAt??void 0,u=n.lastLoginAt??void 0,{uid:d,emailVerified:f,isAnonymous:p,providerData:m,stsTokenManager:h}=n;W(d&&h,t,`internal-error`);let g=nm.fromJSON(this.name,h);W(typeof d==`string`,t,`internal-error`),rm(r,t.name),rm(i,t.name),W(typeof f==`boolean`,t,`internal-error`),W(typeof p==`boolean`,t,`internal-error`),rm(a,t.name),rm(o,t.name),rm(s,t.name),rm(c,t.name),rm(l,t.name),rm(u,t.name);let _=new e({uid:d,auth:t,email:i,emailVerified:f,displayName:r,isAnonymous:p,photoURL:o,phoneNumber:a,tenantId:s,stsTokenManager:g,createdAt:l,lastLoginAt:u});return m&&Array.isArray(m)&&(_.providerData=m.map(e=>({...e}))),c&&(_._redirectEventId=c),_}static async _fromIdTokenResponse(t,n,r=!1){let i=new nm;i.updateFromServerResponse(n);let a=new e({uid:n.localId,auth:t,stsTokenManager:i,isAnonymous:r});return await Xp(a),a}static async _fromGetAccountInfoResponse(t,n,r){let i=n.users[0];W(i.localId!==void 0,`internal-error`);let a=i.providerUserInfo===void 0?[]:$p(i.providerUserInfo),o=!(i.email&&i.passwordHash)&&!a?.length,s=new nm;s.updateFromIdToken(r);let c=new e({uid:i.localId,auth:t,stsTokenManager:s,isAnonymous:o}),l={uid:i.localId,displayName:i.displayName||null,photoURL:i.photoUrl||null,email:i.email||null,emailVerified:i.emailVerified||!1,phoneNumber:i.phoneNumber||null,tenantId:i.tenantId||null,providerData:a,metadata:new Yp(i.createdAt,i.lastLoginAt),isAnonymous:!(i.email&&i.passwordHash)&&!a?.length};return Object.assign(c,l),c}},am=new Map;function om(e){gp(e instanceof Function,`Expected a class definition`);let t=am.get(e);return t?(gp(t instanceof e,`Instance stored in cache mismatched with class`),t):(t=new e,am.set(e,t),t)}var sm=class{constructor(){this.type=`NONE`,this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){let t=this.storage[e];return t===void 0?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}};sm.type=`NONE`;var cm=sm;function lm(e,t,n){return`firebase:${e}:${t}:${n}`}var um=class e{constructor(e,t,n){this.persistence=e,this.auth=t,this.userKey=n;let{config:r,name:i}=this.auth;this.fullUserKey=lm(this.userKey,r.apiKey,i),this.fullPersistenceKey=lm(`persistence`,r.apiKey,i),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){let e=await this.persistence._get(this.fullUserKey);if(!e)return null;if(typeof e==`string`){let t=await Bp(this.auth,{idToken:e}).catch(()=>void 0);return t?im._fromGetAccountInfoResponse(this.auth,t,e):null}return im._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;let t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(t,n,r=`authUser`){if(!n.length)return new e(om(cm),t,r);let i=(await Promise.all(n.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e),a=i[0]||om(cm),o=lm(r,t.config.apiKey,t.name),s=null;for(let e of n)try{let n=await e._get(o);if(n){let r;if(typeof n==`string`){let e=await Bp(t,{idToken:n}).catch(()=>void 0);if(!e)break;r=await im._fromGetAccountInfoResponse(t,e,n)}else r=im._fromJSON(t,n);e!==a&&(s=r),a=e;break}}catch{}let c=i.filter(e=>e._shouldAllowMigration);return!a._shouldAllowMigration||!c.length?new e(a,t,r):(a=c[0],s&&await a._set(o,s.toJSON()),await Promise.all(n.map(async e=>{if(e!==a)try{await e._remove(o)}catch{}})),new e(a,t,r))}};function dm(e){let t=e.toLowerCase();if(t.includes(`opera/`)||t.includes(`opr/`)||t.includes(`opios/`))return`Opera`;if(hm(t))return`IEMobile`;if(t.includes(`msie`)||t.includes(`trident/`))return`IE`;if(t.includes(`edge/`))return`Edge`;if(fm(t))return`Firefox`;if(t.includes(`silk/`))return`Silk`;if(_m(t))return`Blackberry`;if(vm(t))return`Webos`;if(pm(t))return`Safari`;if((t.includes(`chrome/`)||mm(t))&&!t.includes(`edge/`))return`Chrome`;if(gm(t))return`Android`;{let t=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if(t?.length===2)return t[1]}return`Other`}function fm(e=zu()){return/firefox\//i.test(e)}function pm(e=zu()){let t=e.toLowerCase();return t.includes(`safari/`)&&!t.includes(`chrome/`)&&!t.includes(`crios/`)&&!t.includes(`android`)}function mm(e=zu()){return/crios\//i.test(e)}function hm(e=zu()){return/iemobile/i.test(e)}function gm(e=zu()){return/android/i.test(e)}function _m(e=zu()){return/blackberry/i.test(e)}function vm(e=zu()){return/webos/i.test(e)}function ym(e=zu()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function bm(e=zu()){return ym(e)&&!!window.navigator?.standalone}function xm(){return Gu()&&document.documentMode===10}function Sm(e=zu()){return ym(e)||gm(e)||vm(e)||_m(e)||/windows phone/i.test(e)||hm(e)}function Cm(e,t=[]){let n;switch(e){case`Browser`:n=dm(zu());break;case`Worker`:n=`${dm(zu())}-${e}`;break;default:n=e}let r=t.length?t.join(`,`):`FirebaseCore-web`;return`${n}/JsCore/${Lf}/${r}`}var wm=class{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let n=t=>new Promise((n,r)=>{try{n(e(t))}catch(e){r(e)}});n.onAbort=t,this.queue.push(n);let r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let n of this.queue)await n(e),n.onAbort&&t.push(n.onAbort)}catch(e){t.reverse();for(let e of t)try{e()}catch{}throw this.auth._errorFactory.create(`login-blocked`,{originalMessage:e?.message})}}};async function Tm(e,t={}){return kp(e,`GET`,`/v2/passwordPolicy`,Op(e,t))}var Em=6,Dm=class{constructor(e){let t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??Em,t.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=t.maxPasswordLength),t.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=t.containsLowercaseCharacter),t.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=t.containsUppercaseCharacter),t.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=t.containsNumericCharacter),t.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=t.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState===`ENFORCEMENT_STATE_UNSPECIFIED`&&(this.enforcementState=`OFF`),this.allowedNonAlphanumericCharacters=e.allowedNonAlphanumericCharacters?.join(``)??``,this.forceUpgradeOnSignin=e.forceUpgradeOnSignin??!1,this.schemaVersion=e.schemaVersion}validatePassword(e){let t={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,t),this.validatePasswordCharacterOptions(e,t),t.isValid&&=t.meetsMinPasswordLength??!0,t.isValid&&=t.meetsMaxPasswordLength??!0,t.isValid&&=t.containsLowercaseLetter??!0,t.isValid&&=t.containsUppercaseLetter??!0,t.isValid&&=t.containsNumericCharacter??!0,t.isValid&&=t.containsNonAlphanumericCharacter??!0,t}validatePasswordLengthOptions(e,t){let n=this.customStrengthOptions.minPasswordLength,r=this.customStrengthOptions.maxPasswordLength;n&&(t.meetsMinPasswordLength=e.length>=n),r&&(t.meetsMaxPasswordLength=e.length<=r)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let n;for(let r=0;r<e.length;r++)n=e.charAt(r),this.updatePasswordCharacterOptionsStatuses(t,n>=`a`&&n<=`z`,n>=`A`&&n<=`Z`,n>=`0`&&n<=`9`,this.allowedNonAlphanumericCharacters.includes(n))}updatePasswordCharacterOptionsStatuses(e,t,n,r,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||=t),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||=n),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||=r),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||=i)}},Om=class{constructor(e,t,n,r){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=n,this.config=r,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new Am(this),this.idTokenSubscription=new Am(this),this.beforeStateQueue=new wm(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=op,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=r.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=om(t)),this._initializationPromise=this.queue(async()=>{if(!this._deleted&&(this.persistenceManager=await um.create(this,e),this._resolvePersistenceManagerAvailable?.(),!this._deleted)){if(this._popupRedirectResolver?._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}await this.initializeCurrentUser(t),this.lastNotifiedUid=this.currentUser?.uid||null,!this._deleted&&(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;let e=await this.assertedPersistence.getCurrentUser();if(!(!this.currentUser&&!e)){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{let t=await Bp(this,{idToken:e}),n=await im._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(n)}catch(e){console.warn(`FirebaseServerApp could not login user with provided authIdToken: `,e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){if(Pf(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let t=await this.assertedPersistence.getCurrentUser(),n=t,r=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let t=this.redirectUser?._redirectEventId,i=n?._redirectEventId,a=await this.tryRedirectSignIn(e);(!t||t===i)&&a?.user&&(n=a.user,r=!0)}if(!n)return this.directlySetCurrentUser(null);if(!n._redirectEventId){if(r)try{await this.beforeStateQueue.runMiddleware(n)}catch(e){n=t,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return n?this.reloadAndSetCurrentUserOrClear(n):this.directlySetCurrentUser(null)}return W(this._popupRedirectResolver,this,`argument-error`),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===n._redirectEventId?this.directlySetCurrentUser(n):this.reloadAndSetCurrentUserOrClear(n)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch{await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await Xp(e)}catch(e){if(e?.code!==`auth/network-request-failed`)return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=xp()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(Pf(this.app))return Promise.reject(pp(this));let t=e?ud(e):null;return t&&W(t.auth.config.apiKey===this.config.apiKey,this,`invalid-user-token`),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&W(this.tenantId===e.tenantId,this,`tenant-id-mismatch`),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return Pf(this.app)?Promise.reject(pp(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Pf(this.app)?Promise.reject(pp(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(om(e))})}_getRecaptchaConfig(){return this.tenantId==null?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();let t=this._getPasswordPolicyInternal();return t.schemaVersion===this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?t.validatePassword(e):Promise.reject(this._errorFactory.create(`unsupported-password-policy-schema-version`,{}))}_getPasswordPolicyInternal(){return this.tenantId===null?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){let e=new Dm(await Tm(this));this.tenantId===null?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new Zu(`auth`,`Firebase`,e())}onAuthStateChanged(e,t,n){return this.registerStateListener(this.authStateSubscription,e,t,n)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,n){return this.registerStateListener(this.idTokenSubscription,e,t,n)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{let n=this.onAuthStateChanged(()=>{n(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:`apple.com`,tokenType:`ACCESS_TOKEN`,token:e,idToken:await this.currentUser.getIdToken()};this.tenantId!=null&&(t.tenantId=this.tenantId),await tm(this,t)}}toJSON(){return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:this._currentUser?.toJSON()}}async _setRedirectUser(e,t){let n=await this.getOrInitRedirectPersistenceManager(t);return e===null?n.removeCurrentUser():n.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&om(e)||this._popupRedirectResolver;W(t,this,`argument-error`),this.redirectPersistenceManager=await um.create(this,[om(t._redirectPersistence)],`redirectUser`),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){return this._isInitialized&&await this.queue(async()=>{}),this._currentUser?._redirectEventId===e?this._currentUser:this.redirectUser?._redirectEventId===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let e=this.currentUser?.uid??null;this.lastNotifiedUid!==e&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,n,r){if(this._deleted)return()=>{};let i=typeof t==`function`?t:t.next.bind(t),a=!1,o=this._isInitialized?Promise.resolve():this._initializationPromise;if(W(o,this,`internal-error`),o.then(()=>{a||i(this.currentUser)}),typeof t==`function`){let i=e.addObserver(t,n,r);return()=>{a=!0,i()}}else{let n=e.addObserver(t);return()=>{a=!0,n()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return W(this.persistenceManager,this,`internal-error`),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=Cm(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){let e={"X-Client-Version":this.clientVersion};this.app.options.appId&&(e[`X-Firebase-gmpid`]=this.app.options.appId);let t=await this.heartbeatServiceProvider.getImmediate({optional:!0})?.getHeartbeatsHeader();t&&(e[`X-Firebase-Client`]=t);let n=await this._getAppCheckToken();return n&&(e[`X-Firebase-AppCheck`]=n),e}async _getAppCheckToken(){if(Pf(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken();return e?.error&&cp(`Error while retrieving App Check token: ${e.error}`),e?.token}};function km(e){return ud(e)}var Am=class{constructor(e){this.auth=e,this.observer=null,this.addObserver=od(e=>this.observer=e)}get next(){return W(this.observer,this.auth,`internal-error`),this.observer.next.bind(this.observer)}},jm={async loadJS(){throw Error(`Unable to load external scripts`)},recaptchaV2Script:``,recaptchaEnterpriseScript:``,gapiScript:``};function Mm(e){jm=e}function Nm(e){return jm.loadJS(e)}function Pm(){return jm.recaptchaEnterpriseScript}function Fm(){return jm.gapiScript}function Im(e){return`__${e}${Math.floor(Math.random()*1e6)}`}var Lm=class{constructor(){this.enterprise=new Rm}ready(e){e()}execute(e,t){return Promise.resolve(`token`)}render(e,t){return``}},Rm=class{ready(e){e()}execute(e,t){return Promise.resolve(`token`)}render(e,t){return``}},zm=`recaptcha-enterprise`,Bm=`NO_RECAPTCHA`,Vm=class{constructor(e){this.type=zm,this.auth=km(e)}async verify(e=`verify`,t=!1){async function n(e){if(!t){if(e.tenantId==null&&e._agentRecaptchaConfig!=null)return e._agentRecaptchaConfig.siteKey;if(e.tenantId!=null&&e._tenantRecaptchaConfigs[e.tenantId]!==void 0)return e._tenantRecaptchaConfigs[e.tenantId].siteKey}return new Promise(async(t,n)=>{Rp(e,{clientType:`CLIENT_TYPE_WEB`,version:`RECAPTCHA_ENTERPRISE`}).then(r=>{if(r.recaptchaKey===void 0)n(Error(`recaptcha Enterprise site key undefined`));else{let n=new Lp(r);return e.tenantId==null?e._agentRecaptchaConfig=n:e._tenantRecaptchaConfigs[e.tenantId]=n,t(n.siteKey)}}).catch(e=>{n(e)})})}function r(t,n,r){let i=window.grecaptcha;Ip(i)?i.enterprise.ready(()=>{i.enterprise.execute(t,{action:e}).then(e=>{n(e)}).catch(()=>{n(Bm)})}):r(Error(`No reCAPTCHA enterprise script loaded.`))}return this.auth.settings.appVerificationDisabledForTesting?new Lm().execute(`siteKey`,{action:`verify`}):new Promise((e,i)=>{n(this.auth).then(n=>{if(!t&&Ip(window.grecaptcha))r(n,e,i);else{if(typeof window>`u`){i(Error(`RecaptchaVerifier is only supported in browser`));return}let t=Pm();t.length!==0&&(t+=n),Nm(t).then(()=>{r(n,e,i)}).catch(e=>{i(e)})}}).catch(e=>{i(e)})})}};async function Hm(e,t,n,r=!1,i=!1){let a=new Vm(e),o;if(i)o=Bm;else try{o=await a.verify(n)}catch{o=await a.verify(n,!0)}let s={...t};if(n===`mfaSmsEnrollment`||n===`mfaSmsSignIn`){if(`phoneEnrollmentInfo`in s){let e=s.phoneEnrollmentInfo.phoneNumber,t=s.phoneEnrollmentInfo.recaptchaToken;Object.assign(s,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:t,captchaResponse:o,clientType:`CLIENT_TYPE_WEB`,recaptchaVersion:`RECAPTCHA_ENTERPRISE`}})}else if(`phoneSignInInfo`in s){let e=s.phoneSignInInfo.recaptchaToken;Object.assign(s,{phoneSignInInfo:{recaptchaToken:e,captchaResponse:o,clientType:`CLIENT_TYPE_WEB`,recaptchaVersion:`RECAPTCHA_ENTERPRISE`}})}return s}return r?Object.assign(s,{captchaResp:o}):Object.assign(s,{captchaResponse:o}),Object.assign(s,{clientType:`CLIENT_TYPE_WEB`}),Object.assign(s,{recaptchaVersion:`RECAPTCHA_ENTERPRISE`}),s}async function Um(e,t,n,r,i){return i===`EMAIL_PASSWORD_PROVIDER`?e._getRecaptchaConfig()?.isProviderEnabled(`EMAIL_PASSWORD_PROVIDER`)?r(e,await Hm(e,t,n,n===`getOobCode`)):r(e,t).catch(async i=>i.code===`auth/missing-recaptcha-token`?(console.log(`${n} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`),r(e,await Hm(e,t,n,n===`getOobCode`))):Promise.reject(i)):i===`PHONE_PROVIDER`?e._getRecaptchaConfig()?.isProviderEnabled(`PHONE_PROVIDER`)?r(e,await Hm(e,t,n)).catch(async i=>e._getRecaptchaConfig()?.getProviderEnforcementState(`PHONE_PROVIDER`)===`AUDIT`&&(i.code===`auth/missing-recaptcha-token`||i.code===`auth/invalid-app-credential`)?(console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${n} flow.`),r(e,await Hm(e,t,n,!1,!0))):Promise.reject(i)):r(e,await Hm(e,t,n,!1,!0)):Promise.reject(i+` provider is not supported.`)}async function Wm(e){let t=km(e),n=new Lp(await Rp(t,{clientType:`CLIENT_TYPE_WEB`,version:`RECAPTCHA_ENTERPRISE`}));t.tenantId==null?t._agentRecaptchaConfig=n:t._tenantRecaptchaConfigs[t.tenantId]=n,n.isAnyProviderEnabled()&&new Vm(t).verify()}function Gm(e,t){let n=Nf(e,`auth`);if(n.isInitialized()){let e=n.getImmediate();if(td(n.getOptions(),t??{}))return e;up(e,`already-initialized`)}return n.initialize({options:t})}function Km(e,t){let n=t?.persistence||[],r=(Array.isArray(n)?n:[n]).map(om);t?.errorMap&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,t?.popupRedirectResolver)}function qm(e,t,n){let r=km(e);W(/^https?:\/\//.test(t),r,`invalid-emulator-scheme`);let i=!!n?.disableWarnings,a=Jm(t),{host:o,port:s}=Ym(t),c=s===null?``:`:${s}`,l={url:`${a}//${o}${c}/`},u=Object.freeze({host:o,port:s,protocol:a.replace(`:`,``),options:Object.freeze({disableWarnings:i})});if(!r._canInitEmulator){W(r.config.emulator&&r.emulatorConfig,r,`emulator-config-failed`),W(td(l,r.config.emulator)&&td(u,r.emulatorConfig),r,`emulator-config-failed`);return}r.config.emulator=l,r.emulatorConfig=u,r.settings.appVerificationDisabledForTesting=!0,dd(o)?fd(`${a}//${o}${c}`):i||Zm()}function Jm(e){let t=e.indexOf(`:`);return t<0?``:e.substr(0,t+1)}function Ym(e){let t=Jm(e),n=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!n)return{host:``,port:null};let r=n[2].split(`@`).pop()||``,i=/^(\[[^\]]+\])(:|$)/.exec(r);if(i){let e=i[1];return{host:e,port:Xm(r.substr(e.length+1))}}else{let[e,t]=r.split(`:`);return{host:e,port:Xm(t)}}}function Xm(e){if(!e)return null;let t=Number(e);return isNaN(t)?null:t}function Zm(){function e(){let e=document.createElement(`p`),t=e.style;e.innerText=`Running in emulator mode. Do not use with production credentials.`,t.position=`fixed`,t.width=`100%`,t.backgroundColor=`#ffffff`,t.border=`.1em solid #000000`,t.color=`#b50000`,t.bottom=`0px`,t.left=`0px`,t.margin=`0px`,t.zIndex=`10000`,t.textAlign=`center`,e.classList.add(`firebase-emulator-warning`),document.body.appendChild(e)}typeof console<`u`&&typeof console.info==`function`&&console.info(`WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials.`),typeof window<`u`&&typeof document<`u`&&(document.readyState===`loading`?window.addEventListener(`DOMContentLoaded`,e):e())}var Qm=class{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return hp(`not implemented`)}_getIdTokenResponse(e){return hp(`not implemented`)}_linkToIdToken(e,t){return hp(`not implemented`)}_getReauthenticationResolver(e){return hp(`not implemented`)}};async function $m(e,t){return kp(e,`POST`,`/v1/accounts:signUp`,t)}async function eh(e,t){return jp(e,`POST`,`/v1/accounts:signInWithPassword`,Op(e,t))}async function th(e,t){return jp(e,`POST`,`/v1/accounts:signInWithEmailLink`,Op(e,t))}async function nh(e,t){return jp(e,`POST`,`/v1/accounts:signInWithEmailLink`,Op(e,t))}var rh=class e extends Qm{constructor(e,t,n,r=null){super(`password`,n),this._email=e,this._password=t,this._tenantId=r}static _fromEmailAndPassword(t,n){return new e(t,n,`password`)}static _fromEmailAndCode(t,n,r=null){return new e(t,n,`emailLink`,r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){let t=typeof e==`string`?JSON.parse(e):e;if(t?.email&&t?.password){if(t.signInMethod===`password`)return this._fromEmailAndPassword(t.email,t.password);if(t.signInMethod===`emailLink`)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case`password`:return Um(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:`CLIENT_TYPE_WEB`},`signInWithPassword`,eh,`EMAIL_PASSWORD_PROVIDER`);case`emailLink`:return th(e,{email:this._email,oobCode:this._password});default:up(e,`internal-error`)}}async _linkToIdToken(e,t){switch(this.signInMethod){case`password`:return Um(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:`CLIENT_TYPE_WEB`},`signUpPassword`,$m,`EMAIL_PASSWORD_PROVIDER`);case`emailLink`:return nh(e,{idToken:t,email:this._email,oobCode:this._password});default:up(e,`internal-error`)}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}};async function ih(e,t){return jp(e,`POST`,`/v1/accounts:signInWithIdp`,Op(e,t))}var ah=`http://localhost`,oh=class e extends Qm{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(t){let n=new e(t.providerId,t.signInMethod);return t.idToken||t.accessToken?(t.idToken&&(n.idToken=t.idToken),t.accessToken&&(n.accessToken=t.accessToken),t.nonce&&!t.pendingToken&&(n.nonce=t.nonce),t.pendingToken&&(n.pendingToken=t.pendingToken)):t.oauthToken&&t.oauthTokenSecret?(n.accessToken=t.oauthToken,n.secret=t.oauthTokenSecret):up(`argument-error`),n}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(t){let{providerId:n,signInMethod:r,...i}=typeof t==`string`?JSON.parse(t):t;if(!n||!r)return null;let a=new e(n,r);return a.idToken=i.idToken||void 0,a.accessToken=i.accessToken||void 0,a.secret=i.secret,a.nonce=i.nonce,a.pendingToken=i.pendingToken||null,a}_getIdTokenResponse(e){return ih(e,this.buildRequest())}_linkToIdToken(e,t){let n=this.buildRequest();return n.idToken=t,ih(e,n)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,ih(e,t)}buildRequest(){let e={requestUri:ah,returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{let t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=rd(t)}return e}};async function sh(e,t){return kp(e,`POST`,`/v1/accounts:sendVerificationCode`,Op(e,t))}async function ch(e,t){return jp(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,Op(e,t))}async function lh(e,t){let n=await jp(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,Op(e,t));if(n.temporaryProof)throw Fp(e,`account-exists-with-different-credential`,n);return n}var uh={USER_NOT_FOUND:`user-not-found`};async function dh(e,t){return jp(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,Op(e,{...t,operation:`REAUTH`}),uh)}var fh=class e extends Qm{constructor(e){super(`phone`,`phone`),this.params=e}static _fromVerification(t,n){return new e({verificationId:t,verificationCode:n})}static _fromTokenResponse(t,n){return new e({phoneNumber:t,temporaryProof:n})}_getIdTokenResponse(e){return ch(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return lh(e,{idToken:t,...this._makeVerificationRequest()})}_getReauthenticationResolver(e){return dh(e,this._makeVerificationRequest())}_makeVerificationRequest(){let{temporaryProof:e,phoneNumber:t,verificationId:n,verificationCode:r}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:n,code:r}}toJSON(){let e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(t){typeof t==`string`&&(t=JSON.parse(t));let{verificationId:n,verificationCode:r,phoneNumber:i,temporaryProof:a}=t;return!r&&!n&&!i&&!a?null:new e({verificationId:n,verificationCode:r,phoneNumber:i,temporaryProof:a})}};function ph(e){switch(e){case`recoverEmail`:return`RECOVER_EMAIL`;case`resetPassword`:return`PASSWORD_RESET`;case`signIn`:return`EMAIL_SIGNIN`;case`verifyEmail`:return`VERIFY_EMAIL`;case`verifyAndChangeEmail`:return`VERIFY_AND_CHANGE_EMAIL`;case`revertSecondFactorAddition`:return`REVERT_SECOND_FACTOR_ADDITION`;default:return null}}function mh(e){let t=id(ad(e)).link,n=t?id(ad(t)).deep_link_id:null,r=id(ad(e)).deep_link_id;return(r?id(ad(r)).link:null)||r||n||t||e}var hh=class e{constructor(e){let t=id(ad(e)),n=t.apiKey??null,r=t.oobCode??null,i=ph(t.mode??null);W(n&&r&&i,`argument-error`),this.apiKey=n,this.operation=i,this.code=r,this.continueUrl=t.continueUrl??null,this.languageCode=t.lang??null,this.tenantId=t.tenantId??null}static parseLink(t){let n=mh(t);try{return new e(n)}catch{return null}}},gh=class e{constructor(){this.providerId=e.PROVIDER_ID}static credential(e,t){return rh._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){let n=hh.parseLink(t);return W(n,`argument-error`),rh._fromEmailAndCode(e,n.code,n.tenantId)}};gh.PROVIDER_ID=`password`,gh.EMAIL_PASSWORD_SIGN_IN_METHOD=`password`,gh.EMAIL_LINK_SIGN_IN_METHOD=`emailLink`;var _h=class{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}},vh=class extends _h{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}},yh=class e extends vh{constructor(){super(`facebook.com`)}static credential(t){return oh._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.FACEBOOK_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};yh.FACEBOOK_SIGN_IN_METHOD=`facebook.com`,yh.PROVIDER_ID=`facebook.com`;var bh=class e extends vh{constructor(){super(`google.com`),this.addScope(`profile`)}static credential(t,n){return oh._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GOOGLE_SIGN_IN_METHOD,idToken:t,accessToken:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthIdToken:n,oauthAccessToken:r}=t;if(!n&&!r)return null;try{return e.credential(n,r)}catch{return null}}};bh.GOOGLE_SIGN_IN_METHOD=`google.com`,bh.PROVIDER_ID=`google.com`;var xh=class e extends vh{constructor(){super(`github.com`)}static credential(t){return oh._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GITHUB_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};xh.GITHUB_SIGN_IN_METHOD=`github.com`,xh.PROVIDER_ID=`github.com`;var Sh=class e extends vh{constructor(){super(`twitter.com`)}static credential(t,n){return oh._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.TWITTER_SIGN_IN_METHOD,oauthToken:t,oauthTokenSecret:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthAccessToken:n,oauthTokenSecret:r}=t;if(!n||!r)return null;try{return e.credential(n,r)}catch{return null}}};Sh.TWITTER_SIGN_IN_METHOD=`twitter.com`,Sh.PROVIDER_ID=`twitter.com`;async function Ch(e,t){return jp(e,`POST`,`/v1/accounts:signUp`,Op(e,t))}var wh=class e{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(t,n,r,i=!1){return new e({user:await im._fromIdTokenResponse(t,r,i),providerId:Th(r),_tokenResponse:r,operationType:n})}static async _forOperation(t,n,r){return await t._updateTokensIfNecessary(r,!0),new e({user:t,providerId:Th(r),_tokenResponse:r,operationType:n})}};function Th(e){return e.providerId?e.providerId:`phoneNumber`in e?`phone`:null}var Eh=class e extends Xu{constructor(t,n,r,i){super(n.code,n.message),this.operationType=r,this.user=i,Object.setPrototypeOf(this,e.prototype),this.customData={appName:t.name,tenantId:t.tenantId??void 0,_serverResponse:n.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(t,n,r,i){return new e(t,n,r,i)}};function Dh(e,t,n,r){return(t===`reauthenticate`?n._getReauthenticationResolver(e):n._getIdTokenResponse(e)).catch(n=>{throw n.code===`auth/multi-factor-auth-required`?Eh._fromErrorAndOperation(e,n,t,r):n})}async function Oh(e,t,n=!1){let r=await Kp(e,t._linkToIdToken(e.auth,await e.getIdToken()),n);return wh._forOperation(e,`link`,r)}async function kh(e,t,n=!1){let{auth:r}=e;if(Pf(r.app))return Promise.reject(pp(r));let i=`reauthenticate`;try{let a=await Kp(e,Dh(r,i,t,e),n);W(a.idToken,r,`internal-error`);let o=Wp(a.idToken);W(o,r,`internal-error`);let{sub:s}=o;return W(e.uid===s,r,`user-mismatch`),wh._forOperation(e,i,a)}catch(e){throw e?.code===`auth/user-not-found`&&up(r,`user-mismatch`),e}}async function Ah(e,t,n=!1){if(Pf(e.app))return Promise.reject(pp(e));let r=`signIn`,i=await Dh(e,r,t),a=await wh._fromIdTokenResponse(e,r,i);return n||await e._updateCurrentUser(a.user),a}async function jh(e,t){return Ah(km(e),t)}async function Mh(e){let t=km(e);t._getPasswordPolicyInternal()&&await t._updatePasswordPolicy()}async function Nh(e,t,n){if(Pf(e.app))return Promise.reject(pp(e));let r=km(e),i=await Um(r,{returnSecureToken:!0,email:t,password:n,clientType:`CLIENT_TYPE_WEB`},`signUpPassword`,Ch,`EMAIL_PASSWORD_PROVIDER`).catch(t=>{throw t.code===`auth/password-does-not-meet-requirements`&&Mh(e),t}),a=await wh._fromIdTokenResponse(r,`signIn`,i);return await r._updateCurrentUser(a.user),a}function Ph(e,t,n){return Pf(e.app)?Promise.reject(pp(e)):jh(ud(e),gh.credential(t,n)).catch(async t=>{throw t.code===`auth/password-does-not-meet-requirements`&&Mh(e),t})}function Fh(e,t,n,r){return ud(e).onIdTokenChanged(t,n,r)}function Ih(e,t,n){return ud(e).beforeAuthStateChanged(t,n)}function Lh(e,t){return kp(e,`POST`,`/v2/accounts/mfaEnrollment:start`,Op(e,t))}function Rh(e,t){return kp(e,`POST`,`/v2/accounts/mfaEnrollment:finalize`,Op(e,t))}function zh(e,t){return kp(e,`POST`,`/v2/accounts/mfaEnrollment:start`,Op(e,t))}function Bh(e,t){return kp(e,`POST`,`/v2/accounts/mfaEnrollment:finalize`,Op(e,t))}var Vh=`__sak`,Hh=class{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(Vh,`1`),this.storage.removeItem(Vh),Promise.resolve(!0)):Promise.resolve(!1)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){let t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}},Uh=1e3,Wh=10,Gh=class extends Hh{constructor(){super(()=>window.localStorage,`LOCAL`),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=Sm(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let n=this.storage.getItem(t),r=this.localCache[t];n!==r&&e(t,r,n)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((e,t,n)=>{this.notifyListeners(e,n)});return}let n=e.key;t?this.detachListener():this.stopPolling();let r=()=>{let e=this.storage.getItem(n);!t&&this.localCache[n]===e||this.notifyListeners(n,e)},i=this.storage.getItem(n);xm()&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(r,Wh):r()}notifyListeners(e,t){this.localCache[e]=t;let n=this.listeners[e];if(n)for(let e of Array.from(n))e(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,n)=>{this.onStorageEvent(new StorageEvent(`storage`,{key:e,oldValue:t,newValue:n}),!0)})},Uh)}stopPolling(){this.pollTimer&&=(clearInterval(this.pollTimer),null)}attachListener(){window.addEventListener(`storage`,this.boundEventHandler)}detachListener(){window.removeEventListener(`storage`,this.boundEventHandler)}_addListener(e,t){Object.keys(this.listeners).length===0&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){let t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}};Gh.type=`LOCAL`;var Kh=Gh,qh=1e3;function Jh(e){let t=e.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),n=RegExp(`${t}=([^;]+)`);return document.cookie.match(n)?.[1]??null}function Yh(e){return`${window.location.protocol===`http:`?`__dev_`:`__HOST-`}FIREBASE_${e.split(`:`)[3]}`}var Xh=class{constructor(){this.type=`COOKIE`,this.listenerUnsubscribes=new Map}_getFinalTarget(e){let t=new URL(`${window.location.origin}/__cookies__`);return t.searchParams.set(`finalTarget`,e),t}async _isAvailable(){return typeof isSecureContext==`boolean`&&!isSecureContext||typeof navigator>`u`||typeof document>`u`?!1:navigator.cookieEnabled??!0}async _set(e,t){}async _get(e){if(!this._isAvailable())return null;let t=Yh(e);return window.cookieStore?(await window.cookieStore.get(t))?.value:Jh(t)}async _remove(e){if(!this._isAvailable()||!await this._get(e))return;let t=Yh(e);document.cookie=`${t}=;Max-Age=34560000;Partitioned;Secure;SameSite=Strict;Path=/;Priority=High`,await fetch(`/__cookies__`,{method:`DELETE`}).catch(()=>void 0)}_addListener(e,t){if(!this._isAvailable())return;let n=Yh(e);if(window.cookieStore){let e=(e=>{let r=e.changed.find(e=>e.name===n);r&&t(r.value),e.deleted.find(e=>e.name===n)&&t(null)});return this.listenerUnsubscribes.set(t,()=>window.cookieStore.removeEventListener(`change`,e)),window.cookieStore.addEventListener(`change`,e)}let r=Jh(n),i=setInterval(()=>{let e=Jh(n);e!==r&&(t(e),r=e)},qh);this.listenerUnsubscribes.set(t,()=>clearInterval(i))}_removeListener(e,t){let n=this.listenerUnsubscribes.get(t);n&&(n(),this.listenerUnsubscribes.delete(t))}};Xh.type=`COOKIE`;var Zh=class extends Hh{constructor(){super(()=>window.sessionStorage,`SESSION`)}_addListener(e,t){}_removeListener(e,t){}};Zh.type=`SESSION`;var Qh=Zh;function $h(e){return Promise.all(e.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(e){return{fulfilled:!1,reason:e}}}))}var eg=class e{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(t){let n=this.receivers.find(e=>e.isListeningto(t));if(n)return n;let r=new e(t);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let t=e,{eventId:n,eventType:r,data:i}=t.data,a=this.handlersMap[r];if(!a?.size)return;t.ports[0].postMessage({status:`ack`,eventId:n,eventType:r});let o=await $h(Array.from(a).map(async e=>e(t.origin,i)));t.ports[0].postMessage({status:`done`,eventId:n,eventType:r,response:o})}_subscribe(e,t){Object.keys(this.handlersMap).length===0&&this.eventTarget.addEventListener(`message`,this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),(!t||this.handlersMap[e].size===0)&&delete this.handlersMap[e],Object.keys(this.handlersMap).length===0&&this.eventTarget.removeEventListener(`message`,this.boundEventHandler)}};eg.receivers=[];function tg(e=``,t=10){let n=``;for(let e=0;e<t;e++)n+=Math.floor(Math.random()*10);return e+n}var ng=class{constructor(e){this.target=e,this.handlers=new Set}removeMessageHandler(e){e.messageChannel&&(e.messageChannel.port1.removeEventListener(`message`,e.onMessage),e.messageChannel.port1.close()),this.handlers.delete(e)}async _send(e,t,n=50){let r=typeof MessageChannel<`u`?new MessageChannel:null;if(!r)throw Error(`connection_unavailable`);let i,a;return new Promise((o,s)=>{let c=tg(``,20);r.port1.start();let l=setTimeout(()=>{s(Error(`unsupported_event`))},n);a={messageChannel:r,onMessage(e){let t=e;if(t.data.eventId===c)switch(t.data.status){case`ack`:clearTimeout(l),i=setTimeout(()=>{s(Error(`timeout`))},3e3);break;case`done`:clearTimeout(i),o(t.data.response);break;default:clearTimeout(l),clearTimeout(i),s(Error(`invalid_response`));break}}},this.handlers.add(a),r.port1.addEventListener(`message`,a.onMessage),this.target.postMessage({eventType:e,eventId:c,data:t},[r.port2])}).finally(()=>{a&&this.removeMessageHandler(a)})}};function rg(){return window}function ig(e){rg().location.href=e}function ag(){return rg().WorkerGlobalScope!==void 0&&typeof rg().importScripts==`function`}async function og(){if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function sg(){return navigator?.serviceWorker?.controller||null}function cg(){return ag()?self:null}var lg=`firebaseLocalStorageDb`,ug=1,dg=`firebaseLocalStorage`,fg=`fbase_key`,pg=class{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener(`success`,()=>{e(this.request.result)}),this.request.addEventListener(`error`,()=>{t(this.request.error)})})}};function mg(e,t){return e.transaction([dg],t?`readwrite`:`readonly`).objectStore(dg)}function hg(){return new pg(indexedDB.deleteDatabase(lg)).toPromise()}function gg(){let e=indexedDB.open(lg,ug);return new Promise((t,n)=>{e.addEventListener(`error`,()=>{n(e.error)}),e.addEventListener(`upgradeneeded`,()=>{let t=e.result;try{t.createObjectStore(dg,{keyPath:fg})}catch(e){n(e)}}),e.addEventListener(`success`,async()=>{let n=e.result;n.objectStoreNames.contains(dg)?t(n):(n.close(),await hg(),t(await gg()))})})}async function _g(e,t,n){return new pg(mg(e,!0).put({[fg]:t,value:n})).toPromise()}async function vg(e,t){let n=await new pg(mg(e,!1).get(t)).toPromise();return n===void 0?null:n.value}function yg(e,t){return new pg(mg(e,!0).delete(t)).toPromise()}var bg=800,xg=3,Sg=class{constructor(){this.type=`LOCAL`,this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){return this.db||=await gg(),this.db}async _withRetries(e){let t=0;for(;;)try{return await e(await this._openDb())}catch(e){if(t++>xg)throw e;this.db&&=(this.db.close(),void 0)}}async initializeServiceWorkerMessaging(){return ag()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=eg._getInstance(cg()),this.receiver._subscribe(`keyChanged`,async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe(`ping`,async(e,t)=>[`keyChanged`])}async initializeSender(){if(this.activeServiceWorker=await og(),!this.activeServiceWorker)return;this.sender=new ng(this.activeServiceWorker);let e=await this.sender._send(`ping`,{},800);e&&e[0]?.fulfilled&&e[0]?.value.includes(`keyChanged`)&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(!(!this.sender||!this.activeServiceWorker||sg()!==this.activeServiceWorker))try{await this.sender._send(`keyChanged`,{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch{}}async _isAvailable(){try{if(!indexedDB)return!1;let e=await gg();return await _g(e,Vh,`1`),await yg(e,Vh),!0}catch{}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(n=>_g(n,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){let t=await this._withRetries(t=>vg(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>yg(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){let e=await this._withRetries(e=>new pg(mg(e,!1).getAll()).toPromise());if(!e||this.pendingWrites!==0)return[];let t=[],n=new Set;if(e.length!==0)for(let{fbase_key:r,value:i}of e)n.add(r),JSON.stringify(this.localCache[r])!==JSON.stringify(i)&&(this.notifyListeners(r,i),t.push(r));for(let e of Object.keys(this.localCache))this.localCache[e]&&!n.has(e)&&(this.notifyListeners(e,null),t.push(e));return t}notifyListeners(e,t){this.localCache[e]=t;let n=this.listeners[e];if(n)for(let e of Array.from(n))e(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),bg)}stopPolling(){this.pollTimer&&=(clearInterval(this.pollTimer),null)}_addListener(e,t){Object.keys(this.listeners).length===0&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&this.stopPolling()}};Sg.type=`LOCAL`;var Cg=Sg;function wg(e,t){return kp(e,`POST`,`/v2/accounts/mfaSignIn:start`,Op(e,t))}function Tg(e,t){return kp(e,`POST`,`/v2/accounts/mfaSignIn:finalize`,Op(e,t))}function Eg(e,t){return kp(e,`POST`,`/v2/accounts/mfaSignIn:finalize`,Op(e,t))}Im(`rcb`),new Sp(3e4,6e4);var Dg=`recaptcha`;async function Og(e,t,n){if(!e._getRecaptchaConfig())try{await Wm(e)}catch{console.log(`Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.`)}try{let r;if(r=typeof t==`string`?{phoneNumber:t}:t,`session`in r){let t=r.session;if(`phoneNumber`in r)return W(t.type===`enroll`,e,`internal-error`),(await Um(e,{idToken:t.credential,phoneEnrollmentInfo:{phoneNumber:r.phoneNumber,clientType:`CLIENT_TYPE_WEB`}},`mfaSmsEnrollment`,async(e,t)=>t.phoneEnrollmentInfo.captchaResponse===Bm?(W(n?.type===Dg,e,`argument-error`),Lh(e,await kg(e,t,n))):Lh(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).phoneSessionInfo.sessionInfo;{W(t.type===`signin`,e,`internal-error`);let i=r.multiFactorHint?.uid||r.multiFactorUid;return W(i,e,`missing-multi-factor-info`),(await Um(e,{mfaPendingCredential:t.credential,mfaEnrollmentId:i,phoneSignInInfo:{clientType:`CLIENT_TYPE_WEB`}},`mfaSmsSignIn`,async(e,t)=>t.phoneSignInInfo.captchaResponse===Bm?(W(n?.type===Dg,e,`argument-error`),wg(e,await kg(e,t,n))):wg(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).phoneResponseInfo.sessionInfo}}else return(await Um(e,{phoneNumber:r.phoneNumber,clientType:`CLIENT_TYPE_WEB`},`sendVerificationCode`,async(e,t)=>t.captchaResponse===Bm?(W(n?.type===Dg,e,`argument-error`),sh(e,await kg(e,t,n))):sh(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).sessionInfo}finally{n?._reset()}}async function kg(e,t,n){W(n.type===Dg,e,`argument-error`);let r=await n.verify();W(typeof r==`string`,e,`argument-error`);let i={...t};if(`phoneEnrollmentInfo`in i){let e=i.phoneEnrollmentInfo.phoneNumber,t=i.phoneEnrollmentInfo.captchaResponse,n=i.phoneEnrollmentInfo.clientType,a=i.phoneEnrollmentInfo.recaptchaVersion;return Object.assign(i,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:r,captchaResponse:t,clientType:n,recaptchaVersion:a}}),i}else if(`phoneSignInInfo`in i){let e=i.phoneSignInInfo.captchaResponse,t=i.phoneSignInInfo.clientType,n=i.phoneSignInInfo.recaptchaVersion;return Object.assign(i,{phoneSignInInfo:{recaptchaToken:r,captchaResponse:e,clientType:t,recaptchaVersion:n}}),i}else return Object.assign(i,{recaptchaToken:r}),i}var Ag=class e{constructor(t){this.providerId=e.PROVIDER_ID,this.auth=km(t)}verifyPhoneNumber(e,t){return Og(this.auth,e,ud(t))}static credential(e,t){return fh._fromVerification(e,t)}static credentialFromResult(t){let n=t;return e.credentialFromTaggedObject(n)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{phoneNumber:t,temporaryProof:n}=e;return t&&n?fh._fromTokenResponse(t,n):null}};Ag.PROVIDER_ID=`phone`,Ag.PHONE_SIGN_IN_METHOD=`phone`;function jg(e,t){return t?om(t):(W(e._popupRedirectResolver,e,`argument-error`),e._popupRedirectResolver)}var Mg=class extends Qm{constructor(e){super(`custom`,`custom`),this.params=e}_getIdTokenResponse(e){return ih(e,this._buildIdpRequest())}_linkToIdToken(e,t){return ih(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return ih(e,this._buildIdpRequest())}_buildIdpRequest(e){let t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}};function Ng(e){return Ah(e.auth,new Mg(e),e.bypassAuthState)}function Pg(e){let{auth:t,user:n}=e;return W(n,t,`internal-error`),kh(n,new Mg(e),e.bypassAuthState)}async function Fg(e){let{auth:t,user:n}=e;return W(n,t,`internal-error`),Oh(n,new Mg(e),e.bypassAuthState)}var Ig=class{constructor(e,t,n,r,i=!1){this.auth=e,this.resolver=n,this.user=r,this.bypassAuthState=i,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){let{urlResponse:t,sessionId:n,postBody:r,tenantId:i,error:a,type:o}=e;if(a){this.reject(a);return}let s={auth:this.auth,requestUri:t,sessionId:n,tenantId:i||void 0,postBody:r||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(o)(s))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case`signInViaPopup`:case`signInViaRedirect`:return Ng;case`linkViaPopup`:case`linkViaRedirect`:return Fg;case`reauthViaPopup`:case`reauthViaRedirect`:return Pg;default:up(this.auth,`internal-error`)}}resolve(e){gp(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){gp(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}},Lg=new Sp(2e3,1e4),Rg=class e extends Ig{constructor(t,n,r,i,a){super(t,n,i,a),this.provider=r,this.authWindow=null,this.pollId=null,e.currentPopupAction&&e.currentPopupAction.cancel(),e.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return W(e,this.auth,`internal-error`),e}async onExecution(){gp(this.filter.length===1,`Popup operations only handle one event`);let e=tg();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(dp(this.auth,`web-storage-unsupported`))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(dp(this.auth,`cancelled-popup-request`))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,e.currentPopupAction=null}pollUserCancellation(){let e=()=>{if(this.authWindow?.window?.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(dp(this.auth,`popup-closed-by-user`))},8e3);return}this.pollId=window.setTimeout(e,Lg.get())};e()}};Rg.currentPopupAction=null;var zg=`pendingRedirect`,Bg=new Map,Vg=class extends Ig{constructor(e,t,n=!1){super(e,[`signInViaRedirect`,`linkViaRedirect`,`reauthViaRedirect`,`unknown`],t,void 0,n),this.eventId=null}async execute(){let e=Bg.get(this.auth._key());if(!e){try{let t=await Hg(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}Bg.set(this.auth._key(),e)}return this.bypassAuthState||Bg.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if(e.type===`signInViaRedirect`)return super.onAuthEvent(e);if(e.type===`unknown`){this.resolve(null);return}if(e.eventId){let t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}};async function Hg(e,t){let n=Gg(t),r=Wg(e);if(!await r._isAvailable())return!1;let i=await r._get(n)===`true`;return await r._remove(n),i}function Ug(e,t){Bg.set(e._key(),t)}function Wg(e){return om(e._redirectPersistence)}function Gg(e){return lm(zg,e.config.apiKey,e.name)}async function Kg(e,t,n=!1){if(Pf(e.app))return Promise.reject(pp(e));let r=km(e),i=await new Vg(r,jg(r,t),n).execute();return i&&!n&&(delete i.user._redirectEventId,await r._persistUserIfCurrent(i.user),await r._setRedirectUser(null,t)),i}var qg=600*1e3,Jg=class{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(n=>{this.isEventForConsumer(e,n)&&(t=!0,this.sendToConsumer(e,n),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!Zg(e)?t:(this.hasHandledPotentialRedirect=!0,t||=(this.queuedRedirectEvent=e,!0),t)}sendToConsumer(e,t){if(e.error&&!Xg(e)){let n=e.error.code?.split(`auth/`)[1]||`internal-error`;t.onError(dp(this.auth,n))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let n=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&n}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=qg&&this.cachedEventUids.clear(),this.cachedEventUids.has(Yg(e))}saveEventToCache(e){this.cachedEventUids.add(Yg(e)),this.lastProcessedEventTime=Date.now()}};function Yg(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join(`-`)}function Xg({type:e,error:t}){return e===`unknown`&&t?.code===`auth/no-auth-event`}function Zg(e){switch(e.type){case`signInViaRedirect`:case`linkViaRedirect`:case`reauthViaRedirect`:return!0;case`unknown`:return Xg(e);default:return!1}}async function Qg(e,t={}){return kp(e,`GET`,`/v1/projects`,t)}var $g=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,e_=/^https?/;async function t_(e){if(e.config.emulator)return;let{authorizedDomains:t}=await Qg(e);for(let e of t)try{if(n_(e))return}catch{}up(e,`unauthorized-domain`)}function n_(e){let t=_p(),{protocol:n,hostname:r}=new URL(t);if(e.startsWith(`chrome-extension://`)){let i=new URL(e);return i.hostname===``&&r===``?n===`chrome-extension:`&&e.replace(`chrome-extension://`,``)===t.replace(`chrome-extension://`,``):n===`chrome-extension:`&&i.hostname===r}if(!e_.test(n))return!1;if($g.test(e))return r===e;let i=e.replace(/\./g,`\\.`);return RegExp(`^(.+\\.`+i+`|`+i+`)$`,`i`).test(r)}var r_=new Sp(3e4,6e4);function i_(){let e=rg().___jsl;if(e?.H){for(let t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t<e.CP.length;t++)e.CP[t]=null}}function a_(e){return new Promise((t,n)=>{function r(){i_(),gapi.load(`gapi.iframes`,{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{i_(),n(dp(e,`network-request-failed`))},timeout:r_.get()})}if(rg().gapi?.iframes?.Iframe)t(gapi.iframes.getContext());else if(rg().gapi?.load)r();else{let t=Im(`iframefcb`);return rg()[t]=()=>{gapi.load?r():n(dp(e,`network-request-failed`))},Nm(`${Fm()}?onload=${t}`).catch(e=>n(e))}}).catch(e=>{throw o_=null,e})}var o_=null;function s_(e){return o_||=a_(e),o_}var c_=new Sp(5e3,15e3),l_=`__/auth/iframe`,u_=`emulator/auth/iframe`,d_={style:{position:`absolute`,top:`-100px`,width:`1px`,height:`1px`},"aria-hidden":`true`,tabindex:`-1`},f_=new Map([[`identitytoolkit.googleapis.com`,`p`],[`staging-identitytoolkit.sandbox.googleapis.com`,`s`],[`test-identitytoolkit.sandbox.googleapis.com`,`t`]]);function p_(e){let t=e.config;W(t.authDomain,e,`auth-domain-config-required`);let n=t.emulator?Cp(t,u_):`https://${e.config.authDomain}/${l_}`,r={apiKey:t.apiKey,appName:e.name,v:Lf},i=f_.get(e.config.apiHost);i&&(r.eid=i);let a=e._getFrameworks();return a.length&&(r.fw=a.join(`,`)),`${n}?${rd(r).slice(1)}`}async function m_(e){let t=await s_(e),n=rg().gapi;return W(n,e,`internal-error`),t.open({where:document.body,url:p_(e),messageHandlersFilter:n.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:d_,dontclear:!0},t=>new Promise(async(n,r)=>{await t.restyle({setHideOnLeave:!1});let i=dp(e,`network-request-failed`),a=rg().setTimeout(()=>{r(i)},c_.get());function o(){rg().clearTimeout(a),n(t)}t.ping(o).then(o,()=>{r(i)})}))}var h_={location:`yes`,resizable:`yes`,statusbar:`yes`,toolbar:`no`},g_=500,__=600,v_=`_blank`,y_=`http://localhost`,b_=class{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}};function x_(e,t,n,r=g_,i=__){let a=Math.max((window.screen.availHeight-i)/2,0).toString(),o=Math.max((window.screen.availWidth-r)/2,0).toString(),s=``,c={...h_,width:r.toString(),height:i.toString(),top:a,left:o},l=zu().toLowerCase();n&&(s=mm(l)?v_:n),fm(l)&&(t||=y_,c.scrollbars=`yes`);let u=Object.entries(c).reduce((e,[t,n])=>`${e}${t}=${n},`,``);if(bm(l)&&s!==`_self`)return S_(t||``,s),new b_(null);let d=window.open(t||``,s,u);W(d,e,`popup-blocked`);try{d.focus()}catch{}return new b_(d)}function S_(e,t){let n=document.createElement(`a`);n.href=e,n.target=t;let r=document.createEvent(`MouseEvent`);r.initMouseEvent(`click`,!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),n.dispatchEvent(r)}var C_=`__/auth/handler`,w_=`emulator/auth/handler`,T_=`fac`;async function E_(e,t,n,r,i,a){W(e.config.authDomain,e,`auth-domain-config-required`),W(e.config.apiKey,e,`invalid-api-key`);let o={apiKey:e.config.apiKey,appName:e.name,authType:n,redirectUrl:r,v:Lf,eventId:i};if(t instanceof _h){t.setDefaultLanguage(e.languageCode),o.providerId=t.providerId||``,ed(t.getCustomParameters())||(o.customParameters=JSON.stringify(t.getCustomParameters()));for(let[e,t]of Object.entries(a||{}))o[e]=t}if(t instanceof vh){let e=t.getScopes().filter(e=>e!==``);e.length>0&&(o.scopes=e.join(`,`))}e.tenantId&&(o.tid=e.tenantId);let s=o;for(let e of Object.keys(s))s[e]===void 0&&delete s[e];let c=await e._getAppCheckToken(),l=c?`#${T_}=${encodeURIComponent(c)}`:``;return`${D_(e)}?${rd(s).slice(1)}${l}`}function D_({config:e}){return e.emulator?Cp(e,w_):`https://${e.authDomain}/${C_}`}var O_=`webStorageSupport`,k_=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=Qh,this._completeRedirectFn=Kg,this._overrideRedirectResult=Ug}async _openPopup(e,t,n,r){return gp(this.eventManagers[e._key()]?.manager,`_initialize() not called before _openPopup()`),x_(e,await E_(e,t,n,_p(),r),tg())}async _openRedirect(e,t,n,r){return await this._originValidation(e),ig(await E_(e,t,n,_p(),r)),new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){let{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(gp(n,`If manager is not set, promise should be`),n)}let n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){let t=await m_(e),n=new Jg(e);return t.register(`authEvent`,t=>(W(t?.authEvent,e,`invalid-auth-event`),{status:n.onEvent(t.authEvent)?`ACK`:`ERROR`}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:n},this.iframes[e._key()]=t,n}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(O_,{type:O_},n=>{let r=n?.[0]?.[O_];r!==void 0&&t(!!r),up(e,`internal-error`)},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=t_(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Sm()||pm()||ym()}},A_=class{constructor(e){this.factorId=e}_process(e,t,n){switch(t.type){case`enroll`:return this._finalizeEnroll(e,t.credential,n);case`signin`:return this._finalizeSignIn(e,t.credential);default:return hp(`unexpected MultiFactorSessionType`)}}},j_=class e extends A_{constructor(e){super(`phone`),this.credential=e}static _fromCredential(t){return new e(t)}_finalizeEnroll(e,t,n){return Rh(e,{idToken:t,displayName:n,phoneVerificationInfo:this.credential._makeVerificationRequest()})}_finalizeSignIn(e,t){return Tg(e,{mfaPendingCredential:t,phoneVerificationInfo:this.credential._makeVerificationRequest()})}},M_=class{constructor(){}static assertion(e){return j_._fromCredential(e)}};M_.FACTOR_ID=`phone`;var N_=class{static assertionForEnrollment(e,t){return P_._fromSecret(e,t)}static assertionForSignIn(e,t){return P_._fromEnrollmentId(e,t)}static async generateSecret(e){let t=e;W(t.user?.auth!==void 0,`internal-error`);let n=await zh(t.user.auth,{idToken:t.credential,totpEnrollmentInfo:{}});return F_._fromStartTotpMfaEnrollmentResponse(n,t.user.auth)}};N_.FACTOR_ID=`totp`;var P_=class e extends A_{constructor(e,t,n){super(`totp`),this.otp=e,this.enrollmentId=t,this.secret=n}static _fromSecret(t,n){return new e(n,void 0,t)}static _fromEnrollmentId(t,n){return new e(n,t)}async _finalizeEnroll(e,t,n){return W(this.secret!==void 0,e,`argument-error`),Bh(e,{idToken:t,displayName:n,totpVerificationInfo:this.secret._makeTotpVerificationInfo(this.otp)})}async _finalizeSignIn(e,t){W(this.enrollmentId!==void 0&&this.otp!==void 0,e,`argument-error`);let n={verificationCode:this.otp};return Eg(e,{mfaPendingCredential:t,mfaEnrollmentId:this.enrollmentId,totpVerificationInfo:n})}},F_=class e{constructor(e,t,n,r,i,a,o){this.sessionInfo=a,this.auth=o,this.secretKey=e,this.hashingAlgorithm=t,this.codeLength=n,this.codeIntervalSeconds=r,this.enrollmentCompletionDeadline=i}static _fromStartTotpMfaEnrollmentResponse(t,n){return new e(t.totpSessionInfo.sharedSecretKey,t.totpSessionInfo.hashingAlgorithm,t.totpSessionInfo.verificationCodeLength,t.totpSessionInfo.periodSec,new Date(t.totpSessionInfo.finalizeEnrollmentTime).toUTCString(),t.totpSessionInfo.sessionInfo,n)}_makeTotpVerificationInfo(e){return{sessionInfo:this.sessionInfo,verificationCode:e}}generateQrCodeUrl(e,t){let n=!1;return(I_(e)||I_(t))&&(n=!0),n&&(I_(e)&&(e=this.auth.currentUser?.email||`unknownuser`),I_(t)&&(t=this.auth.name)),`otpauth://totp/${t}:${e}?secret=${this.secretKey}&issuer=${t}&algorithm=${this.hashingAlgorithm}&digits=${this.codeLength}`}};function I_(e){return e===void 0||e?.length===0}var L_=`@firebase/auth`,R_=`1.12.2`,z_=class{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){return this.assertAuthConfigured(),this.auth.currentUser?.uid||null}async getToken(e){return this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;let t=this.auth.onIdTokenChanged(t=>{e(t?.stsTokenManager.accessToken||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();let t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){W(this.auth._initializationPromise,`dependent-sdk-initialized-before-auth`)}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}};function B_(e){switch(e){case`Node`:return`node`;case`ReactNative`:return`rn`;case`Worker`:return`webworker`;case`Cordova`:return`cordova`;case`WebExtension`:return`web-extension`;default:return}}function V_(e){Mf(new pd(`auth`,(t,{options:n})=>{let r=t.getProvider(`app`).getImmediate(),i=t.getProvider(`heartbeat`),a=t.getProvider(`app-check-internal`),{apiKey:o,authDomain:s}=r.options;W(o&&!o.includes(`:`),`invalid-api-key`,{appName:r.name});let c=new Om(r,i,a,{apiKey:o,authDomain:s,clientPlatform:e,apiHost:`identitytoolkit.googleapis.com`,tokenApiHost:`securetoken.googleapis.com`,apiScheme:`https`,sdkClientVersion:Cm(e)});return Km(c,n),c},`PUBLIC`).setInstantiationMode(`EXPLICIT`).setInstanceCreatedCallback((e,t,n)=>{e.getProvider(`auth-internal`).initialize()})),Mf(new pd(`auth-internal`,e=>(e=>new z_(e))(km(e.getProvider(`auth`).getImmediate())),`PRIVATE`).setInstantiationMode(`EXPLICIT`)),Bf(L_,R_,B_(e)),Bf(L_,R_,`esm2020`)}var H_=Iu(`authIdTokenMaxAge`)||300,U_=null,W_=e=>async t=>{let n=t&&await t.getIdTokenResult(),r=n&&(new Date().getTime()-Date.parse(n.issuedAtTime))/1e3;if(r&&r>H_)return;let i=n?.token;U_!==i&&(U_=i,await fetch(e,{method:i?`POST`:`DELETE`,headers:i?{Authorization:`Bearer ${i}`}:{}}))};function G_(e=zf()){let t=Nf(e,`auth`);if(t.isInitialized())return t.getImmediate();let n=Gm(e,{popupRedirectResolver:k_,persistence:[Cg,Kh,Qh]}),r=Iu(`authTokenSyncURL`);if(r&&typeof isSecureContext==`boolean`&&isSecureContext){let e=new URL(r,location.origin);if(location.origin===e.origin){let t=W_(e.toString());Ih(n,t,()=>t(n.currentUser)),Fh(n,e=>t(e))}}let i=Nu(`auth`);return i&&qm(n,`http://${i}`),n}function K_(){return document.getElementsByTagName(`head`)?.[0]??document}Mm({loadJS(e){return new Promise((t,n)=>{let r=document.createElement(`script`);r.setAttribute(`src`,e),r.onload=t,r.onerror=e=>{let t=dp(`internal-error`);t.customData=e,n(t)},r.type=`text/javascript`,r.charset=`UTF-8`,K_().appendChild(r)})},gapiScript:`https://apis.google.com/js/api.js`,recaptchaV2Script:`https://www.google.com/recaptcha/api.js`,recaptchaEnterpriseScript:`https://www.google.com/recaptcha/enterprise.js?render=`}),V_(`Browser`);var q_=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},J_={},Y_;(function(){var e;function t(e,t){function n(){}n.prototype=t.prototype,e.F=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.D=function(e,n,r){for(var i=Array(arguments.length-2),a=2;a<arguments.length;a++)i[a-2]=arguments[a];return t.prototype[n].apply(e,i)}}function n(){this.blockSize=-1}function r(){this.blockSize=-1,this.blockSize=64,this.g=[,,,,],this.C=Array(this.blockSize),this.o=this.h=0,this.u()}t(r,n),r.prototype.u=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0};function i(e,t,n){n||=0;let r=Array(16);if(typeof t==`string`)for(var i=0;i<16;++i)r[i]=t.charCodeAt(n++)|t.charCodeAt(n++)<<8|t.charCodeAt(n++)<<16|t.charCodeAt(n++)<<24;else for(i=0;i<16;++i)r[i]=t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24;t=e.g[0],n=e.g[1],i=e.g[2];let a=e.g[3],o;o=t+(a^n&(i^a))+r[0]+3614090360&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[1]+3905402710&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[2]+606105819&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[3]+3250441966&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(a^n&(i^a))+r[4]+4118548399&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[5]+1200080426&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[6]+2821735955&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[7]+4249261313&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(a^n&(i^a))+r[8]+1770035416&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[9]+2336552879&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[10]+4294925233&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[11]+2304563134&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(a^n&(i^a))+r[12]+1804603682&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[13]+4254626195&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[14]+2792965006&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[15]+1236535329&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(i^a&(n^i))+r[1]+4129170786&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[6]+3225465664&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[11]+643717713&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[0]+3921069994&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(i^a&(n^i))+r[5]+3593408605&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[10]+38016083&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[15]+3634488961&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[4]+3889429448&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(i^a&(n^i))+r[9]+568446438&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[14]+3275163606&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[3]+4107603335&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[8]+1163531501&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(i^a&(n^i))+r[13]+2850285829&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[2]+4243563512&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[7]+1735328473&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[12]+2368359562&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(n^i^a)+r[5]+4294588738&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[8]+2272392833&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[11]+1839030562&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[14]+4259657740&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(n^i^a)+r[1]+2763975236&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[4]+1272893353&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[7]+4139469664&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[10]+3200236656&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(n^i^a)+r[13]+681279174&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[0]+3936430074&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[3]+3572445317&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[6]+76029189&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(n^i^a)+r[9]+3654602809&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[12]+3873151461&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[15]+530742520&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[2]+3299628645&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(i^(n|~a))+r[0]+4096336452&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[7]+1126891415&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[14]+2878612391&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[5]+4237533241&4294967295,n=i+(o<<21&4294967295|o>>>11),o=t+(i^(n|~a))+r[12]+1700485571&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[3]+2399980690&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[10]+4293915773&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[1]+2240044497&4294967295,n=i+(o<<21&4294967295|o>>>11),o=t+(i^(n|~a))+r[8]+1873313359&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[15]+4264355552&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[6]+2734768916&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[13]+1309151649&4294967295,n=i+(o<<21&4294967295|o>>>11),o=t+(i^(n|~a))+r[4]+4149444226&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[11]+3174756917&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[2]+718787259&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[9]+3951481745&4294967295,e.g[0]=e.g[0]+t&4294967295,e.g[1]=e.g[1]+(i+(o<<21&4294967295|o>>>11))&4294967295,e.g[2]=e.g[2]+i&4294967295,e.g[3]=e.g[3]+a&4294967295}r.prototype.v=function(e,t){t===void 0&&(t=e.length);let n=t-this.blockSize,r=this.C,a=this.h,o=0;for(;o<t;){if(a==0)for(;o<=n;)i(this,e,o),o+=this.blockSize;if(typeof e==`string`){for(;o<t;)if(r[a++]=e.charCodeAt(o++),a==this.blockSize){i(this,r),a=0;break}}else for(;o<t;)if(r[a++]=e[o++],a==this.blockSize){i(this,r),a=0;break}}this.h=a,this.o+=t},r.prototype.A=function(){var e=Array((this.h<56?this.blockSize:this.blockSize*2)-this.h);e[0]=128;for(var t=1;t<e.length-8;++t)e[t]=0;t=this.o*8;for(var n=e.length-8;n<e.length;++n)e[n]=t&255,t/=256;for(this.v(e),e=Array(16),t=0,n=0;n<4;++n)for(let r=0;r<32;r+=8)e[t++]=this.g[n]>>>r&255;return e};function a(e,t){var n=s;return Object.prototype.hasOwnProperty.call(n,e)?n[e]:n[e]=t(e)}function o(e,t){this.h=t;let n=[],r=!0;for(let i=e.length-1;i>=0;i--){let a=e[i]|0;r&&a==t||(n[i]=a,r=!1)}this.g=n}var s={};function c(e){return-128<=e&&e<128?a(e,function(e){return new o([e|0],e<0?-1:0)}):new o([e|0],e<0?-1:0)}function l(e){if(isNaN(e)||!isFinite(e))return d;if(e<0)return g(l(-e));let t=[],n=1;for(let r=0;e>=n;r++)t[r]=e/n|0,n*=4294967296;return new o(t,0)}function u(e,t){if(e.length==0)throw Error(`number format error: empty string`);if(t||=10,t<2||36<t)throw Error(`radix out of range: `+t);if(e.charAt(0)==`-`)return g(u(e.substring(1),t));if(e.indexOf(`-`)>=0)throw Error(`number format error: interior "-" character`);let n=l(t**8),r=d;for(let a=0;a<e.length;a+=8){var i=Math.min(8,e.length-a);let o=parseInt(e.substring(a,a+i),t);i<8?(i=l(t**+i),r=r.j(i).add(l(o))):(r=r.j(n),r=r.add(l(o)))}return r}var d=c(0),f=c(1),p=c(16777216);e=o.prototype,e.m=function(){if(h(this))return-g(this).m();let e=0,t=1;for(let n=0;n<this.g.length;n++){let r=this.i(n);e+=(r>=0?r:4294967296+r)*t,t*=4294967296}return e},e.toString=function(e){if(e||=10,e<2||36<e)throw Error(`radix out of range: `+e);if(m(this))return`0`;if(h(this))return`-`+g(this).toString(e);let t=l(e**6);var n=this;let r=``;for(;;){let i=b(n,t).g;n=_(n,i.j(t));let a=((n.g.length>0?n.g[0]:n.h)>>>0).toString(e);if(n=i,m(n))return a+r;for(;a.length<6;)a=`0`+a;r=a+r}},e.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h};function m(e){if(e.h!=0)return!1;for(let t=0;t<e.g.length;t++)if(e.g[t]!=0)return!1;return!0}function h(e){return e.h==-1}e.l=function(e){return e=_(this,e),h(e)?-1:m(e)?0:1};function g(e){let t=e.g.length,n=[];for(let r=0;r<t;r++)n[r]=~e.g[r];return new o(n,~e.h).add(f)}e.abs=function(){return h(this)?g(this):this},e.add=function(e){let t=Math.max(this.g.length,e.g.length),n=[],r=0;for(let i=0;i<=t;i++){let t=r+(this.i(i)&65535)+(e.i(i)&65535),a=(t>>>16)+(this.i(i)>>>16)+(e.i(i)>>>16);r=a>>>16,t&=65535,a&=65535,n[i]=a<<16|t}return new o(n,n[n.length-1]&-2147483648?-1:0)};function _(e,t){return e.add(g(t))}e.j=function(e){if(m(this)||m(e))return d;if(h(this))return h(e)?g(this).j(g(e)):g(g(this).j(e));if(h(e))return g(this.j(g(e)));if(this.l(p)<0&&e.l(p)<0)return l(this.m()*e.m());let t=this.g.length+e.g.length,n=[];for(var r=0;r<2*t;r++)n[r]=0;for(r=0;r<this.g.length;r++)for(let t=0;t<e.g.length;t++){let i=this.i(r)>>>16,a=this.i(r)&65535,o=e.i(t)>>>16,s=e.i(t)&65535;n[2*r+2*t]+=a*s,v(n,2*r+2*t),n[2*r+2*t+1]+=i*s,v(n,2*r+2*t+1),n[2*r+2*t+1]+=a*o,v(n,2*r+2*t+1),n[2*r+2*t+2]+=i*o,v(n,2*r+2*t+2)}for(e=0;e<t;e++)n[e]=n[2*e+1]<<16|n[2*e];for(e=t;e<2*t;e++)n[e]=0;return new o(n,0)};function v(e,t){for(;(e[t]&65535)!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function y(e,t){this.g=e,this.h=t}function b(e,t){if(m(t))throw Error(`division by zero`);if(m(e))return new y(d,d);if(h(e))return t=b(g(e),t),new y(g(t.g),g(t.h));if(h(t))return t=b(e,g(t)),new y(g(t.g),t.h);if(e.g.length>30){if(h(e)||h(t))throw Error(`slowDivide_ only works with positive integers.`);for(var n=f,r=t;r.l(e)<=0;)n=x(n),r=x(r);var i=S(n,1),a=S(r,1);for(r=S(r,2),n=S(n,2);!m(r);){var o=a.add(r);o.l(e)<=0&&(i=i.add(n),a=o),r=S(r,1),n=S(n,1)}return t=_(e,i.j(t)),new y(i,t)}for(i=d;e.l(t)>=0;){for(n=Math.max(1,Math.floor(e.m()/t.m())),r=Math.ceil(Math.log(n)/Math.LN2),r=r<=48?1:2**(r-48),a=l(n),o=a.j(t);h(o)||o.l(e)>0;)n-=r,a=l(n),o=a.j(t);m(a)&&(a=f),i=i.add(a),e=_(e,o)}return new y(i,e)}e.B=function(e){return b(this,e).h},e.and=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)&e.i(r);return new o(n,this.h&e.h)},e.or=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)|e.i(r);return new o(n,this.h|e.h)},e.xor=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)^e.i(r);return new o(n,this.h^e.h)};function x(e){let t=e.g.length+1,n=[];for(let r=0;r<t;r++)n[r]=e.i(r)<<1|e.i(r-1)>>>31;return new o(n,e.h)}function S(e,t){let n=t>>5;t%=32;let r=e.g.length-n,i=[];for(let a=0;a<r;a++)i[a]=t>0?e.i(a+n)>>>t|e.i(a+n+1)<<32-t:e.i(a+n);return new o(i,e.h)}r.prototype.digest=r.prototype.A,r.prototype.reset=r.prototype.u,r.prototype.update=r.prototype.v,J_.Md5=r,o.prototype.add=o.prototype.add,o.prototype.multiply=o.prototype.j,o.prototype.modulo=o.prototype.B,o.prototype.compare=o.prototype.l,o.prototype.toNumber=o.prototype.m,o.prototype.toString=o.prototype.toString,o.prototype.getBits=o.prototype.i,o.fromNumber=l,o.fromString=u,Y_=J_.Integer=o}).apply(q_===void 0?typeof self<`u`?self:typeof window<`u`?window:{}:q_);var X_=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},Z_={},Q_,$_,ev,tv,nv,rv,iv,av;(function(){var e,t=Object.defineProperty;function n(e){e=[typeof globalThis==`object`&&globalThis,e,typeof window==`object`&&window,typeof self==`object`&&self,typeof X_==`object`&&X_];for(var t=0;t<e.length;++t){var n=e[t];if(n&&n.Math==Math)return n}throw Error(`Cannot find global object`)}var r=n(this);function i(e,n){if(n)a:{var i=r;e=e.split(`.`);for(var a=0;a<e.length-1;a++){var o=e[a];if(!(o in i))break a;i=i[o]}e=e[e.length-1],a=i[e],n=n(a),n!=a&&n!=null&&t(i,e,{configurable:!0,writable:!0,value:n})}}i(`Symbol.dispose`,function(e){return e||Symbol(`Symbol.dispose`)}),i(`Array.prototype.values`,function(e){return e||function(){return this[Symbol.iterator]()}}),i(`Object.entries`,function(e){return e||function(e){var t=[],n;for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push([n,e[n]]);return t}});var a=a||{},o=this||self;function s(e){var t=typeof e;return t==`object`&&e!=null||t==`function`}function c(e,t,n){return e.call.apply(e.bind,arguments)}function l(e,t,n){return l=c,l.apply(null,arguments)}function u(e,t){var n=Array.prototype.slice.call(arguments,1);return function(){var t=n.slice();return t.push.apply(t,arguments),e.apply(this,t)}}function d(e,t){function n(){}n.prototype=t.prototype,e.Z=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.Ob=function(e,n,r){for(var i=Array(arguments.length-2),a=2;a<arguments.length;a++)i[a-2]=arguments[a];return t.prototype[n].apply(e,i)}}var f=typeof AsyncContext<`u`&&typeof AsyncContext.Snapshot==`function`?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function p(e){let t=e.length;if(t>0){let n=Array(t);for(let r=0;r<t;r++)n[r]=e[r];return n}return[]}function m(e,t){for(let t=1;t<arguments.length;t++){let r=arguments[t];var n=typeof r;if(n=n==`object`?r?Array.isArray(r)?`array`:n:`null`:n,n==`array`||n==`object`&&typeof r.length==`number`){n=e.length||0;let t=r.length||0;e.length=n+t;for(let i=0;i<t;i++)e[n+i]=r[i]}else e.push(r)}}class h{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return this.h>0?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}function g(e){o.setTimeout(()=>{throw e},0)}function _(){var e=C;let t=null;return e.g&&(t=e.g,e.g=e.g.next,e.g||(e.h=null),t.next=null),t}class v{constructor(){this.h=this.g=null}add(e,t){let n=y.get();n.set(e,t),this.h?this.h.next=n:this.g=n,this.h=n}}var y=new h(()=>new b,e=>e.reset());class b{constructor(){this.next=this.g=this.h=null}set(e,t){this.h=e,this.g=t,this.next=null}reset(){this.next=this.g=this.h=null}}let x,S=!1,C=new v,w=()=>{let e=Promise.resolve(void 0);x=()=>{e.then(ee)}};function ee(){for(var e;e=_();){try{e.h.call(e.g)}catch(e){g(e)}var t=y;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}S=!1}function T(){this.u=this.u,this.C=this.C}T.prototype.u=!1,T.prototype.dispose=function(){this.u||(this.u=!0,this.N())},T.prototype[Symbol.dispose]=function(){this.dispose()},T.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function E(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}E.prototype.h=function(){this.defaultPrevented=!0};var te=function(){if(!o.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},`passive`,{get:function(){e=!0}});try{let e=()=>{};o.addEventListener(`test`,e,t),o.removeEventListener(`test`,e,t)}catch{}return e}();function ne(e){return/^[\s\xa0]*$/.test(e)}function re(e,t){E.call(this,e?e.type:``),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key=``,this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType=``,this.i=null,e&&this.init(e,t)}d(re,E),re.prototype.init=function(e,t){let n=this.type=e.type,r=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,t=e.relatedTarget,t||(n==`mouseover`?t=e.fromElement:n==`mouseout`&&(t=e.toElement)),this.relatedTarget=t,r?(this.clientX=r.clientX===void 0?r.pageX:r.clientX,this.clientY=r.clientY===void 0?r.pageY:r.clientY,this.screenX=r.screenX||0,this.screenY=r.screenY||0):(this.clientX=e.clientX===void 0?e.pageX:e.clientX,this.clientY=e.clientY===void 0?e.pageY:e.clientY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.key=e.key||``,this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.pointerId=e.pointerId||0,this.pointerType=e.pointerType,this.state=e.state,this.i=e,e.defaultPrevented&&re.Z.h.call(this)},re.prototype.h=function(){re.Z.h.call(this);let e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var ie=`closure_listenable_`+(Math.random()*1e6|0),ae=0;function oe(e,t,n,r,i){this.listener=e,this.proxy=null,this.src=t,this.type=n,this.capture=!!r,this.ha=i,this.key=++ae,this.da=this.fa=!1}function se(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function ce(e,t,n){for(let r in e)t.call(n,e[r],r,e)}function D(e,t){for(let n in e)t.call(void 0,e[n],n,e)}function O(e){let t={};for(let n in e)t[n]=e[n];return t}let le=`constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf`.split(` `);function ue(e,t){let n,r;for(let t=1;t<arguments.length;t++){for(n in r=arguments[t],r)e[n]=r[n];for(let t=0;t<le.length;t++)n=le[t],Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}}function de(e){this.src=e,this.g={},this.h=0}de.prototype.add=function(e,t,n,r,i){let a=e.toString();e=this.g[a],e||(e=this.g[a]=[],this.h++);let o=pe(e,t,r,i);return o>-1?(t=e[o],n||(t.fa=!1)):(t=new oe(t,this.src,a,!!r,i),t.fa=n,e.push(t)),t};function fe(e,t){let n=t.type;if(n in e.g){var r=e.g[n],i=Array.prototype.indexOf.call(r,t,void 0),a;(a=i>=0)&&Array.prototype.splice.call(r,i,1),a&&(se(t),e.g[n].length==0&&(delete e.g[n],e.h--))}}function pe(e,t,n,r){for(let i=0;i<e.length;++i){let a=e[i];if(!a.da&&a.listener==t&&a.capture==!!n&&a.ha==r)return i}return-1}var k=`closure_lm_`+(Math.random()*1e6|0),me={};function he(e,t,n,r,i){if(r&&r.once)return ve(e,t,n,r,i);if(Array.isArray(t)){for(let a=0;a<t.length;a++)he(e,t[a],n,r,i);return null}return n=Te(n),e&&e[ie]?e.J(t,n,s(r)?!!r.capture:!!r,i):ge(e,t,n,!1,r,i)}function ge(e,t,n,r,i,a){if(!t)throw Error(`Invalid event type`);let o=s(i)?!!i.capture:!!i,c=Ce(e);if(c||(e[k]=c=new de(e)),n=c.add(t,n,r,o,a),n.proxy)return n;if(r=_e(),n.proxy=r,r.src=e,r.listener=n,e.addEventListener)te||(i=o),i===void 0&&(i=!1),e.addEventListener(t.toString(),r,i);else if(e.attachEvent)e.attachEvent(xe(t.toString()),r);else if(e.addListener&&e.removeListener)e.addListener(r);else throw Error(`addEventListener and attachEvent are unavailable.`);return n}function _e(){function e(n){return t.call(e.src,e.listener,n)}let t=Se;return e}function ve(e,t,n,r,i){if(Array.isArray(t)){for(let a=0;a<t.length;a++)ve(e,t[a],n,r,i);return null}return n=Te(n),e&&e[ie]?e.K(t,n,s(r)?!!r.capture:!!r,i):ge(e,t,n,!0,r,i)}function ye(e,t,n,r,i){if(Array.isArray(t))for(var a=0;a<t.length;a++)ye(e,t[a],n,r,i);else r=s(r)?!!r.capture:!!r,n=Te(n),e&&e[ie]?(e=e.i,a=String(t).toString(),a in e.g&&(t=e.g[a],n=pe(t,n,r,i),n>-1&&(se(t[n]),Array.prototype.splice.call(t,n,1),t.length==0&&(delete e.g[a],e.h--)))):(e&&=Ce(e))&&(t=e.g[t.toString()],e=-1,t&&(e=pe(t,n,r,i)),(n=e>-1?t[e]:null)&&be(n))}function be(e){if(typeof e!=`number`&&e&&!e.da){var t=e.src;if(t&&t[ie])fe(t.i,e);else{var n=e.type,r=e.proxy;t.removeEventListener?t.removeEventListener(n,r,e.capture):t.detachEvent?t.detachEvent(xe(n),r):t.addListener&&t.removeListener&&t.removeListener(r),(n=Ce(t))?(fe(n,e),n.h==0&&(n.src=null,t[k]=null)):se(e)}}}function xe(e){return e in me?me[e]:me[e]=`on`+e}function Se(e,t){if(e.da)e=!0;else{t=new re(t,this);let n=e.listener,r=e.ha||e.src;e.fa&&be(e),e=n.call(r,t)}return e}function Ce(e){return e=e[k],e instanceof de?e:null}var we=`__closure_events_fn_`+(Math.random()*1e9>>>0);function Te(e){return typeof e==`function`?e:(e[we]||(e[we]=function(t){return e.handleEvent(t)}),e[we])}function Ee(){T.call(this),this.i=new de(this),this.M=this,this.G=null}d(Ee,T),Ee.prototype[ie]=!0,Ee.prototype.removeEventListener=function(e,t,n,r){ye(this,e,t,n,r)};function De(e,t){var n,r=e.G;if(r)for(n=[];r;r=r.G)n.push(r);if(e=e.M,r=t.type||t,typeof t==`string`)t=new E(t,e);else if(t instanceof E)t.target=t.target||e;else{var i=t;t=new E(r,e),ue(t,i)}i=!0;let a,o;if(n)for(o=n.length-1;o>=0;o--)a=t.g=n[o],i=Oe(a,r,!0,t)&&i;if(a=t.g=e,i=Oe(a,r,!0,t)&&i,i=Oe(a,r,!1,t)&&i,n)for(o=0;o<n.length;o++)a=t.g=n[o],i=Oe(a,r,!1,t)&&i}Ee.prototype.N=function(){if(Ee.Z.N.call(this),this.i){var e=this.i;for(let t in e.g){let n=e.g[t];for(let e=0;e<n.length;e++)se(n[e]);delete e.g[t],e.h--}}this.G=null},Ee.prototype.J=function(e,t,n,r){return this.i.add(String(e),t,!1,n,r)},Ee.prototype.K=function(e,t,n,r){return this.i.add(String(e),t,!0,n,r)};function Oe(e,t,n,r){if(t=e.i.g[String(t)],!t)return!0;t=t.concat();let i=!0;for(let a=0;a<t.length;++a){let o=t[a];if(o&&!o.da&&o.capture==n){let t=o.listener,n=o.ha||o.src;o.fa&&fe(e.i,o),i=t.call(n,r)!==!1&&i}}return i&&!r.defaultPrevented}function ke(e,t){if(typeof e!=`function`)if(e&&typeof e.handleEvent==`function`)e=l(e.handleEvent,e);else throw Error(`Invalid listener argument`);return Number(t)>2147483647?-1:o.setTimeout(e,t||0)}function Ae(e){e.g=ke(()=>{e.g=null,e.i&&(e.i=!1,Ae(e))},e.l);let t=e.h;e.h=null,e.m.apply(null,t)}class je extends T{constructor(e,t){super(),this.m=e,this.l=t,this.h=null,this.i=!1,this.g=null}j(e){this.h=arguments,this.g?this.i=!0:Ae(this)}N(){super.N(),this.g&&(o.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function Me(e){T.call(this),this.h=e,this.g={}}d(Me,T);var Ne=[];function Pe(e){ce(e.g,function(e,t){this.g.hasOwnProperty(t)&&be(e)},e),e.g={}}Me.prototype.N=function(){Me.Z.N.call(this),Pe(this)},Me.prototype.handleEvent=function(){throw Error(`EventHandler.handleEvent not implemented`)};var Fe=o.JSON.stringify,Ie=o.JSON.parse,Le=class{stringify(e){return o.JSON.stringify(e,void 0)}parse(e){return o.JSON.parse(e,void 0)}};function Re(){}function ze(){}var Be={OPEN:`a`,hb:`b`,ERROR:`c`,tb:`d`};function Ve(){E.call(this,`d`)}d(Ve,E);function He(){E.call(this,`c`)}d(He,E);var Ue={},We=null;function Ge(){return We||=new Ee}Ue.Ia=`serverreachability`;function Ke(e){E.call(this,Ue.Ia,e)}d(Ke,E);function qe(e){let t=Ge();De(t,new Ke(t))}Ue.STAT_EVENT=`statevent`;function Je(e,t){E.call(this,Ue.STAT_EVENT,e),this.stat=t}d(Je,E);function Ye(e){let t=Ge();De(t,new Je(t,e))}Ue.Ja=`timingevent`;function Xe(e,t){E.call(this,Ue.Ja,e),this.size=t}d(Xe,E);function Ze(e,t){if(typeof e!=`function`)throw Error(`Fn must not be null and must be a function`);return o.setTimeout(function(){e()},t)}function Qe(){this.g=!0}Qe.prototype.ua=function(){this.g=!1};function $e(e,t,n,r,i,a){e.info(function(){if(e.g)if(a){var o=``,s=a.split(`&`);for(let e=0;e<s.length;e++){var c=s[e].split(`=`);if(c.length>1){let e=c[0];c=c[1];let t=e.split(`_`);o=t.length>=2&&t[1]==`type`?o+(e+`=`+c+`&`):o+(e+`=redacted&`)}}}else o=null;else o=a;return`XMLHTTP REQ (`+r+`) [attempt `+i+`]: `+t+`
|
|
119
|
+
`,z=e=>{let{classes:t,variant:n,color:r,disableShrink:i}=e;return Zn({root:[`root`,n,`color${nr(r)}`],svg:[`svg`],track:[`track`],circle:[`circle`,`circle${nr(n)}`,i&&`circleDisableShrink`]},Ul,t)},B=Wc(`span`,{name:`MuiCircularProgress`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`color${nr(n.color)}`]]}})(Gc(({theme:e})=>({display:`inline-block`,variants:[{props:{variant:`determinate`},style:{transition:e.transitions.create(`transform`)}},{props:{variant:`indeterminate`},style:R||{animation:`${Gl} 1.4s linear infinite`}},...Object.entries(e.palette).filter(Hl()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}}))]}))),Jl=Wc(`svg`,{name:`MuiCircularProgress`,slot:`Svg`})({display:`block`}),Yl=Wc(`circle`,{name:`MuiCircularProgress`,slot:`Circle`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.circle,t[`circle${nr(n.variant)}`],n.disableShrink&&t.circleDisableShrink]}})(Gc(({theme:e})=>({stroke:`currentColor`,variants:[{props:{variant:`determinate`},style:{transition:e.transitions.create(`stroke-dashoffset`)}},{props:{variant:`indeterminate`},style:{strokeDasharray:`80px, 200px`,strokeDashoffset:0}},{props:({ownerState:e})=>e.variant===`indeterminate`&&!e.disableShrink,style:ql||{animation:`${Kl} 1.4s ease-in-out infinite`}}]}))),Xl=Wc(`circle`,{name:`MuiCircularProgress`,slot:`Track`})(Gc(({theme:e})=>({stroke:`currentColor`,opacity:(e.vars||e).palette.action.activatedOpacity}))),Zl=v.forwardRef(function(e,t){let n=Kc({props:e,name:`MuiCircularProgress`}),{className:r,color:i=`primary`,disableShrink:a=!1,enableTrackSlot:o=!1,size:s=40,style:c,thickness:l=3.6,value:u=0,variant:d=`indeterminate`,...f}=n,p={...n,color:i,disableShrink:a,size:s,thickness:l,value:u,variant:d,enableTrackSlot:o},m=z(p),h={},g={},_={};if(d===`determinate`){let e=2*Math.PI*((Wl-l)/2);h.strokeDasharray=e.toFixed(3),_[`aria-valuenow`]=Math.round(u),h.strokeDashoffset=`${((100-u)/100*e).toFixed(3)}px`,g.transform=`rotate(-90deg)`}return(0,F.jsx)(B,{className:Yn(m.root,r),style:{width:s,height:s,...g,...c},ownerState:p,ref:t,role:`progressbar`,..._,...f,children:(0,F.jsxs)(Jl,{className:m.svg,ownerState:p,viewBox:`${Wl/2} ${Wl/2} ${Wl} ${Wl}`,children:[o?(0,F.jsx)(Xl,{className:m.track,ownerState:p,cx:Wl,cy:Wl,r:(Wl-l)/2,fill:`none`,strokeWidth:l,"aria-hidden":`true`}):null,(0,F.jsx)(Yl,{className:m.circle,style:h,ownerState:p,cx:Wl,cy:Wl,r:(Wl-l)/2,fill:`none`,strokeWidth:l})]})})});function Ql(e){return Io(`MuiButton`,e)}var $l=Lo(`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.loading.loadingWrapper.loadingIconPlaceholder.loadingIndicator.loadingPositionCenter.loadingPositionStart.loadingPositionEnd`.split(`.`)),eu=v.createContext({}),tu=v.createContext(void 0),nu=e=>{let{color:t,disableElevation:n,fullWidth:r,size:i,variant:a,loading:o,loadingPosition:s,classes:c}=e,l=Zn({root:[`root`,o&&`loading`,a,`${a}${nr(t)}`,`size${nr(i)}`,`${a}Size${nr(i)}`,`color${nr(t)}`,n&&`disableElevation`,r&&`fullWidth`,o&&`loadingPosition${nr(s)}`],startIcon:[`icon`,`startIcon`,`iconSize${nr(i)}`],endIcon:[`icon`,`endIcon`,`iconSize${nr(i)}`],loadingIndicator:[`loadingIndicator`],loadingWrapper:[`loadingWrapper`]},Ql,c);return{...c,...l}},ru=[{props:{size:`small`},style:{"& > *:nth-of-type(1)":{fontSize:18}}},{props:{size:`medium`},style:{"& > *:nth-of-type(1)":{fontSize:20}}},{props:{size:`large`},style:{"& > *:nth-of-type(1)":{fontSize:22}}}],iu=Wc(Rl,{shouldForwardProp:e=>Uc(e)||e===`classes`,name:`MuiButton`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${nr(n.color)}`],t[`size${nr(n.size)}`],t[`${n.variant}Size${nr(n.size)}`],n.color===`inherit`&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth,n.loading&&t.loading]}})(Gc(({theme:e})=>{let t=e.palette.mode===`light`?e.palette.grey[300]:e.palette.grey[800],n=e.palette.mode===`light`?e.palette.grey.A100:e.palette.grey[700];return{...e.typography.button,minWidth:64,padding:`6px 16px`,border:0,borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create([`background-color`,`box-shadow`,`border-color`,`color`],{duration:e.transitions.duration.short}),"&:hover":{textDecoration:`none`},[`&.${$l.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:{variant:`contained`},style:{color:`var(--variant-containedColor)`,backgroundColor:`var(--variant-containedBg)`,boxShadow:(e.vars||e).shadows[2],"&:hover":{boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2]}},"&:active":{boxShadow:(e.vars||e).shadows[8]},[`&.${$l.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},[`&.${$l.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}},{props:{variant:`outlined`},style:{padding:`5px 15px`,border:`1px solid currentColor`,borderColor:`var(--variant-outlinedBorder, currentColor)`,backgroundColor:`var(--variant-outlinedBg)`,color:`var(--variant-outlinedColor)`,[`&.${$l.disabled}`]:{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`}}},{props:{variant:`text`},style:{padding:`6px 8px`,color:`var(--variant-textColor)`,backgroundColor:`var(--variant-textBg)`}},...Object.entries(e.palette).filter(Hl()).map(([t])=>({props:{color:t},style:{"--variant-textColor":(e.vars||e).palette[t].main,"--variant-outlinedColor":(e.vars||e).palette[t].main,"--variant-outlinedBorder":e.alpha((e.vars||e).palette[t].main,.5),"--variant-containedColor":(e.vars||e).palette[t].contrastText,"--variant-containedBg":(e.vars||e).palette[t].main,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":(e.vars||e).palette[t].dark,"--variant-textBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity),"--variant-outlinedBorder":(e.vars||e).palette[t].main,"--variant-outlinedBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}}})),{props:{color:`inherit`},style:{color:`inherit`,borderColor:`currentColor`,"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedBg:t,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedHoverBg:n,"--variant-textBg":e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.hoverOpacity),"--variant-outlinedBg":e.alpha((e.vars||e).palette.text.primary,(e.vars||e).palette.action.hoverOpacity)}}}},{props:{size:`small`,variant:`text`},style:{padding:`4px 5px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`text`},style:{padding:`8px 11px`,fontSize:e.typography.pxToRem(15)}},{props:{size:`small`,variant:`outlined`},style:{padding:`3px 9px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`outlined`},style:{padding:`7px 21px`,fontSize:e.typography.pxToRem(15)}},{props:{size:`small`,variant:`contained`},style:{padding:`4px 10px`,fontSize:e.typography.pxToRem(13)}},{props:{size:`large`,variant:`contained`},style:{padding:`8px 22px`,fontSize:e.typography.pxToRem(15)}},{props:{disableElevation:!0},style:{boxShadow:`none`,"&:hover":{boxShadow:`none`},[`&.${$l.focusVisible}`]:{boxShadow:`none`},"&:active":{boxShadow:`none`},[`&.${$l.disabled}`]:{boxShadow:`none`}}},{props:{fullWidth:!0},style:{width:`100%`}},{props:{loadingPosition:`center`},style:{transition:e.transitions.create([`background-color`,`box-shadow`,`border-color`],{duration:e.transitions.duration.short}),[`&.${$l.loading}`]:{color:`transparent`}}}]}})),au=Wc(`span`,{name:`MuiButton`,slot:`StartIcon`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.startIcon,n.loading&&t.startIconLoadingStart,t[`iconSize${nr(n.size)}`]]}})(({theme:e})=>({display:`inherit`,marginRight:8,marginLeft:-4,variants:[{props:{size:`small`},style:{marginLeft:-2}},{props:{loadingPosition:`start`,loading:!0},style:{transition:e.transitions.create([`opacity`],{duration:e.transitions.duration.short}),opacity:0}},{props:{loadingPosition:`start`,loading:!0,fullWidth:!0},style:{marginRight:-8}},...ru]})),ou=Wc(`span`,{name:`MuiButton`,slot:`EndIcon`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.endIcon,n.loading&&t.endIconLoadingEnd,t[`iconSize${nr(n.size)}`]]}})(({theme:e})=>({display:`inherit`,marginRight:-4,marginLeft:8,variants:[{props:{size:`small`},style:{marginRight:-2}},{props:{loadingPosition:`end`,loading:!0},style:{transition:e.transitions.create([`opacity`],{duration:e.transitions.duration.short}),opacity:0}},{props:{loadingPosition:`end`,loading:!0,fullWidth:!0},style:{marginLeft:-8}},...ru]})),su=Wc(`span`,{name:`MuiButton`,slot:`LoadingIndicator`})(({theme:e})=>({display:`none`,position:`absolute`,visibility:`visible`,variants:[{props:{loading:!0},style:{display:`flex`}},{props:{loadingPosition:`start`},style:{left:14}},{props:{loadingPosition:`start`,size:`small`},style:{left:10}},{props:{variant:`text`,loadingPosition:`start`},style:{left:6}},{props:{loadingPosition:`center`},style:{left:`50%`,transform:`translate(-50%)`,color:(e.vars||e).palette.action.disabled}},{props:{loadingPosition:`end`},style:{right:14}},{props:{loadingPosition:`end`,size:`small`},style:{right:10}},{props:{variant:`text`,loadingPosition:`end`},style:{right:6}},{props:{loadingPosition:`start`,fullWidth:!0},style:{position:`relative`,left:-10}},{props:{loadingPosition:`end`,fullWidth:!0},style:{position:`relative`,right:-10}}]})),cu=Wc(`span`,{name:`MuiButton`,slot:`LoadingIconPlaceholder`})({display:`inline-block`,width:`1em`,height:`1em`}),lu=v.forwardRef(function(e,t){let n=v.useContext(eu),r=v.useContext(tu),i=Kc({props:Xn(n,e),name:`MuiButton`}),{children:a,color:o=`primary`,component:s=`button`,className:c,disabled:l=!1,disableElevation:u=!1,disableFocusRipple:d=!1,endIcon:f,focusVisibleClassName:p,fullWidth:m=!1,id:h,loading:g=null,loadingIndicator:_,loadingPosition:y=`center`,size:b=`medium`,startIcon:x,type:S,variant:C=`text`,...w}=i,ee=Qc(h),T=_??(0,F.jsx)(Zl,{"aria-labelledby":ee,color:`inherit`,size:16}),E={...i,color:o,component:s,disabled:l,disableElevation:u,disableFocusRipple:d,fullWidth:m,loading:g,loadingIndicator:T,loadingPosition:y,size:b,type:S,variant:C},te=nu(E),ne=(x||g&&y===`start`)&&(0,F.jsx)(au,{className:te.startIcon,ownerState:E,children:x||(0,F.jsx)(cu,{className:te.loadingIconPlaceholder,ownerState:E})}),re=(f||g&&y===`end`)&&(0,F.jsx)(ou,{className:te.endIcon,ownerState:E,children:f||(0,F.jsx)(cu,{className:te.loadingIconPlaceholder,ownerState:E})}),ie=r||``,ae=typeof g==`boolean`?(0,F.jsx)(`span`,{className:te.loadingWrapper,style:{display:`contents`},children:g&&(0,F.jsx)(su,{className:te.loadingIndicator,ownerState:E,children:T})}):null;return(0,F.jsxs)(iu,{ownerState:E,className:Yn(n.className,te.root,c,ie),component:s,disabled:l||g,focusRipple:!d,focusVisibleClassName:Yn(te.focusVisible,p),ref:t,type:S,id:g?ee:h,...w,classes:te,children:[ne,y!==`end`&&ae,a,y===`end`&&ae,re]})});function uu(){return(0,F.jsx)(`header`,{className:`homeheader`,children:(0,F.jsxs)(`div`,{className:`navhome`,children:[(0,F.jsx)(`div`,{className:`dLogo`,children:(0,F.jsx)(`h3`,{children:`fdpay`})}),(0,F.jsx)(`div`,{className:`menu`,children:(0,F.jsxs)(`ul`,{className:`menuul`,children:[(0,F.jsx)(`li`,{className:`navLink`,children:(0,F.jsx)(An,{id:`Nav_Link`,to:`/`,children:`Home`})}),(0,F.jsx)(`li`,{id:`Nav_Link`,className:`navLink`,children:(0,F.jsxs)(An,{to:`/login`,children:[(0,F.jsx)(lu,{id:`ThemecommonButton`,variant:`contained`,children:`Login`}),` `]})})]})})]})})}function du(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var fu={read:function(e){return e[0]===`"`&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function pu(e,t){function n(n,r,i){if(!(typeof document>`u`)){i=du({},t,i),typeof i.expires==`number`&&(i.expires=new Date(Date.now()+i.expires*864e5)),i.expires&&=i.expires.toUTCString(),n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a=``;for(var o in i)i[o]&&(a+=`; `+o,i[o]!==!0&&(a+=`=`+i[o].split(`;`)[0]));return document.cookie=n+`=`+e.write(r,n)+a}}function r(t){if(!(typeof document>`u`||arguments.length&&!t)){for(var n=document.cookie?document.cookie.split(`; `):[],r={},i=0;i<n.length;i++){var a=n[i].split(`=`),o=a.slice(1).join(`=`);try{var s=decodeURIComponent(a[0]);if(r[s]=e.read(o,s),t===s)break}catch{}}return t?r[t]:r}}return Object.create({set:n,get:r,remove:function(e,t){n(e,``,du({},t,{expires:-1}))},withAttributes:function(e){return pu(this.converter,du({},this.attributes,e))},withConverter:function(e){return pu(du({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var V=pu(fu,{path:`/`});function mu(){return(0,F.jsx)(`div`,{className:`mylibcontainer`,children:(0,F.jsx)(`div`,{className:`mylib`,children:(0,F.jsx)(`a`,{target:`_blank`,href:`https://www.npmjs.com/package/fddevpay`,className:`linknpm`,children:`npm i fddevpay`})})})}function hu(){let e=V.get(`user`)||``;return console.log(e),(0,F.jsxs)(`section`,{className:`hero`,children:[(0,F.jsxs)(`h1`,{children:[`BUILD & TEST YOUR OWN `,(0,F.jsx)(`span`,{children:`FAKE PAYMENT SYSTEM`})]}),(0,F.jsx)(`p`,{children:`Create bank accounts, generate UPI IDs, and simulate real-time payments. Perfect for developers and learning fintech systems.`}),(0,F.jsx)(mu,{}),(0,F.jsx)(An,{to:`/login`,children:(0,F.jsx)(`button`,{className:`cta`,children:`START SETUP 🚀`})})]})}function gu(){let e=lt();return(0,F.jsxs)(`div`,{className:`root`,children:[(0,F.jsx)(uu,{}),(0,F.jsx)(hu,{}),(0,F.jsxs)(`div`,{className:`home`,children:[(0,F.jsxs)(`section`,{className:`notice`,children:[(0,F.jsx)(`h2`,{children:`🚀 use Dashboard on Localhost`}),(0,F.jsxs)(`p`,{children:[`Install the npm package on your local system and run command `,(0,F.jsx)(`strong`,{children:`fdpaydashboard`}),` and they run on your local ip.`]})]}),(0,F.jsxs)(`section`,{className:`notice`,children:[(0,F.jsx)(`h2`,{children:`⚠️ Demo / Testing Platform`}),(0,F.jsxs)(`p`,{children:[`This is a `,(0,F.jsx)(`strong`,{children:`fake payment system`}),` built for developers to test and integrate payment workflows in their own projects.`]}),(0,F.jsxs)(`p`,{children:[`🚫 No real money transactions happen here. `,(0,F.jsx)(`br`,{}),`💡 It provides a `,(0,F.jsx)(`strong`,{children:`free fake payment API`}),` for learning, testing, and development purposes only.`]}),(0,F.jsx)(`p`,{className:`highlight`,children:`Use this system to simulate UPI, wallet balance, and transactions safely.`})]}),(0,F.jsxs)(`section`,{className:`features`,children:[(0,F.jsx)(`h2`,{children:`🚀 Powerful Features`}),(0,F.jsxs)(`div`,{className:`grid`,children:[(0,F.jsx)(`div`,{className:`card`,children:`🔐 Secure Bank Account`}),(0,F.jsx)(`div`,{className:`card`,children:`💳 UPI Generator`}),(0,F.jsx)(`div`,{className:`card`,children:`💸 Instant Payments`}),(0,F.jsx)(`div`,{className:`card`,children:`📊 Transactions`}),(0,F.jsx)(`div`,{className:`card`,children:`💰 Wallet Balance`}),(0,F.jsx)(`div`,{className:`card`,children:`🔑 Developer APIs`})]})]}),(0,F.jsxs)(`section`,{className:`how`,children:[(0,F.jsx)(`h2`,{children:`⚡ How It Works`}),(0,F.jsxs)(`div`,{className:`steps`,children:[(0,F.jsx)(`div`,{className:`step`,children:`1️⃣ Create Account`}),(0,F.jsx)(`div`,{className:`step`,children:`2️⃣ Generate UPI`}),(0,F.jsx)(`div`,{className:`step`,children:`3️⃣ Add Balance`}),(0,F.jsx)(`div`,{className:`step`,children:`4️⃣ Send Payment`}),(0,F.jsx)(`div`,{className:`step`,children:`5️⃣ Track History`}),(0,F.jsx)(`div`,{className:`step`,children:`6️⃣ Use API`})]})]}),(0,F.jsxs)(`section`,{className:`developer`,children:[(0,F.jsx)(`h2`,{children:`💻 Developer APIs`}),(0,F.jsx)(`p`,{children:`Integrate payments into your app with simple API keys.`}),(0,F.jsxs)(`ul`,{children:[(0,F.jsx)(`li`,{children:`✔ Fetch Accounts`}),(0,F.jsx)(`li`,{children:`✔ Generate UPI`}),(0,F.jsx)(`li`,{children:`✔ Send Payments`}),(0,F.jsx)(`li`,{children:`✔ View Transactions`})]})]}),(0,F.jsxs)(`section`,{className:`cta-section`,children:[(0,F.jsx)(`h2`,{children:`Start Building Your Payment System 🚀`}),(0,F.jsx)(`button`,{onClick:()=>e(`/signup`),children:`Get Started`})]}),(0,F.jsxs)(`footer`,{className:`footer`,children:[(0,F.jsx)(`p`,{children:`© 2026 fdpay • Demo Payment System`}),(0,F.jsx)(`p`,{children:(0,F.jsx)(`a`,{style:{color:`white`},href:`mailto:rangamapp@gmail.com`,children:`rangamapp@gmail.com`})})]})]})]})}function _u({title:e,onClick:t}){return(0,F.jsx)(`button`,{id:`ThemecommonButton`,onClick:t,children:e})}function vu({label:e,value:t,onChangeText:n,width:r,onEnter:i}){return(0,F.jsxs)(`div`,{className:`themeinputcontainer`,style:{width:r},children:[(0,F.jsx)(`p`,{children:e}),(0,F.jsx)(`input`,{type:`text`,value:t,onChange:e=>n?.(e.target.value),onKeyDown:e=>{e.key===`Enter`&&i?.()},id:`ThemeInput`})]})}function yu(e){return(0,F.jsx)(`div`,{className:`authrootl`,children:(0,F.jsxs)(`div`,{className:`authcontainer`,children:[(0,F.jsx)(`div`,{className:`authheading`,children:(0,F.jsx)(`p`,{children:e.heading})}),e.children]})})}var bu=()=>void 0,xu=function(e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=i&63|128):(i&64512)==55296&&r+1<e.length&&(e.charCodeAt(r+1)&64512)==56320?(i=65536+((i&1023)<<10)+(e.charCodeAt(++r)&1023),t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=i&63|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=i&63|128)}return t},Su=function(e){let t=[],n=0,r=0;for(;n<e.length;){let i=e[n++];if(i<128)t[r++]=String.fromCharCode(i);else if(i>191&&i<224){let a=e[n++];t[r++]=String.fromCharCode((i&31)<<6|a&63)}else if(i>239&&i<365){let a=e[n++],o=e[n++],s=e[n++],c=((i&7)<<18|(a&63)<<12|(o&63)<<6|s&63)-65536;t[r++]=String.fromCharCode(55296+(c>>10)),t[r++]=String.fromCharCode(56320+(c&1023))}else{let a=e[n++],o=e[n++];t[r++]=String.fromCharCode((i&15)<<12|(a&63)<<6|o&63)}}return t.join(``)},Cu={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`,get ENCODED_VALS(){return this.ENCODED_VALS_BASE+`+/=`},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+`-_.`},HAS_NATIVE_SUPPORT:typeof atob==`function`,encodeByteArray(e,t){if(!Array.isArray(e))throw Error(`encodeByteArray takes an array as a parameter`);this.init_();let n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let t=0;t<e.length;t+=3){let i=e[t],a=t+1<e.length,o=a?e[t+1]:0,s=t+2<e.length,c=s?e[t+2]:0,l=i>>2,u=(i&3)<<4|o>>4,d=(o&15)<<2|c>>6,f=c&63;s||(f=64,a||(d=64)),r.push(n[l],n[u],n[d],n[f])}return r.join(``)},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(xu(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):Su(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let t=0;t<e.length;){let i=n[e.charAt(t++)],a=t<e.length?n[e.charAt(t)]:0;++t;let o=t<e.length?n[e.charAt(t)]:64;++t;let s=t<e.length?n[e.charAt(t)]:64;if(++t,i==null||a==null||o==null||s==null)throw new wu;let c=i<<2|a>>4;if(r.push(c),o!==64){let e=a<<4&240|o>>2;if(r.push(e),s!==64){let e=o<<6&192|s;r.push(e)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e,e>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},wu=class extends Error{constructor(){super(...arguments),this.name=`DecodeBase64StringError`}},Tu=function(e){let t=xu(e);return Cu.encodeByteArray(t,!0)},Eu=function(e){return Tu(e).replace(/\./g,``)},Du=function(e){try{return Cu.decodeString(e,!0)}catch(e){console.error(`base64Decode failed: `,e)}return null};function Ou(){if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`Unable to locate global object.`)}var ku=()=>Ou().__FIREBASE_DEFAULTS__,Au=()=>{if(typeof process>`u`)return;let e={}.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)},ju=()=>{if(typeof document>`u`)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}let t=e&&Du(e[1]);return t&&JSON.parse(t)},Mu=()=>{try{return bu()||ku()||Au()||ju()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},Nu=e=>Mu()?.emulatorHosts?.[e],Pu=e=>{let t=Nu(e);if(!t)return;let n=t.lastIndexOf(`:`);if(n<=0||n+1===t.length)throw Error(`Invalid host ${t} with no separate hostname and port!`);let r=parseInt(t.substring(n+1),10);return t[0]===`[`?[t.substring(1,n-1),r]:[t.substring(0,n),r]},Fu=()=>Mu()?.config,Iu=e=>Mu()?.[`_${e}`],Lu=class{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,n)=>{t?this.reject(t):this.resolve(n),typeof e==`function`&&(this.promise.catch(()=>{}),e.length===1?e(t):e(t,n))}}};function Ru(e,t){if(e.uid)throw Error(`The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.`);let n={alg:`none`,type:`JWT`},r=t||`demo-project`,i=e.iat||0,a=e.sub||e.user_id;if(!a)throw Error(`mockUserToken must contain 'sub' or 'user_id' field!`);let o={iss:`https://securetoken.google.com/${r}`,aud:r,iat:i,exp:i+3600,auth_time:i,sub:a,user_id:a,firebase:{sign_in_provider:`custom`,identities:{}},...e};return[Eu(JSON.stringify(n)),Eu(JSON.stringify(o)),``].join(`.`)}function zu(){return typeof navigator<`u`&&typeof navigator.userAgent==`string`?navigator.userAgent:``}function Bu(){return typeof window<`u`&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(zu())}function Vu(){let e=Mu()?.forceEnvironment;if(e===`node`)return!0;if(e===`browser`)return!1;try{return Object.prototype.toString.call(global.process)===`[object process]`}catch{return!1}}function Hu(){return typeof navigator<`u`&&navigator.userAgent===`Cloudflare-Workers`}function Uu(){let e=typeof chrome==`object`?chrome.runtime:typeof browser==`object`?browser.runtime:void 0;return typeof e==`object`&&e.id!==void 0}function Wu(){return typeof navigator==`object`&&navigator.product===`ReactNative`}function Gu(){let e=zu();return e.indexOf(`MSIE `)>=0||e.indexOf(`Trident/`)>=0}function Ku(){return!Vu()&&!!navigator.userAgent&&navigator.userAgent.includes(`Safari`)&&!navigator.userAgent.includes(`Chrome`)}function qu(){try{return typeof indexedDB==`object`}catch{return!1}}function Ju(){return new Promise((e,t)=>{try{let n=!0,r=`validate-browser-context-for-indexeddb-analytics-module`,i=self.indexedDB.open(r);i.onsuccess=()=>{i.result.close(),n||self.indexedDB.deleteDatabase(r),e(!0)},i.onupgradeneeded=()=>{n=!1},i.onerror=()=>{t(i.error?.message||``)}}catch(e){t(e)}})}var Yu=`FirebaseError`,Xu=class e extends Error{constructor(t,n,r){super(n),this.code=t,this.customData=r,this.name=Yu,Object.setPrototypeOf(this,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,Zu.prototype.create)}},Zu=class{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){let n=t[0]||{},r=`${this.service}/${e}`,i=this.errors[e],a=i?Qu(i,n):`Error`;return new Xu(r,`${this.serviceName}: ${a} (${r}).`,n)}};function Qu(e,t){return e.replace($u,(e,n)=>{let r=t[n];return r==null?`<${n}?>`:String(r)})}var $u=/\{\$([^}]+)}/g;function ed(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function td(e,t){if(e===t)return!0;let n=Object.keys(e),r=Object.keys(t);for(let i of n){if(!r.includes(i))return!1;let n=e[i],a=t[i];if(nd(n)&&nd(a)){if(!td(n,a))return!1}else if(n!==a)return!1}for(let e of r)if(!n.includes(e))return!1;return!0}function nd(e){return typeof e==`object`&&!!e}function rd(e){let t=[];for(let[n,r]of Object.entries(e))Array.isArray(r)?r.forEach(e=>{t.push(encodeURIComponent(n)+`=`+encodeURIComponent(e))}):t.push(encodeURIComponent(n)+`=`+encodeURIComponent(r));return t.length?`&`+t.join(`&`):``}function id(e){let t={};return e.replace(/^\?/,``).split(`&`).forEach(e=>{if(e){let[n,r]=e.split(`=`);t[decodeURIComponent(n)]=decodeURIComponent(r)}}),t}function ad(e){let t=e.indexOf(`?`);if(!t)return``;let n=e.indexOf(`#`,t);return e.substring(t,n>0?n:void 0)}function od(e,t){let n=new sd(e,t);return n.subscribe.bind(n)}var sd=class{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,n){let r;if(e===void 0&&t===void 0&&n===void 0)throw Error(`Missing Observer.`);r=cd(e,[`next`,`error`,`complete`])?e:{next:e,error:t,complete:n},r.next===void 0&&(r.next=ld),r.error===void 0&&(r.error=ld),r.complete===void 0&&(r.complete=ld);let i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?r.error(this.finalError):r.complete()}catch{}}),this.observers.push(r),i}unsubscribeOne(e){this.observers===void 0||this.observers[e]===void 0||(delete this.observers[e],--this.observerCount,this.observerCount===0&&this.onNoObservers!==void 0&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then(()=>{if(this.observers!==void 0&&this.observers[e]!==void 0)try{t(this.observers[e])}catch(e){typeof console<`u`&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,e!==void 0&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}};function cd(e,t){if(typeof e!=`object`||!e)return!1;for(let n of t)if(n in e&&typeof e[n]==`function`)return!0;return!1}function ld(){}function ud(e){return e&&e._delegate?e._delegate:e}function dd(e){try{return(e.startsWith(`http://`)||e.startsWith(`https://`)?new URL(e).hostname:e).endsWith(`.cloudworkstations.dev`)}catch{return!1}}async function fd(e){return(await fetch(e,{credentials:`include`})).ok}var pd=class{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode=`LAZY`,this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}},md=`[DEFAULT]`,hd=class{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let e=new Lu;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){let t=this.normalizeInstanceIdentifier(e?.identifier),n=e?.optional??!1;if(this.isInitialized(t)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(n)return null;throw e}else if(n)return null;else throw Error(`Service ${this.name} is not available`)}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_d(e))try{this.getOrInitializeService({instanceIdentifier:md})}catch{}for(let[e,t]of this.instancesDeferred.entries()){let n=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:n});t.resolve(e)}catch{}}}}clearInstance(e=md){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>`INTERNAL`in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>`_delete`in e).map(e=>e._delete())])}isComponentSet(){return this.component!=null}isInitialized(e=md){return this.instances.has(e)}getOptions(e=md){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,n=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(n))throw Error(`${this.name}(${n}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let r=this.getOrInitializeService({instanceIdentifier:n,options:t});for(let[e,t]of this.instancesDeferred.entries())n===this.normalizeInstanceIdentifier(e)&&t.resolve(r);return r}onInit(e,t){let n=this.normalizeInstanceIdentifier(t),r=this.onInitCallbacks.get(n)??new Set;r.add(e),this.onInitCallbacks.set(n,r);let i=this.instances.get(n);return i&&e(i,n),()=>{r.delete(e)}}invokeOnInitCallbacks(e,t){let n=this.onInitCallbacks.get(t);if(n)for(let r of n)try{r(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let n=this.instances.get(e);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:gd(e),options:t}),this.instances.set(e,n),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(n,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,n)}catch{}return n||null}normalizeInstanceIdentifier(e=md){return this.component?this.component.multipleInstances?e:md:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!==`EXPLICIT`}};function gd(e){return e===md?void 0:e}function _d(e){return e.instantiationMode===`EAGER`}var vd=class{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);let t=new hd(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}},yd=[],H;(function(e){e[e.DEBUG=0]=`DEBUG`,e[e.VERBOSE=1]=`VERBOSE`,e[e.INFO=2]=`INFO`,e[e.WARN=3]=`WARN`,e[e.ERROR=4]=`ERROR`,e[e.SILENT=5]=`SILENT`})(H||={});var bd={debug:H.DEBUG,verbose:H.VERBOSE,info:H.INFO,warn:H.WARN,error:H.ERROR,silent:H.SILENT},xd=H.INFO,Sd={[H.DEBUG]:`log`,[H.VERBOSE]:`log`,[H.INFO]:`info`,[H.WARN]:`warn`,[H.ERROR]:`error`},Cd=(e,t,...n)=>{if(t<e.logLevel)return;let r=new Date().toISOString(),i=Sd[t];if(i)console[i](`[${r}] ${e.name}:`,...n);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)},wd=class{constructor(e){this.name=e,this._logLevel=xd,this._logHandler=Cd,this._userLogHandler=null,yd.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in H))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e==`string`?bd[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!=`function`)throw TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,H.DEBUG,...e),this._logHandler(this,H.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,H.VERBOSE,...e),this._logHandler(this,H.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,H.INFO,...e),this._logHandler(this,H.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,H.WARN,...e),this._logHandler(this,H.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,H.ERROR,...e),this._logHandler(this,H.ERROR,...e)}},Td=(e,t)=>t.some(t=>e instanceof t),Ed,Dd;function Od(){return Ed||=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function U(){return Dd||=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]}var kd=new WeakMap,Ad=new WeakMap,jd=new WeakMap,Md=new WeakMap,Nd=new WeakMap;function Pd(e){let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`success`,i),e.removeEventListener(`error`,a)},i=()=>{t(Bd(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(`success`,i),e.addEventListener(`error`,a)});return t.then(t=>{t instanceof IDBCursor&&kd.set(t,e)}).catch(()=>{}),Nd.set(t,e),t}function Fd(e){if(Ad.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`complete`,i),e.removeEventListener(`error`,a),e.removeEventListener(`abort`,a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException(`AbortError`,`AbortError`)),r()};e.addEventListener(`complete`,i),e.addEventListener(`error`,a),e.addEventListener(`abort`,a)});Ad.set(e,t)}var Id={get(e,t,n){if(e instanceof IDBTransaction){if(t===`done`)return Ad.get(e);if(t===`objectStoreNames`)return e.objectStoreNames||jd.get(e);if(t===`store`)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Bd(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t===`done`||t===`store`)?!0:t in e}};function Ld(e){Id=e(Id)}function Rd(e){return e===IDBDatabase.prototype.transaction&&!(`objectStoreNames`in IDBTransaction.prototype)?function(t,...n){let r=e.call(Vd(this),t,...n);return jd.set(r,t.sort?t.sort():[t]),Bd(r)}:U().includes(e)?function(...t){return e.apply(Vd(this),t),Bd(kd.get(this))}:function(...t){return Bd(e.apply(Vd(this),t))}}function zd(e){return typeof e==`function`?Rd(e):(e instanceof IDBTransaction&&Fd(e),Td(e,Od())?new Proxy(e,Id):e)}function Bd(e){if(e instanceof IDBRequest)return Pd(e);if(Md.has(e))return Md.get(e);let t=zd(e);return t!==e&&(Md.set(e,t),Nd.set(t,e)),t}var Vd=e=>Nd.get(e);function Hd(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){let o=indexedDB.open(e,t),s=Bd(o);return r&&o.addEventListener(`upgradeneeded`,e=>{r(Bd(o.result),e.oldVersion,e.newVersion,Bd(o.transaction),e)}),n&&o.addEventListener(`blocked`,e=>n(e.oldVersion,e.newVersion,e)),s.then(e=>{a&&e.addEventListener(`close`,()=>a()),i&&e.addEventListener(`versionchange`,e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),s}var Ud=[`get`,`getKey`,`getAll`,`getAllKeys`,`count`],Wd=[`put`,`add`,`delete`,`clear`],Gd=new Map;function Kd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t==`string`))return;if(Gd.get(t))return Gd.get(t);let n=t.replace(/FromIndex$/,``),r=t!==n,i=Wd.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||Ud.includes(n)))return;let a=async function(e,...t){let a=this.transaction(e,i?`readwrite`:`readonly`),o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return Gd.set(t,a),a}Ld(e=>({...e,get:(t,n,r)=>Kd(t,n)||e.get(t,n,r),has:(t,n)=>!!Kd(t,n)||e.has(t,n)}));var qd=class{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{if(Jd(e)){let t=e.getImmediate();return`${t.library}/${t.version}`}else return null}).filter(e=>e).join(` `)}};function Jd(e){return e.getComponent()?.type===`VERSION`}var Yd=`@firebase/app`,Xd=`0.14.10`,Zd=new wd(`@firebase/app`),Qd=`@firebase/app-compat`,$d=`@firebase/analytics-compat`,ef=`@firebase/analytics`,tf=`@firebase/app-check-compat`,nf=`@firebase/app-check`,rf=`@firebase/auth`,af=`@firebase/auth-compat`,of=`@firebase/database`,sf=`@firebase/data-connect`,cf=`@firebase/database-compat`,lf=`@firebase/functions`,uf=`@firebase/functions-compat`,df=`@firebase/installations`,ff=`@firebase/installations-compat`,pf=`@firebase/messaging`,mf=`@firebase/messaging-compat`,hf=`@firebase/performance`,gf=`@firebase/performance-compat`,_f=`@firebase/remote-config`,vf=`@firebase/remote-config-compat`,yf=`@firebase/storage`,bf=`@firebase/storage-compat`,xf=`@firebase/firestore`,Sf=`@firebase/ai`,Cf=`@firebase/firestore-compat`,wf=`firebase`,Tf=`12.11.0`,Ef=`[DEFAULT]`,Df={[Yd]:`fire-core`,[Qd]:`fire-core-compat`,[ef]:`fire-analytics`,[$d]:`fire-analytics-compat`,[nf]:`fire-app-check`,[tf]:`fire-app-check-compat`,[rf]:`fire-auth`,[af]:`fire-auth-compat`,[of]:`fire-rtdb`,[sf]:`fire-data-connect`,[cf]:`fire-rtdb-compat`,[lf]:`fire-fn`,[uf]:`fire-fn-compat`,[df]:`fire-iid`,[ff]:`fire-iid-compat`,[pf]:`fire-fcm`,[mf]:`fire-fcm-compat`,[hf]:`fire-perf`,[gf]:`fire-perf-compat`,[_f]:`fire-rc`,[vf]:`fire-rc-compat`,[yf]:`fire-gcs`,[bf]:`fire-gcs-compat`,[xf]:`fire-fst`,[Cf]:`fire-fst-compat`,[Sf]:`fire-vertex`,"fire-js":`fire-js`,[wf]:`fire-js-all`},Of=new Map,kf=new Map,Af=new Map;function jf(e,t){try{e.container.addComponent(t)}catch(n){Zd.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function Mf(e){let t=e.name;if(Af.has(t))return Zd.debug(`There were multiple attempts to register component ${t}.`),!1;Af.set(t,e);for(let t of Of.values())jf(t,e);for(let t of kf.values())jf(t,e);return!0}function Nf(e,t){let n=e.container.getProvider(`heartbeat`).getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}function Pf(e){return e==null?!1:e.settings!==void 0}var Ff=new Zu(`app`,`Firebase`,{"no-app":`No Firebase App '{$appName}' has been created - call initializeApp() first`,"bad-app-name":`Illegal App name: '{$appName}'`,"duplicate-app":`Firebase App named '{$appName}' already exists with different options or config`,"app-deleted":`Firebase App named '{$appName}' already deleted`,"server-app-deleted":`Firebase Server App has been deleted`,"no-options":`Need to provide options, when not being deployed to hosting via source.`,"invalid-app-argument":`firebase.{$appName}() takes either no argument or a Firebase App instance.`,"invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":`Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.`,"idb-get":`Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.`,"idb-set":`Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.`,"idb-delete":`Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.`,"finalization-registry-not-supported":`FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.`,"invalid-server-app-environment":`FirebaseServerApp is not for use in browser environments.`}),If=class{constructor(e,t,n){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new pd(`app`,()=>this,`PUBLIC`))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw Ff.create(`app-deleted`,{appName:this._name})}},Lf=Tf;function Rf(e,t={}){let n=e;typeof t!=`object`&&(t={name:t});let r={name:Ef,automaticDataCollectionEnabled:!0,...t},i=r.name;if(typeof i!=`string`||!i)throw Ff.create(`bad-app-name`,{appName:String(i)});if(n||=Fu(),!n)throw Ff.create(`no-options`);let a=Of.get(i);if(a){if(td(n,a.options)&&td(r,a.config))return a;throw Ff.create(`duplicate-app`,{appName:i})}let o=new vd(i);for(let e of Af.values())o.addComponent(e);let s=new If(n,r,o);return Of.set(i,s),s}function zf(e=Ef){let t=Of.get(e);if(!t&&e===`[DEFAULT]`&&Fu())return Rf();if(!t)throw Ff.create(`no-app`,{appName:e});return t}function Bf(e,t,n){let r=Df[e]??e;n&&(r+=`-${n}`);let i=r.match(/\s|\//),a=t.match(/\s|\//);if(i||a){let e=[`Unable to register library "${r}" with version "${t}":`];i&&e.push(`library name "${r}" contains illegal characters (whitespace or "/")`),i&&a&&e.push(`and`),a&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),Zd.warn(e.join(` `));return}Mf(new pd(`${r}-version`,()=>({library:r,version:t}),`VERSION`))}var Vf=`firebase-heartbeat-database`,Hf=1,Uf=`firebase-heartbeat-store`,Wf=null;function Gf(){return Wf||=Hd(Vf,Hf,{upgrade:(e,t)=>{switch(t){case 0:try{e.createObjectStore(Uf)}catch(e){console.warn(e)}}}}).catch(e=>{throw Ff.create(`idb-open`,{originalErrorMessage:e.message})}),Wf}async function Kf(e){try{let t=(await Gf()).transaction(Uf),n=await t.objectStore(Uf).get(Jf(e));return await t.done,n}catch(e){if(e instanceof Xu)Zd.warn(e.message);else{let t=Ff.create(`idb-get`,{originalErrorMessage:e?.message});Zd.warn(t.message)}}}async function qf(e,t){try{let n=(await Gf()).transaction(Uf,`readwrite`);await n.objectStore(Uf).put(t,Jf(e)),await n.done}catch(e){if(e instanceof Xu)Zd.warn(e.message);else{let t=Ff.create(`idb-set`,{originalErrorMessage:e?.message});Zd.warn(t.message)}}}function Jf(e){return`${e.name}!${e.options.appId}`}var Yf=1024,Xf=30,Zf=class{constructor(e){this.container=e,this._heartbeatsCache=null,this._storage=new ep(this.container.getProvider(`app`).getImmediate()),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{let e=this.container.getProvider(`platform-logger`).getImmediate().getPlatformInfoString(),t=Qf();if(this._heartbeatsCache?.heartbeats==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)||this._heartbeatsCache.lastSentHeartbeatDate===t||this._heartbeatsCache.heartbeats.some(e=>e.date===t))return;if(this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats.length>Xf){let e=np(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){Zd.warn(e)}}async getHeartbeatsHeader(){try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||this._heartbeatsCache.heartbeats.length===0)return``;let e=Qf(),{heartbeatsToSend:t,unsentEntries:n}=$f(this._heartbeatsCache.heartbeats),r=Eu(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),r}catch(e){return Zd.warn(e),``}}};function Qf(){return new Date().toISOString().substring(0,10)}function $f(e,t=Yf){let n=[],r=e.slice();for(let i of e){let e=n.find(e=>e.agent===i.agent);if(!e){if(n.push({agent:i.agent,dates:[i.date]}),tp(n)>t){n.pop();break}}else if(e.dates.push(i.date),tp(n)>t){e.dates.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}var ep=class{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return qu()?Ju().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){let e=await Kf(this.app);return e?.heartbeats?e:{heartbeats:[]}}else return{heartbeats:[]}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return qf(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}else return}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return qf(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}else return}};function tp(e){return Eu(JSON.stringify({version:2,heartbeats:e})).length}function np(e){if(e.length===0)return-1;let t=0,n=e[0].date;for(let r=1;r<e.length;r++)e[r].date<n&&(n=e[r].date,t=r);return t}function rp(e){Mf(new pd(`platform-logger`,e=>new qd(e),`PRIVATE`)),Mf(new pd(`heartbeat`,e=>new Zf(e),`PRIVATE`)),Bf(Yd,Xd,e),Bf(Yd,Xd,`esm2020`),Bf(`fire-js`,``)}rp(``),Bf(`firebase`,`12.11.0`,`app`);function ip(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}var ap=ip,op=new Zu(`auth`,`Firebase`,ip()),sp=new wd(`@firebase/auth`);function cp(e,...t){sp.logLevel<=H.WARN&&sp.warn(`Auth (${Lf}): ${e}`,...t)}function lp(e,...t){sp.logLevel<=H.ERROR&&sp.error(`Auth (${Lf}): ${e}`,...t)}function up(e,...t){throw mp(e,...t)}function dp(e,...t){return mp(e,...t)}function fp(e,t,n){return new Zu(`auth`,`Firebase`,{...ap(),[t]:n}).create(t,{appName:e.name})}function pp(e){return fp(e,`operation-not-supported-in-this-environment`,`Operations that alter the current user are not supported in conjunction with FirebaseServerApp`)}function mp(e,...t){if(typeof e!=`string`){let n=t[0],r=[...t.slice(1)];return r[0]&&(r[0].appName=e.name),e._errorFactory.create(n,...r)}return op.create(e,...t)}function W(e,t,...n){if(!e)throw mp(t,...n)}function hp(e){let t=`INTERNAL ASSERTION FAILED: `+e;throw lp(t),Error(t)}function gp(e,t){e||hp(t)}function _p(){return typeof self<`u`&&self.location?.href||``}function vp(){return yp()===`http:`||yp()===`https:`}function yp(){return typeof self<`u`&&self.location?.protocol||null}function bp(){return typeof navigator<`u`&&navigator&&`onLine`in navigator&&typeof navigator.onLine==`boolean`&&(vp()||Uu()||`connection`in navigator)?navigator.onLine:!0}function xp(){if(typeof navigator>`u`)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}var Sp=class{constructor(e,t){this.shortDelay=e,this.longDelay=t,gp(t>e,`Short delay should be less than long delay!`),this.isMobile=Bu()||Wu()}get(){return bp()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}};function Cp(e,t){gp(e.emulator,`Emulator should always be set here`);let{url:n}=e.emulator;return t?`${n}${t.startsWith(`/`)?t.slice(1):t}`:n}var wp=class{static initialize(e,t,n){this.fetchImpl=e,t&&(this.headersImpl=t),n&&(this.responseImpl=n)}static fetch(){if(this.fetchImpl)return this.fetchImpl;if(typeof self<`u`&&`fetch`in self)return self.fetch;if(typeof globalThis<`u`&&globalThis.fetch)return globalThis.fetch;if(typeof fetch<`u`)return fetch;hp(`Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static headers(){if(this.headersImpl)return this.headersImpl;if(typeof self<`u`&&`Headers`in self)return self.Headers;if(typeof globalThis<`u`&&globalThis.Headers)return globalThis.Headers;if(typeof Headers<`u`)return Headers;hp(`Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static response(){if(this.responseImpl)return this.responseImpl;if(typeof self<`u`&&`Response`in self)return self.Response;if(typeof globalThis<`u`&&globalThis.Response)return globalThis.Response;if(typeof Response<`u`)return Response;hp(`Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}},Tp={CREDENTIAL_MISMATCH:`custom-token-mismatch`,MISSING_CUSTOM_TOKEN:`internal-error`,INVALID_IDENTIFIER:`invalid-email`,MISSING_CONTINUE_URI:`internal-error`,INVALID_PASSWORD:`wrong-password`,MISSING_PASSWORD:`missing-password`,INVALID_LOGIN_CREDENTIALS:`invalid-credential`,EMAIL_EXISTS:`email-already-in-use`,PASSWORD_LOGIN_DISABLED:`operation-not-allowed`,INVALID_IDP_RESPONSE:`invalid-credential`,INVALID_PENDING_TOKEN:`invalid-credential`,FEDERATED_USER_ID_ALREADY_LINKED:`credential-already-in-use`,MISSING_REQ_TYPE:`internal-error`,EMAIL_NOT_FOUND:`user-not-found`,RESET_PASSWORD_EXCEED_LIMIT:`too-many-requests`,EXPIRED_OOB_CODE:`expired-action-code`,INVALID_OOB_CODE:`invalid-action-code`,MISSING_OOB_CODE:`internal-error`,CREDENTIAL_TOO_OLD_LOGIN_AGAIN:`requires-recent-login`,INVALID_ID_TOKEN:`invalid-user-token`,TOKEN_EXPIRED:`user-token-expired`,USER_NOT_FOUND:`user-token-expired`,TOO_MANY_ATTEMPTS_TRY_LATER:`too-many-requests`,PASSWORD_DOES_NOT_MEET_REQUIREMENTS:`password-does-not-meet-requirements`,INVALID_CODE:`invalid-verification-code`,INVALID_SESSION_INFO:`invalid-verification-id`,INVALID_TEMPORARY_PROOF:`invalid-credential`,MISSING_SESSION_INFO:`missing-verification-id`,SESSION_EXPIRED:`code-expired`,MISSING_ANDROID_PACKAGE_NAME:`missing-android-pkg-name`,UNAUTHORIZED_DOMAIN:`unauthorized-continue-uri`,INVALID_OAUTH_CLIENT_ID:`invalid-oauth-client-id`,ADMIN_ONLY_OPERATION:`admin-restricted-operation`,INVALID_MFA_PENDING_CREDENTIAL:`invalid-multi-factor-session`,MFA_ENROLLMENT_NOT_FOUND:`multi-factor-info-not-found`,MISSING_MFA_ENROLLMENT_ID:`missing-multi-factor-info`,MISSING_MFA_PENDING_CREDENTIAL:`missing-multi-factor-session`,SECOND_FACTOR_EXISTS:`second-factor-already-in-use`,SECOND_FACTOR_LIMIT_EXCEEDED:`maximum-second-factor-count-exceeded`,BLOCKING_FUNCTION_ERROR_RESPONSE:`internal-error`,RECAPTCHA_NOT_ENABLED:`recaptcha-not-enabled`,MISSING_RECAPTCHA_TOKEN:`missing-recaptcha-token`,INVALID_RECAPTCHA_TOKEN:`invalid-recaptcha-token`,INVALID_RECAPTCHA_ACTION:`invalid-recaptcha-action`,MISSING_CLIENT_TYPE:`missing-client-type`,MISSING_RECAPTCHA_VERSION:`missing-recaptcha-version`,INVALID_RECAPTCHA_VERSION:`invalid-recaptcha-version`,INVALID_REQ_TYPE:`invalid-req-type`},Ep=[`/v1/accounts:signInWithCustomToken`,`/v1/accounts:signInWithEmailLink`,`/v1/accounts:signInWithIdp`,`/v1/accounts:signInWithPassword`,`/v1/accounts:signInWithPhoneNumber`,`/v1/token`],Dp=new Sp(3e4,6e4);function Op(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function kp(e,t,n,r,i={}){return Ap(e,i,async()=>{let i={},a={};r&&(t===`GET`?a=r:i={body:JSON.stringify(r)});let o=rd({key:e.config.apiKey,...a}).slice(1),s=await e._getAdditionalHeaders();s[`Content-Type`]=`application/json`,e.languageCode&&(s[`X-Firebase-Locale`]=e.languageCode);let c={method:t,headers:s,...i};return Hu()||(c.referrerPolicy=`no-referrer`),e.emulatorConfig&&dd(e.emulatorConfig.host)&&(c.credentials=`include`),wp.fetch()(await Mp(e,e.config.apiHost,n,o),c)})}async function Ap(e,t,n){e._canInitEmulator=!1;let r={...Tp,...t};try{let t=new Pp(e),i=await Promise.race([n(),t.promise]);t.clearNetworkTimeout();let a=await i.json();if(`needConfirmation`in a)throw Fp(e,`account-exists-with-different-credential`,a);if(i.ok&&!(`errorMessage`in a))return a;{let[t,n]=(i.ok?a.errorMessage:a.error.message).split(` : `);if(t===`FEDERATED_USER_ID_ALREADY_LINKED`)throw Fp(e,`credential-already-in-use`,a);if(t===`EMAIL_EXISTS`)throw Fp(e,`email-already-in-use`,a);if(t===`USER_DISABLED`)throw Fp(e,`user-disabled`,a);let o=r[t]||t.toLowerCase().replace(/[_\s]+/g,`-`);if(n)throw fp(e,o,n);up(e,o)}}catch(t){if(t instanceof Xu)throw t;up(e,`network-request-failed`,{message:String(t)})}}async function jp(e,t,n,r,i={}){let a=await kp(e,t,n,r,i);return`mfaPendingCredential`in a&&up(e,`multi-factor-auth-required`,{_serverResponse:a}),a}async function Mp(e,t,n,r){let i=`${t}${n}?${r}`,a=e,o=a.config.emulator?Cp(e.config,i):`${e.config.apiScheme}://${i}`;return Ep.includes(n)&&(await a._persistenceManagerAvailable,a._getPersistenceType()===`COOKIE`)?a._getPersistence()._getFinalTarget(o).toString():o}function Np(e){switch(e){case`ENFORCE`:return`ENFORCE`;case`AUDIT`:return`AUDIT`;case`OFF`:return`OFF`;default:return`ENFORCEMENT_STATE_UNSPECIFIED`}}var Pp=class{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(dp(this.auth,`network-request-failed`)),Dp.get())})}};function Fp(e,t,n){let r={appName:e.name};n.email&&(r.email=n.email),n.phoneNumber&&(r.phoneNumber=n.phoneNumber);let i=dp(e,t,r);return i.customData._tokenResponse=n,i}function Ip(e){return e!==void 0&&e.enterprise!==void 0}var Lp=class{constructor(e){if(this.siteKey=``,this.recaptchaEnforcementState=[],e.recaptchaKey===void 0)throw Error(`recaptchaKey undefined`);this.siteKey=e.recaptchaKey.split(`/`)[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||this.recaptchaEnforcementState.length===0)return null;for(let t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return Np(t.enforcementState);return null}isProviderEnabled(e){return this.getProviderEnforcementState(e)===`ENFORCE`||this.getProviderEnforcementState(e)===`AUDIT`}isAnyProviderEnabled(){return this.isProviderEnabled(`EMAIL_PASSWORD_PROVIDER`)||this.isProviderEnabled(`PHONE_PROVIDER`)}};async function Rp(e,t){return kp(e,`GET`,`/v2/recaptchaConfig`,Op(e,t))}async function zp(e,t){return kp(e,`POST`,`/v1/accounts:delete`,t)}async function Bp(e,t){return kp(e,`POST`,`/v1/accounts:lookup`,t)}function Vp(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch{}}async function Hp(e,t=!1){let n=ud(e),r=await n.getIdToken(t),i=Wp(r);W(i&&i.exp&&i.auth_time&&i.iat,n.auth,`internal-error`);let a=typeof i.firebase==`object`?i.firebase:void 0,o=a?.sign_in_provider;return{claims:i,token:r,authTime:Vp(Up(i.auth_time)),issuedAtTime:Vp(Up(i.iat)),expirationTime:Vp(Up(i.exp)),signInProvider:o||null,signInSecondFactor:a?.sign_in_second_factor||null}}function Up(e){return Number(e)*1e3}function Wp(e){let[t,n,r]=e.split(`.`);if(t===void 0||n===void 0||r===void 0)return lp(`JWT malformed, contained fewer than 3 sections`),null;try{let e=Du(n);return e?JSON.parse(e):(lp(`Failed to decode base64 JWT payload`),null)}catch(e){return lp(`Caught error parsing JWT payload as JSON`,e?.toString()),null}}function Gp(e){let t=Wp(e);return W(t,`internal-error`),W(t.exp!==void 0,`internal-error`),W(t.iat!==void 0,`internal-error`),Number(t.exp)-Number(t.iat)}async function Kp(e,t,n=!1){if(n)return t;try{return await t}catch(t){throw t instanceof Xu&&qp(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}function qp({code:e}){return e===`auth/user-disabled`||e===`auth/user-token-expired`}var Jp=class{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,this.timerId!==null&&clearTimeout(this.timerId))}getInterval(e){if(e){let e=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),e}else{this.errorBackoff=3e4;let e=(this.user.stsTokenManager.expirationTime??0)-Date.now()-3e5;return Math.max(0,e)}}schedule(e=!1){if(!this.isRunning)return;let t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){e?.code===`auth/network-request-failed`&&this.schedule(!0);return}this.schedule()}},Yp=class{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=Vp(this.lastLoginAt),this.creationTime=Vp(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}};async function Xp(e){let t=e.auth,n=await Kp(e,Bp(t,{idToken:await e.getIdToken()}));W(n?.users.length,t,`internal-error`);let r=n.users[0];e._notifyReloadListener(r);let i=r.providerUserInfo?.length?$p(r.providerUserInfo):[],a=Qp(e.providerData,i),o=e.isAnonymous,s=!(e.email&&r.passwordHash)&&!a?.length,c=o?s:!1,l={uid:r.localId,displayName:r.displayName||null,photoURL:r.photoUrl||null,email:r.email||null,emailVerified:r.emailVerified||!1,phoneNumber:r.phoneNumber||null,tenantId:r.tenantId||null,providerData:a,metadata:new Yp(r.createdAt,r.lastLoginAt),isAnonymous:c};Object.assign(e,l)}async function Zp(e){let t=ud(e);await Xp(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function Qp(e,t){return[...e.filter(e=>!t.some(t=>t.providerId===e.providerId)),...t]}function $p(e){return e.map(({providerId:e,...t})=>({providerId:e,uid:t.rawId||``,displayName:t.displayName||null,email:t.email||null,phoneNumber:t.phoneNumber||null,photoURL:t.photoUrl||null}))}async function em(e,t){let n=await Ap(e,{},async()=>{let n=rd({grant_type:`refresh_token`,refresh_token:t}).slice(1),{tokenApiHost:r,apiKey:i}=e.config,a=await Mp(e,r,`/v1/token`,`key=${i}`),o=await e._getAdditionalHeaders();o[`Content-Type`]=`application/x-www-form-urlencoded`;let s={method:`POST`,headers:o,body:n};return e.emulatorConfig&&dd(e.emulatorConfig.host)&&(s.credentials=`include`),wp.fetch()(a,s)});return{accessToken:n.access_token,expiresIn:n.expires_in,refreshToken:n.refresh_token}}async function tm(e,t){return kp(e,`POST`,`/v2/accounts:revokeToken`,Op(e,t))}var nm=class e{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){W(e.idToken,`internal-error`),W(e.idToken!==void 0,`internal-error`),W(e.refreshToken!==void 0,`internal-error`);let t=`expiresIn`in e&&e.expiresIn!==void 0?Number(e.expiresIn):Gp(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){W(e.length!==0,`internal-error`);let t=Gp(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:(W(this.refreshToken,e,`user-token-expired`),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null)}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:n,refreshToken:r,expiresIn:i}=await em(e,t);this.updateTokensAndExpiration(n,r,Number(i))}updateTokensAndExpiration(e,t,n){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+n*1e3}static fromJSON(t,n){let{refreshToken:r,accessToken:i,expirationTime:a}=n,o=new e;return r&&(W(typeof r==`string`,`internal-error`,{appName:t}),o.refreshToken=r),i&&(W(typeof i==`string`,`internal-error`,{appName:t}),o.accessToken=i),a&&(W(typeof a==`number`,`internal-error`,{appName:t}),o.expirationTime=a),o}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new e,this.toJSON())}_performRefresh(){return hp(`not implemented`)}};function rm(e,t){W(typeof e==`string`||e===void 0,`internal-error`,{appName:t})}var im=class e{constructor({uid:e,auth:t,stsTokenManager:n,...r}){this.providerId=`firebase`,this.proactiveRefresh=new Jp(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=e,this.auth=t,this.stsTokenManager=n,this.accessToken=n.accessToken,this.displayName=r.displayName||null,this.email=r.email||null,this.emailVerified=r.emailVerified||!1,this.phoneNumber=r.phoneNumber||null,this.photoURL=r.photoURL||null,this.isAnonymous=r.isAnonymous||!1,this.tenantId=r.tenantId||null,this.providerData=r.providerData?[...r.providerData]:[],this.metadata=new Yp(r.createdAt||void 0,r.lastLoginAt||void 0)}async getIdToken(e){let t=await Kp(this,this.stsTokenManager.getToken(this.auth,e));return W(t,this.auth,`internal-error`),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return Hp(this,e)}reload(){return Zp(this)}_assign(e){this!==e&&(W(this.uid===e.uid,this.auth,`internal-error`),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>({...e})),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(t){let n=new e({...this,auth:t,stsTokenManager:this.stsTokenManager._clone()});return n.metadata._copy(this.metadata),n}_onReload(e){W(!this.reloadListener,this.auth,`internal-error`),this.reloadListener=e,this.reloadUserInfo&&=(this._notifyReloadListener(this.reloadUserInfo),null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let n=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),n=!0),t&&await Xp(this),await this.auth._persistUserIfCurrent(this),n&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(Pf(this.auth.app))return Promise.reject(pp(this.auth));let e=await this.getIdToken();return await Kp(this,zp(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return{uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>({...e})),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId,...this.metadata.toJSON(),apiKey:this.auth.config.apiKey,appName:this.auth.name}}get refreshToken(){return this.stsTokenManager.refreshToken||``}static _fromJSON(t,n){let r=n.displayName??void 0,i=n.email??void 0,a=n.phoneNumber??void 0,o=n.photoURL??void 0,s=n.tenantId??void 0,c=n._redirectEventId??void 0,l=n.createdAt??void 0,u=n.lastLoginAt??void 0,{uid:d,emailVerified:f,isAnonymous:p,providerData:m,stsTokenManager:h}=n;W(d&&h,t,`internal-error`);let g=nm.fromJSON(this.name,h);W(typeof d==`string`,t,`internal-error`),rm(r,t.name),rm(i,t.name),W(typeof f==`boolean`,t,`internal-error`),W(typeof p==`boolean`,t,`internal-error`),rm(a,t.name),rm(o,t.name),rm(s,t.name),rm(c,t.name),rm(l,t.name),rm(u,t.name);let _=new e({uid:d,auth:t,email:i,emailVerified:f,displayName:r,isAnonymous:p,photoURL:o,phoneNumber:a,tenantId:s,stsTokenManager:g,createdAt:l,lastLoginAt:u});return m&&Array.isArray(m)&&(_.providerData=m.map(e=>({...e}))),c&&(_._redirectEventId=c),_}static async _fromIdTokenResponse(t,n,r=!1){let i=new nm;i.updateFromServerResponse(n);let a=new e({uid:n.localId,auth:t,stsTokenManager:i,isAnonymous:r});return await Xp(a),a}static async _fromGetAccountInfoResponse(t,n,r){let i=n.users[0];W(i.localId!==void 0,`internal-error`);let a=i.providerUserInfo===void 0?[]:$p(i.providerUserInfo),o=!(i.email&&i.passwordHash)&&!a?.length,s=new nm;s.updateFromIdToken(r);let c=new e({uid:i.localId,auth:t,stsTokenManager:s,isAnonymous:o}),l={uid:i.localId,displayName:i.displayName||null,photoURL:i.photoUrl||null,email:i.email||null,emailVerified:i.emailVerified||!1,phoneNumber:i.phoneNumber||null,tenantId:i.tenantId||null,providerData:a,metadata:new Yp(i.createdAt,i.lastLoginAt),isAnonymous:!(i.email&&i.passwordHash)&&!a?.length};return Object.assign(c,l),c}},am=new Map;function om(e){gp(e instanceof Function,`Expected a class definition`);let t=am.get(e);return t?(gp(t instanceof e,`Instance stored in cache mismatched with class`),t):(t=new e,am.set(e,t),t)}var sm=class{constructor(){this.type=`NONE`,this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){let t=this.storage[e];return t===void 0?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}};sm.type=`NONE`;var cm=sm;function lm(e,t,n){return`firebase:${e}:${t}:${n}`}var um=class e{constructor(e,t,n){this.persistence=e,this.auth=t,this.userKey=n;let{config:r,name:i}=this.auth;this.fullUserKey=lm(this.userKey,r.apiKey,i),this.fullPersistenceKey=lm(`persistence`,r.apiKey,i),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){let e=await this.persistence._get(this.fullUserKey);if(!e)return null;if(typeof e==`string`){let t=await Bp(this.auth,{idToken:e}).catch(()=>void 0);return t?im._fromGetAccountInfoResponse(this.auth,t,e):null}return im._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;let t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(t,n,r=`authUser`){if(!n.length)return new e(om(cm),t,r);let i=(await Promise.all(n.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e),a=i[0]||om(cm),o=lm(r,t.config.apiKey,t.name),s=null;for(let e of n)try{let n=await e._get(o);if(n){let r;if(typeof n==`string`){let e=await Bp(t,{idToken:n}).catch(()=>void 0);if(!e)break;r=await im._fromGetAccountInfoResponse(t,e,n)}else r=im._fromJSON(t,n);e!==a&&(s=r),a=e;break}}catch{}let c=i.filter(e=>e._shouldAllowMigration);return!a._shouldAllowMigration||!c.length?new e(a,t,r):(a=c[0],s&&await a._set(o,s.toJSON()),await Promise.all(n.map(async e=>{if(e!==a)try{await e._remove(o)}catch{}})),new e(a,t,r))}};function dm(e){let t=e.toLowerCase();if(t.includes(`opera/`)||t.includes(`opr/`)||t.includes(`opios/`))return`Opera`;if(hm(t))return`IEMobile`;if(t.includes(`msie`)||t.includes(`trident/`))return`IE`;if(t.includes(`edge/`))return`Edge`;if(fm(t))return`Firefox`;if(t.includes(`silk/`))return`Silk`;if(_m(t))return`Blackberry`;if(vm(t))return`Webos`;if(pm(t))return`Safari`;if((t.includes(`chrome/`)||mm(t))&&!t.includes(`edge/`))return`Chrome`;if(gm(t))return`Android`;{let t=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if(t?.length===2)return t[1]}return`Other`}function fm(e=zu()){return/firefox\//i.test(e)}function pm(e=zu()){let t=e.toLowerCase();return t.includes(`safari/`)&&!t.includes(`chrome/`)&&!t.includes(`crios/`)&&!t.includes(`android`)}function mm(e=zu()){return/crios\//i.test(e)}function hm(e=zu()){return/iemobile/i.test(e)}function gm(e=zu()){return/android/i.test(e)}function _m(e=zu()){return/blackberry/i.test(e)}function vm(e=zu()){return/webos/i.test(e)}function ym(e=zu()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function bm(e=zu()){return ym(e)&&!!window.navigator?.standalone}function xm(){return Gu()&&document.documentMode===10}function Sm(e=zu()){return ym(e)||gm(e)||vm(e)||_m(e)||/windows phone/i.test(e)||hm(e)}function Cm(e,t=[]){let n;switch(e){case`Browser`:n=dm(zu());break;case`Worker`:n=`${dm(zu())}-${e}`;break;default:n=e}let r=t.length?t.join(`,`):`FirebaseCore-web`;return`${n}/JsCore/${Lf}/${r}`}var wm=class{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let n=t=>new Promise((n,r)=>{try{n(e(t))}catch(e){r(e)}});n.onAbort=t,this.queue.push(n);let r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let n of this.queue)await n(e),n.onAbort&&t.push(n.onAbort)}catch(e){t.reverse();for(let e of t)try{e()}catch{}throw this.auth._errorFactory.create(`login-blocked`,{originalMessage:e?.message})}}};async function Tm(e,t={}){return kp(e,`GET`,`/v2/passwordPolicy`,Op(e,t))}var Em=6,Dm=class{constructor(e){let t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??Em,t.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=t.maxPasswordLength),t.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=t.containsLowercaseCharacter),t.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=t.containsUppercaseCharacter),t.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=t.containsNumericCharacter),t.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=t.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState===`ENFORCEMENT_STATE_UNSPECIFIED`&&(this.enforcementState=`OFF`),this.allowedNonAlphanumericCharacters=e.allowedNonAlphanumericCharacters?.join(``)??``,this.forceUpgradeOnSignin=e.forceUpgradeOnSignin??!1,this.schemaVersion=e.schemaVersion}validatePassword(e){let t={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,t),this.validatePasswordCharacterOptions(e,t),t.isValid&&=t.meetsMinPasswordLength??!0,t.isValid&&=t.meetsMaxPasswordLength??!0,t.isValid&&=t.containsLowercaseLetter??!0,t.isValid&&=t.containsUppercaseLetter??!0,t.isValid&&=t.containsNumericCharacter??!0,t.isValid&&=t.containsNonAlphanumericCharacter??!0,t}validatePasswordLengthOptions(e,t){let n=this.customStrengthOptions.minPasswordLength,r=this.customStrengthOptions.maxPasswordLength;n&&(t.meetsMinPasswordLength=e.length>=n),r&&(t.meetsMaxPasswordLength=e.length<=r)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let n;for(let r=0;r<e.length;r++)n=e.charAt(r),this.updatePasswordCharacterOptionsStatuses(t,n>=`a`&&n<=`z`,n>=`A`&&n<=`Z`,n>=`0`&&n<=`9`,this.allowedNonAlphanumericCharacters.includes(n))}updatePasswordCharacterOptionsStatuses(e,t,n,r,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||=t),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||=n),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||=r),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||=i)}},Om=class{constructor(e,t,n,r){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=n,this.config=r,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new Am(this),this.idTokenSubscription=new Am(this),this.beforeStateQueue=new wm(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=op,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=r.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=om(t)),this._initializationPromise=this.queue(async()=>{if(!this._deleted&&(this.persistenceManager=await um.create(this,e),this._resolvePersistenceManagerAvailable?.(),!this._deleted)){if(this._popupRedirectResolver?._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}await this.initializeCurrentUser(t),this.lastNotifiedUid=this.currentUser?.uid||null,!this._deleted&&(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;let e=await this.assertedPersistence.getCurrentUser();if(!(!this.currentUser&&!e)){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{let t=await Bp(this,{idToken:e}),n=await im._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(n)}catch(e){console.warn(`FirebaseServerApp could not login user with provided authIdToken: `,e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){if(Pf(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let t=await this.assertedPersistence.getCurrentUser(),n=t,r=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let t=this.redirectUser?._redirectEventId,i=n?._redirectEventId,a=await this.tryRedirectSignIn(e);(!t||t===i)&&a?.user&&(n=a.user,r=!0)}if(!n)return this.directlySetCurrentUser(null);if(!n._redirectEventId){if(r)try{await this.beforeStateQueue.runMiddleware(n)}catch(e){n=t,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return n?this.reloadAndSetCurrentUserOrClear(n):this.directlySetCurrentUser(null)}return W(this._popupRedirectResolver,this,`argument-error`),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===n._redirectEventId?this.directlySetCurrentUser(n):this.reloadAndSetCurrentUserOrClear(n)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch{await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await Xp(e)}catch(e){if(e?.code!==`auth/network-request-failed`)return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=xp()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(Pf(this.app))return Promise.reject(pp(this));let t=e?ud(e):null;return t&&W(t.auth.config.apiKey===this.config.apiKey,this,`invalid-user-token`),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&W(this.tenantId===e.tenantId,this,`tenant-id-mismatch`),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return Pf(this.app)?Promise.reject(pp(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Pf(this.app)?Promise.reject(pp(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(om(e))})}_getRecaptchaConfig(){return this.tenantId==null?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();let t=this._getPasswordPolicyInternal();return t.schemaVersion===this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?t.validatePassword(e):Promise.reject(this._errorFactory.create(`unsupported-password-policy-schema-version`,{}))}_getPasswordPolicyInternal(){return this.tenantId===null?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){let e=new Dm(await Tm(this));this.tenantId===null?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new Zu(`auth`,`Firebase`,e())}onAuthStateChanged(e,t,n){return this.registerStateListener(this.authStateSubscription,e,t,n)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,n){return this.registerStateListener(this.idTokenSubscription,e,t,n)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{let n=this.onAuthStateChanged(()=>{n(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:`apple.com`,tokenType:`ACCESS_TOKEN`,token:e,idToken:await this.currentUser.getIdToken()};this.tenantId!=null&&(t.tenantId=this.tenantId),await tm(this,t)}}toJSON(){return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:this._currentUser?.toJSON()}}async _setRedirectUser(e,t){let n=await this.getOrInitRedirectPersistenceManager(t);return e===null?n.removeCurrentUser():n.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&om(e)||this._popupRedirectResolver;W(t,this,`argument-error`),this.redirectPersistenceManager=await um.create(this,[om(t._redirectPersistence)],`redirectUser`),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){return this._isInitialized&&await this.queue(async()=>{}),this._currentUser?._redirectEventId===e?this._currentUser:this.redirectUser?._redirectEventId===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let e=this.currentUser?.uid??null;this.lastNotifiedUid!==e&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,n,r){if(this._deleted)return()=>{};let i=typeof t==`function`?t:t.next.bind(t),a=!1,o=this._isInitialized?Promise.resolve():this._initializationPromise;if(W(o,this,`internal-error`),o.then(()=>{a||i(this.currentUser)}),typeof t==`function`){let i=e.addObserver(t,n,r);return()=>{a=!0,i()}}else{let n=e.addObserver(t);return()=>{a=!0,n()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return W(this.persistenceManager,this,`internal-error`),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=Cm(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){let e={"X-Client-Version":this.clientVersion};this.app.options.appId&&(e[`X-Firebase-gmpid`]=this.app.options.appId);let t=await this.heartbeatServiceProvider.getImmediate({optional:!0})?.getHeartbeatsHeader();t&&(e[`X-Firebase-Client`]=t);let n=await this._getAppCheckToken();return n&&(e[`X-Firebase-AppCheck`]=n),e}async _getAppCheckToken(){if(Pf(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken();return e?.error&&cp(`Error while retrieving App Check token: ${e.error}`),e?.token}};function km(e){return ud(e)}var Am=class{constructor(e){this.auth=e,this.observer=null,this.addObserver=od(e=>this.observer=e)}get next(){return W(this.observer,this.auth,`internal-error`),this.observer.next.bind(this.observer)}},jm={async loadJS(){throw Error(`Unable to load external scripts`)},recaptchaV2Script:``,recaptchaEnterpriseScript:``,gapiScript:``};function Mm(e){jm=e}function Nm(e){return jm.loadJS(e)}function Pm(){return jm.recaptchaEnterpriseScript}function Fm(){return jm.gapiScript}function Im(e){return`__${e}${Math.floor(Math.random()*1e6)}`}var Lm=class{constructor(){this.enterprise=new Rm}ready(e){e()}execute(e,t){return Promise.resolve(`token`)}render(e,t){return``}},Rm=class{ready(e){e()}execute(e,t){return Promise.resolve(`token`)}render(e,t){return``}},zm=`recaptcha-enterprise`,Bm=`NO_RECAPTCHA`,Vm=class{constructor(e){this.type=zm,this.auth=km(e)}async verify(e=`verify`,t=!1){async function n(e){if(!t){if(e.tenantId==null&&e._agentRecaptchaConfig!=null)return e._agentRecaptchaConfig.siteKey;if(e.tenantId!=null&&e._tenantRecaptchaConfigs[e.tenantId]!==void 0)return e._tenantRecaptchaConfigs[e.tenantId].siteKey}return new Promise(async(t,n)=>{Rp(e,{clientType:`CLIENT_TYPE_WEB`,version:`RECAPTCHA_ENTERPRISE`}).then(r=>{if(r.recaptchaKey===void 0)n(Error(`recaptcha Enterprise site key undefined`));else{let n=new Lp(r);return e.tenantId==null?e._agentRecaptchaConfig=n:e._tenantRecaptchaConfigs[e.tenantId]=n,t(n.siteKey)}}).catch(e=>{n(e)})})}function r(t,n,r){let i=window.grecaptcha;Ip(i)?i.enterprise.ready(()=>{i.enterprise.execute(t,{action:e}).then(e=>{n(e)}).catch(()=>{n(Bm)})}):r(Error(`No reCAPTCHA enterprise script loaded.`))}return this.auth.settings.appVerificationDisabledForTesting?new Lm().execute(`siteKey`,{action:`verify`}):new Promise((e,i)=>{n(this.auth).then(n=>{if(!t&&Ip(window.grecaptcha))r(n,e,i);else{if(typeof window>`u`){i(Error(`RecaptchaVerifier is only supported in browser`));return}let t=Pm();t.length!==0&&(t+=n),Nm(t).then(()=>{r(n,e,i)}).catch(e=>{i(e)})}}).catch(e=>{i(e)})})}};async function Hm(e,t,n,r=!1,i=!1){let a=new Vm(e),o;if(i)o=Bm;else try{o=await a.verify(n)}catch{o=await a.verify(n,!0)}let s={...t};if(n===`mfaSmsEnrollment`||n===`mfaSmsSignIn`){if(`phoneEnrollmentInfo`in s){let e=s.phoneEnrollmentInfo.phoneNumber,t=s.phoneEnrollmentInfo.recaptchaToken;Object.assign(s,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:t,captchaResponse:o,clientType:`CLIENT_TYPE_WEB`,recaptchaVersion:`RECAPTCHA_ENTERPRISE`}})}else if(`phoneSignInInfo`in s){let e=s.phoneSignInInfo.recaptchaToken;Object.assign(s,{phoneSignInInfo:{recaptchaToken:e,captchaResponse:o,clientType:`CLIENT_TYPE_WEB`,recaptchaVersion:`RECAPTCHA_ENTERPRISE`}})}return s}return r?Object.assign(s,{captchaResp:o}):Object.assign(s,{captchaResponse:o}),Object.assign(s,{clientType:`CLIENT_TYPE_WEB`}),Object.assign(s,{recaptchaVersion:`RECAPTCHA_ENTERPRISE`}),s}async function Um(e,t,n,r,i){return i===`EMAIL_PASSWORD_PROVIDER`?e._getRecaptchaConfig()?.isProviderEnabled(`EMAIL_PASSWORD_PROVIDER`)?r(e,await Hm(e,t,n,n===`getOobCode`)):r(e,t).catch(async i=>i.code===`auth/missing-recaptcha-token`?(console.log(`${n} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`),r(e,await Hm(e,t,n,n===`getOobCode`))):Promise.reject(i)):i===`PHONE_PROVIDER`?e._getRecaptchaConfig()?.isProviderEnabled(`PHONE_PROVIDER`)?r(e,await Hm(e,t,n)).catch(async i=>e._getRecaptchaConfig()?.getProviderEnforcementState(`PHONE_PROVIDER`)===`AUDIT`&&(i.code===`auth/missing-recaptcha-token`||i.code===`auth/invalid-app-credential`)?(console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${n} flow.`),r(e,await Hm(e,t,n,!1,!0))):Promise.reject(i)):r(e,await Hm(e,t,n,!1,!0)):Promise.reject(i+` provider is not supported.`)}async function Wm(e){let t=km(e),n=new Lp(await Rp(t,{clientType:`CLIENT_TYPE_WEB`,version:`RECAPTCHA_ENTERPRISE`}));t.tenantId==null?t._agentRecaptchaConfig=n:t._tenantRecaptchaConfigs[t.tenantId]=n,n.isAnyProviderEnabled()&&new Vm(t).verify()}function Gm(e,t){let n=Nf(e,`auth`);if(n.isInitialized()){let e=n.getImmediate();if(td(n.getOptions(),t??{}))return e;up(e,`already-initialized`)}return n.initialize({options:t})}function Km(e,t){let n=t?.persistence||[],r=(Array.isArray(n)?n:[n]).map(om);t?.errorMap&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,t?.popupRedirectResolver)}function qm(e,t,n){let r=km(e);W(/^https?:\/\//.test(t),r,`invalid-emulator-scheme`);let i=!!n?.disableWarnings,a=Jm(t),{host:o,port:s}=Ym(t),c=s===null?``:`:${s}`,l={url:`${a}//${o}${c}/`},u=Object.freeze({host:o,port:s,protocol:a.replace(`:`,``),options:Object.freeze({disableWarnings:i})});if(!r._canInitEmulator){W(r.config.emulator&&r.emulatorConfig,r,`emulator-config-failed`),W(td(l,r.config.emulator)&&td(u,r.emulatorConfig),r,`emulator-config-failed`);return}r.config.emulator=l,r.emulatorConfig=u,r.settings.appVerificationDisabledForTesting=!0,dd(o)?fd(`${a}//${o}${c}`):i||Zm()}function Jm(e){let t=e.indexOf(`:`);return t<0?``:e.substr(0,t+1)}function Ym(e){let t=Jm(e),n=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!n)return{host:``,port:null};let r=n[2].split(`@`).pop()||``,i=/^(\[[^\]]+\])(:|$)/.exec(r);if(i){let e=i[1];return{host:e,port:Xm(r.substr(e.length+1))}}else{let[e,t]=r.split(`:`);return{host:e,port:Xm(t)}}}function Xm(e){if(!e)return null;let t=Number(e);return isNaN(t)?null:t}function Zm(){function e(){let e=document.createElement(`p`),t=e.style;e.innerText=`Running in emulator mode. Do not use with production credentials.`,t.position=`fixed`,t.width=`100%`,t.backgroundColor=`#ffffff`,t.border=`.1em solid #000000`,t.color=`#b50000`,t.bottom=`0px`,t.left=`0px`,t.margin=`0px`,t.zIndex=`10000`,t.textAlign=`center`,e.classList.add(`firebase-emulator-warning`),document.body.appendChild(e)}typeof console<`u`&&typeof console.info==`function`&&console.info(`WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials.`),typeof window<`u`&&typeof document<`u`&&(document.readyState===`loading`?window.addEventListener(`DOMContentLoaded`,e):e())}var Qm=class{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return hp(`not implemented`)}_getIdTokenResponse(e){return hp(`not implemented`)}_linkToIdToken(e,t){return hp(`not implemented`)}_getReauthenticationResolver(e){return hp(`not implemented`)}};async function $m(e,t){return kp(e,`POST`,`/v1/accounts:signUp`,t)}async function eh(e,t){return jp(e,`POST`,`/v1/accounts:signInWithPassword`,Op(e,t))}async function th(e,t){return jp(e,`POST`,`/v1/accounts:signInWithEmailLink`,Op(e,t))}async function nh(e,t){return jp(e,`POST`,`/v1/accounts:signInWithEmailLink`,Op(e,t))}var rh=class e extends Qm{constructor(e,t,n,r=null){super(`password`,n),this._email=e,this._password=t,this._tenantId=r}static _fromEmailAndPassword(t,n){return new e(t,n,`password`)}static _fromEmailAndCode(t,n,r=null){return new e(t,n,`emailLink`,r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){let t=typeof e==`string`?JSON.parse(e):e;if(t?.email&&t?.password){if(t.signInMethod===`password`)return this._fromEmailAndPassword(t.email,t.password);if(t.signInMethod===`emailLink`)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case`password`:return Um(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:`CLIENT_TYPE_WEB`},`signInWithPassword`,eh,`EMAIL_PASSWORD_PROVIDER`);case`emailLink`:return th(e,{email:this._email,oobCode:this._password});default:up(e,`internal-error`)}}async _linkToIdToken(e,t){switch(this.signInMethod){case`password`:return Um(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:`CLIENT_TYPE_WEB`},`signUpPassword`,$m,`EMAIL_PASSWORD_PROVIDER`);case`emailLink`:return nh(e,{idToken:t,email:this._email,oobCode:this._password});default:up(e,`internal-error`)}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}};async function ih(e,t){return jp(e,`POST`,`/v1/accounts:signInWithIdp`,Op(e,t))}var ah=`http://localhost`,oh=class e extends Qm{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(t){let n=new e(t.providerId,t.signInMethod);return t.idToken||t.accessToken?(t.idToken&&(n.idToken=t.idToken),t.accessToken&&(n.accessToken=t.accessToken),t.nonce&&!t.pendingToken&&(n.nonce=t.nonce),t.pendingToken&&(n.pendingToken=t.pendingToken)):t.oauthToken&&t.oauthTokenSecret?(n.accessToken=t.oauthToken,n.secret=t.oauthTokenSecret):up(`argument-error`),n}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(t){let{providerId:n,signInMethod:r,...i}=typeof t==`string`?JSON.parse(t):t;if(!n||!r)return null;let a=new e(n,r);return a.idToken=i.idToken||void 0,a.accessToken=i.accessToken||void 0,a.secret=i.secret,a.nonce=i.nonce,a.pendingToken=i.pendingToken||null,a}_getIdTokenResponse(e){return ih(e,this.buildRequest())}_linkToIdToken(e,t){let n=this.buildRequest();return n.idToken=t,ih(e,n)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,ih(e,t)}buildRequest(){let e={requestUri:ah,returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{let t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=rd(t)}return e}};async function sh(e,t){return kp(e,`POST`,`/v1/accounts:sendVerificationCode`,Op(e,t))}async function ch(e,t){return jp(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,Op(e,t))}async function lh(e,t){let n=await jp(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,Op(e,t));if(n.temporaryProof)throw Fp(e,`account-exists-with-different-credential`,n);return n}var uh={USER_NOT_FOUND:`user-not-found`};async function dh(e,t){return jp(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,Op(e,{...t,operation:`REAUTH`}),uh)}var fh=class e extends Qm{constructor(e){super(`phone`,`phone`),this.params=e}static _fromVerification(t,n){return new e({verificationId:t,verificationCode:n})}static _fromTokenResponse(t,n){return new e({phoneNumber:t,temporaryProof:n})}_getIdTokenResponse(e){return ch(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return lh(e,{idToken:t,...this._makeVerificationRequest()})}_getReauthenticationResolver(e){return dh(e,this._makeVerificationRequest())}_makeVerificationRequest(){let{temporaryProof:e,phoneNumber:t,verificationId:n,verificationCode:r}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:n,code:r}}toJSON(){let e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(t){typeof t==`string`&&(t=JSON.parse(t));let{verificationId:n,verificationCode:r,phoneNumber:i,temporaryProof:a}=t;return!r&&!n&&!i&&!a?null:new e({verificationId:n,verificationCode:r,phoneNumber:i,temporaryProof:a})}};function ph(e){switch(e){case`recoverEmail`:return`RECOVER_EMAIL`;case`resetPassword`:return`PASSWORD_RESET`;case`signIn`:return`EMAIL_SIGNIN`;case`verifyEmail`:return`VERIFY_EMAIL`;case`verifyAndChangeEmail`:return`VERIFY_AND_CHANGE_EMAIL`;case`revertSecondFactorAddition`:return`REVERT_SECOND_FACTOR_ADDITION`;default:return null}}function mh(e){let t=id(ad(e)).link,n=t?id(ad(t)).deep_link_id:null,r=id(ad(e)).deep_link_id;return(r?id(ad(r)).link:null)||r||n||t||e}var hh=class e{constructor(e){let t=id(ad(e)),n=t.apiKey??null,r=t.oobCode??null,i=ph(t.mode??null);W(n&&r&&i,`argument-error`),this.apiKey=n,this.operation=i,this.code=r,this.continueUrl=t.continueUrl??null,this.languageCode=t.lang??null,this.tenantId=t.tenantId??null}static parseLink(t){let n=mh(t);try{return new e(n)}catch{return null}}},gh=class e{constructor(){this.providerId=e.PROVIDER_ID}static credential(e,t){return rh._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){let n=hh.parseLink(t);return W(n,`argument-error`),rh._fromEmailAndCode(e,n.code,n.tenantId)}};gh.PROVIDER_ID=`password`,gh.EMAIL_PASSWORD_SIGN_IN_METHOD=`password`,gh.EMAIL_LINK_SIGN_IN_METHOD=`emailLink`;var _h=class{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}},vh=class extends _h{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}},yh=class e extends vh{constructor(){super(`facebook.com`)}static credential(t){return oh._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.FACEBOOK_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};yh.FACEBOOK_SIGN_IN_METHOD=`facebook.com`,yh.PROVIDER_ID=`facebook.com`;var bh=class e extends vh{constructor(){super(`google.com`),this.addScope(`profile`)}static credential(t,n){return oh._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GOOGLE_SIGN_IN_METHOD,idToken:t,accessToken:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthIdToken:n,oauthAccessToken:r}=t;if(!n&&!r)return null;try{return e.credential(n,r)}catch{return null}}};bh.GOOGLE_SIGN_IN_METHOD=`google.com`,bh.PROVIDER_ID=`google.com`;var xh=class e extends vh{constructor(){super(`github.com`)}static credential(t){return oh._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GITHUB_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};xh.GITHUB_SIGN_IN_METHOD=`github.com`,xh.PROVIDER_ID=`github.com`;var Sh=class e extends vh{constructor(){super(`twitter.com`)}static credential(t,n){return oh._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.TWITTER_SIGN_IN_METHOD,oauthToken:t,oauthTokenSecret:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthAccessToken:n,oauthTokenSecret:r}=t;if(!n||!r)return null;try{return e.credential(n,r)}catch{return null}}};Sh.TWITTER_SIGN_IN_METHOD=`twitter.com`,Sh.PROVIDER_ID=`twitter.com`;async function Ch(e,t){return jp(e,`POST`,`/v1/accounts:signUp`,Op(e,t))}var wh=class e{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(t,n,r,i=!1){return new e({user:await im._fromIdTokenResponse(t,r,i),providerId:Th(r),_tokenResponse:r,operationType:n})}static async _forOperation(t,n,r){return await t._updateTokensIfNecessary(r,!0),new e({user:t,providerId:Th(r),_tokenResponse:r,operationType:n})}};function Th(e){return e.providerId?e.providerId:`phoneNumber`in e?`phone`:null}var Eh=class e extends Xu{constructor(t,n,r,i){super(n.code,n.message),this.operationType=r,this.user=i,Object.setPrototypeOf(this,e.prototype),this.customData={appName:t.name,tenantId:t.tenantId??void 0,_serverResponse:n.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(t,n,r,i){return new e(t,n,r,i)}};function Dh(e,t,n,r){return(t===`reauthenticate`?n._getReauthenticationResolver(e):n._getIdTokenResponse(e)).catch(n=>{throw n.code===`auth/multi-factor-auth-required`?Eh._fromErrorAndOperation(e,n,t,r):n})}async function Oh(e,t,n=!1){let r=await Kp(e,t._linkToIdToken(e.auth,await e.getIdToken()),n);return wh._forOperation(e,`link`,r)}async function kh(e,t,n=!1){let{auth:r}=e;if(Pf(r.app))return Promise.reject(pp(r));let i=`reauthenticate`;try{let a=await Kp(e,Dh(r,i,t,e),n);W(a.idToken,r,`internal-error`);let o=Wp(a.idToken);W(o,r,`internal-error`);let{sub:s}=o;return W(e.uid===s,r,`user-mismatch`),wh._forOperation(e,i,a)}catch(e){throw e?.code===`auth/user-not-found`&&up(r,`user-mismatch`),e}}async function Ah(e,t,n=!1){if(Pf(e.app))return Promise.reject(pp(e));let r=`signIn`,i=await Dh(e,r,t),a=await wh._fromIdTokenResponse(e,r,i);return n||await e._updateCurrentUser(a.user),a}async function jh(e,t){return Ah(km(e),t)}async function Mh(e){let t=km(e);t._getPasswordPolicyInternal()&&await t._updatePasswordPolicy()}async function Nh(e,t,n){if(Pf(e.app))return Promise.reject(pp(e));let r=km(e),i=await Um(r,{returnSecureToken:!0,email:t,password:n,clientType:`CLIENT_TYPE_WEB`},`signUpPassword`,Ch,`EMAIL_PASSWORD_PROVIDER`).catch(t=>{throw t.code===`auth/password-does-not-meet-requirements`&&Mh(e),t}),a=await wh._fromIdTokenResponse(r,`signIn`,i);return await r._updateCurrentUser(a.user),a}function Ph(e,t,n){return Pf(e.app)?Promise.reject(pp(e)):jh(ud(e),gh.credential(t,n)).catch(async t=>{throw t.code===`auth/password-does-not-meet-requirements`&&Mh(e),t})}function Fh(e,t,n,r){return ud(e).onIdTokenChanged(t,n,r)}function Ih(e,t,n){return ud(e).beforeAuthStateChanged(t,n)}function Lh(e,t){return kp(e,`POST`,`/v2/accounts/mfaEnrollment:start`,Op(e,t))}function Rh(e,t){return kp(e,`POST`,`/v2/accounts/mfaEnrollment:finalize`,Op(e,t))}function zh(e,t){return kp(e,`POST`,`/v2/accounts/mfaEnrollment:start`,Op(e,t))}function Bh(e,t){return kp(e,`POST`,`/v2/accounts/mfaEnrollment:finalize`,Op(e,t))}var Vh=`__sak`,Hh=class{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(Vh,`1`),this.storage.removeItem(Vh),Promise.resolve(!0)):Promise.resolve(!1)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){let t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}},Uh=1e3,Wh=10,Gh=class extends Hh{constructor(){super(()=>window.localStorage,`LOCAL`),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=Sm(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let n=this.storage.getItem(t),r=this.localCache[t];n!==r&&e(t,r,n)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((e,t,n)=>{this.notifyListeners(e,n)});return}let n=e.key;t?this.detachListener():this.stopPolling();let r=()=>{let e=this.storage.getItem(n);!t&&this.localCache[n]===e||this.notifyListeners(n,e)},i=this.storage.getItem(n);xm()&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(r,Wh):r()}notifyListeners(e,t){this.localCache[e]=t;let n=this.listeners[e];if(n)for(let e of Array.from(n))e(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,n)=>{this.onStorageEvent(new StorageEvent(`storage`,{key:e,oldValue:t,newValue:n}),!0)})},Uh)}stopPolling(){this.pollTimer&&=(clearInterval(this.pollTimer),null)}attachListener(){window.addEventListener(`storage`,this.boundEventHandler)}detachListener(){window.removeEventListener(`storage`,this.boundEventHandler)}_addListener(e,t){Object.keys(this.listeners).length===0&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){let t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}};Gh.type=`LOCAL`;var Kh=Gh,qh=1e3;function Jh(e){let t=e.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),n=RegExp(`${t}=([^;]+)`);return document.cookie.match(n)?.[1]??null}function Yh(e){return`${window.location.protocol===`http:`?`__dev_`:`__HOST-`}FIREBASE_${e.split(`:`)[3]}`}var Xh=class{constructor(){this.type=`COOKIE`,this.listenerUnsubscribes=new Map}_getFinalTarget(e){let t=new URL(`${window.location.origin}/__cookies__`);return t.searchParams.set(`finalTarget`,e),t}async _isAvailable(){return typeof isSecureContext==`boolean`&&!isSecureContext||typeof navigator>`u`||typeof document>`u`?!1:navigator.cookieEnabled??!0}async _set(e,t){}async _get(e){if(!this._isAvailable())return null;let t=Yh(e);return window.cookieStore?(await window.cookieStore.get(t))?.value:Jh(t)}async _remove(e){if(!this._isAvailable()||!await this._get(e))return;let t=Yh(e);document.cookie=`${t}=;Max-Age=34560000;Partitioned;Secure;SameSite=Strict;Path=/;Priority=High`,await fetch(`/__cookies__`,{method:`DELETE`}).catch(()=>void 0)}_addListener(e,t){if(!this._isAvailable())return;let n=Yh(e);if(window.cookieStore){let e=(e=>{let r=e.changed.find(e=>e.name===n);r&&t(r.value),e.deleted.find(e=>e.name===n)&&t(null)});return this.listenerUnsubscribes.set(t,()=>window.cookieStore.removeEventListener(`change`,e)),window.cookieStore.addEventListener(`change`,e)}let r=Jh(n),i=setInterval(()=>{let e=Jh(n);e!==r&&(t(e),r=e)},qh);this.listenerUnsubscribes.set(t,()=>clearInterval(i))}_removeListener(e,t){let n=this.listenerUnsubscribes.get(t);n&&(n(),this.listenerUnsubscribes.delete(t))}};Xh.type=`COOKIE`;var Zh=class extends Hh{constructor(){super(()=>window.sessionStorage,`SESSION`)}_addListener(e,t){}_removeListener(e,t){}};Zh.type=`SESSION`;var Qh=Zh;function $h(e){return Promise.all(e.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(e){return{fulfilled:!1,reason:e}}}))}var eg=class e{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(t){let n=this.receivers.find(e=>e.isListeningto(t));if(n)return n;let r=new e(t);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let t=e,{eventId:n,eventType:r,data:i}=t.data,a=this.handlersMap[r];if(!a?.size)return;t.ports[0].postMessage({status:`ack`,eventId:n,eventType:r});let o=await $h(Array.from(a).map(async e=>e(t.origin,i)));t.ports[0].postMessage({status:`done`,eventId:n,eventType:r,response:o})}_subscribe(e,t){Object.keys(this.handlersMap).length===0&&this.eventTarget.addEventListener(`message`,this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),(!t||this.handlersMap[e].size===0)&&delete this.handlersMap[e],Object.keys(this.handlersMap).length===0&&this.eventTarget.removeEventListener(`message`,this.boundEventHandler)}};eg.receivers=[];function tg(e=``,t=10){let n=``;for(let e=0;e<t;e++)n+=Math.floor(Math.random()*10);return e+n}var ng=class{constructor(e){this.target=e,this.handlers=new Set}removeMessageHandler(e){e.messageChannel&&(e.messageChannel.port1.removeEventListener(`message`,e.onMessage),e.messageChannel.port1.close()),this.handlers.delete(e)}async _send(e,t,n=50){let r=typeof MessageChannel<`u`?new MessageChannel:null;if(!r)throw Error(`connection_unavailable`);let i,a;return new Promise((o,s)=>{let c=tg(``,20);r.port1.start();let l=setTimeout(()=>{s(Error(`unsupported_event`))},n);a={messageChannel:r,onMessage(e){let t=e;if(t.data.eventId===c)switch(t.data.status){case`ack`:clearTimeout(l),i=setTimeout(()=>{s(Error(`timeout`))},3e3);break;case`done`:clearTimeout(i),o(t.data.response);break;default:clearTimeout(l),clearTimeout(i),s(Error(`invalid_response`));break}}},this.handlers.add(a),r.port1.addEventListener(`message`,a.onMessage),this.target.postMessage({eventType:e,eventId:c,data:t},[r.port2])}).finally(()=>{a&&this.removeMessageHandler(a)})}};function rg(){return window}function ig(e){rg().location.href=e}function ag(){return rg().WorkerGlobalScope!==void 0&&typeof rg().importScripts==`function`}async function og(){if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function sg(){return navigator?.serviceWorker?.controller||null}function cg(){return ag()?self:null}var lg=`firebaseLocalStorageDb`,ug=1,dg=`firebaseLocalStorage`,fg=`fbase_key`,pg=class{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener(`success`,()=>{e(this.request.result)}),this.request.addEventListener(`error`,()=>{t(this.request.error)})})}};function mg(e,t){return e.transaction([dg],t?`readwrite`:`readonly`).objectStore(dg)}function hg(){return new pg(indexedDB.deleteDatabase(lg)).toPromise()}function gg(){let e=indexedDB.open(lg,ug);return new Promise((t,n)=>{e.addEventListener(`error`,()=>{n(e.error)}),e.addEventListener(`upgradeneeded`,()=>{let t=e.result;try{t.createObjectStore(dg,{keyPath:fg})}catch(e){n(e)}}),e.addEventListener(`success`,async()=>{let n=e.result;n.objectStoreNames.contains(dg)?t(n):(n.close(),await hg(),t(await gg()))})})}async function _g(e,t,n){return new pg(mg(e,!0).put({[fg]:t,value:n})).toPromise()}async function vg(e,t){let n=await new pg(mg(e,!1).get(t)).toPromise();return n===void 0?null:n.value}function yg(e,t){return new pg(mg(e,!0).delete(t)).toPromise()}var bg=800,xg=3,Sg=class{constructor(){this.type=`LOCAL`,this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){return this.db||=await gg(),this.db}async _withRetries(e){let t=0;for(;;)try{return await e(await this._openDb())}catch(e){if(t++>xg)throw e;this.db&&=(this.db.close(),void 0)}}async initializeServiceWorkerMessaging(){return ag()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=eg._getInstance(cg()),this.receiver._subscribe(`keyChanged`,async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe(`ping`,async(e,t)=>[`keyChanged`])}async initializeSender(){if(this.activeServiceWorker=await og(),!this.activeServiceWorker)return;this.sender=new ng(this.activeServiceWorker);let e=await this.sender._send(`ping`,{},800);e&&e[0]?.fulfilled&&e[0]?.value.includes(`keyChanged`)&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(!(!this.sender||!this.activeServiceWorker||sg()!==this.activeServiceWorker))try{await this.sender._send(`keyChanged`,{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch{}}async _isAvailable(){try{if(!indexedDB)return!1;let e=await gg();return await _g(e,Vh,`1`),await yg(e,Vh),!0}catch{}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(n=>_g(n,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){let t=await this._withRetries(t=>vg(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>yg(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){let e=await this._withRetries(e=>new pg(mg(e,!1).getAll()).toPromise());if(!e||this.pendingWrites!==0)return[];let t=[],n=new Set;if(e.length!==0)for(let{fbase_key:r,value:i}of e)n.add(r),JSON.stringify(this.localCache[r])!==JSON.stringify(i)&&(this.notifyListeners(r,i),t.push(r));for(let e of Object.keys(this.localCache))this.localCache[e]&&!n.has(e)&&(this.notifyListeners(e,null),t.push(e));return t}notifyListeners(e,t){this.localCache[e]=t;let n=this.listeners[e];if(n)for(let e of Array.from(n))e(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),bg)}stopPolling(){this.pollTimer&&=(clearInterval(this.pollTimer),null)}_addListener(e,t){Object.keys(this.listeners).length===0&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&this.stopPolling()}};Sg.type=`LOCAL`;var Cg=Sg;function wg(e,t){return kp(e,`POST`,`/v2/accounts/mfaSignIn:start`,Op(e,t))}function Tg(e,t){return kp(e,`POST`,`/v2/accounts/mfaSignIn:finalize`,Op(e,t))}function Eg(e,t){return kp(e,`POST`,`/v2/accounts/mfaSignIn:finalize`,Op(e,t))}Im(`rcb`),new Sp(3e4,6e4);var Dg=`recaptcha`;async function Og(e,t,n){if(!e._getRecaptchaConfig())try{await Wm(e)}catch{console.log(`Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.`)}try{let r;if(r=typeof t==`string`?{phoneNumber:t}:t,`session`in r){let t=r.session;if(`phoneNumber`in r)return W(t.type===`enroll`,e,`internal-error`),(await Um(e,{idToken:t.credential,phoneEnrollmentInfo:{phoneNumber:r.phoneNumber,clientType:`CLIENT_TYPE_WEB`}},`mfaSmsEnrollment`,async(e,t)=>t.phoneEnrollmentInfo.captchaResponse===Bm?(W(n?.type===Dg,e,`argument-error`),Lh(e,await kg(e,t,n))):Lh(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).phoneSessionInfo.sessionInfo;{W(t.type===`signin`,e,`internal-error`);let i=r.multiFactorHint?.uid||r.multiFactorUid;return W(i,e,`missing-multi-factor-info`),(await Um(e,{mfaPendingCredential:t.credential,mfaEnrollmentId:i,phoneSignInInfo:{clientType:`CLIENT_TYPE_WEB`}},`mfaSmsSignIn`,async(e,t)=>t.phoneSignInInfo.captchaResponse===Bm?(W(n?.type===Dg,e,`argument-error`),wg(e,await kg(e,t,n))):wg(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).phoneResponseInfo.sessionInfo}}else return(await Um(e,{phoneNumber:r.phoneNumber,clientType:`CLIENT_TYPE_WEB`},`sendVerificationCode`,async(e,t)=>t.captchaResponse===Bm?(W(n?.type===Dg,e,`argument-error`),sh(e,await kg(e,t,n))):sh(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).sessionInfo}finally{n?._reset()}}async function kg(e,t,n){W(n.type===Dg,e,`argument-error`);let r=await n.verify();W(typeof r==`string`,e,`argument-error`);let i={...t};if(`phoneEnrollmentInfo`in i){let e=i.phoneEnrollmentInfo.phoneNumber,t=i.phoneEnrollmentInfo.captchaResponse,n=i.phoneEnrollmentInfo.clientType,a=i.phoneEnrollmentInfo.recaptchaVersion;return Object.assign(i,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:r,captchaResponse:t,clientType:n,recaptchaVersion:a}}),i}else if(`phoneSignInInfo`in i){let e=i.phoneSignInInfo.captchaResponse,t=i.phoneSignInInfo.clientType,n=i.phoneSignInInfo.recaptchaVersion;return Object.assign(i,{phoneSignInInfo:{recaptchaToken:r,captchaResponse:e,clientType:t,recaptchaVersion:n}}),i}else return Object.assign(i,{recaptchaToken:r}),i}var Ag=class e{constructor(t){this.providerId=e.PROVIDER_ID,this.auth=km(t)}verifyPhoneNumber(e,t){return Og(this.auth,e,ud(t))}static credential(e,t){return fh._fromVerification(e,t)}static credentialFromResult(t){let n=t;return e.credentialFromTaggedObject(n)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{phoneNumber:t,temporaryProof:n}=e;return t&&n?fh._fromTokenResponse(t,n):null}};Ag.PROVIDER_ID=`phone`,Ag.PHONE_SIGN_IN_METHOD=`phone`;function jg(e,t){return t?om(t):(W(e._popupRedirectResolver,e,`argument-error`),e._popupRedirectResolver)}var Mg=class extends Qm{constructor(e){super(`custom`,`custom`),this.params=e}_getIdTokenResponse(e){return ih(e,this._buildIdpRequest())}_linkToIdToken(e,t){return ih(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return ih(e,this._buildIdpRequest())}_buildIdpRequest(e){let t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}};function Ng(e){return Ah(e.auth,new Mg(e),e.bypassAuthState)}function Pg(e){let{auth:t,user:n}=e;return W(n,t,`internal-error`),kh(n,new Mg(e),e.bypassAuthState)}async function Fg(e){let{auth:t,user:n}=e;return W(n,t,`internal-error`),Oh(n,new Mg(e),e.bypassAuthState)}var Ig=class{constructor(e,t,n,r,i=!1){this.auth=e,this.resolver=n,this.user=r,this.bypassAuthState=i,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){let{urlResponse:t,sessionId:n,postBody:r,tenantId:i,error:a,type:o}=e;if(a){this.reject(a);return}let s={auth:this.auth,requestUri:t,sessionId:n,tenantId:i||void 0,postBody:r||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(o)(s))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case`signInViaPopup`:case`signInViaRedirect`:return Ng;case`linkViaPopup`:case`linkViaRedirect`:return Fg;case`reauthViaPopup`:case`reauthViaRedirect`:return Pg;default:up(this.auth,`internal-error`)}}resolve(e){gp(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){gp(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}},Lg=new Sp(2e3,1e4),Rg=class e extends Ig{constructor(t,n,r,i,a){super(t,n,i,a),this.provider=r,this.authWindow=null,this.pollId=null,e.currentPopupAction&&e.currentPopupAction.cancel(),e.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return W(e,this.auth,`internal-error`),e}async onExecution(){gp(this.filter.length===1,`Popup operations only handle one event`);let e=tg();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(dp(this.auth,`web-storage-unsupported`))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(dp(this.auth,`cancelled-popup-request`))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,e.currentPopupAction=null}pollUserCancellation(){let e=()=>{if(this.authWindow?.window?.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(dp(this.auth,`popup-closed-by-user`))},8e3);return}this.pollId=window.setTimeout(e,Lg.get())};e()}};Rg.currentPopupAction=null;var zg=`pendingRedirect`,Bg=new Map,Vg=class extends Ig{constructor(e,t,n=!1){super(e,[`signInViaRedirect`,`linkViaRedirect`,`reauthViaRedirect`,`unknown`],t,void 0,n),this.eventId=null}async execute(){let e=Bg.get(this.auth._key());if(!e){try{let t=await Hg(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}Bg.set(this.auth._key(),e)}return this.bypassAuthState||Bg.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if(e.type===`signInViaRedirect`)return super.onAuthEvent(e);if(e.type===`unknown`){this.resolve(null);return}if(e.eventId){let t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}};async function Hg(e,t){let n=Gg(t),r=Wg(e);if(!await r._isAvailable())return!1;let i=await r._get(n)===`true`;return await r._remove(n),i}function Ug(e,t){Bg.set(e._key(),t)}function Wg(e){return om(e._redirectPersistence)}function Gg(e){return lm(zg,e.config.apiKey,e.name)}async function Kg(e,t,n=!1){if(Pf(e.app))return Promise.reject(pp(e));let r=km(e),i=await new Vg(r,jg(r,t),n).execute();return i&&!n&&(delete i.user._redirectEventId,await r._persistUserIfCurrent(i.user),await r._setRedirectUser(null,t)),i}var qg=600*1e3,Jg=class{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(n=>{this.isEventForConsumer(e,n)&&(t=!0,this.sendToConsumer(e,n),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!Zg(e)?t:(this.hasHandledPotentialRedirect=!0,t||=(this.queuedRedirectEvent=e,!0),t)}sendToConsumer(e,t){if(e.error&&!Xg(e)){let n=e.error.code?.split(`auth/`)[1]||`internal-error`;t.onError(dp(this.auth,n))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let n=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&n}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=qg&&this.cachedEventUids.clear(),this.cachedEventUids.has(Yg(e))}saveEventToCache(e){this.cachedEventUids.add(Yg(e)),this.lastProcessedEventTime=Date.now()}};function Yg(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join(`-`)}function Xg({type:e,error:t}){return e===`unknown`&&t?.code===`auth/no-auth-event`}function Zg(e){switch(e.type){case`signInViaRedirect`:case`linkViaRedirect`:case`reauthViaRedirect`:return!0;case`unknown`:return Xg(e);default:return!1}}async function Qg(e,t={}){return kp(e,`GET`,`/v1/projects`,t)}var $g=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,e_=/^https?/;async function t_(e){if(e.config.emulator)return;let{authorizedDomains:t}=await Qg(e);for(let e of t)try{if(n_(e))return}catch{}up(e,`unauthorized-domain`)}function n_(e){let t=_p(),{protocol:n,hostname:r}=new URL(t);if(e.startsWith(`chrome-extension://`)){let i=new URL(e);return i.hostname===``&&r===``?n===`chrome-extension:`&&e.replace(`chrome-extension://`,``)===t.replace(`chrome-extension://`,``):n===`chrome-extension:`&&i.hostname===r}if(!e_.test(n))return!1;if($g.test(e))return r===e;let i=e.replace(/\./g,`\\.`);return RegExp(`^(.+\\.`+i+`|`+i+`)$`,`i`).test(r)}var r_=new Sp(3e4,6e4);function i_(){let e=rg().___jsl;if(e?.H){for(let t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t<e.CP.length;t++)e.CP[t]=null}}function a_(e){return new Promise((t,n)=>{function r(){i_(),gapi.load(`gapi.iframes`,{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{i_(),n(dp(e,`network-request-failed`))},timeout:r_.get()})}if(rg().gapi?.iframes?.Iframe)t(gapi.iframes.getContext());else if(rg().gapi?.load)r();else{let t=Im(`iframefcb`);return rg()[t]=()=>{gapi.load?r():n(dp(e,`network-request-failed`))},Nm(`${Fm()}?onload=${t}`).catch(e=>n(e))}}).catch(e=>{throw o_=null,e})}var o_=null;function s_(e){return o_||=a_(e),o_}var c_=new Sp(5e3,15e3),l_=`__/auth/iframe`,u_=`emulator/auth/iframe`,d_={style:{position:`absolute`,top:`-100px`,width:`1px`,height:`1px`},"aria-hidden":`true`,tabindex:`-1`},f_=new Map([[`identitytoolkit.googleapis.com`,`p`],[`staging-identitytoolkit.sandbox.googleapis.com`,`s`],[`test-identitytoolkit.sandbox.googleapis.com`,`t`]]);function p_(e){let t=e.config;W(t.authDomain,e,`auth-domain-config-required`);let n=t.emulator?Cp(t,u_):`https://${e.config.authDomain}/${l_}`,r={apiKey:t.apiKey,appName:e.name,v:Lf},i=f_.get(e.config.apiHost);i&&(r.eid=i);let a=e._getFrameworks();return a.length&&(r.fw=a.join(`,`)),`${n}?${rd(r).slice(1)}`}async function m_(e){let t=await s_(e),n=rg().gapi;return W(n,e,`internal-error`),t.open({where:document.body,url:p_(e),messageHandlersFilter:n.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:d_,dontclear:!0},t=>new Promise(async(n,r)=>{await t.restyle({setHideOnLeave:!1});let i=dp(e,`network-request-failed`),a=rg().setTimeout(()=>{r(i)},c_.get());function o(){rg().clearTimeout(a),n(t)}t.ping(o).then(o,()=>{r(i)})}))}var h_={location:`yes`,resizable:`yes`,statusbar:`yes`,toolbar:`no`},g_=500,__=600,v_=`_blank`,y_=`http://localhost`,b_=class{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}};function x_(e,t,n,r=g_,i=__){let a=Math.max((window.screen.availHeight-i)/2,0).toString(),o=Math.max((window.screen.availWidth-r)/2,0).toString(),s=``,c={...h_,width:r.toString(),height:i.toString(),top:a,left:o},l=zu().toLowerCase();n&&(s=mm(l)?v_:n),fm(l)&&(t||=y_,c.scrollbars=`yes`);let u=Object.entries(c).reduce((e,[t,n])=>`${e}${t}=${n},`,``);if(bm(l)&&s!==`_self`)return S_(t||``,s),new b_(null);let d=window.open(t||``,s,u);W(d,e,`popup-blocked`);try{d.focus()}catch{}return new b_(d)}function S_(e,t){let n=document.createElement(`a`);n.href=e,n.target=t;let r=document.createEvent(`MouseEvent`);r.initMouseEvent(`click`,!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),n.dispatchEvent(r)}var C_=`__/auth/handler`,w_=`emulator/auth/handler`,T_=`fac`;async function E_(e,t,n,r,i,a){W(e.config.authDomain,e,`auth-domain-config-required`),W(e.config.apiKey,e,`invalid-api-key`);let o={apiKey:e.config.apiKey,appName:e.name,authType:n,redirectUrl:r,v:Lf,eventId:i};if(t instanceof _h){t.setDefaultLanguage(e.languageCode),o.providerId=t.providerId||``,ed(t.getCustomParameters())||(o.customParameters=JSON.stringify(t.getCustomParameters()));for(let[e,t]of Object.entries(a||{}))o[e]=t}if(t instanceof vh){let e=t.getScopes().filter(e=>e!==``);e.length>0&&(o.scopes=e.join(`,`))}e.tenantId&&(o.tid=e.tenantId);let s=o;for(let e of Object.keys(s))s[e]===void 0&&delete s[e];let c=await e._getAppCheckToken(),l=c?`#${T_}=${encodeURIComponent(c)}`:``;return`${D_(e)}?${rd(s).slice(1)}${l}`}function D_({config:e}){return e.emulator?Cp(e,w_):`https://${e.authDomain}/${C_}`}var O_=`webStorageSupport`,k_=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=Qh,this._completeRedirectFn=Kg,this._overrideRedirectResult=Ug}async _openPopup(e,t,n,r){return gp(this.eventManagers[e._key()]?.manager,`_initialize() not called before _openPopup()`),x_(e,await E_(e,t,n,_p(),r),tg())}async _openRedirect(e,t,n,r){return await this._originValidation(e),ig(await E_(e,t,n,_p(),r)),new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){let{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(gp(n,`If manager is not set, promise should be`),n)}let n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){let t=await m_(e),n=new Jg(e);return t.register(`authEvent`,t=>(W(t?.authEvent,e,`invalid-auth-event`),{status:n.onEvent(t.authEvent)?`ACK`:`ERROR`}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:n},this.iframes[e._key()]=t,n}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(O_,{type:O_},n=>{let r=n?.[0]?.[O_];r!==void 0&&t(!!r),up(e,`internal-error`)},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=t_(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Sm()||pm()||ym()}},A_=class{constructor(e){this.factorId=e}_process(e,t,n){switch(t.type){case`enroll`:return this._finalizeEnroll(e,t.credential,n);case`signin`:return this._finalizeSignIn(e,t.credential);default:return hp(`unexpected MultiFactorSessionType`)}}},j_=class e extends A_{constructor(e){super(`phone`),this.credential=e}static _fromCredential(t){return new e(t)}_finalizeEnroll(e,t,n){return Rh(e,{idToken:t,displayName:n,phoneVerificationInfo:this.credential._makeVerificationRequest()})}_finalizeSignIn(e,t){return Tg(e,{mfaPendingCredential:t,phoneVerificationInfo:this.credential._makeVerificationRequest()})}},M_=class{constructor(){}static assertion(e){return j_._fromCredential(e)}};M_.FACTOR_ID=`phone`;var N_=class{static assertionForEnrollment(e,t){return P_._fromSecret(e,t)}static assertionForSignIn(e,t){return P_._fromEnrollmentId(e,t)}static async generateSecret(e){let t=e;W(t.user?.auth!==void 0,`internal-error`);let n=await zh(t.user.auth,{idToken:t.credential,totpEnrollmentInfo:{}});return F_._fromStartTotpMfaEnrollmentResponse(n,t.user.auth)}};N_.FACTOR_ID=`totp`;var P_=class e extends A_{constructor(e,t,n){super(`totp`),this.otp=e,this.enrollmentId=t,this.secret=n}static _fromSecret(t,n){return new e(n,void 0,t)}static _fromEnrollmentId(t,n){return new e(n,t)}async _finalizeEnroll(e,t,n){return W(this.secret!==void 0,e,`argument-error`),Bh(e,{idToken:t,displayName:n,totpVerificationInfo:this.secret._makeTotpVerificationInfo(this.otp)})}async _finalizeSignIn(e,t){W(this.enrollmentId!==void 0&&this.otp!==void 0,e,`argument-error`);let n={verificationCode:this.otp};return Eg(e,{mfaPendingCredential:t,mfaEnrollmentId:this.enrollmentId,totpVerificationInfo:n})}},F_=class e{constructor(e,t,n,r,i,a,o){this.sessionInfo=a,this.auth=o,this.secretKey=e,this.hashingAlgorithm=t,this.codeLength=n,this.codeIntervalSeconds=r,this.enrollmentCompletionDeadline=i}static _fromStartTotpMfaEnrollmentResponse(t,n){return new e(t.totpSessionInfo.sharedSecretKey,t.totpSessionInfo.hashingAlgorithm,t.totpSessionInfo.verificationCodeLength,t.totpSessionInfo.periodSec,new Date(t.totpSessionInfo.finalizeEnrollmentTime).toUTCString(),t.totpSessionInfo.sessionInfo,n)}_makeTotpVerificationInfo(e){return{sessionInfo:this.sessionInfo,verificationCode:e}}generateQrCodeUrl(e,t){let n=!1;return(I_(e)||I_(t))&&(n=!0),n&&(I_(e)&&(e=this.auth.currentUser?.email||`unknownuser`),I_(t)&&(t=this.auth.name)),`otpauth://totp/${t}:${e}?secret=${this.secretKey}&issuer=${t}&algorithm=${this.hashingAlgorithm}&digits=${this.codeLength}`}};function I_(e){return e===void 0||e?.length===0}var L_=`@firebase/auth`,R_=`1.12.2`,z_=class{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){return this.assertAuthConfigured(),this.auth.currentUser?.uid||null}async getToken(e){return this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;let t=this.auth.onIdTokenChanged(t=>{e(t?.stsTokenManager.accessToken||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();let t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){W(this.auth._initializationPromise,`dependent-sdk-initialized-before-auth`)}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}};function B_(e){switch(e){case`Node`:return`node`;case`ReactNative`:return`rn`;case`Worker`:return`webworker`;case`Cordova`:return`cordova`;case`WebExtension`:return`web-extension`;default:return}}function V_(e){Mf(new pd(`auth`,(t,{options:n})=>{let r=t.getProvider(`app`).getImmediate(),i=t.getProvider(`heartbeat`),a=t.getProvider(`app-check-internal`),{apiKey:o,authDomain:s}=r.options;W(o&&!o.includes(`:`),`invalid-api-key`,{appName:r.name});let c=new Om(r,i,a,{apiKey:o,authDomain:s,clientPlatform:e,apiHost:`identitytoolkit.googleapis.com`,tokenApiHost:`securetoken.googleapis.com`,apiScheme:`https`,sdkClientVersion:Cm(e)});return Km(c,n),c},`PUBLIC`).setInstantiationMode(`EXPLICIT`).setInstanceCreatedCallback((e,t,n)=>{e.getProvider(`auth-internal`).initialize()})),Mf(new pd(`auth-internal`,e=>(e=>new z_(e))(km(e.getProvider(`auth`).getImmediate())),`PRIVATE`).setInstantiationMode(`EXPLICIT`)),Bf(L_,R_,B_(e)),Bf(L_,R_,`esm2020`)}var H_=Iu(`authIdTokenMaxAge`)||300,U_=null,W_=e=>async t=>{let n=t&&await t.getIdTokenResult(),r=n&&(new Date().getTime()-Date.parse(n.issuedAtTime))/1e3;if(r&&r>H_)return;let i=n?.token;U_!==i&&(U_=i,await fetch(e,{method:i?`POST`:`DELETE`,headers:i?{Authorization:`Bearer ${i}`}:{}}))};function G_(e=zf()){let t=Nf(e,`auth`);if(t.isInitialized())return t.getImmediate();let n=Gm(e,{popupRedirectResolver:k_,persistence:[Cg,Kh,Qh]}),r=Iu(`authTokenSyncURL`);if(r&&typeof isSecureContext==`boolean`&&isSecureContext){let e=new URL(r,location.origin);if(location.origin===e.origin){let t=W_(e.toString());Ih(n,t,()=>t(n.currentUser)),Fh(n,e=>t(e))}}let i=Nu(`auth`);return i&&qm(n,`http://${i}`),n}function K_(){return document.getElementsByTagName(`head`)?.[0]??document}Mm({loadJS(e){return new Promise((t,n)=>{let r=document.createElement(`script`);r.setAttribute(`src`,e),r.onload=t,r.onerror=e=>{let t=dp(`internal-error`);t.customData=e,n(t)},r.type=`text/javascript`,r.charset=`UTF-8`,K_().appendChild(r)})},gapiScript:`https://apis.google.com/js/api.js`,recaptchaV2Script:`https://www.google.com/recaptcha/api.js`,recaptchaEnterpriseScript:`https://www.google.com/recaptcha/enterprise.js?render=`}),V_(`Browser`);var q_=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},J_={},Y_;(function(){var e;function t(e,t){function n(){}n.prototype=t.prototype,e.F=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.D=function(e,n,r){for(var i=Array(arguments.length-2),a=2;a<arguments.length;a++)i[a-2]=arguments[a];return t.prototype[n].apply(e,i)}}function n(){this.blockSize=-1}function r(){this.blockSize=-1,this.blockSize=64,this.g=[,,,,],this.C=Array(this.blockSize),this.o=this.h=0,this.u()}t(r,n),r.prototype.u=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0};function i(e,t,n){n||=0;let r=Array(16);if(typeof t==`string`)for(var i=0;i<16;++i)r[i]=t.charCodeAt(n++)|t.charCodeAt(n++)<<8|t.charCodeAt(n++)<<16|t.charCodeAt(n++)<<24;else for(i=0;i<16;++i)r[i]=t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24;t=e.g[0],n=e.g[1],i=e.g[2];let a=e.g[3],o;o=t+(a^n&(i^a))+r[0]+3614090360&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[1]+3905402710&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[2]+606105819&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[3]+3250441966&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(a^n&(i^a))+r[4]+4118548399&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[5]+1200080426&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[6]+2821735955&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[7]+4249261313&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(a^n&(i^a))+r[8]+1770035416&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[9]+2336552879&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[10]+4294925233&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[11]+2304563134&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(a^n&(i^a))+r[12]+1804603682&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[13]+4254626195&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[14]+2792965006&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[15]+1236535329&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(i^a&(n^i))+r[1]+4129170786&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[6]+3225465664&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[11]+643717713&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[0]+3921069994&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(i^a&(n^i))+r[5]+3593408605&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[10]+38016083&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[15]+3634488961&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[4]+3889429448&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(i^a&(n^i))+r[9]+568446438&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[14]+3275163606&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[3]+4107603335&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[8]+1163531501&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(i^a&(n^i))+r[13]+2850285829&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[2]+4243563512&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[7]+1735328473&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[12]+2368359562&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(n^i^a)+r[5]+4294588738&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[8]+2272392833&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[11]+1839030562&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[14]+4259657740&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(n^i^a)+r[1]+2763975236&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[4]+1272893353&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[7]+4139469664&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[10]+3200236656&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(n^i^a)+r[13]+681279174&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[0]+3936430074&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[3]+3572445317&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[6]+76029189&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(n^i^a)+r[9]+3654602809&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[12]+3873151461&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[15]+530742520&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[2]+3299628645&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(i^(n|~a))+r[0]+4096336452&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[7]+1126891415&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[14]+2878612391&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[5]+4237533241&4294967295,n=i+(o<<21&4294967295|o>>>11),o=t+(i^(n|~a))+r[12]+1700485571&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[3]+2399980690&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[10]+4293915773&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[1]+2240044497&4294967295,n=i+(o<<21&4294967295|o>>>11),o=t+(i^(n|~a))+r[8]+1873313359&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[15]+4264355552&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[6]+2734768916&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[13]+1309151649&4294967295,n=i+(o<<21&4294967295|o>>>11),o=t+(i^(n|~a))+r[4]+4149444226&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[11]+3174756917&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[2]+718787259&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[9]+3951481745&4294967295,e.g[0]=e.g[0]+t&4294967295,e.g[1]=e.g[1]+(i+(o<<21&4294967295|o>>>11))&4294967295,e.g[2]=e.g[2]+i&4294967295,e.g[3]=e.g[3]+a&4294967295}r.prototype.v=function(e,t){t===void 0&&(t=e.length);let n=t-this.blockSize,r=this.C,a=this.h,o=0;for(;o<t;){if(a==0)for(;o<=n;)i(this,e,o),o+=this.blockSize;if(typeof e==`string`){for(;o<t;)if(r[a++]=e.charCodeAt(o++),a==this.blockSize){i(this,r),a=0;break}}else for(;o<t;)if(r[a++]=e[o++],a==this.blockSize){i(this,r),a=0;break}}this.h=a,this.o+=t},r.prototype.A=function(){var e=Array((this.h<56?this.blockSize:this.blockSize*2)-this.h);e[0]=128;for(var t=1;t<e.length-8;++t)e[t]=0;t=this.o*8;for(var n=e.length-8;n<e.length;++n)e[n]=t&255,t/=256;for(this.v(e),e=Array(16),t=0,n=0;n<4;++n)for(let r=0;r<32;r+=8)e[t++]=this.g[n]>>>r&255;return e};function a(e,t){var n=s;return Object.prototype.hasOwnProperty.call(n,e)?n[e]:n[e]=t(e)}function o(e,t){this.h=t;let n=[],r=!0;for(let i=e.length-1;i>=0;i--){let a=e[i]|0;r&&a==t||(n[i]=a,r=!1)}this.g=n}var s={};function c(e){return-128<=e&&e<128?a(e,function(e){return new o([e|0],e<0?-1:0)}):new o([e|0],e<0?-1:0)}function l(e){if(isNaN(e)||!isFinite(e))return d;if(e<0)return g(l(-e));let t=[],n=1;for(let r=0;e>=n;r++)t[r]=e/n|0,n*=4294967296;return new o(t,0)}function u(e,t){if(e.length==0)throw Error(`number format error: empty string`);if(t||=10,t<2||36<t)throw Error(`radix out of range: `+t);if(e.charAt(0)==`-`)return g(u(e.substring(1),t));if(e.indexOf(`-`)>=0)throw Error(`number format error: interior "-" character`);let n=l(t**8),r=d;for(let a=0;a<e.length;a+=8){var i=Math.min(8,e.length-a);let o=parseInt(e.substring(a,a+i),t);i<8?(i=l(t**+i),r=r.j(i).add(l(o))):(r=r.j(n),r=r.add(l(o)))}return r}var d=c(0),f=c(1),p=c(16777216);e=o.prototype,e.m=function(){if(h(this))return-g(this).m();let e=0,t=1;for(let n=0;n<this.g.length;n++){let r=this.i(n);e+=(r>=0?r:4294967296+r)*t,t*=4294967296}return e},e.toString=function(e){if(e||=10,e<2||36<e)throw Error(`radix out of range: `+e);if(m(this))return`0`;if(h(this))return`-`+g(this).toString(e);let t=l(e**6);var n=this;let r=``;for(;;){let i=b(n,t).g;n=_(n,i.j(t));let a=((n.g.length>0?n.g[0]:n.h)>>>0).toString(e);if(n=i,m(n))return a+r;for(;a.length<6;)a=`0`+a;r=a+r}},e.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h};function m(e){if(e.h!=0)return!1;for(let t=0;t<e.g.length;t++)if(e.g[t]!=0)return!1;return!0}function h(e){return e.h==-1}e.l=function(e){return e=_(this,e),h(e)?-1:m(e)?0:1};function g(e){let t=e.g.length,n=[];for(let r=0;r<t;r++)n[r]=~e.g[r];return new o(n,~e.h).add(f)}e.abs=function(){return h(this)?g(this):this},e.add=function(e){let t=Math.max(this.g.length,e.g.length),n=[],r=0;for(let i=0;i<=t;i++){let t=r+(this.i(i)&65535)+(e.i(i)&65535),a=(t>>>16)+(this.i(i)>>>16)+(e.i(i)>>>16);r=a>>>16,t&=65535,a&=65535,n[i]=a<<16|t}return new o(n,n[n.length-1]&-2147483648?-1:0)};function _(e,t){return e.add(g(t))}e.j=function(e){if(m(this)||m(e))return d;if(h(this))return h(e)?g(this).j(g(e)):g(g(this).j(e));if(h(e))return g(this.j(g(e)));if(this.l(p)<0&&e.l(p)<0)return l(this.m()*e.m());let t=this.g.length+e.g.length,n=[];for(var r=0;r<2*t;r++)n[r]=0;for(r=0;r<this.g.length;r++)for(let t=0;t<e.g.length;t++){let i=this.i(r)>>>16,a=this.i(r)&65535,o=e.i(t)>>>16,s=e.i(t)&65535;n[2*r+2*t]+=a*s,v(n,2*r+2*t),n[2*r+2*t+1]+=i*s,v(n,2*r+2*t+1),n[2*r+2*t+1]+=a*o,v(n,2*r+2*t+1),n[2*r+2*t+2]+=i*o,v(n,2*r+2*t+2)}for(e=0;e<t;e++)n[e]=n[2*e+1]<<16|n[2*e];for(e=t;e<2*t;e++)n[e]=0;return new o(n,0)};function v(e,t){for(;(e[t]&65535)!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function y(e,t){this.g=e,this.h=t}function b(e,t){if(m(t))throw Error(`division by zero`);if(m(e))return new y(d,d);if(h(e))return t=b(g(e),t),new y(g(t.g),g(t.h));if(h(t))return t=b(e,g(t)),new y(g(t.g),t.h);if(e.g.length>30){if(h(e)||h(t))throw Error(`slowDivide_ only works with positive integers.`);for(var n=f,r=t;r.l(e)<=0;)n=x(n),r=x(r);var i=S(n,1),a=S(r,1);for(r=S(r,2),n=S(n,2);!m(r);){var o=a.add(r);o.l(e)<=0&&(i=i.add(n),a=o),r=S(r,1),n=S(n,1)}return t=_(e,i.j(t)),new y(i,t)}for(i=d;e.l(t)>=0;){for(n=Math.max(1,Math.floor(e.m()/t.m())),r=Math.ceil(Math.log(n)/Math.LN2),r=r<=48?1:2**(r-48),a=l(n),o=a.j(t);h(o)||o.l(e)>0;)n-=r,a=l(n),o=a.j(t);m(a)&&(a=f),i=i.add(a),e=_(e,o)}return new y(i,e)}e.B=function(e){return b(this,e).h},e.and=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)&e.i(r);return new o(n,this.h&e.h)},e.or=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)|e.i(r);return new o(n,this.h|e.h)},e.xor=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)^e.i(r);return new o(n,this.h^e.h)};function x(e){let t=e.g.length+1,n=[];for(let r=0;r<t;r++)n[r]=e.i(r)<<1|e.i(r-1)>>>31;return new o(n,e.h)}function S(e,t){let n=t>>5;t%=32;let r=e.g.length-n,i=[];for(let a=0;a<r;a++)i[a]=t>0?e.i(a+n)>>>t|e.i(a+n+1)<<32-t:e.i(a+n);return new o(i,e.h)}r.prototype.digest=r.prototype.A,r.prototype.reset=r.prototype.u,r.prototype.update=r.prototype.v,J_.Md5=r,o.prototype.add=o.prototype.add,o.prototype.multiply=o.prototype.j,o.prototype.modulo=o.prototype.B,o.prototype.compare=o.prototype.l,o.prototype.toNumber=o.prototype.m,o.prototype.toString=o.prototype.toString,o.prototype.getBits=o.prototype.i,o.fromNumber=l,o.fromString=u,Y_=J_.Integer=o}).apply(q_===void 0?typeof self<`u`?self:typeof window<`u`?window:{}:q_);var X_=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},Z_={},Q_,$_,ev,tv,nv,rv,iv,av;(function(){var e,t=Object.defineProperty;function n(e){e=[typeof globalThis==`object`&&globalThis,e,typeof window==`object`&&window,typeof self==`object`&&self,typeof X_==`object`&&X_];for(var t=0;t<e.length;++t){var n=e[t];if(n&&n.Math==Math)return n}throw Error(`Cannot find global object`)}var r=n(this);function i(e,n){if(n)a:{var i=r;e=e.split(`.`);for(var a=0;a<e.length-1;a++){var o=e[a];if(!(o in i))break a;i=i[o]}e=e[e.length-1],a=i[e],n=n(a),n!=a&&n!=null&&t(i,e,{configurable:!0,writable:!0,value:n})}}i(`Symbol.dispose`,function(e){return e||Symbol(`Symbol.dispose`)}),i(`Array.prototype.values`,function(e){return e||function(){return this[Symbol.iterator]()}}),i(`Object.entries`,function(e){return e||function(e){var t=[],n;for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push([n,e[n]]);return t}});var a=a||{},o=this||self;function s(e){var t=typeof e;return t==`object`&&e!=null||t==`function`}function c(e,t,n){return e.call.apply(e.bind,arguments)}function l(e,t,n){return l=c,l.apply(null,arguments)}function u(e,t){var n=Array.prototype.slice.call(arguments,1);return function(){var t=n.slice();return t.push.apply(t,arguments),e.apply(this,t)}}function d(e,t){function n(){}n.prototype=t.prototype,e.Z=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.Ob=function(e,n,r){for(var i=Array(arguments.length-2),a=2;a<arguments.length;a++)i[a-2]=arguments[a];return t.prototype[n].apply(e,i)}}var f=typeof AsyncContext<`u`&&typeof AsyncContext.Snapshot==`function`?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function p(e){let t=e.length;if(t>0){let n=Array(t);for(let r=0;r<t;r++)n[r]=e[r];return n}return[]}function m(e,t){for(let t=1;t<arguments.length;t++){let r=arguments[t];var n=typeof r;if(n=n==`object`?r?Array.isArray(r)?`array`:n:`null`:n,n==`array`||n==`object`&&typeof r.length==`number`){n=e.length||0;let t=r.length||0;e.length=n+t;for(let i=0;i<t;i++)e[n+i]=r[i]}else e.push(r)}}class h{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return this.h>0?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}function g(e){o.setTimeout(()=>{throw e},0)}function _(){var e=C;let t=null;return e.g&&(t=e.g,e.g=e.g.next,e.g||(e.h=null),t.next=null),t}class v{constructor(){this.h=this.g=null}add(e,t){let n=y.get();n.set(e,t),this.h?this.h.next=n:this.g=n,this.h=n}}var y=new h(()=>new b,e=>e.reset());class b{constructor(){this.next=this.g=this.h=null}set(e,t){this.h=e,this.g=t,this.next=null}reset(){this.next=this.g=this.h=null}}let x,S=!1,C=new v,w=()=>{let e=Promise.resolve(void 0);x=()=>{e.then(ee)}};function ee(){for(var e;e=_();){try{e.h.call(e.g)}catch(e){g(e)}var t=y;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}S=!1}function T(){this.u=this.u,this.C=this.C}T.prototype.u=!1,T.prototype.dispose=function(){this.u||(this.u=!0,this.N())},T.prototype[Symbol.dispose]=function(){this.dispose()},T.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function E(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}E.prototype.h=function(){this.defaultPrevented=!0};var te=function(){if(!o.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},`passive`,{get:function(){e=!0}});try{let e=()=>{};o.addEventListener(`test`,e,t),o.removeEventListener(`test`,e,t)}catch{}return e}();function ne(e){return/^[\s\xa0]*$/.test(e)}function re(e,t){E.call(this,e?e.type:``),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key=``,this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType=``,this.i=null,e&&this.init(e,t)}d(re,E),re.prototype.init=function(e,t){let n=this.type=e.type,r=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,t=e.relatedTarget,t||(n==`mouseover`?t=e.fromElement:n==`mouseout`&&(t=e.toElement)),this.relatedTarget=t,r?(this.clientX=r.clientX===void 0?r.pageX:r.clientX,this.clientY=r.clientY===void 0?r.pageY:r.clientY,this.screenX=r.screenX||0,this.screenY=r.screenY||0):(this.clientX=e.clientX===void 0?e.pageX:e.clientX,this.clientY=e.clientY===void 0?e.pageY:e.clientY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.key=e.key||``,this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.pointerId=e.pointerId||0,this.pointerType=e.pointerType,this.state=e.state,this.i=e,e.defaultPrevented&&re.Z.h.call(this)},re.prototype.h=function(){re.Z.h.call(this);let e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var ie=`closure_listenable_`+(Math.random()*1e6|0),ae=0;function oe(e,t,n,r,i){this.listener=e,this.proxy=null,this.src=t,this.type=n,this.capture=!!r,this.ha=i,this.key=++ae,this.da=this.fa=!1}function se(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function ce(e,t,n){for(let r in e)t.call(n,e[r],r,e)}function D(e,t){for(let n in e)t.call(void 0,e[n],n,e)}function O(e){let t={};for(let n in e)t[n]=e[n];return t}let le=`constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf`.split(` `);function ue(e,t){let n,r;for(let t=1;t<arguments.length;t++){for(n in r=arguments[t],r)e[n]=r[n];for(let t=0;t<le.length;t++)n=le[t],Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}}function de(e){this.src=e,this.g={},this.h=0}de.prototype.add=function(e,t,n,r,i){let a=e.toString();e=this.g[a],e||(e=this.g[a]=[],this.h++);let o=pe(e,t,r,i);return o>-1?(t=e[o],n||(t.fa=!1)):(t=new oe(t,this.src,a,!!r,i),t.fa=n,e.push(t)),t};function fe(e,t){let n=t.type;if(n in e.g){var r=e.g[n],i=Array.prototype.indexOf.call(r,t,void 0),a;(a=i>=0)&&Array.prototype.splice.call(r,i,1),a&&(se(t),e.g[n].length==0&&(delete e.g[n],e.h--))}}function pe(e,t,n,r){for(let i=0;i<e.length;++i){let a=e[i];if(!a.da&&a.listener==t&&a.capture==!!n&&a.ha==r)return i}return-1}var k=`closure_lm_`+(Math.random()*1e6|0),me={};function he(e,t,n,r,i){if(r&&r.once)return ve(e,t,n,r,i);if(Array.isArray(t)){for(let a=0;a<t.length;a++)he(e,t[a],n,r,i);return null}return n=Te(n),e&&e[ie]?e.J(t,n,s(r)?!!r.capture:!!r,i):ge(e,t,n,!1,r,i)}function ge(e,t,n,r,i,a){if(!t)throw Error(`Invalid event type`);let o=s(i)?!!i.capture:!!i,c=Ce(e);if(c||(e[k]=c=new de(e)),n=c.add(t,n,r,o,a),n.proxy)return n;if(r=_e(),n.proxy=r,r.src=e,r.listener=n,e.addEventListener)te||(i=o),i===void 0&&(i=!1),e.addEventListener(t.toString(),r,i);else if(e.attachEvent)e.attachEvent(xe(t.toString()),r);else if(e.addListener&&e.removeListener)e.addListener(r);else throw Error(`addEventListener and attachEvent are unavailable.`);return n}function _e(){function e(n){return t.call(e.src,e.listener,n)}let t=Se;return e}function ve(e,t,n,r,i){if(Array.isArray(t)){for(let a=0;a<t.length;a++)ve(e,t[a],n,r,i);return null}return n=Te(n),e&&e[ie]?e.K(t,n,s(r)?!!r.capture:!!r,i):ge(e,t,n,!0,r,i)}function ye(e,t,n,r,i){if(Array.isArray(t))for(var a=0;a<t.length;a++)ye(e,t[a],n,r,i);else r=s(r)?!!r.capture:!!r,n=Te(n),e&&e[ie]?(e=e.i,a=String(t).toString(),a in e.g&&(t=e.g[a],n=pe(t,n,r,i),n>-1&&(se(t[n]),Array.prototype.splice.call(t,n,1),t.length==0&&(delete e.g[a],e.h--)))):(e&&=Ce(e))&&(t=e.g[t.toString()],e=-1,t&&(e=pe(t,n,r,i)),(n=e>-1?t[e]:null)&&be(n))}function be(e){if(typeof e!=`number`&&e&&!e.da){var t=e.src;if(t&&t[ie])fe(t.i,e);else{var n=e.type,r=e.proxy;t.removeEventListener?t.removeEventListener(n,r,e.capture):t.detachEvent?t.detachEvent(xe(n),r):t.addListener&&t.removeListener&&t.removeListener(r),(n=Ce(t))?(fe(n,e),n.h==0&&(n.src=null,t[k]=null)):se(e)}}}function xe(e){return e in me?me[e]:me[e]=`on`+e}function Se(e,t){if(e.da)e=!0;else{t=new re(t,this);let n=e.listener,r=e.ha||e.src;e.fa&&be(e),e=n.call(r,t)}return e}function Ce(e){return e=e[k],e instanceof de?e:null}var we=`__closure_events_fn_`+(Math.random()*1e9>>>0);function Te(e){return typeof e==`function`?e:(e[we]||(e[we]=function(t){return e.handleEvent(t)}),e[we])}function Ee(){T.call(this),this.i=new de(this),this.M=this,this.G=null}d(Ee,T),Ee.prototype[ie]=!0,Ee.prototype.removeEventListener=function(e,t,n,r){ye(this,e,t,n,r)};function De(e,t){var n,r=e.G;if(r)for(n=[];r;r=r.G)n.push(r);if(e=e.M,r=t.type||t,typeof t==`string`)t=new E(t,e);else if(t instanceof E)t.target=t.target||e;else{var i=t;t=new E(r,e),ue(t,i)}i=!0;let a,o;if(n)for(o=n.length-1;o>=0;o--)a=t.g=n[o],i=Oe(a,r,!0,t)&&i;if(a=t.g=e,i=Oe(a,r,!0,t)&&i,i=Oe(a,r,!1,t)&&i,n)for(o=0;o<n.length;o++)a=t.g=n[o],i=Oe(a,r,!1,t)&&i}Ee.prototype.N=function(){if(Ee.Z.N.call(this),this.i){var e=this.i;for(let t in e.g){let n=e.g[t];for(let e=0;e<n.length;e++)se(n[e]);delete e.g[t],e.h--}}this.G=null},Ee.prototype.J=function(e,t,n,r){return this.i.add(String(e),t,!1,n,r)},Ee.prototype.K=function(e,t,n,r){return this.i.add(String(e),t,!0,n,r)};function Oe(e,t,n,r){if(t=e.i.g[String(t)],!t)return!0;t=t.concat();let i=!0;for(let a=0;a<t.length;++a){let o=t[a];if(o&&!o.da&&o.capture==n){let t=o.listener,n=o.ha||o.src;o.fa&&fe(e.i,o),i=t.call(n,r)!==!1&&i}}return i&&!r.defaultPrevented}function ke(e,t){if(typeof e!=`function`)if(e&&typeof e.handleEvent==`function`)e=l(e.handleEvent,e);else throw Error(`Invalid listener argument`);return Number(t)>2147483647?-1:o.setTimeout(e,t||0)}function Ae(e){e.g=ke(()=>{e.g=null,e.i&&(e.i=!1,Ae(e))},e.l);let t=e.h;e.h=null,e.m.apply(null,t)}class je extends T{constructor(e,t){super(),this.m=e,this.l=t,this.h=null,this.i=!1,this.g=null}j(e){this.h=arguments,this.g?this.i=!0:Ae(this)}N(){super.N(),this.g&&(o.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function Me(e){T.call(this),this.h=e,this.g={}}d(Me,T);var Ne=[];function Pe(e){ce(e.g,function(e,t){this.g.hasOwnProperty(t)&&be(e)},e),e.g={}}Me.prototype.N=function(){Me.Z.N.call(this),Pe(this)},Me.prototype.handleEvent=function(){throw Error(`EventHandler.handleEvent not implemented`)};var Fe=o.JSON.stringify,Ie=o.JSON.parse,Le=class{stringify(e){return o.JSON.stringify(e,void 0)}parse(e){return o.JSON.parse(e,void 0)}};function Re(){}function ze(){}var Be={OPEN:`a`,hb:`b`,ERROR:`c`,tb:`d`};function Ve(){E.call(this,`d`)}d(Ve,E);function He(){E.call(this,`c`)}d(He,E);var Ue={},We=null;function Ge(){return We||=new Ee}Ue.Ia=`serverreachability`;function Ke(e){E.call(this,Ue.Ia,e)}d(Ke,E);function qe(e){let t=Ge();De(t,new Ke(t))}Ue.STAT_EVENT=`statevent`;function Je(e,t){E.call(this,Ue.STAT_EVENT,e),this.stat=t}d(Je,E);function Ye(e){let t=Ge();De(t,new Je(t,e))}Ue.Ja=`timingevent`;function Xe(e,t){E.call(this,Ue.Ja,e),this.size=t}d(Xe,E);function Ze(e,t){if(typeof e!=`function`)throw Error(`Fn must not be null and must be a function`);return o.setTimeout(function(){e()},t)}function Qe(){this.g=!0}Qe.prototype.ua=function(){this.g=!1};function $e(e,t,n,r,i,a){e.info(function(){if(e.g)if(a){var o=``,s=a.split(`&`);for(let e=0;e<s.length;e++){var c=s[e].split(`=`);if(c.length>1){let e=c[0];c=c[1];let t=e.split(`_`);o=t.length>=2&&t[1]==`type`?o+(e+`=`+c+`&`):o+(e+`=redacted&`)}}}else o=null;else o=a;return`XMLHTTP REQ (`+r+`) [attempt `+i+`]: `+t+`
|
|
120
120
|
`+n+`
|
|
121
121
|
`+o})}function et(e,t,n,r,i,a,o){e.info(function(){return`XMLHTTP RESP (`+r+`) [ attempt `+i+`]: `+t+`
|
|
122
122
|
`+n+`
|
|
@@ -146,4 +146,4 @@ Body:
|
|
|
146
146
|
receiver_upi: "upi_id",
|
|
147
147
|
amount: 244
|
|
148
148
|
})`:`null`}
|
|
149
|
-
});`}),(0,F.jsx)(`p`,{className:`urlabout`,children:e.about})]},e.url))]})}function aO(){return(0,F.jsxs)(_w,{children:[(0,F.jsx)(nO,{}),(0,F.jsx)(iO,{})]})}function oO(){return(0,F.jsx)(`div`,{className:`demoheading`,children:`🚀 FDPay Developer Payment System`})}function sO(){return(0,F.jsx)(`div`,{className:`installBox`,children:(0,F.jsx)(`a`,{href:`https://www.npmjs.com/package/
|
|
149
|
+
});`}),(0,F.jsx)(`p`,{className:`urlabout`,children:e.about})]},e.url))]})}function aO(){return(0,F.jsxs)(_w,{children:[(0,F.jsx)(nO,{}),(0,F.jsx)(iO,{})]})}function oO(){return(0,F.jsx)(`div`,{className:`demoheading`,children:`🚀 FDPay Developer Payment System`})}function sO(){return(0,F.jsx)(`div`,{className:`installBox`,children:(0,F.jsx)(`a`,{href:`https://www.npmjs.com/package/fddevpay`,target:`_blank`,children:(0,F.jsx)(`code`,{children:`npm i fddevpay`})})})}function cO({title:e,children:t}){return(0,F.jsxs)(`div`,{className:`section`,children:[(0,F.jsx)(`h3`,{children:e}),t]})}function lO({text:e,error:t}){return(0,F.jsx)(`p`,{className:t?`step error`:`step`,children:e})}function uO(){return(0,F.jsxs)(`div`,{className:`section`,children:[(0,F.jsx)(`h3`,{children:`💳 Payment Flow Setup`}),(0,F.jsxs)(`div`,{className:`flowStep`,children:[(0,F.jsx)(`h4`,{children:`1️⃣ Make your fake bank account`}),(0,F.jsx)(`p`,{children:`Create a demo bank account inside FDPay dashboard.`})]}),(0,F.jsxs)(`div`,{className:`flowStep`,children:[(0,F.jsx)(`h4`,{children:`2️⃣ Create your fake UPI ID`}),(0,F.jsx)(`p`,{children:`Generate a UPI ID based on your created bank account.`})]}),(0,F.jsxs)(`div`,{className:`flowStep`,children:[(0,F.jsx)(`h4`,{children:`3️⃣ Test payment flow`}),(0,F.jsx)(`p`,{children:`Send payment from sender UPI ID to receiver UPI ID to simulate real transactions.`})]}),(0,F.jsxs)(`div`,{className:`flowStep`,children:[(0,F.jsx)(`h4`,{children:`4️⃣ Get Secret Key`}),(0,F.jsx)(`p`,{children:`If you want to use FDPay in your local system, generate your secret key from dashboard.`})]}),(0,F.jsxs)(`div`,{className:`flowStep`,children:[(0,F.jsx)(`h4`,{children:`5️⃣ Run your project locally`}),(0,F.jsxs)(`p`,{children:[`Make sure your project is running on:`,(0,F.jsx)(`br`,{}),(0,F.jsx)(`code`,{children:`http://localhost:5173/`}),(0,F.jsx)(`code`,{children:`http://localhost:5174/`}),(0,F.jsx)(`code`,{children:`http://localhost:3000/`}),(0,F.jsx)(`code`,{children:`http://localhost:4000/`})]})]})]})}function dO(){return(0,F.jsxs)(`div`,{className:`democontainer`,children:[(0,F.jsx)(oO,{}),(0,F.jsx)(cO,{title:`📦 Installation`,children:(0,F.jsx)(sO,{})}),(0,F.jsxs)(cO,{title:`⚙️ Usage`,children:[(0,F.jsx)(lO,{text:`Run the dashboard using CLI command`}),(0,F.jsx)(lO,{text:`run npx fddevpay`})]}),(0,F.jsx)(uO,{}),(0,F.jsxs)(cO,{title:`❗ Troubleshooting`,children:[(0,F.jsx)(lO,{text:`If any error occurs during installation`,error:!0}),(0,F.jsx)(lO,{text:`Go to C:\\Users\\user\\AppData\\Roaming\\npm directory`}),(0,F.jsx)(lO,{text:`Delete fddevpay.ps1 file`}),(0,F.jsx)(lO,{text:`Run npx fddevpay again`})]})]})}function fO(){return(0,F.jsx)(dO,{})}function pO(){return(0,F.jsx)(Dn,{children:(0,F.jsxs)(Bt,{children:[(0,F.jsx)(zt,{path:`/`,element:(0,F.jsx)(gu,{})}),(0,F.jsx)(zt,{path:`/login`,element:(0,F.jsx)(UC,{})}),(0,F.jsx)(zt,{path:`/signup`,element:(0,F.jsx)(WC,{})}),(0,F.jsxs)(zt,{path:`/Deshboard/:email`,element:(0,F.jsx)(VD,{children:(0,F.jsx)(gw,{})}),children:[(0,F.jsx)(zt,{index:!0,element:(0,F.jsx)(fO,{})}),(0,F.jsx)(zt,{index:!0,path:`demo`,element:(0,F.jsx)(fO,{})}),(0,F.jsx)(zt,{path:`bankAcount`,element:(0,F.jsx)(xD,{})}),(0,F.jsx)(zt,{path:`MybankAcount/:account_no`,element:(0,F.jsx)(PD,{})}),(0,F.jsx)(zt,{path:`PaymentMethod`,element:(0,F.jsx)(RD,{})}),(0,F.jsx)(zt,{path:`AccountDatabase`,element:(0,F.jsx)(BD,{})}),(0,F.jsx)(zt,{path:`Fakeupi`,element:(0,F.jsx)(UD,{})}),(0,F.jsx)(zt,{path:`Shop`,element:(0,F.jsx)(KD,{})}),(0,F.jsx)(zt,{path:`History`,element:(0,F.jsx)(YD,{})}),(0,F.jsx)(zt,{path:`Payment`,element:(0,F.jsx)(ZD,{})}),(0,F.jsx)(zt,{path:`Fdamil`,element:(0,F.jsx)(QD,{})}),(0,F.jsx)(zt,{path:`getkey`,element:(0,F.jsx)(aO,{})}),(0,F.jsx)(zt,{path:`ShopData/:image/:name/:price`,element:(0,F.jsx)(qD,{})})]})]})})}(0,_.createRoot)(document.getElementById(`root`)).render((0,F.jsx)(v.StrictMode,{children:(0,F.jsx)(pO,{})}));
|
package/dist/index.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>Fdpay</title>
|
|
7
|
-
<script type="module" crossorigin src="./assets/index-
|
|
7
|
+
<script type="module" crossorigin src="./assets/index-CIcZxQ5w.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="./assets/index-OWd64B32.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|