From 54fe00af1654cff2f549fb3ee3e8667394fd2551 Mon Sep 17 00:00:00 2001 From: Isaac Aracena Date: Thu, 7 May 2026 10:50:43 -0400 Subject: [PATCH] Add build artifacts (dist folder) for deployment --- .gitignore | 1 - dist/assets/index-DL4z2LvD.js | 9 +++++++++ dist/assets/index-DU5ZO3Ig.css | 1 + dist/favicon.svg | 1 + dist/icons.svg | 24 ++++++++++++++++++++++++ dist/index.html | 14 ++++++++++++++ 6 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 dist/assets/index-DL4z2LvD.js create mode 100644 dist/assets/index-DU5ZO3Ig.css create mode 100644 dist/favicon.svg create mode 100644 dist/icons.svg create mode 100644 dist/index.html diff --git a/.gitignore b/.gitignore index 80ce651..4842e6f 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,6 @@ lerna-debug.log* node_modules/ # Build outputs -dist/ build/ dist-ssr/ diff --git a/dist/assets/index-DL4z2LvD.js b/dist/assets/index-DL4z2LvD.js new file mode 100644 index 0000000..986e46c --- /dev/null +++ b/dist/assets/index-DL4z2LvD.js @@ -0,0 +1,9 @@ +var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports);(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var t=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var ee=Array.isArray;function S(){}var C={H:null,A:null,T:null,S:null},te=Object.prototype.hasOwnProperty;function ne(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function re(e,t){return ne(e.type,t,e.props)}function w(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ie(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var ae=/\/+/g;function oe(e,t){return typeof e==`object`&&e&&e.key!=null?ie(``+e.key):t.toString(36)}function se(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(S,S):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ce(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ce(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+oe(e,0):a,ee(o)?(i=``,c!=null&&(i=c.replace(ae,`$&/`)+`/`),ce(o,r,i,``,function(e){return e})):o!=null&&(w(o)&&(o=re(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(ae,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(ee(e))for(var u=0;u{n.exports=t()})),r=e((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,ee||(ee=!0,w());else{var t=n(l);t!==null&&oe(x,t.startTime-e)}}var ee=!1,S=-1,C=5,te=-1;function ne(){return g?!0:!(e.unstable_now()-tet&&ne());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&oe(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?w():ee=!1}}}var w;if(typeof y==`function`)w=function(){y(re)};else if(typeof MessageChannel<`u`){var ie=new MessageChannel,ae=ie.port2;ie.port1.onmessage=re,w=function(){ae.postMessage(null)}}else w=function(){_(re,0)};function oe(t,n){S=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(S),S=-1):h=!0,oe(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ee||(ee=!0,w()))),r},e.unstable_shouldYield=ne,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),i=e(((e,t)=>{t.exports=r()})),a=e((e=>{var t=n();function r(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=a()})),s=e((e=>{var t=i(),r=n(),a=o();function s(e){var t=`https://react.dev/errors/`+e;if(1pe||(e.current=fe[pe],fe[pe]=null,pe--)}function O(e,t){pe++,fe[pe]=e.current,e.current=t}var he=me(null),ge=me(null),_e=me(null),ve=me(null);function ye(e,t){switch(O(_e,t),O(ge,e),O(he,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}D(he),O(he,e)}function be(){D(he),D(ge),D(_e)}function xe(e){e.memoizedState!==null&&O(ve,e);var t=he.current,n=Hd(t,e.type);t!==n&&(O(ge,e),O(he,n))}function Se(e){ge.current===e&&(D(he),D(ge)),ve.current===e&&(D(ve),Qf._currentValue=de)}var Ce,we;function Te(e){if(Ce===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Ce=t&&t[1]||``,we=-1)`:-1i||c[r]!==l[i]){var u=` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Ee=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Te(n):``}function Oe(e,t){switch(e.tag){case 26:case 27:case 5:return Te(e.type);case 16:return Te(`Lazy`);case 13:return e.child!==t&&t!==null?Te(`Suspense Fallback`):Te(`Suspense`);case 19:return Te(`SuspenseList`);case 0:case 15:return De(e.type,!1);case 11:return De(e.type.render,!1);case 1:return De(e.type,!0);case 31:return Te(`Activity`);default:return``}}function ke(e){try{var t=``,n=null;do t+=Oe(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}var Ae=Object.prototype.hasOwnProperty,je=t.unstable_scheduleCallback,k=t.unstable_cancelCallback,Me=t.unstable_shouldYield,Ne=t.unstable_requestPaint,Pe=t.unstable_now,Fe=t.unstable_getCurrentPriorityLevel,Ie=t.unstable_ImmediatePriority,Le=t.unstable_UserBlockingPriority,Re=t.unstable_NormalPriority,ze=t.unstable_LowPriority,Be=t.unstable_IdlePriority,Ve=t.log,He=t.unstable_setDisableYieldValue,Ue=null,We=null;function Ge(e){if(typeof Ve==`function`&&He(e),We&&typeof We.setStrictMode==`function`)try{We.setStrictMode(Ue,e)}catch{}}var Ke=Math.clz32?Math.clz32:Ye,qe=Math.log,Je=Math.LN2;function Ye(e){return e>>>=0,e===0?32:31-(qe(e)/Je|0)|0}var Xe=256,Ze=262144,Qe=4194304;function $e(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function et(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=$e(n))):i=$e(o):i=$e(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=$e(n))):i=$e(o)):i=$e(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function tt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function nt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function rt(){var e=Qe;return Qe<<=1,!(Qe&62914560)&&(Qe=4194304),e}function it(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function at(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ot(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),yn=!1;if(vn)try{var bn={};Object.defineProperty(bn,`passive`,{get:function(){yn=!0}}),window.addEventListener(`test`,bn,bn),window.removeEventListener(`test`,bn,bn)}catch{yn=!1}var xn=null,Sn=null,Cn=null;function wn(){if(Cn)return Cn;var e,t=Sn,n=t.length,r,i=`value`in xn?xn.value:xn.textContent,a=i.length;for(e=0;e=tr),ir=` `,ar=!1;function or(e,t){switch(e){case`keyup`:return $n.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function sr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var cr=!1;function lr(e,t){switch(e){case`compositionend`:return sr(t);case`keypress`:return t.which===32?(ar=!0,ir):null;case`textInput`:return e=t.data,e===ir&&ar?null:e;default:return null}}function ur(e,t){if(cr)return e===`compositionend`||!er&&or(e,t)?(e=wn(),Cn=Sn=xn=null,cr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Mr(n)}}function Pr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Pr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Gt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Gt(e.document)}return t}function Ir(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Lr=vn&&`documentMode`in document&&11>=document.documentMode,Rr=null,zr=null,Br=null,Vr=!1;function Hr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Vr||Rr==null||Rr!==Gt(r)||(r=Rr,`selectionStart`in r&&Ir(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Br&&jr(Br,r)||(Br=r,r=Ed(zr,`onSelect`),0>=o,i-=o,Pi=1<<32-Ke(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),o=a(_,o,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),M&&Ii(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),o=a(y,o,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),M&&Ii(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(o=a(v,o,g),d===null?u=v:d.sibling=v,d=v);return M&&Ii(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),o=a(v,o,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),M&&Ii(i,g),u}function b(e,r,a,c){if(typeof a==`object`&&a&&a.type===y&&a.key===null&&(a=a.props.children),typeof a==`object`&&a){switch(a.$$typeof){case _:a:{for(var l=a.key;r!==null;){if(r.key===l){if(l=a.type,l===y){if(r.tag===7){n(e,r.sibling),c=i(r,a.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===w&&Pa(l)===r.type){n(e,r.sibling),c=i(r,a.props),Va(c,a),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}a.type===y?(c=xi(a.props.children,e.mode,c,a.key),c.return=e,e=c):(c=bi(a.type,a.key,a.props,null,e.mode,c),Va(c,a),c.return=e,e=c)}return o(e);case v:a:{for(l=a.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),c=i(r,a.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=wi(a,e.mode,c),c.return=e,e=c}return o(e);case w:return a=Pa(a),b(e,r,a,c)}if(ue(a))return h(e,r,a,c);if(se(a)){if(l=se(a),typeof l!=`function`)throw Error(s(150));return a=l.call(a),g(e,r,a,c)}if(typeof a.then==`function`)return b(e,r,Ba(a),c);if(a.$$typeof===S)return b(e,r,la(e,a),c);Ha(e,a)}return typeof a==`string`&&a!==``||typeof a==`number`||typeof a==`bigint`?(a=``+a,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,a),c.return=e,e=c):(n(e,r),c=Si(a,e.mode,c),c.return=e,e=c),o(e)):n(e,r)}return function(e,t,n,r){try{za=0;var i=b(e,t,n,r);return Ra=null,i}catch(t){if(t===Oa||t===Aa)throw t;var a=gi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Wa=Ua(!0),Ga=Ua(!1),Ka=!1;function qa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ja(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ya(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Xa(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,G&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=pi(e),fi(e,null,n),t}return li(e,r,t,n),pi(e)}function Za(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ct(e,n)}}function Qa(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var $a=!1;function eo(){if($a){var e=ya;if(e!==null)throw e}}function to(e,t,n,r){$a=!1;var i=e.updateQueue;Ka=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(J&f)===f:(r&f)===f){f!==0&&f===va&&($a=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:Ka=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Gl|=o,e.lanes=o,e.memoizedState=d}}function no(e,t){if(typeof e!=`function`)throw Error(s(191,e));e.call(t)}function ro(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=T.T,s={};T.T=s,Ls(e,!1,t,n);try{var c=i(),l=T.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Is(e,t,Sa(c,r),pu(e)):Is(e,t,r,pu(e))}catch(n){Is(e,t,{then:function(){},status:`rejected`,reason:n},pu())}finally{E.p=a,o!==null&&s.types!==null&&(o.types=s.types),T.T=o}}function Es(){}function Ds(e,t,n,r){if(e.tag!==5)throw Error(s(476));var i=Os(e).queue;Ts(e,i,t,de,n===null?Es:function(){return ks(e),n(r)})}function Os(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:de,baseState:de,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zo,lastRenderedState:de},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ks(e){var t=Os(e);t.next===null&&(t=e.alternate.memoizedState),Is(e,t.next.queue,{},pu())}function As(){return ca(Qf)}function js(){return z().memoizedState}function Ms(){return z().memoizedState}function Ns(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=pu();e=Ya(n);var r=Xa(t,e,n);r!==null&&(hu(r,t,n),Za(r,t,n)),t={cache:ma()},e.payload=t;return}t=t.return}}function Ps(e,t,n){var r=pu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Rs(e)?zs(t,n):(n=ui(e,t,n,r),n!==null&&(hu(n,e,r),Bs(n,t,r)))}function Fs(e,t,n){Is(e,t,n,pu())}function Is(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Rs(e))zs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Ar(s,o))return li(e,t,i,0),K===null&&ci(),!1}catch{}if(n=ui(e,t,i,r),n!==null)return hu(n,e,r),Bs(n,t,r),!0}return!1}function Ls(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Rs(e)){if(t)throw Error(s(479))}else t=ui(e,n,r,2),t!==null&&hu(t,e,2)}function Rs(e){var t=e.alternate;return e===F||t!==null&&t===F}function zs(e,t){bo=yo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Bs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ct(e,n)}}var Vs={readContext:ca,use:Lo,useCallback:R,useContext:R,useEffect:R,useImperativeHandle:R,useLayoutEffect:R,useInsertionEffect:R,useMemo:R,useReducer:R,useRef:R,useState:R,useDebugValue:R,useDeferredValue:R,useTransition:R,useSyncExternalStore:R,useId:R,useHostTransitionStatus:R,useFormState:R,useActionState:R,useOptimistic:R,useMemoCache:R,useCacheRefresh:R};Vs.useEffectEvent=R;var Hs={readContext:ca,use:Lo,useCallback:function(e,t){return Po().memoizedState=[e,t===void 0?null:t],e},useContext:ca,useEffect:fs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),us(4194308,4,vs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){us(4,2,e,t)},useMemo:function(e,t){var n=Po();t=t===void 0?null:t;var r=e();if(xo){Ge(!0);try{e()}finally{Ge(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Po();if(n!==void 0){var i=n(t);if(xo){Ge(!0);try{n(t)}finally{Ge(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ps.bind(null,F,e),[r.memoizedState,e]},useRef:function(e){var t=Po();return e={current:e},t.memoizedState=e},useState:function(e){e=Yo(e);var t=e.queue,n=Fs.bind(null,F,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:bs,useDeferredValue:function(e,t){return Cs(Po(),e,t)},useTransition:function(){var e=Yo(!1);return e=Ts.bind(null,F,e.queue,!0,!1),Po().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=F,i=Po();if(M){if(n===void 0)throw Error(s(407));n=n()}else{if(n=t(),K===null)throw Error(s(349));J&127||Wo(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,fs(Ko.bind(null,r,a,e),[e]),r.flags|=2048,cs(9,{destroy:void 0},Go.bind(null,r,a,n,t),null),n},useId:function(){var e=Po(),t=K.identifierPrefix;if(M){var n=Fi,r=Pi;n=(r&~(1<<32-Ke(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=So++,0<\/script>`,a=a.removeChild(a.firstChild);break;case`select`:a=typeof r.is==`string`?o.createElement(`select`,{is:r.is}):o.createElement(`select`),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is==`string`?o.createElement(i,{is:r.is}):o.createElement(i)}}a[ht]=t,a[gt]=r;a:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)a.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break a;for(;o.sibling===null;){if(o.return===null||o.return===t)break a;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=a;a:switch(Pd(a,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Fc(t)}}return H(t),Ic(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Fc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(s(166));if(e=_e.current,Ji(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Vi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[ht]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||Gi(t,!0)}else e=Bd(e).createTextNode(r),e[ht]=t,t.stateNode=e}return H(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ji(t),n!==null){if(e===null){if(!r)throw Error(s(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(s(557));e[ht]=t}else Yi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;H(t),e=!1}else n=Xi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(go(t),t):(go(t),null);if(t.flags&128)throw Error(s(558))}return H(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Ji(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(s(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(s(317));i[ht]=t}else Yi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;H(t),i=!1}else i=Xi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(go(t),t):(go(t),null)}return go(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Rc(t,t.updateQueue),H(t),null);case 4:return be(),e===null&&Sd(t.stateNode.containerInfo),H(t),null;case 10:return na(t.type),H(t),null;case 19:if(D(P),r=t.memoizedState,r===null)return H(t),null;if(i=(t.flags&128)!=0,a=r.rendering,a===null)if(i)zc(r,!1);else{if(X!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(a=_o(e),a!==null){for(t.flags|=128,zc(r,!1),e=a.updateQueue,t.updateQueue=e,Rc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)yi(n,e),n=n.sibling;return O(P,P.current&1|2),M&&Ii(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Pe()>tu&&(t.flags|=128,i=!0,zc(r,!1),t.lanes=4194304)}else{if(!i)if(e=_o(a),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Rc(t,e),zc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!a.alternate&&!M)return H(t),null}else 2*Pe()-r.renderingStartTime>tu&&n!==536870912&&(t.flags|=128,i=!0,zc(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e===null?t.child=a:e.sibling=a,r.last=a)}return r.tail===null?(H(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Pe(),e.sibling=null,n=P.current,O(P,i?n&1|2:n&1),M&&Ii(t,r.treeForkCount),e);case 22:case 23:return go(t),co(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(H(t),t.subtreeFlags&6&&(t.flags|=8192)):H(t),n=t.updateQueue,n!==null&&Rc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&D(wa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),na(N),H(t),null;case 25:return null;case 30:return null}throw Error(s(156,t.tag))}function Vc(e,t){switch(zi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return na(N),be(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Se(t),null;case 31:if(t.memoizedState!==null){if(go(t),t.alternate===null)throw Error(s(340));Yi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(go(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));Yi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return D(P),null;case 4:return be(),null;case 10:return na(t.type),null;case 22:case 23:return go(t),co(),e!==null&&D(wa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return na(N),null;case 25:return null;default:return null}}function Hc(e,t){switch(zi(t),t.tag){case 3:na(N),be();break;case 26:case 27:case 5:Se(t);break;case 4:be();break;case 31:t.memoizedState!==null&&go(t);break;case 13:go(t);break;case 19:D(P);break;case 10:na(t.type);break;case 22:case 23:go(t),co(),e!==null&&D(wa);break;case 24:na(N)}}function Uc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Wc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Gc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{ro(t,n)}catch(t){Z(e,e.return,t)}}}function Kc(e,t,n){n.props=Ys(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function qc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function Jc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}function Yc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Z(e,e.return,t)}}function Xc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[gt]=t}catch(t){Z(e,e.return,t)}}function Zc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Qc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Zc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function $c(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ln));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for($c(e,t,n),e=e.sibling;e!==null;)$c(e,t,n),e=e.sibling}function el(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(el(e,t,n),e=e.sibling;e!==null;)el(e,t,n),e=e.sibling}function tl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[ht]=e,t[gt]=n}catch(t){Z(e,e.return,t)}}var nl=!1,U=!1,rl=!1,il=typeof WeakSet==`function`?WeakSet:Set,al=null;function ol(e,t){if(e=e.containerInfo,Rd=sp,e=Fr(e),Ir(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break a}var o=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=o+i),f!==a||r!==0&&f.nodeType!==3||(l=o+r),f.nodeType===3&&(o+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=o),p===a&&++d===r&&(l=o),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,al=t;al!==null;)if(t=al,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,al=e;else for(;al!==null;){switch(t=al,a=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Pd(a,r,n),a[ht]=e,Ot(a),r=a;break a;case`link`:var o=Vf(`link`,`href`,i).get(r+(n.href||``));if(o){for(var c=0;cg&&(o=g,g=h,h=o);var _=Nr(s,h),v=Nr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,T.T=null,n=lu,lu=null;var a=au,o=su;if(iu=0,ou=au=null,su=0,G&6)throw Error(s(331));var c=G;if(G|=4,Fl(a.current),Dl(a,a.current,o,n),G=c,id(0,!1),We&&typeof We.onPostCommitFiberRoot==`function`)try{We.onPostCommitFiberRoot(Ue,a)}catch{}return!0}finally{E.p=i,T.T=r,Vu(e,t)}}function Wu(e,t,n){t=Ei(n,t),t=tc(e.stateNode,t,2),e=Xa(e,t,2),e!==null&&(at(e,2),rd(e))}function Z(e,t,n){if(e.tag===3)Wu(e,e,n);else for(;t!==null;){if(t.tag===3){Wu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ru===null||!ru.has(r))){e=Ei(n,e),n=nc(2),r=Xa(t,n,2),r!==null&&(rc(n,r,t,e),at(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new zl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Ul=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,K===e&&(J&n)===n&&(X===4||X===3&&(J&62914560)===J&&300>Pe()-$l?!(G&2)&&Su(e,0):ql|=n,Yl===J&&(Yl=0)),rd(e)}function qu(e,t){t===0&&(t=rt()),e=di(e,t),e!==null&&(at(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(s(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return je(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Ke(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=J,a=et(r,r===K?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||tt(r,a)||(n=!0,ld(r,a));r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Gd()&&(e=nd);for(var t=Pe(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}iu!==0&&iu!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=qt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),Ot(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+qt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+qt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+qt(n.imageSizes)+`"]`)):i+=`[href="`+qt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),Ot(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+qt(r)+`"][href="`+qt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),Ot(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=Dt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);Ot(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=Dt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),Ot(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=Dt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),Ot(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var i=(i=_e.current)?gf(i):null;if(!i)throw Error(s(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=Dt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var a=Dt(i).hoistableStyles,o=a.get(e);if(o||(i=i.ownerDocument||i,o={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},a.set(e,o),(a=i.querySelector(jf(e)))&&!a._p&&(o.instance=a,o.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),a||Nf(i,e,n,o.state))),t&&r===null)throw Error(s(528,``));return o}if(t&&r!==null)throw Error(s(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=Dt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(s(444,e))}}function Af(e){return`href="`+qt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),Ot(t),e.head.appendChild(t))}function Pf(e){return`[src="`+qt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+qt(n.href)+`"]`);if(r)return t.instance=r,Ot(r),r;var i=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Ot(r),Pd(r,`style`,i),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Af(n.href);var a=e.querySelector(jf(i));if(a)return t.state.loading|=4,t.instance=a,Ot(a),a;r=Mf(n),(i=mf.get(i))&&Rf(r,i),a=(e.ownerDocument||e).createElement(`link`),Ot(a);var o=a;return o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),t.state.loading|=4,Lf(a,n.precedence,e),t.instance=a;case`script`:return a=Pf(n.src),(i=e.querySelector(Ff(a)))?(t.instance=i,Ot(i),i):(r=n,(i=mf.get(a))&&(r=h({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),Ot(i),Pd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(s(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Ot(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),Ot(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=s()})),l=n(),u=c(),d=()=>void 0,f=function(e){let t=[],n=0;for(let r=0;r>6|192,t[n++]=i&63|128):(i&64512)==55296&&r+1>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},p=function(e){let t=[],n=0,r=0;for(;n191&&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(``)},m={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>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(f(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):p(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let t=0;t>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_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},h=class extends Error{constructor(){super(...arguments),this.name=`DecodeBase64StringError`}},g=function(e){let t=f(e);return m.encodeByteArray(t,!0)},_=function(e){return g(e).replace(/\./g,``)},v=function(e){try{return m.decodeString(e,!0)}catch(e){console.error(`base64Decode failed: `,e)}return null};function y(){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 b=()=>y().__FIREBASE_DEFAULTS__,x=()=>{if(typeof process>`u`)return;let e={}.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)},ee=()=>{if(typeof document>`u`)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}let t=e&&v(e[1]);return t&&JSON.parse(t)},S=()=>{try{return d()||b()||x()||ee()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},C=e=>S()?.emulatorHosts?.[e],te=()=>S()?.config,ne=e=>S()?.[`_${e}`],re=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 w(){return typeof navigator<`u`&&typeof navigator.userAgent==`string`?navigator.userAgent:``}function ie(){return typeof window<`u`&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(w())}function ae(){return typeof navigator<`u`&&navigator.userAgent===`Cloudflare-Workers`}function oe(){let e=typeof chrome==`object`?chrome.runtime:typeof browser==`object`?browser.runtime:void 0;return typeof e==`object`&&e.id!==void 0}function se(){return typeof navigator==`object`&&navigator.product===`ReactNative`}function ce(){let e=w();return e.indexOf(`MSIE `)>=0||e.indexOf(`Trident/`)>=0}function le(){try{return typeof indexedDB==`object`}catch{return!1}}function ue(){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 T=`FirebaseError`,E=class e extends Error{constructor(t,n,r){super(n),this.code=t,this.customData=r,this.name=T,Object.setPrototypeOf(this,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,de.prototype.create)}},de=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?fe(i,n):`Error`;return new E(r,`${this.serviceName}: ${a} (${r}).`,n)}};function fe(e,t){return e.replace(pe,(e,n)=>{let r=t[n];return r==null?`<${n}?>`:String(r)})}var pe=/\{\$([^}]+)}/g;function me(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function D(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(O(n)&&O(a)){if(!D(n,a))return!1}else if(n!==a)return!1}for(let e of r)if(!n.includes(e))return!1;return!0}function O(e){return typeof e==`object`&&!!e}function he(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 ge(e){let t={};return e.replace(/^\?/,``).split(`&`).forEach(e=>{if(e){let[n,r]=e.split(`=`);t[decodeURIComponent(n)]=decodeURIComponent(r)}}),t}function _e(e){let t=e.indexOf(`?`);if(!t)return``;let n=e.indexOf(`#`,t);return e.substring(t,n>0?n:void 0)}function ve(e,t){let n=new ye(e,t);return n.subscribe.bind(n)}var ye=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=be(e,[`next`,`error`,`complete`])?e:{next:e,error:t,complete:n},r.next===void 0&&(r.next=xe),r.error===void 0&&(r.error=xe),r.complete===void 0&&(r.complete=xe);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{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 be(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 xe(){}function Se(e){return e&&e._delegate?e._delegate:e}function Ce(e){try{return(e.startsWith(`http://`)||e.startsWith(`https://`)?new URL(e).hostname:e).endsWith(`.cloudworkstations.dev`)}catch{return!1}}async function we(e){return(await fetch(e,{credentials:`include`})).ok}var Te=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}},Ee=`[DEFAULT]`,De=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 re;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(ke(e))try{this.getOrInitializeService({instanceIdentifier:Ee})}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=Ee){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=Ee){return this.instances.has(e)}getOptions(e=Ee){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:Oe(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=Ee){return this.component?this.component.multipleInstances?e:Ee:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!==`EXPLICIT`}};function Oe(e){return e===Ee?void 0:e}function ke(e){return e.instantiationMode===`EAGER`}var Ae=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 De(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}},je=[],k;(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`})(k||={});var Me={debug:k.DEBUG,verbose:k.VERBOSE,info:k.INFO,warn:k.WARN,error:k.ERROR,silent:k.SILENT},Ne=k.INFO,Pe={[k.DEBUG]:`log`,[k.VERBOSE]:`log`,[k.INFO]:`info`,[k.WARN]:`warn`,[k.ERROR]:`error`},Fe=(e,t,...n)=>{if(tt.some(t=>e instanceof t),Re,ze;function Be(){return Re||=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function Ve(){return ze||=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]}var He=new WeakMap,Ue=new WeakMap,We=new WeakMap,Ge=new WeakMap,Ke=new WeakMap;function qe(e){let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`success`,i),e.removeEventListener(`error`,a)},i=()=>{t($e(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(`success`,i),e.addEventListener(`error`,a)});return t.then(t=>{t instanceof IDBCursor&&He.set(t,e)}).catch(()=>{}),Ke.set(t,e),t}function Je(e){if(Ue.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)});Ue.set(e,t)}var Ye={get(e,t,n){if(e instanceof IDBTransaction){if(t===`done`)return Ue.get(e);if(t===`objectStoreNames`)return e.objectStoreNames||We.get(e);if(t===`store`)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return $e(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 Xe(e){Ye=e(Ye)}function Ze(e){return e===IDBDatabase.prototype.transaction&&!(`objectStoreNames`in IDBTransaction.prototype)?function(t,...n){let r=e.call(et(this),t,...n);return We.set(r,t.sort?t.sort():[t]),$e(r)}:Ve().includes(e)?function(...t){return e.apply(et(this),t),$e(He.get(this))}:function(...t){return $e(e.apply(et(this),t))}}function Qe(e){return typeof e==`function`?Ze(e):(e instanceof IDBTransaction&&Je(e),Le(e,Be())?new Proxy(e,Ye):e)}function $e(e){if(e instanceof IDBRequest)return qe(e);if(Ge.has(e))return Ge.get(e);let t=Qe(e);return t!==e&&(Ge.set(e,t),Ke.set(t,e)),t}var et=e=>Ke.get(e);function tt(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){let o=indexedDB.open(e,t),s=$e(o);return r&&o.addEventListener(`upgradeneeded`,e=>{r($e(o.result),e.oldVersion,e.newVersion,$e(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 nt=[`get`,`getKey`,`getAll`,`getAllKeys`,`count`],rt=[`put`,`add`,`delete`,`clear`],it=new Map;function at(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t==`string`))return;if(it.get(t))return it.get(t);let n=t.replace(/FromIndex$/,``),r=t!==n,i=rt.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||nt.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 it.set(t,a),a}Xe(e=>({...e,get:(t,n,r)=>at(t,n)||e.get(t,n,r),has:(t,n)=>!!at(t,n)||e.has(t,n)}));var ot=class{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{if(st(e)){let t=e.getImmediate();return`${t.library}/${t.version}`}else return null}).filter(e=>e).join(` `)}};function st(e){return e.getComponent()?.type===`VERSION`}var ct=`@firebase/app`,lt=`0.14.11`,ut=new Ie(`@firebase/app`),dt=`@firebase/app-compat`,ft=`@firebase/analytics-compat`,pt=`@firebase/analytics`,mt=`@firebase/app-check-compat`,ht=`@firebase/app-check`,gt=`@firebase/auth`,_t=`@firebase/auth-compat`,vt=`@firebase/database`,yt=`@firebase/data-connect`,bt=`@firebase/database-compat`,xt=`@firebase/functions`,St=`@firebase/functions-compat`,Ct=`@firebase/installations`,wt=`@firebase/installations-compat`,Tt=`@firebase/messaging`,Et=`@firebase/messaging-compat`,Dt=`@firebase/performance`,Ot=`@firebase/performance-compat`,kt=`@firebase/remote-config`,At=`@firebase/remote-config-compat`,jt=`@firebase/storage`,Mt=`@firebase/storage-compat`,Nt=`@firebase/firestore`,Pt=`@firebase/ai`,Ft=`@firebase/firestore-compat`,It=`firebase`,Lt=`12.12.0`,Rt=`[DEFAULT]`,zt={[ct]:`fire-core`,[dt]:`fire-core-compat`,[pt]:`fire-analytics`,[ft]:`fire-analytics-compat`,[ht]:`fire-app-check`,[mt]:`fire-app-check-compat`,[gt]:`fire-auth`,[_t]:`fire-auth-compat`,[vt]:`fire-rtdb`,[yt]:`fire-data-connect`,[bt]:`fire-rtdb-compat`,[xt]:`fire-fn`,[St]:`fire-fn-compat`,[Ct]:`fire-iid`,[wt]:`fire-iid-compat`,[Tt]:`fire-fcm`,[Et]:`fire-fcm-compat`,[Dt]:`fire-perf`,[Ot]:`fire-perf-compat`,[kt]:`fire-rc`,[At]:`fire-rc-compat`,[jt]:`fire-gcs`,[Mt]:`fire-gcs-compat`,[Nt]:`fire-fst`,[Ft]:`fire-fst-compat`,[Pt]:`fire-vertex`,"fire-js":`fire-js`,[It]:`fire-js-all`},Bt=new Map,Vt=new Map,Ht=new Map;function Ut(e,t){try{e.container.addComponent(t)}catch(n){ut.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function Wt(e){let t=e.name;if(Ht.has(t))return ut.debug(`There were multiple attempts to register component ${t}.`),!1;Ht.set(t,e);for(let t of Bt.values())Ut(t,e);for(let t of Vt.values())Ut(t,e);return!0}function Gt(e,t){let n=e.container.getProvider(`heartbeat`).getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}function Kt(e){return e==null?!1:e.settings!==void 0}var qt=new de(`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.`}),Jt=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 Te(`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 qt.create(`app-deleted`,{appName:this._name})}},Yt=Lt;function Xt(e,t={}){let n=e;typeof t!=`object`&&(t={name:t});let r={name:Rt,automaticDataCollectionEnabled:!0,...t},i=r.name;if(typeof i!=`string`||!i)throw qt.create(`bad-app-name`,{appName:String(i)});if(n||=te(),!n)throw qt.create(`no-options`);let a=Bt.get(i);if(a){if(D(n,a.options)&&D(r,a.config))return a;throw qt.create(`duplicate-app`,{appName:i})}let o=new Ae(i);for(let e of Ht.values())o.addComponent(e);let s=new Jt(n,r,o);return Bt.set(i,s),s}function Zt(e=Rt){let t=Bt.get(e);if(!t&&e===`[DEFAULT]`&&te())return Xt();if(!t)throw qt.create(`no-app`,{appName:e});return t}function Qt(e,t,n){let r=zt[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 "/")`),ut.warn(e.join(` `));return}Wt(new Te(`${r}-version`,()=>({library:r,version:t}),`VERSION`))}var $t=`firebase-heartbeat-database`,en=1,tn=`firebase-heartbeat-store`,nn=null;function rn(){return nn||=tt($t,en,{upgrade:(e,t)=>{switch(t){case 0:try{e.createObjectStore(tn)}catch(e){console.warn(e)}}}}).catch(e=>{throw qt.create(`idb-open`,{originalErrorMessage:e.message})}),nn}async function an(e){try{let t=(await rn()).transaction(tn),n=await t.objectStore(tn).get(sn(e));return await t.done,n}catch(e){if(e instanceof E)ut.warn(e.message);else{let t=qt.create(`idb-get`,{originalErrorMessage:e?.message});ut.warn(t.message)}}}async function on(e,t){try{let n=(await rn()).transaction(tn,`readwrite`);await n.objectStore(tn).put(t,sn(e)),await n.done}catch(e){if(e instanceof E)ut.warn(e.message);else{let t=qt.create(`idb-set`,{originalErrorMessage:e?.message});ut.warn(t.message)}}}function sn(e){return`${e.name}!${e.options.appId}`}var cn=1024,ln=30,un=class{constructor(e){this.container=e,this._heartbeatsCache=null;let t=this.container.getProvider(`app`).getImmediate();this._storage=new pn(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{let e=this.container.getProvider(`platform-logger`).getImmediate().getPlatformInfoString(),t=dn();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>ln){let e=hn(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){ut.warn(e)}}async getHeartbeatsHeader(){try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||this._heartbeatsCache.heartbeats.length===0)return``;let e=dn(),{heartbeatsToSend:t,unsentEntries:n}=fn(this._heartbeatsCache.heartbeats),r=_(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 ut.warn(e),``}}};function dn(){return new Date().toISOString().substring(0,10)}function fn(e,t=cn){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]}),mn(n)>t){n.pop();break}}else if(e.dates.push(i.date),mn(n)>t){e.dates.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}var pn=class{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return le()?ue().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){let e=await an(this.app);return e?.heartbeats?e:{heartbeats:[]}}else return{heartbeats:[]}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return on(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 on(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}else return}};function mn(e){return _(JSON.stringify({version:2,heartbeats:e})).length}function hn(e){if(e.length===0)return-1;let t=0,n=e[0].date;for(let r=1;rnew ot(e),`PRIVATE`)),Wt(new Te(`heartbeat`,e=>new un(e),`PRIVATE`)),Qt(ct,lt,e),Qt(ct,lt,`esm2020`),Qt(`fire-js`,``)}gn(``);function _n(){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 vn=_n,yn=new de(`auth`,`Firebase`,_n()),bn=new Ie(`@firebase/auth`);function xn(e,...t){bn.logLevel<=k.WARN&&bn.warn(`Auth (${Yt}): ${e}`,...t)}function Sn(e,...t){bn.logLevel<=k.ERROR&&bn.error(`Auth (${Yt}): ${e}`,...t)}function Cn(e,...t){throw On(e,...t)}function wn(e,...t){return On(e,...t)}function Tn(e,t,n){return new de(`auth`,`Firebase`,{...vn(),[t]:n}).create(t,{appName:e.name})}function En(e){return Tn(e,`operation-not-supported-in-this-environment`,`Operations that alter the current user are not supported in conjunction with FirebaseServerApp`)}function Dn(e,t,n){let r=n;if(!(t instanceof r))throw r.name!==t.constructor.name&&Cn(e,`argument-error`),Tn(e,`argument-error`,`Type of ${t.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)}function On(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 yn.create(e,...t)}function A(e,t,...n){if(!e)throw On(t,...n)}function kn(e){let t=`INTERNAL ASSERTION FAILED: `+e;throw Sn(t),Error(t)}function An(e,t){e||kn(t)}function jn(){return typeof self<`u`&&self.location?.href||``}function Mn(){return Nn()===`http:`||Nn()===`https:`}function Nn(){return typeof self<`u`&&self.location?.protocol||null}function Pn(){return typeof navigator<`u`&&navigator&&`onLine`in navigator&&typeof navigator.onLine==`boolean`&&(Mn()||oe()||`connection`in navigator)?navigator.onLine:!0}function Fn(){if(typeof navigator>`u`)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}var In=class{constructor(e,t){this.shortDelay=e,this.longDelay=t,An(t>e,`Short delay should be less than long delay!`),this.isMobile=ie()||se()}get(){return Pn()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}};function Ln(e,t){An(e.emulator,`Emulator should always be set here`);let{url:n}=e.emulator;return t?`${n}${t.startsWith(`/`)?t.slice(1):t}`:n}var Rn=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;kn(`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;kn(`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;kn(`Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}},zn={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`},Bn=[`/v1/accounts:signInWithCustomToken`,`/v1/accounts:signInWithEmailLink`,`/v1/accounts:signInWithIdp`,`/v1/accounts:signInWithPassword`,`/v1/accounts:signInWithPhoneNumber`,`/v1/token`],Vn=new In(3e4,6e4);function Hn(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function Un(e,t,n,r,i={}){return Wn(e,i,async()=>{let i={},a={};r&&(t===`GET`?a=r:i={body:JSON.stringify(r)});let o=he({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 ae()||(c.referrerPolicy=`no-referrer`),e.emulatorConfig&&Ce(e.emulatorConfig.host)&&(c.credentials=`include`),Rn.fetch()(await Kn(e,e.config.apiHost,n,o),c)})}async function Wn(e,t,n){e._canInitEmulator=!1;let r={...zn,...t};try{let t=new Jn(e),i=await Promise.race([n(),t.promise]);t.clearNetworkTimeout();let a=await i.json();if(`needConfirmation`in a)throw Yn(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 Yn(e,`credential-already-in-use`,a);if(t===`EMAIL_EXISTS`)throw Yn(e,`email-already-in-use`,a);if(t===`USER_DISABLED`)throw Yn(e,`user-disabled`,a);let o=r[t]||t.toLowerCase().replace(/[_\s]+/g,`-`);if(n)throw Tn(e,o,n);Cn(e,o)}}catch(t){if(t instanceof E)throw t;Cn(e,`network-request-failed`,{message:String(t)})}}async function Gn(e,t,n,r,i={}){let a=await Un(e,t,n,r,i);return`mfaPendingCredential`in a&&Cn(e,`multi-factor-auth-required`,{_serverResponse:a}),a}async function Kn(e,t,n,r){let i=`${t}${n}?${r}`,a=e,o=a.config.emulator?Ln(e.config,i):`${e.config.apiScheme}://${i}`;return Bn.includes(n)&&(await a._persistenceManagerAvailable,a._getPersistenceType()===`COOKIE`)?a._getPersistence()._getFinalTarget(o).toString():o}function qn(e){switch(e){case`ENFORCE`:return`ENFORCE`;case`AUDIT`:return`AUDIT`;case`OFF`:return`OFF`;default:return`ENFORCEMENT_STATE_UNSPECIFIED`}}var Jn=class{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(wn(this.auth,`network-request-failed`)),Vn.get())})}};function Yn(e,t,n){let r={appName:e.name};n.email&&(r.email=n.email),n.phoneNumber&&(r.phoneNumber=n.phoneNumber);let i=wn(e,t,r);return i.customData._tokenResponse=n,i}function Xn(e){return e!==void 0&&e.enterprise!==void 0}var Zn=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 qn(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 Qn(e,t){return Un(e,`GET`,`/v2/recaptchaConfig`,Hn(e,t))}async function $n(e,t){return Un(e,`POST`,`/v1/accounts:delete`,t)}async function er(e,t){return Un(e,`POST`,`/v1/accounts:lookup`,t)}function tr(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch{}}async function nr(e,t=!1){let n=Se(e),r=await n.getIdToken(t),i=ir(r);A(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:tr(rr(i.auth_time)),issuedAtTime:tr(rr(i.iat)),expirationTime:tr(rr(i.exp)),signInProvider:o||null,signInSecondFactor:a?.sign_in_second_factor||null}}function rr(e){return Number(e)*1e3}function ir(e){let[t,n,r]=e.split(`.`);if(t===void 0||n===void 0||r===void 0)return Sn(`JWT malformed, contained fewer than 3 sections`),null;try{let e=v(n);return e?JSON.parse(e):(Sn(`Failed to decode base64 JWT payload`),null)}catch(e){return Sn(`Caught error parsing JWT payload as JSON`,e?.toString()),null}}function ar(e){let t=ir(e);return A(t,`internal-error`),A(t.exp!==void 0,`internal-error`),A(t.iat!==void 0,`internal-error`),Number(t.exp)-Number(t.iat)}async function or(e,t,n=!1){if(n)return t;try{return await t}catch(t){throw t instanceof E&&sr(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}function sr({code:e}){return e===`auth/user-disabled`||e===`auth/user-token-expired`}var cr=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()}},lr=class{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=tr(this.lastLoginAt),this.creationTime=tr(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}};async function ur(e){let t=e.auth,n=await or(e,er(t,{idToken:await e.getIdToken()}));A(n?.users.length,t,`internal-error`);let r=n.users[0];e._notifyReloadListener(r);let i=r.providerUserInfo?.length?pr(r.providerUserInfo):[],a=fr(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 lr(r.createdAt,r.lastLoginAt),isAnonymous:c};Object.assign(e,l)}async function dr(e){let t=Se(e);await ur(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function fr(e,t){return[...e.filter(e=>!t.some(t=>t.providerId===e.providerId)),...t]}function pr(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 mr(e,t){let n=await Wn(e,{},async()=>{let n=he({grant_type:`refresh_token`,refresh_token:t}).slice(1),{tokenApiHost:r,apiKey:i}=e.config,a=await Kn(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&&Ce(e.emulatorConfig.host)&&(s.credentials=`include`),Rn.fetch()(a,s)});return{accessToken:n.access_token,expiresIn:n.expires_in,refreshToken:n.refresh_token}}async function hr(e,t){return Un(e,`POST`,`/v2/accounts:revokeToken`,Hn(e,t))}var gr=class e{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){A(e.idToken,`internal-error`),A(e.idToken!==void 0,`internal-error`),A(e.refreshToken!==void 0,`internal-error`);let t=`expiresIn`in e&&e.expiresIn!==void 0?Number(e.expiresIn):ar(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){A(e.length!==0,`internal-error`);let t=ar(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:(A(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 mr(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&&(A(typeof r==`string`,`internal-error`,{appName:t}),o.refreshToken=r),i&&(A(typeof i==`string`,`internal-error`,{appName:t}),o.accessToken=i),a&&(A(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 kn(`not implemented`)}};function _r(e,t){A(typeof e==`string`||e===void 0,`internal-error`,{appName:t})}var vr=class e{constructor({uid:e,auth:t,stsTokenManager:n,...r}){this.providerId=`firebase`,this.proactiveRefresh=new cr(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 lr(r.createdAt||void 0,r.lastLoginAt||void 0)}async getIdToken(e){let t=await or(this,this.stsTokenManager.getToken(this.auth,e));return A(t,this.auth,`internal-error`),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return nr(this,e)}reload(){return dr(this)}_assign(e){this!==e&&(A(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){A(!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 ur(this),await this.auth._persistUserIfCurrent(this),n&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(Kt(this.auth.app))return Promise.reject(En(this.auth));let e=await this.getIdToken();return await or(this,$n(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;A(d&&h,t,`internal-error`);let g=gr.fromJSON(this.name,h);A(typeof d==`string`,t,`internal-error`),_r(r,t.name),_r(i,t.name),A(typeof f==`boolean`,t,`internal-error`),A(typeof p==`boolean`,t,`internal-error`),_r(a,t.name),_r(o,t.name),_r(s,t.name),_r(c,t.name),_r(l,t.name),_r(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 gr;i.updateFromServerResponse(n);let a=new e({uid:n.localId,auth:t,stsTokenManager:i,isAnonymous:r});return await ur(a),a}static async _fromGetAccountInfoResponse(t,n,r){let i=n.users[0];A(i.localId!==void 0,`internal-error`);let a=i.providerUserInfo===void 0?[]:pr(i.providerUserInfo),o=!(i.email&&i.passwordHash)&&!a?.length,s=new gr;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 lr(i.createdAt,i.lastLoginAt),isAnonymous:!(i.email&&i.passwordHash)&&!a?.length};return Object.assign(c,l),c}},yr=new Map;function br(e){An(e instanceof Function,`Expected a class definition`);let t=yr.get(e);return t?(An(t instanceof e,`Instance stored in cache mismatched with class`),t):(t=new e,yr.set(e,t),t)}var xr=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){}};xr.type=`NONE`;var Sr=xr;function Cr(e,t,n){return`firebase:${e}:${t}:${n}`}var wr=class e{constructor(e,t,n){this.persistence=e,this.auth=t,this.userKey=n;let{config:r,name:i}=this.auth;this.fullUserKey=Cr(this.userKey,r.apiKey,i),this.fullPersistenceKey=Cr(`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 er(this.auth,{idToken:e}).catch(()=>void 0);return t?vr._fromGetAccountInfoResponse(this.auth,t,e):null}return vr._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(br(Sr),t,r);let i=(await Promise.all(n.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e),a=i[0]||br(Sr),o=Cr(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 er(t,{idToken:n}).catch(()=>void 0);if(!e)break;r=await vr._fromGetAccountInfoResponse(t,e,n)}else r=vr._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 Tr(e){let t=e.toLowerCase();if(t.includes(`opera/`)||t.includes(`opr/`)||t.includes(`opios/`))return`Opera`;if(kr(t))return`IEMobile`;if(t.includes(`msie`)||t.includes(`trident/`))return`IE`;if(t.includes(`edge/`))return`Edge`;if(Er(t))return`Firefox`;if(t.includes(`silk/`))return`Silk`;if(jr(t))return`Blackberry`;if(Mr(t))return`Webos`;if(Dr(t))return`Safari`;if((t.includes(`chrome/`)||Or(t))&&!t.includes(`edge/`))return`Chrome`;if(Ar(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 Er(e=w()){return/firefox\//i.test(e)}function Dr(e=w()){let t=e.toLowerCase();return t.includes(`safari/`)&&!t.includes(`chrome/`)&&!t.includes(`crios/`)&&!t.includes(`android`)}function Or(e=w()){return/crios\//i.test(e)}function kr(e=w()){return/iemobile/i.test(e)}function Ar(e=w()){return/android/i.test(e)}function jr(e=w()){return/blackberry/i.test(e)}function Mr(e=w()){return/webos/i.test(e)}function Nr(e=w()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function Pr(e=w()){return Nr(e)&&!!window.navigator?.standalone}function Fr(){return ce()&&document.documentMode===10}function Ir(e=w()){return Nr(e)||Ar(e)||Mr(e)||jr(e)||/windows phone/i.test(e)||kr(e)}function Lr(e,t=[]){let n;switch(e){case`Browser`:n=Tr(w());break;case`Worker`:n=`${Tr(w())}-${e}`;break;default:n=e}let r=t.length?t.join(`,`):`FirebaseCore-web`;return`${n}/JsCore/${Yt}/${r}`}var Rr=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 zr(e,t={}){return Un(e,`GET`,`/v2/passwordPolicy`,Hn(e,t))}var Br=6,Vr=class{constructor(e){let t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??Br,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=`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)}},Hr=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 Wr(this),this.idTokenSubscription=new Wr(this),this.beforeStateQueue=new Rr(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=yn,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=br(t)),this._initializationPromise=this.queue(async()=>{if(!this._deleted&&(this.persistenceManager=await wr.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 er(this,{idToken:e}),n=await vr._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(Kt(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 A(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 ur(e)}catch(e){if(e?.code!==`auth/network-request-failed`)return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=Fn()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(Kt(this.app))return Promise.reject(En(this));let t=e?Se(e):null;return t&&A(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&&A(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 Kt(this.app)?Promise.reject(En(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Kt(this.app)?Promise.reject(En(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(br(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 Vr(await zr(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 de(`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 hr(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&&br(e)||this._popupRedirectResolver;A(t,this,`argument-error`),this.redirectPersistenceManager=await wr.create(this,[br(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(A(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 A(this.persistenceManager,this,`internal-error`),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=Lr(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(Kt(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken();return e?.error&&xn(`Error while retrieving App Check token: ${e.error}`),e?.token}};function Ur(e){return Se(e)}var Wr=class{constructor(e){this.auth=e,this.observer=null,this.addObserver=ve(e=>this.observer=e)}get next(){return A(this.observer,this.auth,`internal-error`),this.observer.next.bind(this.observer)}},Gr={async loadJS(){throw Error(`Unable to load external scripts`)},recaptchaV2Script:``,recaptchaEnterpriseScript:``,gapiScript:``};function Kr(e){Gr=e}function qr(e){return Gr.loadJS(e)}function Jr(){return Gr.recaptchaEnterpriseScript}function Yr(){return Gr.gapiScript}function Xr(e){return`__${e}${Math.floor(Math.random()*1e6)}`}var Zr=class{constructor(){this.enterprise=new Qr}ready(e){e()}execute(e,t){return Promise.resolve(`token`)}render(e,t){return``}},Qr=class{ready(e){e()}execute(e,t){return Promise.resolve(`token`)}render(e,t){return``}},$r=`recaptcha-enterprise`,ei=`NO_RECAPTCHA`,ti=class{constructor(e){this.type=$r,this.auth=Ur(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)=>{Qn(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 Zn(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;Xn(i)?i.enterprise.ready(()=>{i.enterprise.execute(t,{action:e}).then(e=>{n(e)}).catch(()=>{n(ei)})}):r(Error(`No reCAPTCHA enterprise script loaded.`))}return this.auth.settings.appVerificationDisabledForTesting?new Zr().execute(`siteKey`,{action:`verify`}):new Promise((e,i)=>{n(this.auth).then(n=>{if(!t&&Xn(window.grecaptcha))r(n,e,i);else{if(typeof window>`u`){i(Error(`RecaptchaVerifier is only supported in browser`));return}let t=Jr();t.length!==0&&(t+=n),qr(t).then(()=>{r(n,e,i)}).catch(e=>{i(e)})}}).catch(e=>{i(e)})})}};async function ni(e,t,n,r=!1,i=!1){let a=new ti(e),o;if(i)o=ei;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 ri(e,t,n,r,i){return i===`EMAIL_PASSWORD_PROVIDER`?e._getRecaptchaConfig()?.isProviderEnabled(`EMAIL_PASSWORD_PROVIDER`)?r(e,await ni(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 ni(e,t,n,n===`getOobCode`))):Promise.reject(i)):i===`PHONE_PROVIDER`?e._getRecaptchaConfig()?.isProviderEnabled(`PHONE_PROVIDER`)?r(e,await ni(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 ni(e,t,n,!1,!0))):Promise.reject(i)):r(e,await ni(e,t,n,!1,!0)):Promise.reject(i+` provider is not supported.`)}async function ii(e){let t=Ur(e),n=new Zn(await Qn(t,{clientType:`CLIENT_TYPE_WEB`,version:`RECAPTCHA_ENTERPRISE`}));t.tenantId==null?t._agentRecaptchaConfig=n:t._tenantRecaptchaConfigs[t.tenantId]=n,n.isAnyProviderEnabled()&&new ti(t).verify()}function ai(e,t){let n=Gt(e,`auth`);if(n.isInitialized()){let e=n.getImmediate();if(D(n.getOptions(),t??{}))return e;Cn(e,`already-initialized`)}return n.initialize({options:t})}function oi(e,t){let n=t?.persistence||[],r=(Array.isArray(n)?n:[n]).map(br);t?.errorMap&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,t?.popupRedirectResolver)}function si(e,t,n){let r=Ur(e);A(/^https?:\/\//.test(t),r,`invalid-emulator-scheme`);let i=!!n?.disableWarnings,a=ci(t),{host:o,port:s}=li(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){A(r.config.emulator&&r.emulatorConfig,r,`emulator-config-failed`),A(D(l,r.config.emulator)&&D(u,r.emulatorConfig),r,`emulator-config-failed`);return}r.config.emulator=l,r.emulatorConfig=u,r.settings.appVerificationDisabledForTesting=!0,Ce(o)?we(`${a}//${o}${c}`):i||di()}function ci(e){let t=e.indexOf(`:`);return t<0?``:e.substr(0,t+1)}function li(e){let t=ci(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:ui(r.substr(e.length+1))}}else{let[e,t]=r.split(`:`);return{host:e,port:ui(t)}}}function ui(e){if(!e)return null;let t=Number(e);return isNaN(t)?null:t}function di(){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 fi=class{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return kn(`not implemented`)}_getIdTokenResponse(e){return kn(`not implemented`)}_linkToIdToken(e,t){return kn(`not implemented`)}_getReauthenticationResolver(e){return kn(`not implemented`)}};async function pi(e,t){return Un(e,`POST`,`/v1/accounts:signUp`,t)}async function mi(e,t){return Gn(e,`POST`,`/v1/accounts:signInWithPassword`,Hn(e,t))}async function hi(e,t){return Gn(e,`POST`,`/v1/accounts:signInWithEmailLink`,Hn(e,t))}async function gi(e,t){return Gn(e,`POST`,`/v1/accounts:signInWithEmailLink`,Hn(e,t))}var _i=class e extends fi{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 ri(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:`CLIENT_TYPE_WEB`},`signInWithPassword`,mi,`EMAIL_PASSWORD_PROVIDER`);case`emailLink`:return hi(e,{email:this._email,oobCode:this._password});default:Cn(e,`internal-error`)}}async _linkToIdToken(e,t){switch(this.signInMethod){case`password`:return ri(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:`CLIENT_TYPE_WEB`},`signUpPassword`,pi,`EMAIL_PASSWORD_PROVIDER`);case`emailLink`:return gi(e,{idToken:t,email:this._email,oobCode:this._password});default:Cn(e,`internal-error`)}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}};async function vi(e,t){return Gn(e,`POST`,`/v1/accounts:signInWithIdp`,Hn(e,t))}var yi=`http://localhost`,bi=class e extends fi{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):Cn(`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 vi(e,this.buildRequest())}_linkToIdToken(e,t){let n=this.buildRequest();return n.idToken=t,vi(e,n)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,vi(e,t)}buildRequest(){let e={requestUri:yi,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=he(t)}return e}};async function xi(e,t){return Un(e,`POST`,`/v1/accounts:sendVerificationCode`,Hn(e,t))}async function Si(e,t){return Gn(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,Hn(e,t))}async function Ci(e,t){let n=await Gn(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,Hn(e,t));if(n.temporaryProof)throw Yn(e,`account-exists-with-different-credential`,n);return n}var wi={USER_NOT_FOUND:`user-not-found`};async function Ti(e,t){return Gn(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,Hn(e,{...t,operation:`REAUTH`}),wi)}var Ei=class e extends fi{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 Si(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return Ci(e,{idToken:t,...this._makeVerificationRequest()})}_getReauthenticationResolver(e){return Ti(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 Di(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 Oi(e){let t=ge(_e(e)).link,n=t?ge(_e(t)).deep_link_id:null,r=ge(_e(e)).deep_link_id;return(r?ge(_e(r)).link:null)||r||n||t||e}var ki=class e{constructor(e){let t=ge(_e(e)),n=t.apiKey??null,r=t.oobCode??null,i=Di(t.mode??null);A(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=Oi(t);try{return new e(n)}catch{return null}}},Ai=class e{constructor(){this.providerId=e.PROVIDER_ID}static credential(e,t){return _i._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){let n=ki.parseLink(t);return A(n,`argument-error`),_i._fromEmailAndCode(e,n.code,n.tenantId)}};Ai.PROVIDER_ID=`password`,Ai.EMAIL_PASSWORD_SIGN_IN_METHOD=`password`,Ai.EMAIL_LINK_SIGN_IN_METHOD=`emailLink`;var ji=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}},Mi=class extends ji{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}},Ni=class e extends Mi{constructor(){super(`facebook.com`)}static credential(t){return bi._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}}};Ni.FACEBOOK_SIGN_IN_METHOD=`facebook.com`,Ni.PROVIDER_ID=`facebook.com`;var Pi=class e extends Mi{constructor(){super(`google.com`),this.addScope(`profile`)}static credential(t,n){return bi._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}}};Pi.GOOGLE_SIGN_IN_METHOD=`google.com`,Pi.PROVIDER_ID=`google.com`;var Fi=class e extends Mi{constructor(){super(`github.com`)}static credential(t){return bi._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}}};Fi.GITHUB_SIGN_IN_METHOD=`github.com`,Fi.PROVIDER_ID=`github.com`;var Ii=class e extends Mi{constructor(){super(`twitter.com`)}static credential(t,n){return bi._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}}};Ii.TWITTER_SIGN_IN_METHOD=`twitter.com`,Ii.PROVIDER_ID=`twitter.com`;var Li=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 vr._fromIdTokenResponse(t,r,i),providerId:Ri(r),_tokenResponse:r,operationType:n})}static async _forOperation(t,n,r){return await t._updateTokensIfNecessary(r,!0),new e({user:t,providerId:Ri(r),_tokenResponse:r,operationType:n})}};function Ri(e){return e.providerId?e.providerId:`phoneNumber`in e?`phone`:null}var zi=class e extends E{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 Bi(e,t,n,r){return(t===`reauthenticate`?n._getReauthenticationResolver(e):n._getIdTokenResponse(e)).catch(n=>{throw n.code===`auth/multi-factor-auth-required`?zi._fromErrorAndOperation(e,n,t,r):n})}async function Vi(e,t,n=!1){let r=await or(e,t._linkToIdToken(e.auth,await e.getIdToken()),n);return Li._forOperation(e,`link`,r)}async function j(e,t,n=!1){let{auth:r}=e;if(Kt(r.app))return Promise.reject(En(r));let i=`reauthenticate`;try{let a=await or(e,Bi(r,i,t,e),n);A(a.idToken,r,`internal-error`);let o=ir(a.idToken);A(o,r,`internal-error`);let{sub:s}=o;return A(e.uid===s,r,`user-mismatch`),Li._forOperation(e,i,a)}catch(e){throw e?.code===`auth/user-not-found`&&Cn(r,`user-mismatch`),e}}async function M(e,t,n=!1){if(Kt(e.app))return Promise.reject(En(e));let r=`signIn`,i=await Bi(e,r,t),a=await Li._fromIdTokenResponse(e,r,i);return n||await e._updateCurrentUser(a.user),a}function Hi(e,t,n,r){return Se(e).onIdTokenChanged(t,n,r)}function Ui(e,t,n){return Se(e).beforeAuthStateChanged(t,n)}function Wi(e,t,n,r){return Se(e).onAuthStateChanged(t,n,r)}function Gi(e){return Se(e).signOut()}function Ki(e,t){return Un(e,`POST`,`/v2/accounts/mfaEnrollment:start`,Hn(e,t))}function qi(e,t){return Un(e,`POST`,`/v2/accounts/mfaEnrollment:finalize`,Hn(e,t))}function Ji(e,t){return Un(e,`POST`,`/v2/accounts/mfaEnrollment:start`,Hn(e,t))}function Yi(e,t){return Un(e,`POST`,`/v2/accounts/mfaEnrollment:finalize`,Hn(e,t))}var Xi=`__sak`,Zi=class{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(Xi,`1`),this.storage.removeItem(Xi),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()}},Qi=1e3,$i=10,ea=class extends Zi{constructor(){super(()=>window.localStorage,`LOCAL`),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=Ir(),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);Fr()&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(r,$i):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)})},Qi)}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]}};ea.type=`LOCAL`;var ta=ea,na=1e3;function ra(e){let t=e.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),n=RegExp(`${t}=([^;]+)`);return document.cookie.match(n)?.[1]??null}function ia(e){return`${window.location.protocol===`http:`?`__dev_`:`__HOST-`}FIREBASE_${e.split(`:`)[3]}`}var aa=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=ia(e);return window.cookieStore?(await window.cookieStore.get(t))?.value:ra(t)}async _remove(e){if(!this._isAvailable()||!await this._get(e))return;let t=ia(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=ia(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=ra(n),i=setInterval(()=>{let e=ra(n);e!==r&&(t(e),r=e)},na);this.listenerUnsubscribes.set(t,()=>clearInterval(i))}_removeListener(e,t){let n=this.listenerUnsubscribes.get(t);n&&(n(),this.listenerUnsubscribes.delete(t))}};aa.type=`COOKIE`;var oa=class extends Zi{constructor(){super(()=>window.sessionStorage,`SESSION`)}_addListener(e,t){}_removeListener(e,t){}};oa.type=`SESSION`;var sa=oa;function ca(e){return Promise.all(e.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(e){return{fulfilled:!1,reason:e}}}))}var la=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 ca(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)}};la.receivers=[];function ua(e=``,t=10){let n=``;for(let e=0;e{let c=ua(``,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 fa(){return window}function pa(e){fa().location.href=e}function N(){return fa().WorkerGlobalScope!==void 0&&typeof fa().importScripts==`function`}async function ma(){if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function ha(){return navigator?.serviceWorker?.controller||null}function ga(){return N()?self:null}var _a=`firebaseLocalStorageDb`,va=1,ya=`firebaseLocalStorage`,ba=`fbase_key`,xa=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 Sa(e,t){return e.transaction([ya],t?`readwrite`:`readonly`).objectStore(ya)}function Ca(){return new xa(indexedDB.deleteDatabase(_a)).toPromise()}function wa(){let e=indexedDB.open(_a,va);return new Promise((t,n)=>{e.addEventListener(`error`,()=>{n(e.error)}),e.addEventListener(`upgradeneeded`,()=>{let t=e.result;try{t.createObjectStore(ya,{keyPath:ba})}catch(e){n(e)}}),e.addEventListener(`success`,async()=>{let n=e.result;n.objectStoreNames.contains(ya)?t(n):(n.close(),await Ca(),t(await wa()))})})}async function Ta(e,t,n){return new xa(Sa(e,!0).put({[ba]:t,value:n})).toPromise()}async function Ea(e,t){let n=await new xa(Sa(e,!1).get(t)).toPromise();return n===void 0?null:n.value}function Da(e,t){return new xa(Sa(e,!0).delete(t)).toPromise()}var Oa=800,ka=3,Aa=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 wa(),this.db}async _withRetries(e){let t=0;for(;;)try{return await e(await this._openDb())}catch(e){if(t++>ka)throw e;this.db&&=(this.db.close(),void 0)}}async initializeServiceWorkerMessaging(){return N()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=la._getInstance(ga()),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 ma(),!this.activeServiceWorker)return;this.sender=new da(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||ha()!==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 wa();return await Ta(e,Xi,`1`),await Da(e,Xi),!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=>Ta(n,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){let t=await this._withRetries(t=>Ea(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>Da(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){let e=await this._withRetries(e=>new xa(Sa(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(),Oa)}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()}};Aa.type=`LOCAL`;var ja=Aa;function Ma(e,t){return Un(e,`POST`,`/v2/accounts/mfaSignIn:start`,Hn(e,t))}function Na(e,t){return Un(e,`POST`,`/v2/accounts/mfaSignIn:finalize`,Hn(e,t))}function Pa(e,t){return Un(e,`POST`,`/v2/accounts/mfaSignIn:finalize`,Hn(e,t))}Xr(`rcb`),new In(3e4,6e4);var Fa=`recaptcha`;async function Ia(e,t,n){if(!e._getRecaptchaConfig())try{await ii(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 A(t.type===`enroll`,e,`internal-error`),(await ri(e,{idToken:t.credential,phoneEnrollmentInfo:{phoneNumber:r.phoneNumber,clientType:`CLIENT_TYPE_WEB`}},`mfaSmsEnrollment`,async(e,t)=>t.phoneEnrollmentInfo.captchaResponse===ei?(A(n?.type===Fa,e,`argument-error`),Ki(e,await La(e,t,n))):Ki(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).phoneSessionInfo.sessionInfo;{A(t.type===`signin`,e,`internal-error`);let i=r.multiFactorHint?.uid||r.multiFactorUid;return A(i,e,`missing-multi-factor-info`),(await ri(e,{mfaPendingCredential:t.credential,mfaEnrollmentId:i,phoneSignInInfo:{clientType:`CLIENT_TYPE_WEB`}},`mfaSmsSignIn`,async(e,t)=>t.phoneSignInInfo.captchaResponse===ei?(A(n?.type===Fa,e,`argument-error`),Ma(e,await La(e,t,n))):Ma(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).phoneResponseInfo.sessionInfo}}else return(await ri(e,{phoneNumber:r.phoneNumber,clientType:`CLIENT_TYPE_WEB`},`sendVerificationCode`,async(e,t)=>t.captchaResponse===ei?(A(n?.type===Fa,e,`argument-error`),xi(e,await La(e,t,n))):xi(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).sessionInfo}finally{n?._reset()}}async function La(e,t,n){A(n.type===Fa,e,`argument-error`);let r=await n.verify();A(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 Ra=class e{constructor(t){this.providerId=e.PROVIDER_ID,this.auth=Ur(t)}verifyPhoneNumber(e,t){return Ia(this.auth,e,Se(t))}static credential(e,t){return Ei._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?Ei._fromTokenResponse(t,n):null}};Ra.PROVIDER_ID=`phone`,Ra.PHONE_SIGN_IN_METHOD=`phone`;function za(e,t){return t?br(t):(A(e._popupRedirectResolver,e,`argument-error`),e._popupRedirectResolver)}var Ba=class extends fi{constructor(e){super(`custom`,`custom`),this.params=e}_getIdTokenResponse(e){return vi(e,this._buildIdpRequest())}_linkToIdToken(e,t){return vi(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return vi(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 Va(e){return M(e.auth,new Ba(e),e.bypassAuthState)}function Ha(e){let{auth:t,user:n}=e;return A(n,t,`internal-error`),j(n,new Ba(e),e.bypassAuthState)}async function Ua(e){let{auth:t,user:n}=e;return A(n,t,`internal-error`),Vi(n,new Ba(e),e.bypassAuthState)}var Wa=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 Va;case`linkViaPopup`:case`linkViaRedirect`:return Ua;case`reauthViaPopup`:case`reauthViaRedirect`:return Ha;default:Cn(this.auth,`internal-error`)}}resolve(e){An(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){An(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()}},Ga=new In(2e3,1e4);async function Ka(e,t,n){if(Kt(e.app))return Promise.reject(wn(e,`operation-not-supported-in-this-environment`));let r=Ur(e);return Dn(e,t,ji),new qa(r,`signInViaPopup`,t,za(r,n)).executeNotNull()}var qa=class e extends Wa{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 A(e,this.auth,`internal-error`),e}async onExecution(){An(this.filter.length===1,`Popup operations only handle one event`);let e=ua();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(wn(this.auth,`web-storage-unsupported`))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(wn(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(wn(this.auth,`popup-closed-by-user`))},8e3);return}this.pollId=window.setTimeout(e,Ga.get())};e()}};qa.currentPopupAction=null;var Ja=`pendingRedirect`,Ya=new Map,Xa=class extends Wa{constructor(e,t,n=!1){super(e,[`signInViaRedirect`,`linkViaRedirect`,`reauthViaRedirect`,`unknown`],t,void 0,n),this.eventId=null}async execute(){let e=Ya.get(this.auth._key());if(!e){try{let t=await Za(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}Ya.set(this.auth._key(),e)}return this.bypassAuthState||Ya.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 Za(e,t){let n=eo(t),r=$a(e);if(!await r._isAvailable())return!1;let i=await r._get(n)===`true`;return await r._remove(n),i}function Qa(e,t){Ya.set(e._key(),t)}function $a(e){return br(e._redirectPersistence)}function eo(e){return Cr(Ja,e.config.apiKey,e.name)}async function to(e,t,n=!1){if(Kt(e.app))return Promise.reject(En(e));let r=Ur(e),i=await new Xa(r,za(r,t),n).execute();return i&&!n&&(delete i.user._redirectEventId,await r._persistUserIfCurrent(i.user),await r._setRedirectUser(null,t)),i}var no=600*1e3,ro=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||!oo(e)?t:(this.hasHandledPotentialRedirect=!0,t||=(this.queuedRedirectEvent=e,!0),t)}sendToConsumer(e,t){if(e.error&&!ao(e)){let n=e.error.code?.split(`auth/`)[1]||`internal-error`;t.onError(wn(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>=no&&this.cachedEventUids.clear(),this.cachedEventUids.has(io(e))}saveEventToCache(e){this.cachedEventUids.add(io(e)),this.lastProcessedEventTime=Date.now()}};function io(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join(`-`)}function ao({type:e,error:t}){return e===`unknown`&&t?.code===`auth/no-auth-event`}function oo(e){switch(e.type){case`signInViaRedirect`:case`linkViaRedirect`:case`reauthViaRedirect`:return!0;case`unknown`:return ao(e);default:return!1}}async function so(e,t={}){return Un(e,`GET`,`/v1/projects`,t)}var co=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,lo=/^https?/;async function uo(e){if(e.config.emulator)return;let{authorizedDomains:t}=await so(e);for(let e of t)try{if(fo(e))return}catch{}Cn(e,`unauthorized-domain`)}function fo(e){let t=jn(),{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(!lo.test(n))return!1;if(co.test(e))return r===e;let i=e.replace(/\./g,`\\.`);return RegExp(`^(.+\\.`+i+`|`+i+`)$`,`i`).test(r)}var po=new In(3e4,6e4);function mo(){let e=fa().___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{function r(){mo(),gapi.load(`gapi.iframes`,{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{mo(),n(wn(e,`network-request-failed`))},timeout:po.get()})}if(fa().gapi?.iframes?.Iframe)t(gapi.iframes.getContext());else if(fa().gapi?.load)r();else{let t=Xr(`iframefcb`);return fa()[t]=()=>{gapi.load?r():n(wn(e,`network-request-failed`))},qr(`${Yr()}?onload=${t}`).catch(e=>n(e))}}).catch(e=>{throw go=null,e})}var go=null;function P(e){return go||=ho(e),go}var _o=new In(5e3,15e3),vo=`__/auth/iframe`,F=`emulator/auth/iframe`,I={style:{position:`absolute`,top:`-100px`,width:`1px`,height:`1px`},"aria-hidden":`true`,tabindex:`-1`},L=new Map([[`identitytoolkit.googleapis.com`,`p`],[`staging-identitytoolkit.sandbox.googleapis.com`,`s`],[`test-identitytoolkit.sandbox.googleapis.com`,`t`]]);function yo(e){let t=e.config;A(t.authDomain,e,`auth-domain-config-required`);let n=t.emulator?Ln(t,F):`https://${e.config.authDomain}/${vo}`,r={apiKey:t.apiKey,appName:e.name,v:Yt},i=L.get(e.config.apiHost);i&&(r.eid=i);let a=e._getFrameworks();return a.length&&(r.fw=a.join(`,`)),`${n}?${he(r).slice(1)}`}async function bo(e){let t=await P(e),n=fa().gapi;return A(n,e,`internal-error`),t.open({where:document.body,url:yo(e),messageHandlersFilter:n.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:I,dontclear:!0},t=>new Promise(async(n,r)=>{await t.restyle({setHideOnLeave:!1});let i=wn(e,`network-request-failed`),a=fa().setTimeout(()=>{r(i)},_o.get());function o(){fa().clearTimeout(a),n(t)}t.ping(o).then(o,()=>{r(i)})}))}var xo={location:`yes`,resizable:`yes`,statusbar:`yes`,toolbar:`no`},So=500,Co=600,wo=`_blank`,To=`http://localhost`,R=class{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}};function Eo(e,t,n,r=So,i=Co){let a=Math.max((window.screen.availHeight-i)/2,0).toString(),o=Math.max((window.screen.availWidth-r)/2,0).toString(),s=``,c={...xo,width:r.toString(),height:i.toString(),top:a,left:o},l=w().toLowerCase();n&&(s=Or(l)?wo:n),Er(l)&&(t||=To,c.scrollbars=`yes`);let u=Object.entries(c).reduce((e,[t,n])=>`${e}${t}=${n},`,``);if(Pr(l)&&s!==`_self`)return Do(t||``,s),new R(null);let d=window.open(t||``,s,u);A(d,e,`popup-blocked`);try{d.focus()}catch{}return new R(d)}function Do(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 Oo=`__/auth/handler`,ko=`emulator/auth/handler`,Ao=`fac`;async function jo(e,t,n,r,i,a){A(e.config.authDomain,e,`auth-domain-config-required`),A(e.config.apiKey,e,`invalid-api-key`);let o={apiKey:e.config.apiKey,appName:e.name,authType:n,redirectUrl:r,v:Yt,eventId:i};if(t instanceof ji){t.setDefaultLanguage(e.languageCode),o.providerId=t.providerId||``,me(t.getCustomParameters())||(o.customParameters=JSON.stringify(t.getCustomParameters()));for(let[e,t]of Object.entries(a||{}))o[e]=t}if(t instanceof Mi){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?`#${Ao}=${encodeURIComponent(c)}`:``;return`${Mo(e)}?${he(s).slice(1)}${l}`}function Mo({config:e}){return e.emulator?Ln(e,ko):`https://${e.authDomain}/${Oo}`}var No=`webStorageSupport`,Po=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=sa,this._completeRedirectFn=to,this._overrideRedirectResult=Qa}async _openPopup(e,t,n,r){return An(this.eventManagers[e._key()]?.manager,`_initialize() not called before _openPopup()`),Eo(e,await jo(e,t,n,jn(),r),ua())}async _openRedirect(e,t,n,r){return await this._originValidation(e),pa(await jo(e,t,n,jn(),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):(An(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 bo(e),n=new ro(e);return t.register(`authEvent`,t=>(A(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(No,{type:No},n=>{let r=n?.[0]?.[No];r!==void 0&&t(!!r),Cn(e,`internal-error`)},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=uo(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Ir()||Dr()||Nr()}},z=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 kn(`unexpected MultiFactorSessionType`)}}},Fo=class e extends z{constructor(e){super(`phone`),this.credential=e}static _fromCredential(t){return new e(t)}_finalizeEnroll(e,t,n){return qi(e,{idToken:t,displayName:n,phoneVerificationInfo:this.credential._makeVerificationRequest()})}_finalizeSignIn(e,t){return Na(e,{mfaPendingCredential:t,phoneVerificationInfo:this.credential._makeVerificationRequest()})}},Io=class{constructor(){}static assertion(e){return Fo._fromCredential(e)}};Io.FACTOR_ID=`phone`;var Lo=class{static assertionForEnrollment(e,t){return Ro._fromSecret(e,t)}static assertionForSignIn(e,t){return Ro._fromEnrollmentId(e,t)}static async generateSecret(e){let t=e;A(t.user?.auth!==void 0,`internal-error`);let n=await Ji(t.user.auth,{idToken:t.credential,totpEnrollmentInfo:{}});return zo._fromStartTotpMfaEnrollmentResponse(n,t.user.auth)}};Lo.FACTOR_ID=`totp`;var Ro=class e extends z{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 A(this.secret!==void 0,e,`argument-error`),Yi(e,{idToken:t,displayName:n,totpVerificationInfo:this.secret._makeTotpVerificationInfo(this.otp)})}async _finalizeSignIn(e,t){A(this.enrollmentId!==void 0&&this.otp!==void 0,e,`argument-error`);let n={verificationCode:this.otp};return Pa(e,{mfaPendingCredential:t,mfaEnrollmentId:this.enrollmentId,totpVerificationInfo:n})}},zo=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(Bo(e)||Bo(t))&&(n=!0),n&&(Bo(e)&&(e=this.auth.currentUser?.email||`unknownuser`),Bo(t)&&(t=this.auth.name)),`otpauth://totp/${t}:${e}?secret=${this.secretKey}&issuer=${t}&algorithm=${this.hashingAlgorithm}&digits=${this.codeLength}`}};function Bo(e){return e===void 0||e?.length===0}var Vo=`@firebase/auth`,Ho=`1.13.0`,Uo=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(){A(this.auth._initializationPromise,`dependent-sdk-initialized-before-auth`)}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}};function Wo(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 Go(e){Wt(new Te(`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;A(o&&!o.includes(`:`),`invalid-api-key`,{appName:r.name});let c=new Hr(r,i,a,{apiKey:o,authDomain:s,clientPlatform:e,apiHost:`identitytoolkit.googleapis.com`,tokenApiHost:`securetoken.googleapis.com`,apiScheme:`https`,sdkClientVersion:Lr(e)});return oi(c,n),c},`PUBLIC`).setInstantiationMode(`EXPLICIT`).setInstanceCreatedCallback((e,t,n)=>{e.getProvider(`auth-internal`).initialize()})),Wt(new Te(`auth-internal`,e=>(e=>new Uo(e))(Ur(e.getProvider(`auth`).getImmediate())),`PRIVATE`).setInstantiationMode(`EXPLICIT`)),Qt(Vo,Ho,Wo(e)),Qt(Vo,Ho,`esm2020`)}var Ko=ne(`authIdTokenMaxAge`)||300,qo=null,Jo=e=>async t=>{let n=t&&await t.getIdTokenResult(),r=n&&(new Date().getTime()-Date.parse(n.issuedAtTime))/1e3;if(r&&r>Ko)return;let i=n?.token;qo!==i&&(qo=i,await fetch(e,{method:i?`POST`:`DELETE`,headers:i?{Authorization:`Bearer ${i}`}:{}}))};function Yo(e=Zt()){let t=Gt(e,`auth`);if(t.isInitialized())return t.getImmediate();let n=ai(e,{popupRedirectResolver:Po,persistence:[ja,ta,sa]}),r=ne(`authTokenSyncURL`);if(r&&typeof isSecureContext==`boolean`&&isSecureContext){let e=new URL(r,location.origin);if(location.origin===e.origin){let t=Jo(e.toString());Ui(n,t,()=>t(n.currentUser)),Hi(n,e=>t(e))}}let i=C(`auth`);return i&&si(n,`http://${i}`),n}function Xo(){return document.getElementsByTagName(`head`)?.[0]??document}Kr({loadJS(e){return new Promise((t,n)=>{let r=document.createElement(`script`);r.setAttribute(`src`,e),r.onload=t,r.onerror=e=>{let t=wn(`internal-error`);t.customData=e,n(t)},r.type=`text/javascript`,r.charset=`UTF-8`,Xo().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=`}),Go(`Browser`),Qt(`firebase`,`12.12.1`,`app`);var Zo=Yo(Xt({apiKey:`AIzaSyDIQq_OLUEhmo9ncXiLsKycF0MYOhuYb6o`,authDomain:`dokploytest.firebaseapp.com`,projectId:`dokploytest`,storageBucket:`dokploytest.firebasestorage.app`,messagingSenderId:`1094920091343`,appId:`1:1094920091343:web:4bf41964204e4b5901a9ba`})),Qo=new Pi,$o=async()=>{try{let e=(await Ka(Zo,Qo)).user;if(!e.email.endsWith(`@gomezleemarketing.com`))throw await Gi(Zo),Error(`Solo se permiten correos @gomezleemarketing.com`);return e}catch(e){throw console.error(`Error signing in`,e),e}},es=()=>Gi(Zo),ts=e((e=>{var t=Symbol.for(`react.transitional.element`);function n(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.jsx=n,e.jsxs=n})),B=e(((e,t)=>{t.exports=ts()}))(),ns=`@gomezleemarketing.com`,rs=[`Enero`,`Febrero`,`Marzo`,`Abril`,`Mayo`,`Junio`,`Julio`,`Agosto`,`Septiembre`,`Octubre`,`Noviembre`,`Diciembre`],is=[{key:`bambooActivo`,title:`Bamboo activo`,note:`Empleados activos del período`,accept:`.xlsx,.xls`},{key:`bambooAdditionsTerminations`,title:`Bamboo additions / terminations`,note:`Altas, bajas y cambios`,accept:`.xlsx,.xls`},{key:`nominaExcel`,title:`Nómina`,note:`Nómina consolidada`,accept:`.xlsx,.xls`},{key:`bancoFiles`,title:`Banco`,note:`Movimientos bancarios exportados del banco en CSV`,accept:`.csv`,multiple:!0}];function as(...e){return e.filter(Boolean).join(` `)}function os(e,t=`QTZ`){return`${t} ${Number(e||0).toLocaleString(`es-GT`,{minimumFractionDigits:2,maximumFractionDigits:2})}`}function ss(e){return!e&&e!==0?``:e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function cs(e){return e?.reporteGoogleSheetsUrl||e?.googleSheet?.url||e?.folderUrl||``}function ls(e){return e?.googleSheet?.title||`Reporte de Google Sheets`}function us(e){let t=Array.isArray(e?.irregularidades)?e.irregularidades:[],n=Array.isArray(e?.topGeneral)?e.topGeneral:[],r=Array.isArray(e?.topAltas)?e.topAltas:[],i=Array.isArray(e?.samples?.irregularidades)?e.samples.irregularidades:[];return(t.length?t:n.length?n:r.length?r:i).filter(e=>e&&typeof e==`object`)}function ds(e){let t=e?.resumenEjecutivo||e?.summary||{},n=us(e),r=n.filter(e=>String(e.Prioridad||``).toUpperCase()!==`OK`),i=r.filter(e=>String(e.Prioridad||``).toUpperCase()===`ALTO`),a=r.filter(e=>String(e.Prioridad||``).toUpperCase()===`MEDIO`),o=r.filter(e=>String(e.Prioridad||``).toUpperCase()===`BAJO`),s=r.reduce((e,t)=>e+Number(t.MontoRiesgo||0),0),c={...t,totalIrregularidades:t.totalIrregularidades??r.length,totalAltas:t.totalAltas??i.length,totalMedias:t.totalMedias??a.length,totalBajas:t.totalBajas??o.length,montoRiesgoTotal:t.montoRiesgoTotal??s,montoRiesgoTotalFormateado:t.montoRiesgoTotalFormateado||os(t.montoRiesgoTotal??s)},l=n.length===1&&String(n[0]?.Prioridad||``).toUpperCase()===`OK`,u=[c.totalNominaRowsEntrada,c.totalNominaRowsValidas,c.totalBancoRowsEntrada,c.totalBancoRowsValidas].some(e=>e===0);return{resumen:c,issues:r.length?r:n,isSuspiciousEmpty:l||u}}function fs(e,t){if(Array.isArray(e?.categorias)&&e.categorias.length)return e.categorias;let n=e?.summary?.categorias||e?.resumenEjecutivo?.categorias;if(n&&typeof n==`object`)return Object.entries(n).map(([e,t])=>({categoria:e,cantidad:t}));let r={};for(let e of t||[])r[e.Categoria||`Sin categoría`]=(r[e.Categoria||`Sin categoría`]||0)+1;return Object.entries(r).map(([e,t])=>({categoria:e,cantidad:t}))}function ps({loading:e,error:t,onLogin:n}){return(0,B.jsx)(`main`,{className:`loginPage`,children:(0,B.jsxs)(`section`,{className:`loginCard`,children:[(0,B.jsxs)(`div`,{className:`symbol`,"aria-hidden":`true`,children:[(0,B.jsx)(`span`,{}),(0,B.jsx)(`span`,{})]}),(0,B.jsx)(`p`,{className:`kicker`,children:`Auditoría interna`}),(0,B.jsx)(`h1`,{children:`Cruce de Cuentas`}),(0,B.jsx)(`p`,{className:`lead`,children:`Panel seguro para detectar irregularidades entre Bamboo, nómina y banco.`}),t&&(0,B.jsx)(`div`,{className:`inlineError`,children:t}),(0,B.jsxs)(`button`,{className:`googleBtn`,onClick:n,disabled:e,type:`button`,children:[(0,B.jsx)(`span`,{className:`googleIcon`,children:`G`}),e?`Validando acceso…`:`Continuar con Google corporativo`]}),(0,B.jsxs)(`p`,{className:`accessNote`,children:[`Acceso restringido a cuentas corporativas `,(0,B.jsx)(`strong`,{children:ns})]})]})})}function ms({user:e}){return(0,B.jsxs)(`header`,{className:`topHeader`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`p`,{className:`kicker`,children:`Uso interno · Datos confidenciales`}),(0,B.jsx)(`h1`,{children:`Cruce de Cuentas`})]}),(0,B.jsxs)(`div`,{className:`sessionBox`,children:[(0,B.jsx)(`span`,{className:`avatar`,children:e?.email?.[0]?.toUpperCase()||`U`}),(0,B.jsx)(`span`,{className:`sessionEmail`,children:e?.email}),(0,B.jsx)(`button`,{className:`logoutBtn`,onClick:es,type:`button`,children:`Cerrar sesión`})]})]})}function hs({percent:e}){return(0,B.jsxs)(`aside`,{className:`progressBox`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{children:`Preparación`}),(0,B.jsxs)(`strong`,{children:[e,`%`]})]}),(0,B.jsx)(`div`,{className:`progressTrack`,children:(0,B.jsx)(`span`,{style:{width:`${e}%`}})})]})}function gs({contextReady:e,filesReady:t,submitting:n,hasResult:r}){return(0,B.jsx)(`div`,{className:`stepLine`,children:[[`Contexto`,e],[`Archivos`,t],[`Proceso`,n||r],[`Reporte`,r]].map(([e,t],r)=>(0,B.jsxs)(`div`,{className:as(`step`,t&&`done`,n&&e===`Proceso`&&`active`),children:[(0,B.jsx)(`span`,{children:t?`✓`:r+1}),(0,B.jsx)(`strong`,{children:e})]},e))})}function _s({label:e,children:t}){return(0,B.jsxs)(`label`,{className:`field`,children:[(0,B.jsx)(`span`,{children:e}),t]})}function vs({config:e,value:t,onChange:n}){let r=e.multiple?t:t?[t]:[],i=r.length>0;return(0,B.jsxs)(`article`,{className:as(`fileBox`,i&&`ready`),children:[(0,B.jsxs)(`div`,{className:`fileBoxTop`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{children:e.title}),(0,B.jsx)(`p`,{children:e.note})]}),(0,B.jsx)(`span`,{children:i?`Listo`:`Pendiente`})]}),(0,B.jsxs)(`label`,{className:`fileButton`,children:[(0,B.jsx)(`input`,{type:`file`,accept:e.accept,multiple:e.multiple,required:!0,onChange:t=>n(e.key,e.multiple?Array.from(t.target.files||[]):t.target.files?.[0]||null)}),i?`Cambiar archivo`:`Seleccionar archivo`]}),i&&(0,B.jsxs)(`ul`,{className:`fileList`,children:[r.slice(0,4).map((e,t)=>(0,B.jsxs)(`li`,{children:[(0,B.jsx)(`span`,{children:e.name}),(0,B.jsx)(`small`,{children:ss(e.size)})]},`${e.name}-${t}`)),r.length>4&&(0,B.jsx)(`li`,{children:(0,B.jsxs)(`span`,{children:[`+`,r.length-4,` archivo(s) adicional(es)`]})})]})]})}function ys({label:e,value:t,tone:n}){return(0,B.jsxs)(`div`,{className:as(`metric`,n),children:[(0,B.jsx)(`span`,{children:e}),(0,B.jsx)(`strong`,{children:t})]})}function bs({data:e}){let{resumen:t,issues:n,isSuspiciousEmpty:r}=ds(e),i=fs(e,n),a=n,o=cs(e);return(0,B.jsxs)(`section`,{className:`resultSection`,children:[(0,B.jsxs)(`div`,{className:`resultHeader`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`p`,{className:`kicker`,children:`Reporte generado`}),(0,B.jsx)(`h2`,{children:t.tituloResultado||e.message||`Cruce completado`}),(0,B.jsx)(`p`,{children:t.recomendacionPrincipal||`Revisa primero los casos de prioridad alta y confirma los hallazgos con RRHH/Finanzas.`})]}),o&&(0,B.jsx)(`a`,{className:`mainLink`,href:o,target:`_blank`,rel:`noreferrer`,children:`Abrir Google Sheet`})]}),r&&(0,B.jsxs)(`div`,{className:`technicalWarning`,children:[(0,B.jsx)(`strong`,{children:`Revisión técnica recomendada:`}),` n8n devolvió un resultado vacío/OK aunque se enviaron archivos. Esto suele pasar cuando el flujo no convirtió filas desde los binarios, cuando el banco no está en CSV o cuando el frontend apunta a un webhook distinto al flujo actualizado. Revisa en la respuesta completa los totales de filas de nómina y banco.`]}),(0,B.jsxs)(`div`,{className:`metricsGrid`,children:[(0,B.jsx)(ys,{label:`Irregularidades`,value:t.totalIrregularidades??0}),(0,B.jsx)(ys,{label:`Prioridad alta`,value:t.totalAltas??0,tone:`danger`}),(0,B.jsx)(ys,{label:`Prioridad media`,value:t.totalMedias??0,tone:`warning`}),(0,B.jsx)(ys,{label:`Riesgo estimado`,value:t.montoRiesgoTotalFormateado||os(t.montoRiesgoTotal),tone:`success`})]}),(0,B.jsxs)(`div`,{className:`resultGrid`,children:[(0,B.jsxs)(`div`,{className:`softPanel`,children:[(0,B.jsx)(`h3`,{children:`Categorías principales`}),(0,B.jsx)(`div`,{className:`categoryStack`,children:i.slice(0,6).map(e=>{let n=Number(e.cantidad||0),r=Number(t.totalIrregularidades||n||1);return(0,B.jsxs)(`div`,{className:`categoryItem`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{children:e.categoria}),(0,B.jsx)(`strong`,{children:n})]}),(0,B.jsx)(`em`,{children:(0,B.jsx)(`i`,{style:{width:`${Math.min(100,Math.round(n/r*100))}%`}})})]},e.categoria)})})]}),(0,B.jsxs)(`div`,{className:`softPanel sheetPanel`,children:[(0,B.jsx)(`h3`,{children:`Salida oficial`}),(0,B.jsx)(`p`,{children:ls(e)}),o?(0,B.jsx)(`a`,{href:o,target:`_blank`,rel:`noreferrer`,children:`Ver reporte`}):(0,B.jsx)(`span`,{children:`No se recibió enlace.`})]})]}),(0,B.jsxs)(`div`,{className:`softPanel tablePanel`,children:[(0,B.jsx)(`h3`,{children:`Casos prioritarios`}),(0,B.jsx)(`div`,{className:`tableWrap`,children:(0,B.jsxs)(`table`,{children:[(0,B.jsx)(`thead`,{children:(0,B.jsxs)(`tr`,{children:[(0,B.jsx)(`th`,{children:`Prioridad`}),(0,B.jsx)(`th`,{children:`Categoría`}),(0,B.jsx)(`th`,{children:`Empleado`}),(0,B.jsx)(`th`,{children:`Monto`}),(0,B.jsx)(`th`,{children:`Acción sugerida`})]})}),(0,B.jsx)(`tbody`,{children:a.slice(0,8).map((e,t)=>(0,B.jsxs)(`tr`,{children:[(0,B.jsx)(`td`,{children:(0,B.jsx)(`span`,{className:as(`priority`,String(e.Prioridad||``).toLowerCase()),children:e.Prioridad||`N/A`})}),(0,B.jsx)(`td`,{children:e.Categoria||`-`}),(0,B.jsx)(`td`,{children:e.EmpleadoNomina||e.BeneficiarioBanco||`-`}),(0,B.jsx)(`td`,{children:e.MontoRiesgoFormateado||os(e.MontoRiesgo||0,e.Moneda||`QTZ`)}),(0,B.jsx)(`td`,{children:e.AccionSugerida||`Revisar manualmente.`})]},`${e.EmpleadoNomina||e.Categoria}-${t}`))})]})})]}),e.alertas?.length>0&&(0,B.jsx)(`div`,{className:`notes`,children:e.alertas.map((e,t)=>(0,B.jsx)(`p`,{children:e},`${e}-${t}`))}),(0,B.jsxs)(`details`,{className:`debugBox`,children:[(0,B.jsx)(`summary`,{children:`Respuesta completa para soporte`}),(0,B.jsx)(`pre`,{children:JSON.stringify(e,null,2)})]})]})}function xs({error:e}){let t=e?.error||e?.message||`No se pudo completar el proceso.`;return(0,B.jsxs)(`section`,{className:`errorSection`,children:[(0,B.jsx)(`p`,{className:`kicker`,children:`Error`}),(0,B.jsx)(`h2`,{children:`No se pudo procesar la corrida`}),(0,B.jsx)(`p`,{children:t}),(0,B.jsxs)(`details`,{className:`debugBox`,open:!0,children:[(0,B.jsx)(`summary`,{children:`Detalle técnico`}),(0,B.jsx)(`pre`,{children:JSON.stringify(e,null,2)})]})]})}function Ss(){let[e,t]=(0,l.useState)(null),[n,r]=(0,l.useState)(!0),[i,a]=(0,l.useState)(``),[o,s]=(0,l.useState)(`Guatemala`),[c,u]=(0,l.useState)(``),[d,f]=(0,l.useState)(String(new Date().getFullYear())),[p,m]=(0,l.useState)(`Mensual`),[h,g]=(0,l.useState)(``),[_,v]=(0,l.useState)({bambooActivo:null,bambooAdditionsTerminations:null,nominaExcel:null,bancoFiles:[]}),[y,b]=(0,l.useState)(!1),[x,ee]=(0,l.useState)(null),[S,C]=(0,l.useState)(null);(0,l.useEffect)(()=>{let e=Wi(Zo,async e=>{if(!e){t(null),r(!1);return}e.email?.endsWith(ns)?(t(e),a(``)):(await es(),a(`Solo se permiten correos ${ns}`),t(null)),r(!1)});return()=>e()},[]);let te=!!(o&&c&&d&&p&&(p!==`Quincenal`||h)),ne=!!(_.bambooActivo&&_.bambooAdditionsTerminations&&_.nominaExcel&&_.bancoFiles.length>0),re=(0,l.useMemo)(()=>{let e=[o,c,d,_.bambooActivo,_.bambooAdditionsTerminations,_.nominaExcel,_.bancoFiles.length>0],t=p===`Quincenal`?[h]:[],n=[...e,...t];return Math.round(n.filter(Boolean).length/n.length*100)},[o,c,d,p,h,_]),w=async()=>{r(!0),a(``);try{await $o()}catch(e){a(e.message||`No se pudo iniciar sesión.`),r(!1)}},ie=(e,t)=>v(n=>({...n,[e]:t}));return e?(0,B.jsxs)(`div`,{className:`appPage`,children:[(0,B.jsx)(ms,{user:e}),(0,B.jsxs)(`main`,{className:`container`,children:[(0,B.jsxs)(`section`,{className:`heroPanel`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`p`,{className:`kicker`,children:`Flujo conectado a n8n`}),(0,B.jsx)(`h2`,{children:`Convierte archivos sensibles en un reporte claro y accionable`}),(0,B.jsx)(`p`,{children:`Carga Bamboo, nómina y banco. El backend genera un Google Sheet por corrida y devuelve un resumen ejecutivo.`})]}),(0,B.jsx)(hs,{percent:re})]}),(0,B.jsx)(gs,{contextReady:te,filesReady:ne,submitting:y,hasResult:!!x}),(0,B.jsxs)(`form`,{className:`formGrid`,onSubmit:async t=>{t.preventDefault(),b(!0),ee(null),C(null);try{if(!te||!ne)throw Error(`Completa el contexto y adjunta todos los archivos requeridos.`);let t=await e.getIdToken(),n=new FormData;n.append(`pais`,o.trim()),n.append(`mes`,c.trim()),n.append(`anio`,d.trim()),n.append(`tipoCruce`,p),p===`Quincenal`&&n.append(`quincena`,h),n.append(`userEmail`,e.email),n.append(`authIdToken`,t),n.append(`frontendVersion`,`fase6-profesional-compat-2026-05-05`),n.append(`frontendPayloadMeta`,JSON.stringify({pais:o.trim(),mes:c.trim(),anio:d.trim(),tipoCruce:p,quincena:p===`Quincenal`?h:``,files:{bambooActivo:_.bambooActivo?.name||``,bambooAdditionsTerminations:_.bambooAdditionsTerminations?.name||``,nominaExcel:_.nominaExcel?.name||``,bancoFiles:_.bancoFiles.map(e=>e.name)}})),n.append(`bambooActivo`,_.bambooActivo,_.bambooActivo.name),n.append(`bambooAdditionsTerminations`,_.bambooAdditionsTerminations,_.bambooAdditionsTerminations.name),n.append(`nominaExcel`,_.nominaExcel,_.nominaExcel.name),_.bancoFiles.forEach(e=>n.append(`bancoFiles`,e,e.name));let r=await fetch(`https://agenteit.digitalcompass.agency/webhook/74a99fa2-c587-44ad-8762-bbda81891db0`,{method:`POST`,body:n}),i=await r.text(),a={};try{a=i?JSON.parse(i):{}}catch{throw Error(`El webhook respondió sin JSON válido: ${i.slice(0,300)}`)}!r.ok||a.success===!1?C(a):ee(a)}catch(e){C({success:!1,error:e.message})}finally{b(!1)}},children:[(0,B.jsxs)(`section`,{className:`card contextCard`,children:[(0,B.jsxs)(`div`,{className:`sectionHead`,children:[(0,B.jsx)(`span`,{children:`01`}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h2`,{children:`Contexto de la corrida`}),(0,B.jsx)(`p`,{children:`Información que identifica el período auditado.`})]})]}),(0,B.jsxs)(`div`,{className:`fieldsGrid`,children:[(0,B.jsx)(_s,{label:`País`,children:(0,B.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),required:!0,placeholder:`Guatemala`})}),(0,B.jsx)(_s,{label:`Mes`,children:(0,B.jsxs)(`select`,{value:c,onChange:e=>u(e.target.value),required:!0,children:[(0,B.jsx)(`option`,{value:``,children:`Seleccionar`}),rs.map(e=>(0,B.jsx)(`option`,{children:e},e))]})}),(0,B.jsx)(_s,{label:`Año`,children:(0,B.jsx)(`input`,{type:`number`,min:`2020`,max:`2100`,value:d,onChange:e=>f(e.target.value),required:!0})}),(0,B.jsx)(_s,{label:`Tipo de cruce`,children:(0,B.jsxs)(`select`,{value:p,onChange:e=>m(e.target.value),children:[(0,B.jsx)(`option`,{children:`Mensual`}),(0,B.jsx)(`option`,{children:`Quincenal`})]})}),p===`Quincenal`&&(0,B.jsx)(_s,{label:`Quincena`,children:(0,B.jsxs)(`select`,{value:h,onChange:e=>g(e.target.value),required:!0,children:[(0,B.jsx)(`option`,{value:``,children:`Seleccionar`}),(0,B.jsx)(`option`,{value:`15`,children:`15`}),(0,B.jsx)(`option`,{value:`30`,children:`30`})]})})]})]}),(0,B.jsxs)(`section`,{className:`card filesCard`,children:[(0,B.jsxs)(`div`,{className:`sectionHead`,children:[(0,B.jsx)(`span`,{children:`02`}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h2`,{children:`Archivos requeridos`}),(0,B.jsx)(`p`,{children:`Todos deben corresponder al mismo período.`})]})]}),(0,B.jsx)(`div`,{className:`fileGrid`,children:is.map(e=>(0,B.jsx)(vs,{config:e,value:_[e.key],onChange:ie},e.key))})]}),(0,B.jsxs)(`section`,{className:`submitPanel`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h2`,{children:`Enviar a validación`}),(0,B.jsx)(`p`,{children:`n8n cruzará los registros y devolverá el enlace al Google Sheet generado.`})]}),(0,B.jsx)(`button`,{className:`submitBtn`,disabled:y||!te||!ne,children:y?`Procesando…`:`Ejecutar cruce de cuentas`})]})]}),x&&(0,B.jsx)(bs,{data:x}),S&&(0,B.jsx)(xs,{error:S})]})]}):(0,B.jsx)(ps,{loading:n,error:i,onLogin:w})}(0,u.createRoot)(document.getElementById(`root`)).render((0,B.jsx)(l.StrictMode,{children:(0,B.jsx)(Ss,{})})); \ No newline at end of file diff --git a/dist/assets/index-DU5ZO3Ig.css b/dist/assets/index-DU5ZO3Ig.css new file mode 100644 index 0000000..ae7cc50 --- /dev/null +++ b/dist/assets/index-DU5ZO3Ig.css @@ -0,0 +1 @@ +html,body,#root{min-height:100%}body,#root{min-height:100vh}:root{--bg:#f4f7fb;--surface:#fff;--soft:#f7faff;--text:#172033;--muted:#63728a;--faint:#8391a7;--line:#dbe6f2;--blue:#1c63d8;--blue2:#0d47a7;--green:#11845b;--amber:#b46c00;--red:#c43b3b;--shadow:0 18px 50px #192d4c1c;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 4%, #1c63d829, transparent 34%), radial-gradient(circle at 92% 10%, #11845b1f, transparent 30%), var(--bg);min-width:320px;margin:0}button,input,select{font:inherit}button{border:0}a{color:inherit}.kicker{color:var(--blue);letter-spacing:.15em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:900}.loginPage{place-items:center;min-height:100vh;padding:28px;display:grid}.loginCard{text-align:center;border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);background:#fffffff0;border-radius:30px;padding:50px}.symbol{justify-content:center;align-items:center;width:58px;height:44px;margin-bottom:24px;display:inline-flex}.symbol span{border:6px solid var(--blue);border-radius:9px;width:30px;height:19px;transform:rotate(-42deg)}.symbol span+span{border-color:#20a886;margin-left:-8px;transform:rotate(42deg)}.loginCard h1{letter-spacing:-.045em;margin:0;font-size:clamp(34px,5vw,52px);line-height:1}.lead{max-width:360px;color:var(--muted);margin:18px auto 28px;font-size:17px;line-height:1.7}.inlineError{color:#8b2020;background:#fff0f0;border:1px solid #ffd3d3;border-radius:14px;margin-bottom:16px;padding:12px 14px;font-weight:800}.googleBtn{width:100%;min-height:58px;color:var(--text);cursor:pointer;background:#fff;border:1px solid #c6d3e5;border-radius:17px;justify-content:center;align-items:center;gap:14px;font-weight:900;display:inline-flex;box-shadow:0 14px 30px #1c63d81f}.googleBtn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 20px 38px #1c63d829}.googleBtn:disabled{opacity:.65;cursor:not-allowed}.googleIcon{color:#fff;background:linear-gradient(135deg,#4285f4,#34a853 45%,#fbbc05 72%,#ea4335);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.accessNote{color:var(--muted);margin:24px 0 0;line-height:1.6}.topHeader,.container{width:min(1220px,100% - 40px);margin:0 auto}.topHeader{justify-content:space-between;align-items:center;gap:18px;padding:28px 0 18px;display:flex}.topHeader h1{letter-spacing:-.045em;margin:0;font-size:clamp(30px,4vw,44px)}.sessionBox{border:1px solid var(--line);background:#ffffffd1;border-radius:999px;align-items:center;gap:10px;padding:8px;display:flex;box-shadow:0 10px 24px #192d4c12}.avatar{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.sessionEmail{text-overflow:ellipsis;white-space:nowrap;max-width:280px;color:var(--muted);overflow:hidden}.logoutBtn{color:#9d2424;cursor:pointer;background:#fff0f0;border-radius:999px;min-height:38px;padding:0 16px;font-weight:900}.container{padding:16px 0 60px}.heroPanel,.card,.submitPanel,.resultSection,.errorSection{border:1px solid var(--line);background:#ffffffeb;border-radius:28px;box-shadow:0 12px 34px #192d4c14}.heroPanel{grid-template-columns:1fr 260px;align-items:center;gap:24px;padding:34px;display:grid}.heroPanel h2{letter-spacing:-.055em;max-width:760px;margin:0;font-size:clamp(32px,5vw,58px);line-height:1.02}.heroPanel p:not(.kicker){max-width:650px;color:var(--muted);margin:18px 0 0;font-size:17px;line-height:1.7}.progressBox{border:1px solid var(--line);background:linear-gradient(#fff,#f8fbff);border-radius:22px;padding:22px}.progressBox div:first-child{color:var(--muted);justify-content:space-between;gap:16px;font-weight:800;display:flex}.progressBox strong{color:var(--text);letter-spacing:-.05em;font-size:34px}.progressTrack{background:#e8eef7;border-radius:999px;height:10px;margin-top:16px;overflow:hidden}.progressTrack span{background:linear-gradient(90deg,var(--blue),#20a886);border-radius:inherit;height:100%;transition:width .2s;display:block}.stepLine{grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0;display:grid}.step{min-height:58px;color:var(--muted);border:1px solid var(--line);background:#ffffffc7;border-radius:18px;align-items:center;gap:10px;padding:12px 14px;font-weight:900;display:flex}.step span{background:var(--soft);border:1px solid var(--line);border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;display:grid}.step.done{color:var(--green);background:#ebf8f2;border-color:#bfe7d7}.step.done span{color:#fff;background:var(--green);border-color:var(--green)}.step.active{color:var(--blue);background:#edf4ff}.formGrid{grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr);gap:18px;display:grid}.card,.submitPanel,.resultSection,.errorSection{padding:28px}.sectionHead{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.sectionHead>span{width:44px;height:44px;color:var(--blue);background:#edf4ff;border:1px solid #bfd5ff;border-radius:14px;flex:none;place-items:center;font-weight:900;display:grid}.sectionHead h2,.submitPanel h2,.resultSection h2,.errorSection h2{letter-spacing:-.04em;margin:0;font-size:clamp(24px,3vw,34px);line-height:1.08}.sectionHead p,.submitPanel p,.resultSection p,.errorSection p,.softPanel p{color:var(--muted);margin:8px 0 0;line-height:1.6}.fieldsGrid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.field{gap:8px;display:grid}.field span{font-weight:900}.field input,.field select{width:100%;min-height:48px;color:var(--text);background:#fff;border:1px solid #c7d5e7;border-radius:14px;outline:none;padding:0 14px}.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1c63d81f}.fileGrid{gap:14px;display:grid}.fileBox{background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:18px}.fileBox.ready{background:#f8fffc;border-color:#bfe7d7}.fileBoxTop{justify-content:space-between;gap:12px;margin-bottom:14px;display:flex}.fileBox h3{margin:0;font-size:16px}.fileBox p{color:var(--muted);margin:4px 0 0;font-size:14px}.fileBoxTop>span{height:28px;color:var(--muted);background:#eef2f7;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.fileBox.ready .fileBoxTop>span{color:var(--green);background:#e7f6f0}.fileButton{min-height:52px;color:var(--blue);cursor:pointer;background:#fff;border:1px dashed #9fb3cf;border-radius:16px;justify-content:center;align-items:center;padding:12px 14px;font-weight:900;display:flex}.fileButton input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.fileList{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.fileList li{color:var(--muted);background:#fffc;border-radius:12px;justify-content:space-between;gap:10px;padding:8px 10px;font-size:13px;display:flex}.fileList span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.submitPanel{background:linear-gradient(135deg,#112a50,#143a73);grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;display:flex}.submitPanel h2,.submitPanel p{color:#fff}.submitPanel p{opacity:.76}.submitBtn{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue2));cursor:pointer;border-radius:16px;min-width:260px;min-height:54px;padding:0 24px;font-weight:900;box-shadow:0 16px 34px #0000002e}.submitBtn:disabled{opacity:.48;cursor:not-allowed}.resultSection,.errorSection{margin-top:18px}.resultHeader{justify-content:space-between;align-items:center;gap:18px;display:flex}.mainLink,.sheetPanel a{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue2));white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:900;text-decoration:none;display:inline-flex}.metricsGrid{grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0;display:grid}.metric{background:var(--soft);border:1px solid var(--line);border-radius:18px;min-height:108px;padding:18px}.metric span{color:var(--muted);font-size:13px;font-weight:900}.metric strong{letter-spacing:-.05em;margin-top:10px;font-size:clamp(24px,3vw,36px);display:block}.metric.danger strong{color:var(--red)}.metric.warning strong{color:var(--amber)}.metric.success strong{color:var(--green);font-size:clamp(21px,2.4vw,30px)}.resultGrid{grid-template-columns:1fr 340px;gap:14px;margin-bottom:14px;display:grid}.softPanel{background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:20px}.softPanel h3{margin:0 0 14px;font-size:18px}.categoryStack{gap:14px;display:grid}.categoryItem>div{color:var(--muted);justify-content:space-between;gap:14px;margin-bottom:8px;display:flex}.categoryItem strong{color:var(--text)}.categoryItem em{background:#e8eef7;border-radius:999px;height:8px;display:block;overflow:hidden}.categoryItem i{background:linear-gradient(90deg,var(--blue),#20a886);border-radius:inherit;height:100%;display:block}.sheetPanel{flex-direction:column;justify-content:space-between;gap:18px;display:flex}.tablePanel{padding:0;overflow:hidden}.tablePanel h3{padding:20px 20px 0}.tableWrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{text-align:left;border-top:1px solid var(--line);vertical-align:top;padding:14px 16px}th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#f1f6fc;font-size:12px}td{font-size:14px;line-height:1.45}.priority{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.priority.alto{color:var(--red);background:#fff0f0}.priority.medio{color:var(--amber);background:#fff7e8}.priority.bajo,.priority.ok{color:var(--green);background:#e7f6f0}.notes{gap:8px;margin-top:14px;display:grid}.notes p{color:#684806;background:#fff7e8;border:1px solid #ffe0a8;border-radius:14px;margin:0;padding:12px 14px;font-size:14px}.errorSection{background:snow;border-color:#ffd2d2}.debugBox{background:#111827;border-radius:16px;margin-top:16px;overflow:hidden}.debugBox summary{color:#fff;cursor:pointer;padding:14px 16px;font-weight:900}.debugBox pre{color:#cbd5e1;white-space:pre-wrap;max-height:420px;margin:0;padding:0 16px 16px;font-size:12px;line-height:1.6;overflow:auto}@media (width<=980px){.topHeader,.sessionBox,.submitPanel,.resultHeader{flex-direction:column;align-items:stretch;display:flex}.heroPanel,.formGrid,.resultGrid{grid-template-columns:1fr}.metricsGrid,.stepLine{grid-template-columns:repeat(2,1fr)}.mainLink,.submitBtn{width:100%}}@media (width<=640px){.topHeader,.container{width:min(100% - 24px,1220px)}.heroPanel,.card,.submitPanel,.resultSection,.errorSection,.loginCard{border-radius:22px;padding:22px}.fieldsGrid,.metricsGrid,.stepLine{grid-template-columns:1fr}.sessionEmail{max-width:100%}}.technicalWarning{color:#6b4b05;background:#fff7e8;border:1px solid #ffd58b;border-radius:16px;margin:18px 0 0;padding:14px 16px;line-height:1.55}.technicalWarning strong{color:#493103} diff --git a/dist/favicon.svg b/dist/favicon.svg new file mode 100644 index 0000000..6893eb1 --- /dev/null +++ b/dist/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/icons.svg b/dist/icons.svg new file mode 100644 index 0000000..e952219 --- /dev/null +++ b/dist/icons.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..66aae2a --- /dev/null +++ b/dist/index.html @@ -0,0 +1,14 @@ + + + + + + + Cruce de Cuentas GLM + + + + +
+ +