Files
AdPlatform-Client/Client-Tech/dist/bundle.js
Grae Jones 8929eda2fa
All checks were successful
Client Registration / build-deploy (push) Successful in 10s
Client Tech / build-deploy (push) Successful in 11s
...reapply
2026-03-23 10:03:49 -07:00

2 lines
552 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*! For license information please see bundle.js.LICENSE.txt */
(()=>{"use strict";var e={56(e,t,n){e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},72(e){var t=[];function n(e){for(var n=-1,r=0;r<t.length;r++)if(t[r].identifier===e){n=r;break}return n}function r(e,r){for(var a={},i=[],s=0;s<e.length;s++){var c=e[s],l=r.base?c[0]+r.base:c[0],u=a[l]||0,d="".concat(l," ").concat(u);a[l]=u+1;var h=n(d),p={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==h)t[h].references++,t[h].updater(p);else{var f=o(p,r);r.byIndex=s,t.splice(s,0,{identifier:d,updater:f,references:1})}i.push(d)}return i}function o(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,o){var a=r(e=e||[],o=o||{});return function(e){e=e||[];for(var i=0;i<a.length;i++){var s=n(a[i]);t[s].references--}for(var c=r(e,o),l=0;l<a.length;l++){var u=n(a[l]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}a=c}}},113(e){e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},159(e){e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},287(e,t){var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.iterator,f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,m={};function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||f}function v(){}function b(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||f}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): 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")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=y.prototype;var w=b.prototype=new v;w.constructor=b,g(w,y.prototype),w.isPureReactComponent=!0;var k=Array.isArray,C=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function I(e,t,r){var o,a={},i=null,s=null;if(null!=t)for(o in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)C.call(t,o)&&!E.hasOwnProperty(o)&&(a[o]=t[o]);var c=arguments.length-2;if(1===c)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(o in c=e.defaultProps)void 0===a[o]&&(a[o]=c[o]);return{$$typeof:n,type:e,key:i,ref:s,props:a,_owner:S.current}}function T(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var x=/\/+/g;function A(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function _(e,t,o,a,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var c=!1;if(null===e)c=!0;else switch(s){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case r:c=!0}}if(c)return i=i(c=e),e=""===a?"."+A(c,0):a,k(i)?(o="",null!=e&&(o=e.replace(x,"$&/")+"/"),_(i,t,o,"",function(e){return e})):null!=i&&(T(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,o+(!i.key||c&&c.key===i.key?"":(""+i.key).replace(x,"$&/")+"/")+e)),t.push(i)),1;if(c=0,a=""===a?".":a+":",k(e))for(var l=0;l<e.length;l++){var u=a+A(s=e[l],l);c+=_(s,t,o,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),l=0;!(s=e.next()).done;)c+=_(s=s.value,t,o,u=a+A(s,l++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function P(e,t,n){if(null==e)return e;var r=[],o=0;return _(e,r,"","",function(e){return t.call(n,e,o++)}),r}function R(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var N={current:null},M={transition:null},O={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:M,ReactCurrentOwner:S};function z(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!T(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=y,t.Fragment=o,t.Profiler=i,t.PureComponent=b,t.StrictMode=a,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.act=z,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=g({},e.props),a=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=S.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)C.call(t,l)&&!E.hasOwnProperty(l)&&(o[l]=void 0===t[l]&&void 0!==c?c[l]:t[l])}var l=arguments.length-2;if(1===l)o.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];o.children=c}return{$$typeof:n,type:e.type,key:a,ref:i,props:o,_owner:s}},t.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=I,t.createFactory=function(e){var t=I.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=T,t.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:R}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=M.transition;M.transition={};try{e()}finally{M.transition=t}},t.unstable_act=z,t.useCallback=function(e,t){return N.current.useCallback(e,t)},t.useContext=function(e){return N.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return N.current.useDeferredValue(e)},t.useEffect=function(e,t){return N.current.useEffect(e,t)},t.useId=function(){return N.current.useId()},t.useImperativeHandle=function(e,t,n){return N.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return N.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return N.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return N.current.useMemo(e,t)},t.useReducer=function(e,t,n){return N.current.useReducer(e,t,n)},t.useRef=function(e){return N.current.useRef(e)},t.useState=function(e){return N.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return N.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return N.current.useTransition()},t.version="18.3.1"},314(e){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n}).join("")},t.i=function(e,n,r,o,a){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(i[c]=!0)}for(var l=0;l<e.length;l++){var u=[].concat(e[l]);r&&i[u[0]]||(void 0!==a&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=a),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},338(e,t,n){var r=n(961);t.H=r.createRoot,r.hydrateRoot},463(e,t){function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(!(0<a(o,t)))break e;e[r]=t,e[n]=o,n=r}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,i=o>>>1;r<i;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>a(c,n))l<o&&0>a(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else{if(!(l<o&&0>a(u,n)))break e;e[r]=u,e[l]=n,r=l}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,c=s.now();t.unstable_now=function(){return s.now()-c}}var l=[],u=[],d=1,h=null,p=3,f=!1,g=!1,m=!1,y="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,b="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(u);null!==t;){if(null===t.callback)o(u);else{if(!(t.startTime<=e))break;o(u),t.sortIndex=t.expirationTime,n(l,t)}t=r(u)}}function k(e){if(m=!1,w(e),!g)if(null!==r(l))g=!0,M(C);else{var t=r(u);null!==t&&O(k,t.startTime-e)}}function C(e,n){g=!1,m&&(m=!1,v(T),T=-1),f=!0;var a=p;try{for(w(n),h=r(l);null!==h&&(!(h.expirationTime>n)||e&&!_());){var i=h.callback;if("function"==typeof i){h.callback=null,p=h.priorityLevel;var s=i(h.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?h.callback=s:h===r(l)&&o(l),w(n)}else o(l);h=r(l)}if(null!==h)var c=!0;else{var d=r(u);null!==d&&O(k,d.startTime-n),c=!1}return c}finally{h=null,p=a,f=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,I=null,T=-1,x=5,A=-1;function _(){return!(t.unstable_now()-A<x)}function P(){if(null!==I){var e=t.unstable_now();A=e;var n=!0;try{n=I(!0,e)}finally{n?S():(E=!1,I=null)}}else E=!1}if("function"==typeof b)S=function(){b(P)};else if("undefined"!=typeof MessageChannel){var R=new MessageChannel,N=R.port2;R.port1.onmessage=P,S=function(){N.postMessage(null)}}else S=function(){y(P,0)};function M(e){I=e,E||(E=!0,S())}function O(e,n){T=y(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||f||(g=!0,M(C))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):x=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return r(l)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,o,a){var i=t.unstable_now();switch(a="object"==typeof a&&null!==a&&"number"==typeof(a=a.delay)&&0<a?i+a:i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:o,priorityLevel:e,startTime:a,expirationTime:s=a+s,sortIndex:-1},a>i?(e.sortIndex=a,n(u,e),null===r(l)&&e===r(u)&&(m?(v(T),T=-1):m=!0,O(k,a-i))):(e.sortIndex=s,n(l,e),g||f||(g=!0,M(C))),e},t.unstable_shouldYield=_,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},540(e,t,n){e.exports=n(287)},551(e,t,n){var r=n(540),o=n(982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function c(e,t){l(e,t),l(e+"Capture",t)}function l(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,h=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},f={};function g(e,t,n,r,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var m={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){m[e]=new g(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];m[t]=new g(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){m[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){m[e]=new g(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){m[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){m[e]=new g(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){m[e]=new g(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){m[e]=new g(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){m[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)});var y=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function b(e,t,n,r){var o=m.hasOwnProperty(t)?m[t]:null;(null!==o?0!==o.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!d.call(f,e)||!d.call(p,e)&&(h.test(e)?f[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(y,v);m[t]=new g(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(y,v);m[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(y,v);m[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){m[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)}),m.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){m[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)});var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=Symbol.for("react.element"),C=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),I=Symbol.for("react.profiler"),T=Symbol.for("react.provider"),x=Symbol.for("react.context"),A=Symbol.for("react.forward_ref"),_=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),R=Symbol.for("react.memo"),N=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var M=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var O=Symbol.iterator;function z(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=O&&e[O]||e["@@iterator"])?e:null}var L,q=Object.assign;function U(e){if(void 0===L)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);L=t&&t[1]||""}return"\n"+L+e}var D=!1;function F(e,t){if(!e||D)return"";D=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&"string"==typeof t.stack){for(var o=t.stack.split("\n"),a=r.stack.split("\n"),i=o.length-1,s=a.length-1;1<=i&&0<=s&&o[i]!==a[s];)s--;for(;1<=i&&0<=s;i--,s--)if(o[i]!==a[s]){if(1!==i||1!==s)do{if(i--,0>--s||o[i]!==a[s]){var c="\n"+o[i].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}}while(1<=i&&0<=s);break}}}finally{D=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?U(e):""}function H(e){switch(e.tag){case 5:return U(e.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 2:case 15:return F(e.type,!1);case 11:return F(e.type.render,!1);case 1:return F(e.type,!0);default:return""}}function B(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case C:return"Portal";case I:return"Profiler";case E:return"StrictMode";case _:return"Suspense";case P:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case x:return(e.displayName||"Context")+".Consumer";case T:return(e._context.displayName||"Context")+".Provider";case A:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case R:return null!==(t=e.displayName||null)?t:B(e.type)||"Memo";case N:t=e._payload,e=e._init;try{return B(e(t))}catch(e){}}return null}function j(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return B(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function K(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function $(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function G(e){e._valueTracker||(e._valueTracker=function(e){var t=$(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function W(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=$(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Q(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function V(e,t){var n=t.checked;return q({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=K(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function J(e,t){null!=(t=t.checked)&&b(e,"checked",t,!1)}function X(e,t){J(e,t);var n=K(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,K(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Z(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&Q(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+K(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(r&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return q({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:K(n)}}function ae(e,t){var n=K(t.value),r=K(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ce(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var le,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((le=le||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return ue(e,t)})}:ue);function he(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fe=["Webkit","ms","Moz","O"];function ge(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function me(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=ge(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(pe).forEach(function(e){fe.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]})});var ye=q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ve(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62))}}function be(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function ke(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ce=null,Se=null,Ee=null;function Ie(e){if(e=wo(e)){if("function"!=typeof Ce)throw Error(a(280));var t=e.stateNode;t&&(t=Co(t),Ce(e.stateNode,e.type,t))}}function Te(e){Se?Ee?Ee.push(e):Ee=[e]:Se=e}function xe(){if(Se){var e=Se,t=Ee;if(Ee=Se=null,Ie(e),t)for(e=0;e<t.length;e++)Ie(t[e])}}function Ae(e,t){return e(t)}function _e(){}var Pe=!1;function Re(e,t,n){if(Pe)return e(t,n);Pe=!0;try{return Ae(e,t,n)}finally{Pe=!1,(null!==Se||null!==Ee)&&(_e(),xe())}}function Ne(e,t){var n=e.stateNode;if(null===n)return null;var r=Co(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}var Me=!1;if(u)try{var Oe={};Object.defineProperty(Oe,"passive",{get:function(){Me=!0}}),window.addEventListener("test",Oe,Oe),window.removeEventListener("test",Oe,Oe)}catch(ue){Me=!1}function ze(e,t,n,r,o,a,i,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}var Le=!1,qe=null,Ue=!1,De=null,Fe={onError:function(e){Le=!0,qe=e}};function He(e,t,n,r,o,a,i,s,c){Le=!1,qe=null,ze.apply(Fe,arguments)}function Be(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function je(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function Ke(e){if(Be(e)!==e)throw Error(a(188))}function $e(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Be(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var i=o.alternate;if(null===i){if(null!==(r=o.return)){n=r;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return Ke(o),e;if(i===r)return Ke(o),t;i=i.sibling}throw Error(a(188))}if(n.return!==r.return)n=o,r=i;else{for(var s=!1,c=o.child;c;){if(c===n){s=!0,n=o,r=i;break}if(c===r){s=!0,r=o,n=i;break}c=c.sibling}if(!s){for(c=i.child;c;){if(c===n){s=!0,n=i,r=o;break}if(c===r){s=!0,r=i,n=o;break}c=c.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?Ge(e):null}function Ge(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ge(e);if(null!==t)return t;e=e.sibling}return null}var We=o.unstable_scheduleCallback,Qe=o.unstable_cancelCallback,Ve=o.unstable_shouldYield,Ye=o.unstable_requestPaint,Je=o.unstable_now,Xe=o.unstable_getCurrentPriorityLevel,Ze=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,rt=o.unstable_IdlePriority,ot=null,at=null,it=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(st(e)/ct|0)|0},st=Math.log,ct=Math.LN2,lt=64,ut=4194304;function dt(e){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: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 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ht(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~o;0!==s?r=dt(s):0!==(a&=i)&&(r=dt(a))}else 0!==(i=n&~o)?r=dt(i):0!==a&&(r=dt(a));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&4194240&a))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-it(t)),r|=e[n],t&=~o;return r}function pt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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;default:return-1}}function ft(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=lt;return!(4194240&(lt<<=1))&&(lt=64),e}function mt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function vt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var bt=0;function wt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var kt,Ct,St,Et,It,Tt=!1,xt=[],At=null,_t=null,Pt=null,Rt=new Map,Nt=new Map,Mt=[],Ot="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function zt(e,t){switch(e){case"focusin":case"focusout":At=null;break;case"dragenter":case"dragleave":_t=null;break;case"mouseover":case"mouseout":Pt=null;break;case"pointerover":case"pointerout":Rt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Nt.delete(t.pointerId)}}function Lt(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},null!==t&&null!==(t=wo(t))&&Ct(t),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function qt(e){var t=bo(e.target);if(null!==t){var n=Be(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=je(n)))return e.blockedOn=t,void It(e.priority,function(){St(n)})}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ut(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Vt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=wo(n))&&Ct(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function Dt(e,t,n){Ut(e)&&n.delete(t)}function Ft(){Tt=!1,null!==At&&Ut(At)&&(At=null),null!==_t&&Ut(_t)&&(_t=null),null!==Pt&&Ut(Pt)&&(Pt=null),Rt.forEach(Dt),Nt.forEach(Dt)}function Ht(e,t){e.blockedOn===t&&(e.blockedOn=null,Tt||(Tt=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Ft)))}function Bt(e){function t(t){return Ht(t,e)}if(0<xt.length){Ht(xt[0],e);for(var n=1;n<xt.length;n++){var r=xt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==At&&Ht(At,e),null!==_t&&Ht(_t,e),null!==Pt&&Ht(Pt,e),Rt.forEach(t),Nt.forEach(t),n=0;n<Mt.length;n++)(r=Mt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Mt.length&&null===(n=Mt[0]).blockedOn;)qt(n),null===n.blockedOn&&Mt.shift()}var jt=w.ReactCurrentBatchConfig,Kt=!0;function $t(e,t,n,r){var o=bt,a=jt.transition;jt.transition=null;try{bt=1,Wt(e,t,n,r)}finally{bt=o,jt.transition=a}}function Gt(e,t,n,r){var o=bt,a=jt.transition;jt.transition=null;try{bt=4,Wt(e,t,n,r)}finally{bt=o,jt.transition=a}}function Wt(e,t,n,r){if(Kt){var o=Vt(e,t,n,r);if(null===o)Kr(e,t,r,Qt,n),zt(e,r);else if(function(e,t,n,r,o){switch(t){case"focusin":return At=Lt(At,e,t,n,r,o),!0;case"dragenter":return _t=Lt(_t,e,t,n,r,o),!0;case"mouseover":return Pt=Lt(Pt,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return Rt.set(a,Lt(Rt.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,Nt.set(a,Lt(Nt.get(a)||null,e,t,n,r,o)),!0}return!1}(o,e,t,n,r))r.stopPropagation();else if(zt(e,r),4&t&&-1<Ot.indexOf(e)){for(;null!==o;){var a=wo(o);if(null!==a&&kt(a),null===(a=Vt(e,t,n,r))&&Kr(e,t,r,Qt,n),a===o)break;o=a}null!==o&&r.stopPropagation()}else Kr(e,t,r,null,n)}}var Qt=null;function Vt(e,t,n,r){if(Qt=null,null!==(e=bo(e=ke(r))))if(null===(t=Be(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=je(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Qt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Ze:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Jt=null,Xt=null,Zt=null;function en(){if(Zt)return Zt;var e,t,n=Xt,r=n.length,o="value"in Jt?Jt.value:Jt.textContent,a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);return Zt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,r,o,a){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return q(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var an,sn,cn,ln={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(ln),dn=q({},ln,{view:0,detail:0}),hn=on(dn),pn=q({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:In,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==cn&&(cn&&"mousemove"===e.type?(an=e.screenX-cn.screenX,sn=e.screenY-cn.screenY):sn=an=0,cn=e),an)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),fn=on(pn),gn=on(q({},pn,{dataTransfer:0})),mn=on(q({},dn,{relatedTarget:0})),yn=on(q({},ln,{animationName:0,elapsedTime:0,pseudoElement:0})),vn=q({},ln,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),bn=on(vn),wn=on(q({},ln,{data:0})),kn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Cn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function In(){return En}var Tn=q({},dn,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Cn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:In,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),xn=on(Tn),An=on(q({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),_n=on(q({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:In})),Pn=on(q({},ln,{propertyName:0,elapsedTime:0,pseudoElement:0})),Rn=q({},pn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Nn=on(Rn),Mn=[9,13,27,32],On=u&&"CompositionEvent"in window,zn=null;u&&"documentMode"in document&&(zn=document.documentMode);var Ln=u&&"TextEvent"in window&&!zn,qn=u&&(!On||zn&&8<zn&&11>=zn),Un=String.fromCharCode(32),Dn=!1;function Fn(e,t){switch(e){case"keyup":return-1!==Mn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Bn=!1,jn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Kn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!jn[e.type]:"textarea"===t}function $n(e,t,n,r){Te(r),0<(t=Gr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Gn=null,Wn=null;function Qn(e){Ur(e,0)}function Vn(e){if(W(ko(e)))return e}function Yn(e,t){if("change"===e)return t}var Jn=!1;if(u){var Xn;if(u){var Zn="oninput"in document;if(!Zn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Zn="function"==typeof er.oninput}Xn=Zn}else Xn=!1;Jn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Gn&&(Gn.detachEvent("onpropertychange",nr),Wn=Gn=null)}function nr(e){if("value"===e.propertyName&&Vn(Wn)){var t=[];$n(t,Wn,e,ke(e)),Re(Qn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Wn=n,(Gn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Vn(Wn)}function ar(e,t){if("click"===e)return Vn(t)}function ir(e,t){if("input"===e||"change"===e)return Vn(t)}var sr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function cr(e,t){if(sr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!d.call(t,o)||!sr(e[o],t[o]))return!1}return!0}function lr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=lr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=lr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function hr(){for(var e=window,t=Q();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=Q((e=t.contentWindow).document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function fr(e){var t=hr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&pr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=ur(n,a);var i=ur(n,r);o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gr=u&&"documentMode"in document&&11>=document.documentMode,mr=null,yr=null,vr=null,br=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;br||null==mr||mr!==Q(r)||(r="selectionStart"in(r=mr)&&pr(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},vr&&cr(vr,r)||(vr=r,0<(r=Gr(yr,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=mr)))}function kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Cr={animationend:kr("Animation","AnimationEnd"),animationiteration:kr("Animation","AnimationIteration"),animationstart:kr("Animation","AnimationStart"),transitionend:kr("Transition","TransitionEnd")},Sr={},Er={};function Ir(e){if(Sr[e])return Sr[e];if(!Cr[e])return e;var t,n=Cr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Er)return Sr[e]=n[t];return e}u&&(Er=document.createElement("div").style,"AnimationEvent"in window||(delete Cr.animationend.animation,delete Cr.animationiteration.animation,delete Cr.animationstart.animation),"TransitionEvent"in window||delete Cr.transitionend.transition);var Tr=Ir("animationend"),xr=Ir("animationiteration"),Ar=Ir("animationstart"),_r=Ir("transitionend"),Pr=new Map,Rr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Nr(e,t){Pr.set(e,t),c(t,[e])}for(var Mr=0;Mr<Rr.length;Mr++){var Or=Rr[Mr];Nr(Or.toLowerCase(),"on"+(Or[0].toUpperCase()+Or.slice(1)))}Nr(Tr,"onAnimationEnd"),Nr(xr,"onAnimationIteration"),Nr(Ar,"onAnimationStart"),Nr("dblclick","onDoubleClick"),Nr("focusin","onFocus"),Nr("focusout","onBlur"),Nr(_r,"onTransitionEnd"),l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var zr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Lr=new Set("cancel close invalid load scroll toggle".split(" ").concat(zr));function qr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,o,i,s,c,l){if(He.apply(this,arguments),Le){if(!Le)throw Error(a(198));var u=qe;Le=!1,qe=null,Ue||(Ue=!0,De=u)}}(r,t,void 0,e),e.currentTarget=null}function Ur(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&o.isPropagationStopped())break e;qr(o,s,l),a=c}else for(i=0;i<r.length;i++){if(c=(s=r[i]).instance,l=s.currentTarget,s=s.listener,c!==a&&o.isPropagationStopped())break e;qr(o,s,l),a=c}}}if(Ue)throw e=De,Ue=!1,De=null,e}function Dr(e,t){var n=t[mo];void 0===n&&(n=t[mo]=new Set);var r=e+"__bubble";n.has(r)||(jr(t,e,2,!1),n.add(r))}function Fr(e,t,n){var r=0;t&&(r|=4),jr(n,e,r,t)}var Hr="_reactListening"+Math.random().toString(36).slice(2);function Br(e){if(!e[Hr]){e[Hr]=!0,i.forEach(function(t){"selectionchange"!==t&&(Lr.has(t)||Fr(t,!1,e),Fr(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Hr]||(t[Hr]=!0,Fr("selectionchange",!1,t))}}function jr(e,t,n,r){switch(Yt(t)){case 1:var o=$t;break;case 4:o=Gt;break;default:o=Wt}n=o.bind(null,t,n,e),o=void 0,!Me||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Kr(e,t,n,r,o){var a=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===o||8===s.nodeType&&s.parentNode===o)break;if(4===i)for(i=r.return;null!==i;){var c=i.tag;if((3===c||4===c)&&((c=i.stateNode.containerInfo)===o||8===c.nodeType&&c.parentNode===o))return;i=i.return}for(;null!==s;){if(null===(i=bo(s)))return;if(5===(c=i.tag)||6===c){r=a=i;continue e}s=s.parentNode}}r=r.return}Re(function(){var r=a,o=ke(n),i=[];e:{var s=Pr.get(e);if(void 0!==s){var c=un,l=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":c=xn;break;case"focusin":l="focus",c=mn;break;case"focusout":l="blur",c=mn;break;case"beforeblur":case"afterblur":c=mn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":c=fn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":c=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":c=_n;break;case Tr:case xr:case Ar:c=yn;break;case _r:c=Pn;break;case"scroll":c=hn;break;case"wheel":c=Nn;break;case"copy":case"cut":case"paste":c=bn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":c=An}var u=!!(4&t),d=!u&&"scroll"===e,h=u?null!==s?s+"Capture":null:s;u=[];for(var p,f=r;null!==f;){var g=(p=f).stateNode;if(5===p.tag&&null!==g&&(p=g,null!==h&&null!=(g=Ne(f,h))&&u.push($r(f,g,p))),d)break;f=f.return}0<u.length&&(s=new c(s,l,null,n,o),i.push({event:s,listeners:u}))}}if(!(7&t)){if(c="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===we||!(l=n.relatedTarget||n.fromElement)||!bo(l)&&!l[go])&&(c||s)&&(s=o.window===o?o:(s=o.ownerDocument)?s.defaultView||s.parentWindow:window,c?(c=r,null!==(l=(l=n.relatedTarget||n.toElement)?bo(l):null)&&(l!==(d=Be(l))||5!==l.tag&&6!==l.tag)&&(l=null)):(c=null,l=r),c!==l)){if(u=fn,g="onMouseLeave",h="onMouseEnter",f="mouse","pointerout"!==e&&"pointerover"!==e||(u=An,g="onPointerLeave",h="onPointerEnter",f="pointer"),d=null==c?s:ko(c),p=null==l?s:ko(l),(s=new u(g,f+"leave",c,n,o)).target=d,s.relatedTarget=p,g=null,bo(o)===r&&((u=new u(h,f+"enter",l,n,o)).target=p,u.relatedTarget=d,g=u),d=g,c&&l)e:{for(h=l,f=0,p=u=c;p;p=Wr(p))f++;for(p=0,g=h;g;g=Wr(g))p++;for(;0<f-p;)u=Wr(u),f--;for(;0<p-f;)h=Wr(h),p--;for(;f--;){if(u===h||null!==h&&u===h.alternate)break e;u=Wr(u),h=Wr(h)}u=null}else u=null;null!==c&&Qr(i,s,c,u,!1),null!==l&&null!==d&&Qr(i,d,l,u,!0)}if("select"===(c=(s=r?ko(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===c&&"file"===s.type)var m=Yn;else if(Kn(s))if(Jn)m=ir;else{m=or;var y=rr}else(c=s.nodeName)&&"input"===c.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(m=ar);switch(m&&(m=m(e,r))?$n(i,m,n,o):(y&&y(e,s,r),"focusout"===e&&(y=s._wrapperState)&&y.controlled&&"number"===s.type&&ee(s,"number",s.value)),y=r?ko(r):window,e){case"focusin":(Kn(y)||"true"===y.contentEditable)&&(mr=y,yr=r,vr=null);break;case"focusout":vr=yr=mr=null;break;case"mousedown":br=!0;break;case"contextmenu":case"mouseup":case"dragend":br=!1,wr(i,n,o);break;case"selectionchange":if(gr)break;case"keydown":case"keyup":wr(i,n,o)}var v;if(On)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else Bn?Fn(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&(qn&&"ko"!==n.locale&&(Bn||"onCompositionStart"!==b?"onCompositionEnd"===b&&Bn&&(v=en()):(Xt="value"in(Jt=o)?Jt.value:Jt.textContent,Bn=!0)),0<(y=Gr(r,b)).length&&(b=new wn(b,e,null,n,o),i.push({event:b,listeners:y}),(v||null!==(v=Hn(n)))&&(b.data=v))),(v=Ln?function(e,t){switch(e){case"compositionend":return Hn(t);case"keypress":return 32!==t.which?null:(Dn=!0,Un);case"textInput":return(e=t.data)===Un&&Dn?null:e;default:return null}}(e,n):function(e,t){if(Bn)return"compositionend"===e||!On&&Fn(e,t)?(e=en(),Zt=Xt=Jt=null,Bn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return qn&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(r=Gr(r,"onBeforeInput")).length&&(o=new wn("onBeforeInput","beforeinput",null,n,o),i.push({event:o,listeners:r}),o.data=v)}Ur(i,t)})}function $r(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Gr(e,t){for(var n=t+"Capture",r=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=Ne(e,n))&&r.unshift($r(e,a,o)),null!=(a=Ne(e,t))&&r.push($r(e,a,o))),e=e.return}return r}function Wr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Qr(e,t,n,r,o){for(var a=t._reactName,i=[];null!==n&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(null!==c&&c===r)break;5===s.tag&&null!==l&&(s=l,o?null!=(c=Ne(n,a))&&i.unshift($r(n,c,s)):o||null!=(c=Ne(n,a))&&i.push($r(n,c,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Vr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Jr(e){return("string"==typeof e?e:""+e).replace(Vr,"\n").replace(Yr,"")}function Xr(e,t,n){if(t=Jr(t),Jr(e)!==t&&n)throw Error(a(425))}function Zr(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ro="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,ao="function"==typeof Promise?Promise:void 0,io="function"==typeof queueMicrotask?queueMicrotask:void 0!==ao?function(e){return ao.resolve(null).then(e).catch(so)}:ro;function so(e){setTimeout(function(){throw e})}function co(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===r)return e.removeChild(o),void Bt(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=o}while(n);Bt(t)}function lo(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var ho=Math.random().toString(36).slice(2),po="__reactFiber$"+ho,fo="__reactProps$"+ho,go="__reactContainer$"+ho,mo="__reactEvents$"+ho,yo="__reactListeners$"+ho,vo="__reactHandles$"+ho;function bo(e){var t=e[po];if(t)return t;for(var n=e.parentNode;n;){if(t=n[go]||n[po]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[po])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function wo(e){return!(e=e[po]||e[go])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ko(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function Co(e){return e[fo]||null}var So=[],Eo=-1;function Io(e){return{current:e}}function To(e){0>Eo||(e.current=So[Eo],So[Eo]=null,Eo--)}function xo(e,t){Eo++,So[Eo]=e.current,e.current=t}var Ao={},_o=Io(Ao),Po=Io(!1),Ro=Ao;function No(e,t){var n=e.type.contextTypes;if(!n)return Ao;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Mo(e){return null!=e.childContextTypes}function Oo(){To(Po),To(_o)}function zo(e,t,n){if(_o.current!==Ao)throw Error(a(168));xo(_o,t),xo(Po,n)}function Lo(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(a(108,j(e)||"Unknown",o));return q({},n,r)}function qo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ao,Ro=_o.current,xo(_o,e),xo(Po,Po.current),!0}function Uo(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=Lo(e,t,Ro),r.__reactInternalMemoizedMergedChildContext=e,To(Po),To(_o),xo(_o,e)):To(Po),xo(Po,n)}var Do=null,Fo=!1,Ho=!1;function Bo(e){null===Do?Do=[e]:Do.push(e)}function jo(){if(!Ho&&null!==Do){Ho=!0;var e=0,t=bt;try{var n=Do;for(bt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Do=null,Fo=!1}catch(t){throw null!==Do&&(Do=Do.slice(e+1)),We(Ze,jo),t}finally{bt=t,Ho=!1}}return null}var Ko=[],$o=0,Go=null,Wo=0,Qo=[],Vo=0,Yo=null,Jo=1,Xo="";function Zo(e,t){Ko[$o++]=Wo,Ko[$o++]=Go,Go=e,Wo=t}function ea(e,t,n){Qo[Vo++]=Jo,Qo[Vo++]=Xo,Qo[Vo++]=Yo,Yo=e;var r=Jo;e=Xo;var o=32-it(r)-1;r&=~(1<<o),n+=1;var a=32-it(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Jo=1<<32-it(t)+o|n<<o|r,Xo=a+e}else Jo=1<<a|n<<o|r,Xo=e}function ta(e){null!==e.return&&(Zo(e,1),ea(e,1,0))}function na(e){for(;e===Go;)Go=Ko[--$o],Ko[$o]=null,Wo=Ko[--$o],Ko[$o]=null;for(;e===Yo;)Yo=Qo[--Vo],Qo[Vo]=null,Xo=Qo[--Vo],Qo[Vo]=null,Jo=Qo[--Vo],Qo[Vo]=null}var ra=null,oa=null,aa=!1,ia=null;function sa(e,t){var n=Pl(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function ca(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ra=e,oa=lo(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ra=e,oa=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Yo?{id:Jo,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Pl(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ra=e,oa=null,!0);default:return!1}}function la(e){return!(!(1&e.mode)||128&e.flags)}function ua(e){if(aa){var t=oa;if(t){var n=t;if(!ca(e,t)){if(la(e))throw Error(a(418));t=lo(n.nextSibling);var r=ra;t&&ca(e,t)?sa(r,n):(e.flags=-4097&e.flags|2,aa=!1,ra=e)}}else{if(la(e))throw Error(a(418));e.flags=-4097&e.flags|2,aa=!1,ra=e}}}function da(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ra=e}function ha(e){if(e!==ra)return!1;if(!aa)return da(e),aa=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=oa)){if(la(e))throw pa(),Error(a(418));for(;t;)sa(e,t),t=lo(t.nextSibling)}if(da(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){oa=lo(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oa=null}}else oa=ra?lo(e.stateNode.nextSibling):null;return!0}function pa(){for(var e=oa;e;)e=lo(e.nextSibling)}function fa(){oa=ra=null,aa=!1}function ga(e){null===ia?ia=[e]:ia.push(e)}var ma=w.ReactCurrentBatchConfig;function ya(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var o=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=o.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function va(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function ba(e){return(0,e._init)(e._payload)}function wa(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Nl(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function c(e,t,n,r){return null===t||6!==t.tag?((t=Ll(n,e.mode,r)).return=e,t):((t=o(t,n)).return=e,t)}function l(e,t,n,r){var a=n.type;return a===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===N&&ba(a)===t.type)?((r=o(t,n.props)).ref=ya(e,t,n),r.return=e,r):((r=Ml(n.type,n.key,n.props,null,e.mode,r)).ref=ya(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=ql(n,e.mode,r)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function d(e,t,n,r,a){return null===t||7!==t.tag?((t=Ol(n,e.mode,r,a)).return=e,t):((t=o(t,n)).return=e,t)}function h(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Ll(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Ml(t.type,t.key,t.props,null,e.mode,n)).ref=ya(e,null,t),n.return=e,n;case C:return(t=ql(t,e.mode,n)).return=e,t;case N:return h(e,(0,t._init)(t._payload),n)}if(te(t)||z(t))return(t=Ol(t,e.mode,n,null)).return=e,t;va(e,t)}return null}function p(e,t,n,r){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:c(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===o?l(e,t,n,r):null;case C:return n.key===o?u(e,t,n,r):null;case N:return p(e,t,(o=n._init)(n._payload),r)}if(te(n)||z(n))return null!==o?null:d(e,t,n,r,null);va(e,n)}return null}function f(e,t,n,r,o){if("string"==typeof r&&""!==r||"number"==typeof r)return c(t,e=e.get(n)||null,""+r,o);if("object"==typeof r&&null!==r){switch(r.$$typeof){case k:return l(t,e=e.get(null===r.key?n:r.key)||null,r,o);case C:return u(t,e=e.get(null===r.key?n:r.key)||null,r,o);case N:return f(e,t,n,(0,r._init)(r._payload),o)}if(te(r)||z(r))return d(t,e=e.get(n)||null,r,o,null);va(t,r)}return null}function g(o,a,s,c){for(var l=null,u=null,d=a,g=a=0,m=null;null!==d&&g<s.length;g++){d.index>g?(m=d,d=null):m=d.sibling;var y=p(o,d,s[g],c);if(null===y){null===d&&(d=m);break}e&&d&&null===y.alternate&&t(o,d),a=i(y,a,g),null===u?l=y:u.sibling=y,u=y,d=m}if(g===s.length)return n(o,d),aa&&Zo(o,g),l;if(null===d){for(;g<s.length;g++)null!==(d=h(o,s[g],c))&&(a=i(d,a,g),null===u?l=d:u.sibling=d,u=d);return aa&&Zo(o,g),l}for(d=r(o,d);g<s.length;g++)null!==(m=f(d,o,g,s[g],c))&&(e&&null!==m.alternate&&d.delete(null===m.key?g:m.key),a=i(m,a,g),null===u?l=m:u.sibling=m,u=m);return e&&d.forEach(function(e){return t(o,e)}),aa&&Zo(o,g),l}function m(o,s,c,l){var u=z(c);if("function"!=typeof u)throw Error(a(150));if(null==(c=u.call(c)))throw Error(a(151));for(var d=u=null,g=s,m=s=0,y=null,v=c.next();null!==g&&!v.done;m++,v=c.next()){g.index>m?(y=g,g=null):y=g.sibling;var b=p(o,g,v.value,l);if(null===b){null===g&&(g=y);break}e&&g&&null===b.alternate&&t(o,g),s=i(b,s,m),null===d?u=b:d.sibling=b,d=b,g=y}if(v.done)return n(o,g),aa&&Zo(o,m),u;if(null===g){for(;!v.done;m++,v=c.next())null!==(v=h(o,v.value,l))&&(s=i(v,s,m),null===d?u=v:d.sibling=v,d=v);return aa&&Zo(o,m),u}for(g=r(o,g);!v.done;m++,v=c.next())null!==(v=f(g,o,m,v.value,l))&&(e&&null!==v.alternate&&g.delete(null===v.key?m:v.key),s=i(v,s,m),null===d?u=v:d.sibling=v,d=v);return e&&g.forEach(function(e){return t(o,e)}),aa&&Zo(o,m),u}return function e(r,a,i,c){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case k:e:{for(var l=i.key,u=a;null!==u;){if(u.key===l){if((l=i.type)===S){if(7===u.tag){n(r,u.sibling),(a=o(u,i.props.children)).return=r,r=a;break e}}else if(u.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===N&&ba(l)===u.type){n(r,u.sibling),(a=o(u,i.props)).ref=ya(r,u,i),a.return=r,r=a;break e}n(r,u);break}t(r,u),u=u.sibling}i.type===S?((a=Ol(i.props.children,r.mode,c,i.key)).return=r,r=a):((c=Ml(i.type,i.key,i.props,null,r.mode,c)).ref=ya(r,a,i),c.return=r,r=c)}return s(r);case C:e:{for(u=i.key;null!==a;){if(a.key===u){if(4===a.tag&&a.stateNode.containerInfo===i.containerInfo&&a.stateNode.implementation===i.implementation){n(r,a.sibling),(a=o(a,i.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=ql(i,r.mode,c)).return=r,r=a}return s(r);case N:return e(r,a,(u=i._init)(i._payload),c)}if(te(i))return g(r,a,i,c);if(z(i))return m(r,a,i,c);va(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==a&&6===a.tag?(n(r,a.sibling),(a=o(a,i)).return=r,r=a):(n(r,a),(a=Ll(i,r.mode,c)).return=r,r=a),s(r)):n(r,a)}}var ka=wa(!0),Ca=wa(!1),Sa=Io(null),Ea=null,Ia=null,Ta=null;function xa(){Ta=Ia=Ea=null}function Aa(e){var t=Sa.current;To(Sa),e._currentValue=t}function _a(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Pa(e,t){Ea=e,Ta=Ia=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(bs=!0),e.firstContext=null)}function Ra(e){var t=e._currentValue;if(Ta!==e)if(e={context:e,memoizedValue:t,next:null},null===Ia){if(null===Ea)throw Error(a(308));Ia=e,Ea.dependencies={lanes:0,firstContext:e}}else Ia=Ia.next=e;return t}var Na=null;function Ma(e){null===Na?Na=[e]:Na.push(e)}function Oa(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,Ma(t)):(n.next=o.next,o.next=n),t.interleaved=n,za(e,r)}function za(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var La=!1;function qa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ua(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Da(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Fa(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&xc){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,za(e,n)}return null===(o=r.interleaved)?(t.next=t,Ma(r)):(t.next=o.next,o.next=t),r.interleaved=t,za(e,n)}function Ha(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}function Ba(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ja(e,t,n,r){var o=e.updateQueue;La=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,s=o.shared.pending;if(null!==s){o.shared.pending=null;var c=s,l=c.next;c.next=null,null===i?a=l:i.next=l,i=c;var u=e.alternate;null!==u&&(s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c)}if(null!==a){var d=o.baseState;for(i=0,u=l=c=null,s=a;;){var h=s.lane,p=s.eventTime;if((r&h)===h){null!==u&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var f=e,g=s;switch(h=t,p=n,g.tag){case 1:if("function"==typeof(f=g.payload)){d=f.call(p,d,h);break e}d=f;break e;case 3:f.flags=-65537&f.flags|128;case 0:if(null==(h="function"==typeof(f=g.payload)?f.call(p,d,h):f))break e;d=q({},d,h);break e;case 2:La=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(h=o.effects)?o.effects=[s]:h.push(s))}else p={eventTime:p,lane:h,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(l=u=p,c=d):u=u.next=p,i|=h;if(null===(s=s.next)){if(null===(s=o.shared.pending))break;s=(h=s).next,h.next=null,o.lastBaseUpdate=h,o.shared.pending=null}}if(null===u&&(c=d),o.baseState=c,o.firstBaseUpdate=l,o.lastBaseUpdate=u,null!==(t=o.shared.interleaved)){o=t;do{i|=o.lane,o=o.next}while(o!==t)}else null===a&&(o.shared.lanes=0);zc|=i,e.lanes=i,e.memoizedState=d}}function Ka(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,"function"!=typeof o)throw Error(a(191,o));o.call(r)}}}var $a={},Ga=Io($a),Wa=Io($a),Qa=Io($a);function Va(e){if(e===$a)throw Error(a(174));return e}function Ya(e,t){switch(xo(Qa,t),xo(Wa,e),xo(Ga,$a),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ce(null,"");break;default:t=ce(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}To(Ga),xo(Ga,t)}function Ja(){To(Ga),To(Wa),To(Qa)}function Xa(e){Va(Qa.current);var t=Va(Ga.current),n=ce(t,e.type);t!==n&&(xo(Wa,e),xo(Ga,n))}function Za(e){Wa.current===e&&(To(Ga),To(Wa))}var ei=Io(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ni=[];function ri(){for(var e=0;e<ni.length;e++)ni[e]._workInProgressVersionPrimary=null;ni.length=0}var oi=w.ReactCurrentDispatcher,ai=w.ReactCurrentBatchConfig,ii=0,si=null,ci=null,li=null,ui=!1,di=!1,hi=0,pi=0;function fi(){throw Error(a(321))}function gi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function mi(e,t,n,r,o,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,oi.current=null===e||null===e.memoizedState?Zi:es,e=n(r,o),di){i=0;do{if(di=!1,hi=0,25<=i)throw Error(a(301));i+=1,li=ci=null,t.updateQueue=null,oi.current=ts,e=n(r,o)}while(di)}if(oi.current=Xi,t=null!==ci&&null!==ci.next,ii=0,li=ci=si=null,ui=!1,t)throw Error(a(300));return e}function yi(){var e=0!==hi;return hi=0,e}function vi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===li?si.memoizedState=li=e:li=li.next=e,li}function bi(){if(null===ci){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=ci.next;var t=null===li?si.memoizedState:li.next;if(null!==t)li=t,ci=e;else{if(null===e)throw Error(a(310));e={memoizedState:(ci=e).memoizedState,baseState:ci.baseState,baseQueue:ci.baseQueue,queue:ci.queue,next:null},null===li?si.memoizedState=li=e:li=li.next=e}return li}function wi(e,t){return"function"==typeof t?t(e):t}function ki(e){var t=bi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=ci,o=r.baseQueue,i=n.pending;if(null!==i){if(null!==o){var s=o.next;o.next=i.next,i.next=s}r.baseQueue=o=i,n.pending=null}if(null!==o){i=o.next,r=r.baseState;var c=s=null,l=null,u=i;do{var d=u.lane;if((ii&d)===d)null!==l&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var h={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===l?(c=l=h,s=r):l=l.next=h,si.lanes|=d,zc|=d}u=u.next}while(null!==u&&u!==i);null===l?s=r:l.next=c,sr(r,t.memoizedState)||(bs=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=l,n.lastRenderedState=r}if(null!==(e=n.interleaved)){o=e;do{i=o.lane,si.lanes|=i,zc|=i,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Ci(e){var t=bi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,i=t.memoizedState;if(null!==o){n.pending=null;var s=o=o.next;do{i=e(i,s.action),s=s.next}while(s!==o);sr(i,t.memoizedState)||(bs=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Si(){}function Ei(e,t){var n=si,r=bi(),o=t(),i=!sr(r.memoizedState,o);if(i&&(r.memoizedState=o,bs=!0),r=r.queue,Li(xi.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==li&&1&li.memoizedState.tag){if(n.flags|=2048,Ri(9,Ti.bind(null,n,r,o,t),void 0,null),null===Ac)throw Error(a(349));30&ii||Ii(n,t,o)}return o}function Ii(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Ti(e,t,n,r){t.value=n,t.getSnapshot=r,Ai(t)&&_i(e)}function xi(e,t,n){return n(function(){Ai(t)&&_i(e)})}function Ai(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(e){return!0}}function _i(e){var t=za(e,1);null!==t&&tl(t,e,1,-1)}function Pi(e){var t=vi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:wi,lastRenderedState:e},t.queue=e,e=e.dispatch=Qi.bind(null,si,e),[t.memoizedState,e]}function Ri(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Ni(){return bi().memoizedState}function Mi(e,t,n,r){var o=vi();si.flags|=e,o.memoizedState=Ri(1|t,n,void 0,void 0===r?null:r)}function Oi(e,t,n,r){var o=bi();r=void 0===r?null:r;var a=void 0;if(null!==ci){var i=ci.memoizedState;if(a=i.destroy,null!==r&&gi(r,i.deps))return void(o.memoizedState=Ri(t,n,a,r))}si.flags|=e,o.memoizedState=Ri(1|t,n,a,r)}function zi(e,t){return Mi(8390656,8,e,t)}function Li(e,t){return Oi(2048,8,e,t)}function qi(e,t){return Oi(4,2,e,t)}function Ui(e,t){return Oi(4,4,e,t)}function Di(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Fi(e,t,n){return n=null!=n?n.concat([e]):null,Oi(4,4,Di.bind(null,t,e),n)}function Hi(){}function Bi(e,t){var n=bi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&gi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ji(e,t){var n=bi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&gi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Ki(e,t,n){return 21&ii?(sr(n,t)||(n=gt(),si.lanes|=n,zc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,bs=!0),e.memoizedState=n)}function $i(e,t){var n=bt;bt=0!==n&&4>n?n:4,e(!0);var r=ai.transition;ai.transition={};try{e(!1),t()}finally{bt=n,ai.transition=r}}function Gi(){return bi().memoizedState}function Wi(e,t,n){var r=el(e);n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Vi(e)?Yi(t,n):null!==(n=Oa(e,t,n,r))&&(tl(n,e,r,Zc()),Ji(n,t,r))}function Qi(e,t,n){var r=el(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Vi(e))Yi(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=a(i,n);if(o.hasEagerState=!0,o.eagerState=s,sr(s,i)){var c=t.interleaved;return null===c?(o.next=o,Ma(t)):(o.next=c.next,c.next=o),void(t.interleaved=o)}}catch(e){}null!==(n=Oa(e,t,o,r))&&(tl(n,e,r,o=Zc()),Ji(n,t,r))}}function Vi(e){var t=e.alternate;return e===si||null!==t&&t===si}function Yi(e,t){di=ui=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ji(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}var Xi={readContext:Ra,useCallback:fi,useContext:fi,useEffect:fi,useImperativeHandle:fi,useInsertionEffect:fi,useLayoutEffect:fi,useMemo:fi,useReducer:fi,useRef:fi,useState:fi,useDebugValue:fi,useDeferredValue:fi,useTransition:fi,useMutableSource:fi,useSyncExternalStore:fi,useId:fi,unstable_isNewReconciler:!1},Zi={readContext:Ra,useCallback:function(e,t){return vi().memoizedState=[e,void 0===t?null:t],e},useContext:Ra,useEffect:zi,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Mi(4194308,4,Di.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Mi(4194308,4,e,t)},useInsertionEffect:function(e,t){return Mi(4,2,e,t)},useMemo:function(e,t){var n=vi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=vi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Wi.bind(null,si,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},vi().memoizedState=e},useState:Pi,useDebugValue:Hi,useDeferredValue:function(e){return vi().memoizedState=e},useTransition:function(){var e=Pi(!1),t=e[0];return e=$i.bind(null,e[1]),vi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=si,o=vi();if(aa){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===Ac)throw Error(a(349));30&ii||Ii(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,zi(xi.bind(null,r,i,e),[e]),r.flags|=2048,Ri(9,Ti.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=vi(),t=Ac.identifierPrefix;if(aa){var n=Xo;t=":"+t+"R"+(n=(Jo&~(1<<32-it(Jo)-1)).toString(32)+n),0<(n=hi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=pi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Ra,useCallback:Bi,useContext:Ra,useEffect:Li,useImperativeHandle:Fi,useInsertionEffect:qi,useLayoutEffect:Ui,useMemo:ji,useReducer:ki,useRef:Ni,useState:function(){return ki(wi)},useDebugValue:Hi,useDeferredValue:function(e){return Ki(bi(),ci.memoizedState,e)},useTransition:function(){return[ki(wi)[0],bi().memoizedState]},useMutableSource:Si,useSyncExternalStore:Ei,useId:Gi,unstable_isNewReconciler:!1},ts={readContext:Ra,useCallback:Bi,useContext:Ra,useEffect:Li,useImperativeHandle:Fi,useInsertionEffect:qi,useLayoutEffect:Ui,useMemo:ji,useReducer:Ci,useRef:Ni,useState:function(){return Ci(wi)},useDebugValue:Hi,useDeferredValue:function(e){var t=bi();return null===ci?t.memoizedState=e:Ki(t,ci.memoizedState,e)},useTransition:function(){return[Ci(wi)[0],bi().memoizedState]},useMutableSource:Si,useSyncExternalStore:Ei,useId:Gi,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=q({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rs(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:q({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var os={isMounted:function(e){return!!(e=e._reactInternals)&&Be(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Zc(),o=el(e),a=Da(r,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=Fa(e,a,o))&&(tl(t,e,o,r),Ha(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Zc(),o=el(e),a=Da(r,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=Fa(e,a,o))&&(tl(t,e,o,r),Ha(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Zc(),r=el(e),o=Da(n,r);o.tag=2,null!=t&&(o.callback=t),null!==(t=Fa(e,o,r))&&(tl(t,e,r,n),Ha(t,e,r))}};function as(e,t,n,r,o,a,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!(t.prototype&&t.prototype.isPureReactComponent&&cr(n,r)&&cr(o,a))}function is(e,t,n){var r=!1,o=Ao,a=t.contextType;return"object"==typeof a&&null!==a?a=Ra(a):(o=Mo(t)?Ro:_o.current,a=(r=null!=(r=t.contextTypes))?No(e,o):Ao),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=os,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function ss(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&os.enqueueReplaceState(t,t.state,null)}function cs(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},qa(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=Ra(a):(a=Mo(t)?Ro:_o.current,o.context=No(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(rs(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&os.enqueueReplaceState(o,o.state,null),ja(e,n,o,r),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function ls(e,t){try{var n="",r=t;do{n+=H(r),r=r.return}while(r);var o=n}catch(e){o="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:o,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ds(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var hs="function"==typeof WeakMap?WeakMap:Map;function ps(e,t,n){(n=Da(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){jc||(jc=!0,Kc=r),ds(0,t)},n}function fs(e,t,n){(n=Da(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){ds(0,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){ds(0,t),"function"!=typeof r&&(null===$c?$c=new Set([this]):$c.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function gs(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new hs;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=El.bind(null,e,t,n),t.then(e,e))}function ms(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function ys(e,t,n,r,o){return 1&e.mode?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Da(-1,1)).tag=2,Fa(n,t,1))),n.lanes|=1),e)}var vs=w.ReactCurrentOwner,bs=!1;function ws(e,t,n,r){t.child=null===e?Ca(t,null,n,r):ka(t,e.child,n,r)}function ks(e,t,n,r,o){n=n.render;var a=t.ref;return Pa(t,o),r=mi(e,t,n,r,a,o),n=yi(),null===e||bs?(aa&&n&&ta(t),t.flags|=1,ws(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,js(e,t,o))}function Cs(e,t,n,r,o){if(null===e){var a=n.type;return"function"!=typeof a||Rl(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Ml(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Ss(e,t,a,r,o))}if(a=e.child,0===(e.lanes&o)){var i=a.memoizedProps;if((n=null!==(n=n.compare)?n:cr)(i,r)&&e.ref===t.ref)return js(e,t,o)}return t.flags|=1,(e=Nl(a,r)).ref=t.ref,e.return=t,t.child=e}function Ss(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(cr(a,r)&&e.ref===t.ref){if(bs=!1,t.pendingProps=r=a,0===(e.lanes&o))return t.lanes=e.lanes,js(e,t,o);131072&e.flags&&(bs=!0)}}return Ts(e,t,n,r,o)}function Es(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,xo(Nc,Rc),Rc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,xo(Nc,Rc),Rc|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},xo(Nc,Rc),Rc|=n;else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,xo(Nc,Rc),Rc|=r;return ws(e,t,o,n),t.child}function Is(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Ts(e,t,n,r,o){var a=Mo(n)?Ro:_o.current;return a=No(t,a),Pa(t,o),n=mi(e,t,n,r,a,o),r=yi(),null===e||bs?(aa&&r&&ta(t),t.flags|=1,ws(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,js(e,t,o))}function xs(e,t,n,r,o){if(Mo(n)){var a=!0;qo(t)}else a=!1;if(Pa(t,o),null===t.stateNode)Bs(e,t),is(t,n,r),cs(t,n,r,o),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var c=i.context,l=n.contextType;l="object"==typeof l&&null!==l?Ra(l):No(t,l=Mo(n)?Ro:_o.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||c!==l)&&ss(t,i,r,l),La=!1;var h=t.memoizedState;i.state=h,ja(t,r,i,o),c=t.memoizedState,s!==r||h!==c||Po.current||La?("function"==typeof u&&(rs(t,n,u,r),c=t.memoizedState),(s=La||as(t,n,s,r,h,c,l))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),i.props=r,i.state=c,i.context=l,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Ua(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:ns(t.type,s),i.props=l,d=t.pendingProps,h=i.context,c="object"==typeof(c=n.contextType)&&null!==c?Ra(c):No(t,c=Mo(n)?Ro:_o.current);var p=n.getDerivedStateFromProps;(u="function"==typeof p||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||h!==c)&&ss(t,i,r,c),La=!1,h=t.memoizedState,i.state=h,ja(t,r,i,o);var f=t.memoizedState;s!==d||h!==f||Po.current||La?("function"==typeof p&&(rs(t,n,p,r),f=t.memoizedState),(l=La||as(t,n,l,r,h,f,c)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,f,c),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,f,c)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=f),i.props=r,i.state=f,i.context=c,r=l):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return As(e,t,n,r,a,o)}function As(e,t,n,r,o,a){Is(e,t);var i=!!(128&t.flags);if(!r&&!i)return o&&Uo(t,n,!1),js(e,t,a);r=t.stateNode,vs.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=ka(t,e.child,null,a),t.child=ka(t,null,s,a)):ws(e,t,s,a),t.memoizedState=r.state,o&&Uo(t,n,!0),t.child}function _s(e){var t=e.stateNode;t.pendingContext?zo(0,t.pendingContext,t.pendingContext!==t.context):t.context&&zo(0,t.context,!1),Ya(e,t.containerInfo)}function Ps(e,t,n,r,o){return fa(),ga(o),t.flags|=256,ws(e,t,n,r),t.child}var Rs,Ns,Ms,Os={dehydrated:null,treeContext:null,retryLane:0};function zs(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ls(e,t,n){var r,o=t.pendingProps,i=ei.current,s=!1,c=!!(128&t.flags);if((r=c)||(r=(null===e||null!==e.memoizedState)&&!!(2&i)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),xo(ei,1&i),null===e)return ua(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(c=o.children,e=o.fallback,s?(o=t.mode,s=t.child,c={mode:"hidden",children:c},1&o||null===s?s=zl(c,o,0,null):(s.childLanes=0,s.pendingProps=c),e=Ol(e,o,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=zs(n),t.memoizedState=Os,e):qs(t,c));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,o,i,s){if(n)return 256&t.flags?(t.flags&=-257,Us(e,t,s,r=us(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=zl({mode:"visible",children:r.children},o,0,null),(i=Ol(i,o,s,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,1&t.mode&&ka(t,e.child,null,s),t.child.memoizedState=zs(s),t.memoizedState=Os,i);if(!(1&t.mode))return Us(e,t,s,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var c=r.dgst;return r=c,Us(e,t,s,r=us(i=Error(a(419)),r,void 0))}if(c=0!==(s&e.childLanes),bs||c){if(null!==(r=Ac)){switch(s&-s){case 4:o=2;break;case 16:o=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=0!==(o&(r.suspendedLanes|s))?0:o)&&o!==i.retryLane&&(i.retryLane=o,za(e,o),tl(r,e,o,-1))}return fl(),Us(e,t,s,r=us(Error(a(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Tl.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,oa=lo(o.nextSibling),ra=t,aa=!0,ia=null,null!==e&&(Qo[Vo++]=Jo,Qo[Vo++]=Xo,Qo[Vo++]=Yo,Jo=e.id,Xo=e.overflow,Yo=t),(t=qs(t,r.children)).flags|=4096,t)}(e,t,c,o,r,i,n);if(s){s=o.fallback,c=t.mode,r=(i=e.child).sibling;var l={mode:"hidden",children:o.children};return 1&c||t.child===i?(o=Nl(i,l)).subtreeFlags=14680064&i.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=l,t.deletions=null),null!==r?s=Nl(r,s):(s=Ol(s,c,n,null)).flags|=2,s.return=t,o.return=t,o.sibling=s,t.child=o,o=s,s=t.child,c=null===(c=e.child.memoizedState)?zs(n):{baseLanes:c.baseLanes|n,cachePool:null,transitions:c.transitions},s.memoizedState=c,s.childLanes=e.childLanes&~n,t.memoizedState=Os,o}return e=(s=e.child).sibling,o=Nl(s,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function qs(e,t){return(t=zl({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Us(e,t,n,r){return null!==r&&ga(r),ka(t,e.child,null,n),(e=qs(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Ds(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),_a(e.return,t,n)}function Fs(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function Hs(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(ws(e,t,r.children,n),2&(r=ei.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Ds(e,n,t);else if(19===e.tag)Ds(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(xo(ei,r),1&t.mode)switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Fs(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ti(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Fs(t,!0,n,null,a);break;case"together":Fs(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Bs(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function js(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),zc|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Nl(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Nl(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Ks(e,t){if(!aa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function $s(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=14680064&o.subtreeFlags,r|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Gs(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $s(t),null;case 1:case 17:return Mo(t.type)&&Oo(),$s(t),null;case 3:return r=t.stateNode,Ja(),To(Po),To(_o),ri(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(ha(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==ia&&(al(ia),ia=null))),$s(t),null;case 5:Za(t);var o=Va(Qa.current);if(n=t.type,null!==e&&null!=t.stateNode)Ns(e,t,n,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(a(166));return $s(t),null}if(e=Va(Ga.current),ha(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[po]=t,r[fo]=i,e=!!(1&t.mode),n){case"dialog":Dr("cancel",r),Dr("close",r);break;case"iframe":case"object":case"embed":Dr("load",r);break;case"video":case"audio":for(o=0;o<zr.length;o++)Dr(zr[o],r);break;case"source":Dr("error",r);break;case"img":case"image":case"link":Dr("error",r),Dr("load",r);break;case"details":Dr("toggle",r);break;case"input":Y(r,i),Dr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},Dr("invalid",r);break;case"textarea":oe(r,i),Dr("invalid",r)}for(var c in ve(n,i),o=null,i)if(i.hasOwnProperty(c)){var l=i[c];"children"===c?"string"==typeof l?r.textContent!==l&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,l,e),o=["children",l]):"number"==typeof l&&r.textContent!==""+l&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,l,e),o=["children",""+l]):s.hasOwnProperty(c)&&null!=l&&"onScroll"===c&&Dr("scroll",r)}switch(n){case"input":G(r),Z(r,i,!0);break;case"textarea":G(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Zr)}r=o,t.updateQueue=r,null!==r&&(t.flags|=4)}else{c=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=c.createElement(n,{is:r.is}):(e=c.createElement(n),"select"===n&&(c=e,r.multiple?c.multiple=!0:r.size&&(c.size=r.size))):e=c.createElementNS(e,n),e[po]=t,e[fo]=r,Rs(e,t),t.stateNode=e;e:{switch(c=be(n,r),n){case"dialog":Dr("cancel",e),Dr("close",e),o=r;break;case"iframe":case"object":case"embed":Dr("load",e),o=r;break;case"video":case"audio":for(o=0;o<zr.length;o++)Dr(zr[o],e);o=r;break;case"source":Dr("error",e),o=r;break;case"img":case"image":case"link":Dr("error",e),Dr("load",e),o=r;break;case"details":Dr("toggle",e),o=r;break;case"input":Y(e,r),o=V(e,r),Dr("invalid",e);break;case"option":default:o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=q({},r,{value:void 0}),Dr("invalid",e);break;case"textarea":oe(e,r),o=re(e,r),Dr("invalid",e)}for(i in ve(n,o),l=o)if(l.hasOwnProperty(i)){var u=l[i];"style"===i?me(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&he(e,u):"number"==typeof u&&he(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&Dr("scroll",e):null!=u&&b(e,i,u,c))}switch(n){case"input":G(e),Z(e,r,!1);break;case"textarea":G(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+K(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Zr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return $s(t),null;case 6:if(e&&null!=t.stateNode)Ms(0,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(a(166));if(n=Va(Qa.current),Va(Ga.current),ha(t)){if(r=t.stateNode,n=t.memoizedProps,r[po]=t,(i=r.nodeValue!==n)&&null!==(e=ra))switch(e.tag){case 3:Xr(r.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,!!(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[po]=t,t.stateNode=r}return $s(t),null;case 13:if(To(ei),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(aa&&null!==oa&&1&t.mode&&!(128&t.flags))pa(),fa(),t.flags|=98560,i=!1;else if(i=ha(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(a(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(a(317));i[po]=t}else fa(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;$s(t),i=!1}else null!==ia&&(al(ia),ia=null),i=!0;if(!i)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((r=null!==r)!=(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ei.current?0===Mc&&(Mc=3):fl())),null!==t.updateQueue&&(t.flags|=4),$s(t),null);case 4:return Ja(),null===e&&Br(t.stateNode.containerInfo),$s(t),null;case 10:return Aa(t.type._context),$s(t),null;case 19:if(To(ei),null===(i=t.memoizedState))return $s(t),null;if(r=!!(128&t.flags),null===(c=i.rendering))if(r)Ks(i,!1);else{if(0!==Mc||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(c=ti(e))){for(t.flags|=128,Ks(i,!1),null!==(r=c.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(c=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=c.childLanes,i.lanes=c.lanes,i.child=c.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=c.memoizedProps,i.memoizedState=c.memoizedState,i.updateQueue=c.updateQueue,i.type=c.type,e=c.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return xo(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Je()>Hc&&(t.flags|=128,r=!0,Ks(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ti(c))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Ks(i,!0),null===i.tail&&"hidden"===i.tailMode&&!c.alternate&&!aa)return $s(t),null}else 2*Je()-i.renderingStartTime>Hc&&1073741824!==n&&(t.flags|=128,r=!0,Ks(i,!1),t.lanes=4194304);i.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=i.last)?n.sibling=c:t.child=c,i.last=c)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Je(),t.sibling=null,n=ei.current,xo(ei,r?1&n|2:1&n),t):($s(t),null);case 22:case 23:return ul(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&1&t.mode?!!(1073741824&Rc)&&($s(t),6&t.subtreeFlags&&(t.flags|=8192)):$s(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Ws(e,t){switch(na(t),t.tag){case 1:return Mo(t.type)&&Oo(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Ja(),To(Po),To(_o),ri(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Za(t),null;case 13:if(To(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));fa()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return To(ei),null;case 4:return Ja(),null;case 10:return Aa(t.type._context),null;case 22:case 23:return ul(),null;default:return null}}Rs=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ns=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Va(Ga.current);var a,i=null;switch(n){case"input":o=V(e,o),r=V(e,r),i=[];break;case"select":o=q({},o,{value:void 0}),r=q({},r,{value:void 0}),i=[];break;case"textarea":o=re(e,o),r=re(e,r),i=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=Zr)}for(u in ve(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if("style"===u){var c=o[u];for(a in c)c.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var l=r[u];if(c=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&l!==c&&(null!=l||null!=c))if("style"===u)if(c){for(a in c)!c.hasOwnProperty(a)||l&&l.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in l)l.hasOwnProperty(a)&&c[a]!==l[a]&&(n||(n={}),n[a]=l[a])}else n||(i||(i=[]),i.push(u,n)),n=l;else"dangerouslySetInnerHTML"===u?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(i=i||[]).push(u,l)):"children"===u?"string"!=typeof l&&"number"!=typeof l||(i=i||[]).push(u,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=l&&"onScroll"===u&&Dr("scroll",e),i||c===l||(i=[])):(i=i||[]).push(u,l))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Ms=function(e,t,n,r){n!==r&&(t.flags|=4)};var Qs=!1,Vs=!1,Ys="function"==typeof WeakSet?WeakSet:Set,Js=null;function Xs(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){Sl(e,t,n)}else n.current=null}function Zs(e,t,n){try{n()}catch(n){Sl(e,t,n)}}var ec=!1;function tc(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&Zs(t,n,a)}o=o.next}while(o!==r)}}function nc(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function rc(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function oc(e){var t=e.alternate;null!==t&&(e.alternate=null,oc(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[po],delete t[fo],delete t[mo],delete t[yo],delete t[vo]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ac(e){return 5===e.tag||3===e.tag||4===e.tag}function ic(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ac(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function sc(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Zr));else if(4!==r&&null!==(e=e.child))for(sc(e,t,n),e=e.sibling;null!==e;)sc(e,t,n),e=e.sibling}function cc(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cc(e,t,n),e=e.sibling;null!==e;)cc(e,t,n),e=e.sibling}var lc=null,uc=!1;function dc(e,t,n){for(n=n.child;null!==n;)hc(e,t,n),n=n.sibling}function hc(e,t,n){if(at&&"function"==typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(ot,n)}catch(e){}switch(n.tag){case 5:Vs||Xs(n,t);case 6:var r=lc,o=uc;lc=null,dc(e,t,n),uc=o,null!==(lc=r)&&(uc?(e=lc,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):lc.removeChild(n.stateNode));break;case 18:null!==lc&&(uc?(e=lc,n=n.stateNode,8===e.nodeType?co(e.parentNode,n):1===e.nodeType&&co(e,n),Bt(e)):co(lc,n.stateNode));break;case 4:r=lc,o=uc,lc=n.stateNode.containerInfo,uc=!0,dc(e,t,n),lc=r,uc=o;break;case 0:case 11:case 14:case 15:if(!Vs&&null!==(r=n.updateQueue)&&null!==(r=r.lastEffect)){o=r=r.next;do{var a=o,i=a.destroy;a=a.tag,void 0!==i&&(2&a||4&a)&&Zs(n,t,i),o=o.next}while(o!==r)}dc(e,t,n);break;case 1:if(!Vs&&(Xs(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Sl(n,t,e)}dc(e,t,n);break;case 21:dc(e,t,n);break;case 22:1&n.mode?(Vs=(r=Vs)||null!==n.memoizedState,dc(e,t,n),Vs=r):dc(e,t,n);break;default:dc(e,t,n)}}function pc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ys),t.forEach(function(t){var r=xl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function fc(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var o=n[r];try{var i=e,s=t,c=s;e:for(;null!==c;){switch(c.tag){case 5:lc=c.stateNode,uc=!1;break e;case 3:case 4:lc=c.stateNode.containerInfo,uc=!0;break e}c=c.return}if(null===lc)throw Error(a(160));hc(i,s,o),lc=null,uc=!1;var l=o.alternate;null!==l&&(l.return=null),o.return=null}catch(e){Sl(o,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gc(t,e),t=t.sibling}function gc(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(fc(t,e),mc(e),4&r){try{tc(3,e,e.return),nc(3,e)}catch(t){Sl(e,e.return,t)}try{tc(5,e,e.return)}catch(t){Sl(e,e.return,t)}}break;case 1:fc(t,e),mc(e),512&r&&null!==n&&Xs(n,n.return);break;case 5:if(fc(t,e),mc(e),512&r&&null!==n&&Xs(n,n.return),32&e.flags){var o=e.stateNode;try{he(o,"")}catch(t){Sl(e,e.return,t)}}if(4&r&&null!=(o=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,c=e.type,l=e.updateQueue;if(e.updateQueue=null,null!==l)try{"input"===c&&"radio"===i.type&&null!=i.name&&J(o,i),be(c,s);var u=be(c,i);for(s=0;s<l.length;s+=2){var d=l[s],h=l[s+1];"style"===d?me(o,h):"dangerouslySetInnerHTML"===d?de(o,h):"children"===d?he(o,h):b(o,d,h,u)}switch(c){case"input":X(o,i);break;case"textarea":ae(o,i);break;case"select":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var f=i.value;null!=f?ne(o,!!i.multiple,f,!1):p!==!!i.multiple&&(null!=i.defaultValue?ne(o,!!i.multiple,i.defaultValue,!0):ne(o,!!i.multiple,i.multiple?[]:"",!1))}o[fo]=i}catch(t){Sl(e,e.return,t)}}break;case 6:if(fc(t,e),mc(e),4&r){if(null===e.stateNode)throw Error(a(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(t){Sl(e,e.return,t)}}break;case 3:if(fc(t,e),mc(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Bt(t.containerInfo)}catch(t){Sl(e,e.return,t)}break;case 4:default:fc(t,e),mc(e);break;case 13:fc(t,e),mc(e),8192&(o=e.child).flags&&(i=null!==o.memoizedState,o.stateNode.isHidden=i,!i||null!==o.alternate&&null!==o.alternate.memoizedState||(Fc=Je())),4&r&&pc(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Vs=(u=Vs)||d,fc(t,e),Vs=u):fc(t,e),mc(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(Js=e,d=e.child;null!==d;){for(h=Js=d;null!==Js;){switch(f=(p=Js).child,p.tag){case 0:case 11:case 14:case 15:tc(4,p,p.return);break;case 1:Xs(p,p.return);var g=p.stateNode;if("function"==typeof g.componentWillUnmount){r=p,n=p.return;try{t=r,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(e){Sl(r,n,e)}}break;case 5:Xs(p,p.return);break;case 22:if(null!==p.memoizedState){wc(h);continue}}null!==f?(f.return=p,Js=f):wc(h)}d=d.sibling}e:for(d=null,h=e;;){if(5===h.tag){if(null===d){d=h;try{o=h.stateNode,u?"function"==typeof(i=o.style).setProperty?i.setProperty("display","none","important"):i.display="none":(c=h.stateNode,s=null!=(l=h.memoizedProps.style)&&l.hasOwnProperty("display")?l.display:null,c.style.display=ge("display",s))}catch(t){Sl(e,e.return,t)}}}else if(6===h.tag){if(null===d)try{h.stateNode.nodeValue=u?"":h.memoizedProps}catch(t){Sl(e,e.return,t)}}else if((22!==h.tag&&23!==h.tag||null===h.memoizedState||h===e)&&null!==h.child){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;null===h.sibling;){if(null===h.return||h.return===e)break e;d===h&&(d=null),h=h.return}d===h&&(d=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:fc(t,e),mc(e),4&r&&pc(e);case 21:}}function mc(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ac(n)){var r=n;break e}n=n.return}throw Error(a(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(he(o,""),r.flags&=-33),cc(e,ic(e),o);break;case 3:case 4:var i=r.stateNode.containerInfo;sc(e,ic(e),i);break;default:throw Error(a(161))}}catch(t){Sl(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yc(e,t,n){Js=e,vc(e,t,n)}function vc(e,t,n){for(var r=!!(1&e.mode);null!==Js;){var o=Js,a=o.child;if(22===o.tag&&r){var i=null!==o.memoizedState||Qs;if(!i){var s=o.alternate,c=null!==s&&null!==s.memoizedState||Vs;s=Qs;var l=Vs;if(Qs=i,(Vs=c)&&!l)for(Js=o;null!==Js;)c=(i=Js).child,22===i.tag&&null!==i.memoizedState?kc(o):null!==c?(c.return=i,Js=c):kc(o);for(;null!==a;)Js=a,vc(a,t,n),a=a.sibling;Js=o,Qs=s,Vs=l}bc(e)}else 8772&o.subtreeFlags&&null!==a?(a.return=o,Js=a):bc(e)}}function bc(e){for(;null!==Js;){var t=Js;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Vs||nc(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Vs)if(null===n)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&Ka(t,i,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ka(t,s,n)}break;case 5:var c=t.stateNode;if(null===n&&4&t.flags){n=c;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var h=d.dehydrated;null!==h&&Bt(h)}}}break;default:throw Error(a(163))}Vs||512&t.flags&&rc(t)}catch(e){Sl(t,t.return,e)}}if(t===e){Js=null;break}if(null!==(n=t.sibling)){n.return=t.return,Js=n;break}Js=t.return}}function wc(e){for(;null!==Js;){var t=Js;if(t===e){Js=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Js=n;break}Js=t.return}}function kc(e){for(;null!==Js;){var t=Js;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{nc(4,t)}catch(e){Sl(t,n,e)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var o=t.return;try{r.componentDidMount()}catch(e){Sl(t,o,e)}}var a=t.return;try{rc(t)}catch(e){Sl(t,a,e)}break;case 5:var i=t.return;try{rc(t)}catch(e){Sl(t,i,e)}}}catch(e){Sl(t,t.return,e)}if(t===e){Js=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Js=s;break}Js=t.return}}var Cc,Sc=Math.ceil,Ec=w.ReactCurrentDispatcher,Ic=w.ReactCurrentOwner,Tc=w.ReactCurrentBatchConfig,xc=0,Ac=null,_c=null,Pc=0,Rc=0,Nc=Io(0),Mc=0,Oc=null,zc=0,Lc=0,qc=0,Uc=null,Dc=null,Fc=0,Hc=1/0,Bc=null,jc=!1,Kc=null,$c=null,Gc=!1,Wc=null,Qc=0,Vc=0,Yc=null,Jc=-1,Xc=0;function Zc(){return 6&xc?Je():-1!==Jc?Jc:Jc=Je()}function el(e){return 1&e.mode?2&xc&&0!==Pc?Pc&-Pc:null!==ma.transition?(0===Xc&&(Xc=gt()),Xc):0!==(e=bt)?e:e=void 0===(e=window.event)?16:Yt(e.type):1}function tl(e,t,n,r){if(50<Vc)throw Vc=0,Yc=null,Error(a(185));yt(e,n,r),2&xc&&e===Ac||(e===Ac&&(!(2&xc)&&(Lc|=n),4===Mc&&il(e,Pc)),nl(e,r),1===n&&0===xc&&!(1&t.mode)&&(Hc=Je()+500,Fo&&jo()))}function nl(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var i=31-it(a),s=1<<i,c=o[i];-1===c?0!==(s&n)&&0===(s&r)||(o[i]=pt(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}}(e,t);var r=ht(e,e===Ac?Pc:0);if(0===r)null!==n&&Qe(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Qe(n),1===t)0===e.tag?function(e){Fo=!0,Bo(e)}(sl.bind(null,e)):Bo(sl.bind(null,e)),io(function(){!(6&xc)&&jo()}),n=null;else{switch(wt(r)){case 1:n=Ze;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Al(n,rl.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function rl(e,t){if(Jc=-1,Xc=0,6&xc)throw Error(a(327));var n=e.callbackNode;if(kl()&&e.callbackNode!==n)return null;var r=ht(e,e===Ac?Pc:0);if(0===r)return null;if(30&r||0!==(r&e.expiredLanes)||t)t=gl(e,r);else{t=r;var o=xc;xc|=2;var i=pl();for(Ac===e&&Pc===t||(Bc=null,Hc=Je()+500,dl(e,t));;)try{yl();break}catch(t){hl(e,t)}xa(),Ec.current=i,xc=o,null!==_c?t=0:(Ac=null,Pc=0,t=Mc)}if(0!==t){if(2===t&&0!==(o=ft(e))&&(r=o,t=ol(e,o)),1===t)throw n=Oc,dl(e,0),il(e,r),nl(e,Je()),n;if(6===t)il(e,r);else{if(o=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!sr(a(),o))return!1}catch(e){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)||(t=gl(e,r),2===t&&(i=ft(e),0!==i&&(r=i,t=ol(e,i))),1!==t)))throw n=Oc,dl(e,0),il(e,r),nl(e,Je()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(a(345));case 2:case 5:wl(e,Dc,Bc);break;case 3:if(il(e,r),(130023424&r)===r&&10<(t=Fc+500-Je())){if(0!==ht(e,0))break;if(((o=e.suspendedLanes)&r)!==r){Zc(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=ro(wl.bind(null,e,Dc,Bc),t);break}wl(e,Dc,Bc);break;case 4:if(il(e,r),(4194240&r)===r)break;for(t=e.eventTimes,o=-1;0<r;){var s=31-it(r);i=1<<s,(s=t[s])>o&&(o=s),r&=~i}if(r=o,10<(r=(120>(r=Je()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Sc(r/1960))-r)){e.timeoutHandle=ro(wl.bind(null,e,Dc,Bc),r);break}wl(e,Dc,Bc);break;default:throw Error(a(329))}}}return nl(e,Je()),e.callbackNode===n?rl.bind(null,e):null}function ol(e,t){var n=Uc;return e.current.memoizedState.isDehydrated&&(dl(e,t).flags|=256),2!==(e=gl(e,t))&&(t=Dc,Dc=n,null!==t&&al(t)),e}function al(e){null===Dc?Dc=e:Dc.push.apply(Dc,e)}function il(e,t){for(t&=~qc,t&=~Lc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function sl(e){if(6&xc)throw Error(a(327));kl();var t=ht(e,0);if(!(1&t))return nl(e,Je()),null;var n=gl(e,t);if(0!==e.tag&&2===n){var r=ft(e);0!==r&&(t=r,n=ol(e,r))}if(1===n)throw n=Oc,dl(e,0),il(e,t),nl(e,Je()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wl(e,Dc,Bc),nl(e,Je()),null}function cl(e,t){var n=xc;xc|=1;try{return e(t)}finally{0===(xc=n)&&(Hc=Je()+500,Fo&&jo())}}function ll(e){null!==Wc&&0===Wc.tag&&!(6&xc)&&kl();var t=xc;xc|=1;var n=Tc.transition,r=bt;try{if(Tc.transition=null,bt=1,e)return e()}finally{bt=r,Tc.transition=n,!(6&(xc=t))&&jo()}}function ul(){Rc=Nc.current,To(Nc)}function dl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==_c)for(n=_c.return;null!==n;){var r=n;switch(na(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Oo();break;case 3:Ja(),To(Po),To(_o),ri();break;case 5:Za(r);break;case 4:Ja();break;case 13:case 19:To(ei);break;case 10:Aa(r.type._context);break;case 22:case 23:ul()}n=n.return}if(Ac=e,_c=e=Nl(e.current,null),Pc=Rc=t,Mc=0,Oc=null,qc=Lc=zc=0,Dc=Uc=null,null!==Na){for(t=0;t<Na.length;t++)if(null!==(r=(n=Na[t]).interleaved)){n.interleaved=null;var o=r.next,a=n.pending;if(null!==a){var i=a.next;a.next=o,r.next=i}n.pending=r}Na=null}return e}function hl(e,t){for(;;){var n=_c;try{if(xa(),oi.current=Xi,ui){for(var r=si.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}ui=!1}if(ii=0,li=ci=si=null,di=!1,hi=0,Ic.current=null,null===n||null===n.return){Mc=1,Oc=t,_c=null;break}e:{var i=e,s=n.return,c=n,l=t;if(t=Pc,c.flags|=32768,null!==l&&"object"==typeof l&&"function"==typeof l.then){var u=l,d=c,h=d.tag;if(!(1&d.mode||0!==h&&11!==h&&15!==h)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var f=ms(s);if(null!==f){f.flags&=-257,ys(f,s,c,0,t),1&f.mode&&gs(i,u,t),l=u;var g=(t=f).updateQueue;if(null===g){var m=new Set;m.add(l),t.updateQueue=m}else g.add(l);break e}if(!(1&t)){gs(i,u,t),fl();break e}l=Error(a(426))}else if(aa&&1&c.mode){var y=ms(s);if(null!==y){!(65536&y.flags)&&(y.flags|=256),ys(y,s,c,0,t),ga(ls(l,c));break e}}i=l=ls(l,c),4!==Mc&&(Mc=2),null===Uc?Uc=[i]:Uc.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Ba(i,ps(0,l,t));break e;case 1:c=l;var v=i.type,b=i.stateNode;if(!(128&i.flags||"function"!=typeof v.getDerivedStateFromError&&(null===b||"function"!=typeof b.componentDidCatch||null!==$c&&$c.has(b)))){i.flags|=65536,t&=-t,i.lanes|=t,Ba(i,fs(i,c,t));break e}}i=i.return}while(null!==i)}bl(n)}catch(e){t=e,_c===n&&null!==n&&(_c=n=n.return);continue}break}}function pl(){var e=Ec.current;return Ec.current=Xi,null===e?Xi:e}function fl(){0!==Mc&&3!==Mc&&2!==Mc||(Mc=4),null===Ac||!(268435455&zc)&&!(268435455&Lc)||il(Ac,Pc)}function gl(e,t){var n=xc;xc|=2;var r=pl();for(Ac===e&&Pc===t||(Bc=null,dl(e,t));;)try{ml();break}catch(t){hl(e,t)}if(xa(),xc=n,Ec.current=r,null!==_c)throw Error(a(261));return Ac=null,Pc=0,Mc}function ml(){for(;null!==_c;)vl(_c)}function yl(){for(;null!==_c&&!Ve();)vl(_c)}function vl(e){var t=Cc(e.alternate,e,Rc);e.memoizedProps=e.pendingProps,null===t?bl(e):_c=t,Ic.current=null}function bl(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ws(n,t)))return n.flags&=32767,void(_c=n);if(null===e)return Mc=6,void(_c=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Gs(n,t,Rc)))return void(_c=n);if(null!==(t=t.sibling))return void(_c=t);_c=t=e}while(null!==t);0===Mc&&(Mc=5)}function wl(e,t,n){var r=bt,o=Tc.transition;try{Tc.transition=null,bt=1,function(e,t,n,r){do{kl()}while(null!==Wc);if(6&xc)throw Error(a(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-it(n),a=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~a}}(e,i),e===Ac&&(_c=Ac=null,Pc=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Gc||(Gc=!0,Al(tt,function(){return kl(),null})),i=!!(15990&n.flags),15990&n.subtreeFlags||i){i=Tc.transition,Tc.transition=null;var s=bt;bt=1;var c=xc;xc|=4,Ic.current=null,function(e,t){if(eo=Kt,pr(e=hr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(e){n=null;break e}var s=0,c=-1,l=-1,u=0,d=0,h=e,p=null;t:for(;;){for(var f;h!==n||0!==o&&3!==h.nodeType||(c=s+o),h!==i||0!==r&&3!==h.nodeType||(l=s+r),3===h.nodeType&&(s+=h.nodeValue.length),null!==(f=h.firstChild);)p=h,h=f;for(;;){if(h===e)break t;if(p===n&&++u===o&&(c=s),p===i&&++d===r&&(l=s),null!==(f=h.nextSibling))break;p=(h=p).parentNode}h=f}n=-1===c||-1===l?null:{start:c,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Kt=!1,Js=t;null!==Js;)if(e=(t=Js).child,1028&t.subtreeFlags&&null!==e)e.return=t,Js=e;else for(;null!==Js;){t=Js;try{var g=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var m=g.memoizedProps,y=g.memoizedState,v=t.stateNode,b=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:ns(t.type,m),y);v.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(a(163))}}catch(e){Sl(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,Js=e;break}Js=t.return}g=ec,ec=!1}(e,n),gc(n,e),fr(to),Kt=!!eo,to=eo=null,e.current=n,yc(n,e,o),Ye(),xc=c,bt=s,Tc.transition=i}else e.current=n;if(Gc&&(Gc=!1,Wc=e,Qc=o),0===(i=e.pendingLanes)&&($c=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,!(128&~e.current.flags))}catch(e){}}(n.stateNode),nl(e,Je()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)r((o=t[n]).value,{componentStack:o.stack,digest:o.digest});if(jc)throw jc=!1,e=Kc,Kc=null,e;!!(1&Qc)&&0!==e.tag&&kl(),1&(i=e.pendingLanes)?e===Yc?Vc++:(Vc=0,Yc=e):Vc=0,jo()}(e,t,n,r)}finally{Tc.transition=o,bt=r}return null}function kl(){if(null!==Wc){var e=wt(Qc),t=Tc.transition,n=bt;try{if(Tc.transition=null,bt=16>e?16:e,null===Wc)var r=!1;else{if(e=Wc,Wc=null,Qc=0,6&xc)throw Error(a(331));var o=xc;for(xc|=4,Js=e.current;null!==Js;){var i=Js,s=i.child;if(16&Js.flags){var c=i.deletions;if(null!==c){for(var l=0;l<c.length;l++){var u=c[l];for(Js=u;null!==Js;){var d=Js;switch(d.tag){case 0:case 11:case 15:tc(8,d,i)}var h=d.child;if(null!==h)h.return=d,Js=h;else for(;null!==Js;){var p=(d=Js).sibling,f=d.return;if(oc(d),d===u){Js=null;break}if(null!==p){p.return=f,Js=p;break}Js=f}}}var g=i.alternate;if(null!==g){var m=g.child;if(null!==m){g.child=null;do{var y=m.sibling;m.sibling=null,m=y}while(null!==m)}}Js=i}}if(2064&i.subtreeFlags&&null!==s)s.return=i,Js=s;else e:for(;null!==Js;){if(2048&(i=Js).flags)switch(i.tag){case 0:case 11:case 15:tc(9,i,i.return)}var v=i.sibling;if(null!==v){v.return=i.return,Js=v;break e}Js=i.return}}var b=e.current;for(Js=b;null!==Js;){var w=(s=Js).child;if(2064&s.subtreeFlags&&null!==w)w.return=s,Js=w;else e:for(s=b;null!==Js;){if(2048&(c=Js).flags)try{switch(c.tag){case 0:case 11:case 15:nc(9,c)}}catch(e){Sl(c,c.return,e)}if(c===s){Js=null;break e}var k=c.sibling;if(null!==k){k.return=c.return,Js=k;break e}Js=c.return}}if(xc=o,jo(),at&&"function"==typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(ot,e)}catch(e){}r=!0}return r}finally{bt=n,Tc.transition=t}}return!1}function Cl(e,t,n){e=Fa(e,t=ps(0,t=ls(n,t),1),1),t=Zc(),null!==e&&(yt(e,1,t),nl(e,t))}function Sl(e,t,n){if(3===e.tag)Cl(e,e,n);else for(;null!==t;){if(3===t.tag){Cl(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===$c||!$c.has(r))){t=Fa(t,e=fs(t,e=ls(n,e),1),1),e=Zc(),null!==t&&(yt(t,1,e),nl(t,e));break}}t=t.return}}function El(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=Zc(),e.pingedLanes|=e.suspendedLanes&n,Ac===e&&(Pc&n)===n&&(4===Mc||3===Mc&&(130023424&Pc)===Pc&&500>Je()-Fc?dl(e,0):qc|=n),nl(e,t)}function Il(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=Zc();null!==(e=za(e,t))&&(yt(e,t,n),nl(e,n))}function Tl(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Il(e,n)}function xl(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(a(314))}null!==r&&r.delete(t),Il(e,n)}function Al(e,t){return We(e,t)}function _l(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Pl(e,t,n,r){return new _l(e,t,n,r)}function Rl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Nl(e,t){var n=e.alternate;return null===n?((n=Pl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ml(e,t,n,r,o,i){var s=2;if(r=e,"function"==typeof e)Rl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case S:return Ol(n.children,o,i,t);case E:s=8,o|=8;break;case I:return(e=Pl(12,n,t,2|o)).elementType=I,e.lanes=i,e;case _:return(e=Pl(13,n,t,o)).elementType=_,e.lanes=i,e;case P:return(e=Pl(19,n,t,o)).elementType=P,e.lanes=i,e;case M:return zl(n,o,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case T:s=10;break e;case x:s=9;break e;case A:s=11;break e;case R:s=14;break e;case N:s=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Pl(s,n,t,o)).elementType=e,t.type=r,t.lanes=i,t}function Ol(e,t,n,r){return(e=Pl(7,e,r,t)).lanes=n,e}function zl(e,t,n,r){return(e=Pl(22,e,r,t)).elementType=M,e.lanes=n,e.stateNode={isHidden:!1},e}function Ll(e,t,n){return(e=Pl(6,e,null,t)).lanes=n,e}function ql(e,t,n){return(t=Pl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ul(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=mt(0),this.expirationTimes=mt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=mt(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Dl(e,t,n,r,o,a,i,s,c){return e=new Ul(e,t,n,s,c),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Pl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},qa(a),e}function Fl(e){if(!e)return Ao;e:{if(Be(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Mo(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(Mo(n))return Lo(e,n,t)}return t}function Hl(e,t,n,r,o,a,i,s,c){return(e=Dl(n,r,!0,e,0,a,0,s,c)).context=Fl(null),n=e.current,(a=Da(r=Zc(),o=el(n))).callback=null!=t?t:null,Fa(n,a,o),e.current.lanes=o,yt(e,o,r),nl(e,r),e}function Bl(e,t,n,r){var o=t.current,a=Zc(),i=el(o);return n=Fl(n),null===t.context?t.context=n:t.pendingContext=n,(t=Da(a,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Fa(o,t,i))&&(tl(e,o,i,a),Ha(e,o,i)),i}function jl(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Kl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function $l(e,t){Kl(e,t),(e=e.alternate)&&Kl(e,t)}Cc=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Po.current)bs=!0;else{if(0===(e.lanes&n)&&!(128&t.flags))return bs=!1,function(e,t,n){switch(t.tag){case 3:_s(t),fa();break;case 5:Xa(t);break;case 1:Mo(t.type)&&qo(t);break;case 4:Ya(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;xo(Sa,r._currentValue),r._currentValue=o;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(xo(ei,1&ei.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Ls(e,t,n):(xo(ei,1&ei.current),null!==(e=js(e,t,n))?e.sibling:null);xo(ei,1&ei.current);break;case 19:if(r=0!==(n&t.childLanes),128&e.flags){if(r)return Hs(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),xo(ei,ei.current),r)break;return null;case 22:case 23:return t.lanes=0,Es(e,t,n)}return js(e,t,n)}(e,t,n);bs=!!(131072&e.flags)}else bs=!1,aa&&1048576&t.flags&&ea(t,Wo,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Bs(e,t),e=t.pendingProps;var o=No(t,_o.current);Pa(t,n),o=mi(null,t,r,e,o,n);var i=yi();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Mo(r)?(i=!0,qo(t)):i=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,qa(t),o.updater=os,t.stateNode=o,o._reactInternals=t,cs(t,r,e,n),t=As(null,t,r,!0,i,n)):(t.tag=0,aa&&i&&ta(t),ws(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Bs(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return Rl(e)?1:0;if(null!=e){if((e=e.$$typeof)===A)return 11;if(e===R)return 14}return 2}(r),e=ns(r,e),o){case 0:t=Ts(null,t,r,e,n);break e;case 1:t=xs(null,t,r,e,n);break e;case 11:t=ks(null,t,r,e,n);break e;case 14:t=Cs(null,t,r,ns(r.type,e),n);break e}throw Error(a(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,Ts(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 1:return r=t.type,o=t.pendingProps,xs(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 3:e:{if(_s(t),null===e)throw Error(a(387));r=t.pendingProps,o=(i=t.memoizedState).element,Ua(e,t),ja(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Ps(e,t,r,n,o=ls(Error(a(423)),t));break e}if(r!==o){t=Ps(e,t,r,n,o=ls(Error(a(424)),t));break e}for(oa=lo(t.stateNode.containerInfo.firstChild),ra=t,aa=!0,ia=null,n=Ca(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(fa(),r===o){t=js(e,t,n);break e}ws(e,t,r,n)}t=t.child}return t;case 5:return Xa(t),null===e&&ua(t),r=t.type,o=t.pendingProps,i=null!==e?e.memoizedProps:null,s=o.children,no(r,o)?s=null:null!==i&&no(r,i)&&(t.flags|=32),Is(e,t),ws(e,t,s,n),t.child;case 6:return null===e&&ua(t),null;case 13:return Ls(e,t,n);case 4:return Ya(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=ka(t,null,r,n):ws(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,ks(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 7:return ws(e,t,t.pendingProps,n),t.child;case 8:case 12:return ws(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,s=o.value,xo(Sa,r._currentValue),r._currentValue=s,null!==i)if(sr(i.value,s)){if(i.children===o.children&&!Po.current){t=js(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var c=i.dependencies;if(null!==c){s=i.child;for(var l=c.firstContext;null!==l;){if(l.context===r){if(1===i.tag){(l=Da(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}i.lanes|=n,null!==(l=i.alternate)&&(l.lanes|=n),_a(i.return,n,t),c.lanes|=n;break}l=l.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(a(341));s.lanes|=n,null!==(c=s.alternate)&&(c.lanes|=n),_a(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}ws(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Pa(t,n),r=r(o=Ra(o)),t.flags|=1,ws(e,t,r,n),t.child;case 14:return o=ns(r=t.type,t.pendingProps),Cs(e,t,r,o=ns(r.type,o),n);case 15:return Ss(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ns(r,o),Bs(e,t),t.tag=1,Mo(r)?(e=!0,qo(t)):e=!1,Pa(t,n),is(t,r,o),cs(t,r,o,n),As(null,t,r,!0,e,n);case 19:return Hs(e,t,n);case 22:return Es(e,t,n)}throw Error(a(156,t.tag))};var Gl="function"==typeof reportError?reportError:function(e){console.error(e)};function Wl(e){this._internalRoot=e}function Ql(e){this._internalRoot=e}function Vl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Yl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jl(){}function Xl(e,t,n,r,o){var a=n._reactRootContainer;if(a){var i=a;if("function"==typeof o){var s=o;o=function(){var e=jl(i);s.call(e)}}Bl(t,i,e,o)}else i=function(e,t,n,r,o){if(o){if("function"==typeof r){var a=r;r=function(){var e=jl(i);a.call(e)}}var i=Hl(t,r,e,0,null,!1,0,"",Jl);return e._reactRootContainer=i,e[go]=i.current,Br(8===e.nodeType?e.parentNode:e),ll(),i}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof r){var s=r;r=function(){var e=jl(c);s.call(e)}}var c=Dl(e,0,!1,null,0,!1,0,"",Jl);return e._reactRootContainer=c,e[go]=c.current,Br(8===e.nodeType?e.parentNode:e),ll(function(){Bl(t,c,n,r)}),c}(n,t,e,o,r);return jl(i)}Ql.prototype.render=Wl.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));Bl(e,t,null,null)},Ql.prototype.unmount=Wl.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;ll(function(){Bl(null,e,null,null)}),t[go]=null}},Ql.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Mt.length&&0!==t&&t<Mt[n].priority;n++);Mt.splice(n,0,e),0===n&&qt(e)}},kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(vt(t,1|n),nl(t,Je()),!(6&xc)&&(Hc=Je()+500,jo()))}break;case 13:ll(function(){var t=za(e,1);if(null!==t){var n=Zc();tl(t,e,1,n)}}),$l(e,1)}},Ct=function(e){if(13===e.tag){var t=za(e,134217728);null!==t&&tl(t,e,134217728,Zc()),$l(e,134217728)}},St=function(e){if(13===e.tag){var t=el(e),n=za(e,t);null!==n&&tl(n,e,t,Zc()),$l(e,t)}},Et=function(){return bt},It=function(e,t){var n=bt;try{return bt=e,t()}finally{bt=n}},Ce=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=Co(r);if(!o)throw Error(a(90));W(r),X(r,o)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ae=cl,_e=ll;var Zl={usingClientEntryPoint:!1,Events:[wo,ko,Co,Te,xe,cl]},eu={findFiberByHostInstance:bo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},tu={bundleType:eu.bundleType,version:eu.version,rendererPackageName:eu.rendererPackageName,rendererConfig:eu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=$e(e))?null:e.stateNode},findFiberByHostInstance:eu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var nu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!nu.isDisabled&&nu.supportsFiber)try{ot=nu.inject(tu),at=nu}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Zl,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Vl(t))throw Error(a(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:C,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Vl(e))throw Error(a(299));var n=!1,r="",o=Gl;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Dl(e,1,!1,null,0,n,0,r,o),e[go]=t.current,Br(8===e.nodeType?e.parentNode:e),new Wl(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return null===(e=$e(t))?null:e.stateNode},t.flushSync=function(e){return ll(e)},t.hydrate=function(e,t,n){if(!Yl(t))throw Error(a(200));return Xl(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Vl(e))throw Error(a(405));var r=null!=n&&n.hydratedSources||null,o=!1,i="",s=Gl;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Hl(t,null,e,1,null!=n?n:null,o,0,i,s),e[go]=t.current,Br(e),r)for(e=0;e<r.length;e++)o=(o=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Ql(t)},t.render=function(e,t,n){if(!Yl(t))throw Error(a(200));return Xl(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Yl(e))throw Error(a(40));return!!e._reactRootContainer&&(ll(function(){Xl(null,null,e,!1,function(){e._reactRootContainer=null,e[go]=null})}),!0)},t.unstable_batchedUpdates=cl,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Yl(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return Xl(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},601(e){e.exports=function(e){return e[1]}},659(e){var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},825(e){e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},877(e,t,n){n.d(t,{A:()=>s});var r=n(601),o=n.n(r),a=n(314),i=n.n(a)()(o());i.push([e.id,"/* ============================================================\n Base & Reset\n ============================================================ */\n* { box-sizing: border-box; }\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;\n margin: 0;\n padding: 0;\n background: #f0f2f5;\n color: #333;\n}\n\n/* ============================================================\n App Shell - Sidebar + Main Content Layout\n ============================================================ */\n.app-shell {\n display: flex;\n min-height: 100vh;\n}\n\n/* Sidebar */\n.sidebar {\n width: 220px;\n background: #1a1d23;\n color: #c9cdd4;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n transition: width 0.2s ease;\n overflow: hidden;\n}\n\n.sidebar-collapsed .sidebar {\n width: 56px;\n}\n\n.sidebar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 14px;\n border-bottom: 1px solid #2d3039;\n}\n\n.sidebar-brand {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n\n.brand-text {\n font-weight: 700;\n font-size: 15px;\n color: #fff;\n white-space: nowrap;\n}\n\n.brand-badge {\n font-size: 9px;\n font-weight: 700;\n padding: 2px 5px;\n background: #f59e0b;\n color: #1a1d23;\n border-radius: 3px;\n letter-spacing: 0.5px;\n white-space: nowrap;\n}\n\n.sidebar-toggle {\n background: none;\n border: none;\n color: #666;\n font-size: 14px;\n cursor: pointer;\n padding: 4px;\n border-radius: 4px;\n line-height: 1;\n flex-shrink: 0;\n}\n\n.sidebar-toggle:hover {\n color: #aaa;\n background: #2d3039;\n}\n\n/* Navigation */\n.sidebar-nav {\n flex: 1;\n padding: 8px 8px;\n overflow-y: auto;\n}\n\n.nav-section-label {\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 1px;\n color: #555b66;\n padding: 16px 8px 6px;\n text-transform: uppercase;\n}\n\n.nav-section-divider {\n height: 1px;\n background: #2d3039;\n margin: 8px 4px;\n}\n\n.nav-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 10px;\n background: none;\n border: none;\n border-radius: 6px;\n color: #9ca3af;\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: all 0.15s;\n white-space: nowrap;\n}\n\n.nav-item:hover {\n background: #24272e;\n color: #e5e7eb;\n}\n\n.nav-item.nav-active {\n background: #2563eb;\n color: #fff;\n}\n\n.nav-icon {\n font-size: 15px;\n width: 20px;\n text-align: center;\n flex-shrink: 0;\n}\n\n.nav-label {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Sidebar Footer */\n.sidebar-footer {\n padding: 12px;\n border-top: 1px solid #2d3039;\n}\n\n.sidebar-user {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: 8px;\n}\n\n.user-avatar {\n width: 30px;\n height: 30px;\n border-radius: 50%;\n background: #374151;\n color: #e5e7eb;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 13px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.user-details {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.user-name-text {\n font-size: 12px;\n color: #e5e7eb;\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.user-client {\n font-size: 10px;\n color: #6b7280;\n}\n\n.signout-btn {\n width: 100%;\n padding: 6px 10px;\n background: #2d3039;\n color: #9ca3af;\n border: 1px solid #3d4049;\n border-radius: 4px;\n font-size: 12px;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.signout-btn:hover {\n background: #3d4049;\n color: #e5e7eb;\n}\n\n/* Main Content */\n.main-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-width: 0;\n overflow-y: auto;\n max-height: 100vh;\n}\n\n.content-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 28px;\n background: #fff;\n border-bottom: 1px solid #e5e7eb;\n flex-shrink: 0;\n}\n\n.page-title {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.content-body {\n flex: 1;\n padding: 24px 28px;\n overflow-y: auto;\n}\n\n.content-panel {\n background: #fff;\n border-radius: 8px;\n padding: 24px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.06);\n}\n\n/* ============================================================\n Session Info\n ============================================================ */\n.session-info {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.session-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n background: #dcfce7;\n border: 1px solid #86efac;\n border-radius: 12px;\n font-size: 12px;\n color: #166534;\n font-weight: 500;\n}\n\n.session-dot {\n width: 6px;\n height: 6px;\n background: #22c55e;\n border-radius: 50%;\n animation: pulse 2s infinite;\n}\n\n@keyframes pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n}\n\n/* ============================================================\n Service Form\n ============================================================ */\n.service-form {\n background: #fff;\n border-radius: 8px;\n padding: 24px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.06);\n max-width: 800px;\n}\n\n/* Auth Section */\n.auth-section {\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n padding: 12px 16px;\n margin-bottom: 20px;\n background: #fafafa;\n}\n\n.auth-section legend {\n font-weight: 600;\n font-size: 13px;\n color: #666;\n padding: 0 8px;\n}\n\n/* Form Rows */\n.row {\n margin-bottom: 16px;\n}\n\n.row label {\n display: block;\n font-weight: 500;\n margin-bottom: 6px;\n color: #444;\n font-size: 14px;\n}\n\n.row-inline {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 10px;\n}\n\n.row-inline label {\n min-width: 90px;\n margin-bottom: 0;\n font-size: 13px;\n}\n\n.row-inline input {\n flex: 1;\n}\n\n/* Inputs */\ninput[type=\"text\"],\nselect,\ntextarea {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n font-size: 14px;\n font-family: inherit;\n box-sizing: border-box;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\ninput[type=\"text\"]:focus,\nselect:focus,\ntextarea:focus {\n outline: none;\n border-color: #2563eb;\n box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);\n}\n\ntextarea {\n font-family: 'SF Mono', 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 13px;\n resize: vertical;\n line-height: 1.5;\n}\n\n/* Submit Button */\n.submit-btn {\n background: #2563eb;\n color: white;\n border: none;\n padding: 10px 28px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.submit-btn:hover:not(:disabled) {\n background: #1d4ed8;\n}\n\n.submit-btn:disabled {\n background: #93c5fd;\n cursor: not-allowed;\n}\n\n/* Routing Info */\n.routing-info {\n margin-bottom: 16px;\n}\n\n.route-badge {\n display: inline-block;\n padding: 6px 12px;\n background: #eff6ff;\n border: 1px solid #bfdbfe;\n border-radius: 6px;\n font-size: 12px;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n color: #1d4ed8;\n}\n\n.route-badge.route-direct {\n background: #f0fdf4;\n border-color: #bbf7d0;\n color: #166534;\n}\n\n.route-badge strong {\n color: inherit;\n opacity: 0.7;\n}\n\n/* Response */\n.response-section {\n margin-top: 20px;\n}\n\n.response-status {\n display: inline-block;\n padding: 4px 12px;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 600;\n margin-bottom: 12px;\n}\n\n.response-status.status-ok {\n background: #dcfce7;\n color: #166534;\n}\n\n.response-status.status-fail {\n background: #fef2f2;\n color: #991b1b;\n}\n\n.response {\n margin-top: 8px;\n padding: 16px;\n background: #f8f9fa;\n border: 1px solid #e9ecef;\n border-radius: 6px;\n overflow-x: auto;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n font-size: 12px;\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.json-details {\n margin-top: 12px;\n}\n\n.json-details summary {\n cursor: pointer;\n padding: 8px 12px;\n background: #e9ecef;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n color: #495057;\n user-select: none;\n}\n\n.json-details summary:hover {\n background: #dee2e6;\n}\n\n.json-details[open] summary {\n border-radius: 6px 6px 0 0;\n}\n\n/* ============================================================\n Health Dashboard\n ============================================================ */\n.health-dashboard {\n /* no extra wrapper needed */\n}\n\n.health-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.health-title-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.health-title {\n margin: 0;\n font-size: 16px;\n color: #333;\n display: none; /* Title is in the content header now */\n}\n\n.health-summary {\n font-size: 12px;\n padding: 3px 10px;\n border-radius: 12px;\n font-weight: 600;\n}\n\n.health-summary.all-healthy {\n background: #dcfce7;\n color: #166534;\n}\n\n.health-summary.has-issues {\n background: #fef3c7;\n color: #92400e;\n}\n\n.health-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-left: auto;\n}\n\n.health-timestamp {\n font-size: 12px;\n color: #888;\n}\n\n/* ============================================================\n Service Node (clickable architecture diagram nodes)\n ============================================================ */\n.svc-node {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: #ffffff;\n border: 1.5px solid #e2e8f0;\n border-radius: 8px;\n padding: 10px 14px;\n cursor: pointer;\n text-align: left;\n transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;\n outline: none;\n min-width: 130px;\n position: relative;\n box-shadow: 0 1px 3px rgba(0,0,0,0.06);\n}\n.svc-node:hover {\n border-color: #94a3b8;\n box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n}\n.svc-node-dot {\n display: inline-block;\n width: 7px;\n height: 7px;\n border-radius: 50%;\n position: absolute;\n top: 8px;\n right: 8px;\n}\n.svc-node-name {\n font-size: 11px;\n font-weight: 700;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n letter-spacing: 0.02em;\n margin-bottom: 3px;\n padding-right: 16px;\n}\n.svc-node-sub {\n font-size: 10px;\n color: #94a3b8;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n}\n.svc-node-ms {\n font-size: 10px;\n color: #64748b;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n margin-top: 4px;\n}\n\n/* ============================================================\n Architecture Diagram v2\n ============================================================ */\n.arch2-wrap {\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 12px;\n padding: 20px 24px 16px;\n margin-bottom: 0;\n}\n.arch2-title {\n font-size: 9px;\n font-weight: 700;\n letter-spacing: 0.12em;\n color: #94a3b8;\n text-transform: uppercase;\n margin-bottom: 16px;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n}\n.arch2-hint {\n font-size: 11px;\n color: #94a3b8;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n margin: 0 0 12px 0;\n letter-spacing: 0.02em;\n}\n.arch2-top {\n display: flex;\n gap: 16px;\n align-items: flex-start;\n margin-bottom: 0;\n}\n.arch2-tier {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n.arch2-tier-reg {\n min-width: 150px;\n}\n.arch2-tier-internal {\n background: #ffffff;\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n padding: 14px 16px 12px;\n}\n.arch2-tier-label {\n font-size: 9px;\n font-weight: 700;\n letter-spacing: 0.1em;\n color: #94a3b8;\n text-transform: uppercase;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n margin-bottom: 8px;\n}\n.arch2-tier-nodes {\n display: flex;\n gap: 10px;\n flex-wrap: wrap;\n}\n.arch2-tier-nodes-center {\n justify-content: center;\n}\n.arch2-db-connector {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding-left: 20px;\n}\n.arch2-vline {\n width: 1px;\n height: 14px;\n background: #cbd5e1;\n}\n.arch2-db {\n font-size: 10px;\n color: #64748b;\n background: #f1f5f9;\n border: 1px solid #e2e8f0;\n padding: 3px 8px;\n border-radius: 4px;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n}\n.arch2-pillar-sep {\n width: 1px;\n min-height: 80px;\n background: #e2e8f0;\n border-left: 1px dashed #cbd5e1;\n align-self: stretch;\n margin: 24px 4px 0;\n}\n.arch2-arrow-zone {\n display: flex;\n justify-content: flex-start;\n padding: 10px 0;\n padding-left: 40px;\n}\n.arch2-arrow-line {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #cbd5e1;\n}\n.arch2-arrow-line::before {\n content: \"↓\";\n color: #cbd5e1;\n}\n.arch2-arrow-line::after {\n content: \"↓\";\n color: #cbd5e1;\n}\n.arch2-arrow-label {\n font-size: 9px;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: #94a3b8;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n}\n.arch2-legend {\n display: flex;\n gap: 18px;\n margin-top: 16px;\n padding-top: 12px;\n border-top: 1px solid #e2e8f0;\n}\n.arch2-legend-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n color: #64748b;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n}\n.arch2-legend-dot {\n width: 7px;\n height: 7px;\n border-radius: 50%;\n display: inline-block;\n flex-shrink: 0;\n}\n\n/* ============================================================\n Service Popup\n ============================================================ */\n.svc-popup-backdrop {\n position: fixed;\n top: 0; left: 0; right: 0; bottom: 0;\n background: rgba(15,23,42,0.45);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n animation: fadeIn 0.15s ease;\n}\n.svc-popup {\n background: #ffffff;\n border: 1px solid #e2e8f0;\n border-radius: 12px;\n width: 100%;\n max-width: 540px;\n overflow: hidden;\n animation: slideUp 0.2s ease;\n box-shadow: 0 20px 60px rgba(0,0,0,0.18);\n}\n.svc-popup-bar {\n height: 4px;\n width: 100%;\n}\n.svc-popup-head {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 18px 20px 14px;\n border-bottom: 1px solid #f1f5f9;\n}\n.svc-popup-title {\n font-size: 15px;\n font-weight: 700;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n letter-spacing: 0.02em;\n}\n.svc-popup-sub {\n font-size: 11px;\n color: #94a3b8;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n margin-top: 3px;\n}\n.svc-popup-close {\n background: none;\n border: none;\n color: #94a3b8;\n cursor: pointer;\n font-size: 16px;\n padding: 2px 4px;\n line-height: 1;\n transition: color 0.15s;\n}\n.svc-popup-close:hover { color: #475569; }\n.svc-popup-status-row {\n display: flex;\n gap: 24px;\n padding: 12px 20px;\n background: #f8fafc;\n border-bottom: 1px solid #f1f5f9;\n}\n.svc-popup-stat-label {\n font-size: 9px;\n font-weight: 700;\n letter-spacing: 0.1em;\n color: #94a3b8;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n margin-bottom: 4px;\n}\n.svc-popup-stat-value {\n font-size: 13px;\n font-weight: 600;\n color: #1e293b;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.svc-popup-dot {\n width: 7px;\n height: 7px;\n border-radius: 50%;\n display: inline-block;\n flex-shrink: 0;\n}\n.svc-popup-section {\n padding: 14px 20px;\n border-bottom: 1px solid #f1f5f9;\n}\n.svc-popup-section:last-child { border-bottom: none; }\n.svc-popup-section-label {\n font-size: 9px;\n font-weight: 700;\n letter-spacing: 0.1em;\n color: #94a3b8;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n margin-bottom: 6px;\n}\n.svc-popup-about {\n font-size: 13px;\n line-height: 1.65;\n color: #475569;\n margin: 0;\n}\n.svc-popup-about p { margin: 0 0 8px; }\n.svc-popup-about p:last-child { margin: 0; }\n.svc-popup-tech {\n font-size: 11px;\n color: #64748b;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n}\n.svc-popup-code {\n display: block;\n font-size: 11px;\n color: #475569;\n background: #f1f5f9;\n padding: 8px 10px;\n border-radius: 4px;\n font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;\n word-break: break-all;\n border: 1px solid #e2e8f0;\n}\n.svc-popup-error {\n color: #d97706;\n background: #fffbeb;\n border-color: #fde68a;\n}\n.svc-popup-loading {\n color: #94a3b8;\n font-size: 12px;\n font-style: italic;\n}\n/* ============================================================\n Health Check Button (standalone)\n ============================================================ */\n.token-btn {\n padding: 8px 16px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n border: 1px solid transparent;\n transition: all 0.15s;\n}\n\n.token-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.token-btn-primary {\n background: #2563eb;\n color: white;\n border-color: #1d4ed8;\n}\n\n.token-btn-primary:hover:not(:disabled) {\n background: #1d4ed8;\n}\n\n.token-btn-small {\n padding: 4px 10px;\n font-size: 12px;\n background: #f3f4f6;\n color: #374151;\n border: 1px solid #d1d5db;\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n.token-btn-small:hover {\n background: #e5e7eb;\n}\n\n/* ============================================================\n Sign-In Overlay\n ============================================================ */\n.app-container {\n position: relative;\n min-height: 100vh;\n}\n\n.app-loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n color: #666;\n}\n\n.loading-spinner {\n width: 40px;\n height: 40px;\n border: 3px solid #e0e0e0;\n border-top-color: #2563eb;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n margin-bottom: 16px;\n}\n\n@keyframes spin {\n to { transform: rotate(360deg); }\n}\n\n.dashboard {\n transition: filter 0.3s ease, opacity 0.3s ease;\n}\n\n.dashboard-blurred {\n filter: blur(8px);\n opacity: 0.5;\n pointer-events: none;\n user-select: none;\n}\n\n.signin-overlay {\n position: fixed;\n top: 0; left: 0; right: 0; bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(0, 0, 0, 0.3);\n z-index: 1000;\n animation: fadeIn 0.3s ease;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.signin-card {\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n width: 100%;\n max-width: 400px;\n overflow: hidden;\n animation: slideUp 0.3s ease;\n}\n\n@keyframes slideUp {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.signin-header {\n background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);\n color: white;\n padding: 32px;\n text-align: center;\n}\n\n.signin-logo {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 64px;\n height: 64px;\n background: rgba(255, 255, 255, 0.15);\n border-radius: 12px;\n margin-bottom: 16px;\n}\n\n.signin-logo svg { color: white; }\n\n.signin-header h1 {\n margin: 0 0 4px 0;\n font-size: 24px;\n font-weight: 600;\n}\n\n.signin-subtitle {\n margin: 0;\n opacity: 0.8;\n font-size: 14px;\n}\n\n.signin-body { padding: 32px; }\n\n.signin-message {\n text-align: center;\n color: #666;\n margin: 0 0 24px 0;\n font-size: 14px;\n line-height: 1.5;\n}\n\n.signin-error {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n background: #fee2e2;\n border: 1px solid #fecaca;\n border-radius: 6px;\n color: #991b1b;\n font-size: 13px;\n margin-bottom: 20px;\n}\n\n.error-dismiss {\n background: none;\n border: none;\n color: #991b1b;\n font-size: 18px;\n cursor: pointer;\n padding: 0 4px;\n line-height: 1;\n}\n\n.signin-button {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 14px 24px;\n background: #2f2f2f;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n}\n\n.signin-button:hover:not(:disabled) { background: #1f1f1f; }\n.signin-button:disabled { background: #666; cursor: not-allowed; }\n\n.signin-spinner {\n width: 18px;\n height: 18px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top-color: white;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n}\n\n.signin-footer {\n padding: 16px 32px;\n background: #f9fafb;\n text-align: center;\n font-size: 12px;\n color: #9ca3af;\n border-top: 1px solid #e5e7eb;\n}\n\n/* ============================================================\n Google Token Tool\n ============================================================ */\n.token-tool { max-width: 800px; }\n\n.token-tool-header {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: 16px;\n}\n\n.token-tool-header h3 {\n margin: 0;\n font-size: 16px;\n color: #333;\n}\n\n.token-tool-badge {\n font-size: 11px;\n padding: 2px 8px;\n background: #f0f0f0;\n color: #666;\n border-radius: 10px;\n font-weight: 500;\n}\n\n.token-step {\n margin-bottom: 16px;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n}\n\n.token-step summary {\n padding: 10px 14px;\n font-size: 13px;\n font-weight: 500;\n color: #555;\n cursor: pointer;\n background: #f9f9f9;\n border-radius: 6px;\n}\n\n.token-step[open] summary {\n border-bottom: 1px solid #e0e0e0;\n border-radius: 6px 6px 0 0;\n}\n\n.token-step .token-field { padding: 8px 14px; }\n.token-step .token-field:last-child { padding-bottom: 12px; }\n\n.token-step-open {\n margin-bottom: 20px;\n padding-bottom: 20px;\n border-bottom: 1px solid #eee;\n}\n\n.token-step-open:last-of-type { border-bottom: none; }\n\n.step-label {\n font-size: 13px;\n font-weight: 600;\n color: #333;\n margin-bottom: 6px;\n}\n\n.step-hint {\n font-size: 12px;\n color: #777;\n margin: 4px 0 12px 0;\n line-height: 1.4;\n}\n\n.token-field { margin-bottom: 8px; }\n\n.token-field label {\n display: block;\n font-size: 12px;\n color: #555;\n margin-bottom: 4px;\n font-weight: 500;\n}\n\n.token-field input[type=\"text\"] {\n font-family: 'SF Mono', 'Consolas', 'Monaco', monospace;\n font-size: 13px;\n}\n\n.token-field input.has-value {\n border-color: #22c55e;\n background: #f0fdf4;\n}\n\n.token-field-inline { padding-top: 4px; }\n\n.token-field-inline label {\n display: inline;\n font-size: 12px;\n color: #666;\n cursor: pointer;\n}\n\n.token-field-inline input[type=\"checkbox\"] { margin-right: 4px; }\n\n.token-error {\n background: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 6px;\n padding: 12px 14px;\n font-size: 13px;\n color: #991b1b;\n margin-bottom: 16px;\n}\n\n.token-result {\n background: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 6px;\n padding: 16px;\n margin-top: 16px;\n}\n\n.token-value-row {\n display: flex;\n gap: 8px;\n align-items: flex-start;\n margin-top: 6px;\n}\n\n.token-value {\n flex: 1;\n background: white;\n border: 1px solid #d1d5db;\n border-radius: 4px;\n padding: 8px 10px;\n font-size: 12px;\n font-family: 'SF Mono', 'Consolas', 'Monaco', monospace;\n word-break: break-all;\n line-height: 1.4;\n}\n\n.token-cmd {\n font-size: 11px;\n background: #1e293b;\n color: #e2e8f0;\n border-color: #334155;\n}\n\n.token-details { font-size: 12px; color: #555; }\n.token-details summary { cursor: pointer; font-weight: 500; }\n\n.token-details pre {\n background: #f9f9f9;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n padding: 10px;\n font-size: 11px;\n overflow-x: auto;\n margin-top: 6px;\n}\n\n/* ============================================================\n Creative Preview\n ============================================================ */\n.creative-preview {\n background: #fff;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n padding: 20px;\n margin-bottom: 16px;\n}\n\n.preview-title {\n margin: 0 0 16px 0;\n font-size: 16px;\n color: #333;\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.preview-meta { font-size: 13px; color: #666; }\n\n.headline-list,\n.description-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 16px;\n}\n\n.headline-item,\n.description-item {\n padding: 10px 14px;\n background: #f8f9fa;\n border: 1px solid #e9ecef;\n border-radius: 6px;\n font-size: 14px;\n}\n\n.headline-item { font-weight: 600; color: #1a0dab; }\n.description-item { color: #545454; font-size: 13px; }\n\n.char-count {\n font-size: 11px;\n color: #888;\n float: right;\n font-weight: normal;\n}\n\n.image-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));\n gap: 12px;\n}\n\n.image-card {\n border: 1px solid #e9ecef;\n border-radius: 8px;\n overflow: hidden;\n}\n\n.image-card img {\n width: 100%;\n height: 120px;\n object-fit: cover;\n}\n\n.image-card .image-info {\n padding: 8px 10px;\n font-size: 11px;\n color: #666;\n}\n\n/* ============================================================\n Audience Preview\n ============================================================ */\n.audience-preview {\n background: #fff;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n padding: 20px;\n margin-bottom: 16px;\n}\n\n.audience-header {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.retrieved-at {\n font-size: 11px;\n color: #888;\n margin-bottom: 16px;\n}\n\n.segment-section {\n margin-bottom: 20px;\n padding-bottom: 16px;\n border-bottom: 1px solid #eee;\n}\n\n.segment-section:last-of-type { border-bottom: none; }\n\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0 0 4px 0;\n font-size: 14px;\n color: #333;\n}\n\n.section-header.clickable {\n cursor: pointer;\n padding: 8px 12px;\n margin: -8px -12px 4px -12px;\n border-radius: 6px;\n transition: background 0.2s;\n}\n\n.section-header.clickable:hover { background: #f5f5f5; }\n\n.expand-icon { font-size: 10px; color: #888; }\n\n.section-desc {\n font-size: 12px;\n color: #888;\n margin: 0 0 12px 0;\n}\n\n.segment-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.segment-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 12px;\n background: #f8f9fa;\n border: 1px solid #e9ecef;\n border-radius: 6px;\n font-size: 13px;\n}\n\n.segment-icon { font-size: 14px; }\n.segment-name { flex: 1; color: #333; }\n\n.segment-id {\n font-size: 11px;\n color: #888;\n font-family: 'SF Mono', 'Monaco', monospace;\n padding: 2px 6px;\n background: #e9ecef;\n border-radius: 4px;\n}\n\n.toggle-btn {\n background: none;\n border: none;\n color: #2563eb;\n font-size: 12px;\n padding: 8px 0;\n cursor: pointer;\n width: 100%;\n text-align: center;\n}\n\n.toggle-btn:hover { color: #1d4ed8; text-decoration: underline; }\n\n.no-results {\n color: #888;\n font-style: italic;\n padding: 20px;\n text-align: center;\n}\n\n/* Geo Results */\n.geo-results { overflow-x: auto; }\n\n.geo-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n}\n\n.geo-table th,\n.geo-table td {\n padding: 10px 12px;\n text-align: left;\n border-bottom: 1px solid #e9ecef;\n}\n\n.geo-table th {\n background: #f8f9fa;\n font-weight: 600;\n color: #555;\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.geo-table tr:hover td { background: #f8f9fa; }\n\n.geo-id { font-family: 'SF Mono', 'Monaco', monospace; font-size: 12px; color: #666; }\n.geo-name { font-weight: 500; color: #333; }\n.geo-canonical { color: #666; font-size: 12px; }\n\n.type-badge {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 500;\n text-transform: capitalize;\n}\n\n.type-badge.type-city { background: #dbeafe; color: #1e40af; }\n.type-badge.type-state, .type-badge.type-region { background: #fef3c7; color: #92400e; }\n.type-badge.type-country { background: #dcfce7; color: #166534; }\n.type-badge.type-postal_code, .type-badge.type-postal-code { background: #f3e8ff; color: #7c3aed; }\n\n/* Quick Reference */\n.quick-reference {\n margin-top: 20px;\n padding: 16px;\n background: #f0f9ff;\n border: 1px solid #bae6fd;\n border-radius: 8px;\n}\n\n.quick-reference h5 { margin: 0 0 12px 0; font-size: 13px; color: #0369a1; }\n.static-options { display: grid; gap: 8px; }\n.option-group { font-size: 12px; color: #555; }\n.option-group strong { color: #333; margin-right: 4px; }\n\n/* ============================================================\n Warning\n ============================================================ */\n.warning {\n margin-top: 12px;\n padding: 8px 12px;\n background: #fff3cd;\n border: 1px solid #ffc107;\n border-radius: 4px;\n color: #856404;\n font-size: 13px;\n}\n\n/* ============================================================\n Response Panel (legacy - keep for compatibility)\n ============================================================ */\n#response-panel {\n background: white;\n border-radius: 8px;\n padding: 20px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n min-width: 300px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n color: #666;\n}\n\n/* ══════════════════════════════════════════════════════════════\n Architecture Diagram\n ══════════════════════════════════════════════════════════════ */\n\n.arch-diagram {\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 10px;\n padding: 20px 20px 14px;\n margin-bottom: 24px;\n font-family: 'DM Sans', system-ui, sans-serif;\n}\n\n.arch-diagram-title {\n font-size: 12px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: #94a3b8;\n margin-bottom: 16px;\n}\n\n/* ── Top row: Tier-1 + Registration ─────────────── */\n\n.arch-top-row {\n display: flex;\n align-items: flex-start;\n gap: 0;\n margin-bottom: 0;\n}\n\n.arch-group {\n background: #fff;\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n padding: 10px 14px 14px;\n flex: 1;\n}\n\n.arch-group-reg {\n flex: 0 0 auto;\n min-width: 160px;\n}\n\n.arch-group-full {\n width: 100%;\n margin-top: 0;\n}\n\n.arch-group-label {\n font-size: 10px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.07em;\n color: #94a3b8;\n margin-bottom: 10px;\n}\n\n.arch-group-nodes {\n display: flex;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.arch-group-nodes-centered {\n justify-content: center;\n}\n\n/* ── Individual node ─────────────────────────────── */\n\n.arch-node-col {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.arch-node {\n border: 1px solid #e2e8f0;\n border-top-width: 3px;\n border-radius: 6px;\n padding: 8px 12px;\n min-width: 120px;\n background: #fff;\n text-align: center;\n outline-offset: 3px;\n outline-style: solid;\n transition: outline-color 0.3s;\n}\n\n.arch-node-primary {\n min-width: 130px;\n}\n\n.arch-node-provider {\n min-width: 110px;\n}\n\n.arch-node-name {\n font-size: 12px;\n font-weight: 700;\n white-space: nowrap;\n}\n\n.arch-node-sub {\n font-size: 10px;\n color: #94a3b8;\n margin-top: 2px;\n white-space: nowrap;\n}\n\n/* ── DB connector ────────────────────────────────── */\n\n.arch-vline {\n width: 1px;\n height: 14px;\n background: #cbd5e1;\n}\n\n.arch-db {\n background: #f1f5f9;\n border: 1px dashed #cbd5e1;\n border-radius: 5px;\n padding: 4px 10px;\n font-size: 10px;\n font-weight: 600;\n color: #64748b;\n white-space: nowrap;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.arch-db-icon {\n font-size: 12px;\n}\n\n/* ── Pillar separator ────────────────────────────── */\n\n.arch-pillar-sep {\n width: 1px;\n align-self: stretch;\n background: repeating-linear-gradient(\n to bottom,\n #cbd5e1 0px, #cbd5e1 6px,\n transparent 6px, transparent 12px\n );\n margin: 0 12px;\n flex-shrink: 0;\n}\n\n/* ── Arrow zone between tiers ────────────────────── */\n\n.arch-arrow-zone {\n display: flex;\n justify-content: flex-start;\n padding-left: 20%;\n margin: 10px 0 10px;\n}\n\n.arch-arrow-line {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n}\n\n.arch-arrow-line::before {\n content: '';\n display: block;\n width: 1px;\n height: 18px;\n background: #94a3b8;\n}\n\n.arch-arrow-line::after {\n content: '▼';\n font-size: 9px;\n color: #94a3b8;\n margin-top: -4px;\n}\n\n.arch-arrow-label {\n font-size: 9px;\n color: #94a3b8;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n font-weight: 600;\n margin-left: 6px;\n white-space: nowrap;\n}\n\n/* ── Legend ──────────────────────────────────────── */\n\n.arch-legend {\n display: flex;\n gap: 16px;\n margin-top: 14px;\n padding-top: 10px;\n border-top: 1px solid #e2e8f0;\n flex-wrap: wrap;\n}\n\n.arch-legend-item {\n display: flex;\n align-items: center;\n gap: 5px;\n font-size: 11px;\n color: #64748b;\n}\n\n.arch-legend-dot {\n display: inline-block;\n width: 9px;\n height: 9px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n\n/* ─── Help Content Panel + shared admin styles ──────────────────────────── */\n.data-table { width: 100%; border-collapse: collapse; }\n\n.data-table th, .data-table td {\n padding: 12px 16px;\n text-align: left;\n border-bottom: 1px solid var(--border-light);\n}\n.data-table th {\n background: var(--bg);\n font-weight: 600;\n font-size: 11.5px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-dim);\n border-bottom: 1px solid var(--border);\n}\n.data-table tr:hover { background: rgba(0,0,0,0.015); }\n.empty-row { text-align: center !important; color: var(--text-dim); padding: 40px !important; }\n.status-badge {\n display: inline-block;\n padding: 4px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.status-active { background: var(--success-bg); color: var(--success); }\n.status-inactive { background: #f3f4f6; color: #6b7280; }\n.btn-small {\n padding: 6px 12px;\n font-size: 12px;\n border-radius: 4px;\n cursor: pointer;\n border: none;\n font-family: inherit;\n}\n.btn-danger { background: var(--danger-bg); color: var(--danger); }\n.btn-danger:hover { background: #fee2e2; }\n .data-table { font-size: 12px; }\n .data-table th, .data-table td { padding: 8px 12px; }\n.empty-state {\n text-align: center;\n padding: 60px 20px;\n color: #6b7280;\n}\n.empty-state-icon { font-size: 40px; margin-bottom: 12px; }\n.empty-state h3 { margin: 0 0 8px; color: #374151; }\n.empty-state p { margin: 0; font-size: 14px; }\n\n.help-trigger {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n background: none;\n border: 1px solid transparent;\n border-radius: 20px;\n padding: 3px 8px 3px 4px;\n cursor: pointer;\n color: var(--accent, #3b82f6);\n font-size: 12px;\n font-family: inherit;\n font-weight: 500;\n transition: background 0.15s, border-color 0.15s, color 0.15s;\n white-space: nowrap;\n line-height: 1;\n}\n.help-trigger:hover {\n background: var(--accent-light, rgba(59,130,246,0.08));\n border-color: var(--accent, #3b82f6);\n color: var(--accent-hover, #2563eb);\n}\n.help-trigger-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n background: var(--accent-light, rgba(59,130,246,0.1));\n border-radius: 50%;\n flex-shrink: 0;\n color: var(--accent, #3b82f6);\n}\n.help-trigger-label {\n color: var(--accent, #3b82f6);\n font-size: 12px;\n}\n.help-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.35);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n padding: 20px;\n animation: helpFadeIn 0.15s ease;\n}\n.help-modal {\n background: var(--surface, #fff);\n border-radius: 12px;\n box-shadow: 0 20px 60px rgba(0,0,0,0.18), 0 4px 12px rgba(0,0,0,0.1);\n width: 100%;\n max-width: 520px;\n max-height: 80vh;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n animation: helpSlideUp 0.2s cubic-bezier(0.34,1.56,0.64,1);\n}\n.help-modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px 14px;\n border-bottom: 1px solid var(--border, rgba(0,0,0,0.09));\n flex-shrink: 0;\n}\n.help-modal-title-row {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.help-modal-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 30px;\n height: 30px;\n background: var(--accent-light, rgba(59,130,246,0.1));\n border-radius: 8px;\n color: var(--accent, #3b82f6);\n flex-shrink: 0;\n}\n.help-modal-title {\n font-size: 15px;\n font-weight: 600;\n color: var(--text, #1a1d23);\n margin: 0;\n}\n.help-modal-close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: none;\n border: none;\n border-radius: 6px;\n cursor: pointer;\n color: var(--text-dim, #9099a4);\n transition: background 0.12s, color 0.12s;\n flex-shrink: 0;\n}\n.help-modal-close:hover {\n background: var(--bg, #f4f5f7);\n color: var(--text, #1a1d23);\n}\n.help-modal-body {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n.help-loading {\n display: flex;\n align-items: center;\n gap: 10px;\n color: var(--text-dim, #9099a4);\n font-size: 14px;\n padding: 8px 0;\n}\n.help-spinner {\n width: 18px;\n height: 18px;\n border: 2px solid var(--border, #e5e7eb);\n border-top-color: var(--accent, #3b82f6);\n border-radius: 50%;\n animation: spin 0.7s linear infinite;\n}\n.help-error {\n color: var(--danger, #dc2626);\n font-size: 14px;\n background: var(--danger-bg, #fef2f2);\n padding: 10px 14px;\n border-radius: 8px;\n margin: 0;\n}\n.help-content {\n font-size: 14px;\n line-height: 1.65;\n color: var(--text, #1a1d23);\n}\n.help-content p { margin: 0 0 12px; }\n.help-content p:last-child { margin-bottom: 0; }\n.help-content h4 { font-size: 13px; font-weight: 600; margin: 16px 0 6px; color: var(--text-secondary, #374151); text-transform: uppercase; letter-spacing: 0.3px; }\n.help-content ul, .help-content ol { margin: 0 0 12px 20px; }\n.help-content li { margin-bottom: 5px; }\n.help-content strong { font-weight: 600; }\n.help-content a { color: var(--accent, #3b82f6); text-decoration: none; }\n.help-content a:hover { text-decoration: underline; }\n.help-modal-footer {\n padding: 10px 20px;\n border-top: 1px solid var(--border, rgba(0,0,0,0.06));\n flex-shrink: 0;\n background: var(--bg, #f4f5f7);\n}\n.help-key-badge {\n font-family: var(--font-mono, monospace);\n font-size: 11px;\n color: var(--text-dim, #9099a4);\n}\n.help-panel {\n padding: 24px;\n max-width: 1000px;\n position: relative;\n}\n.help-panel-toast {\n position: fixed;\n bottom: 24px;\n right: 24px;\n background: var(--success, #16a34a);\n color: #fff;\n padding: 10px 18px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n z-index: 1000;\n animation: helpFadeIn 0.2s ease;\n}\n.help-panel-toast.help-panel-toast-error {\n background: var(--danger, #dc2626);\n}\n.help-edit-card {\n background: var(--surface, #fff);\n border: 1px solid var(--accent, #3b82f6);\n border-radius: 10px;\n padding: 20px;\n margin-bottom: 24px;\n box-shadow: 0 0 0 4px var(--accent-light, rgba(59,130,246,0.08));\n}\n.help-edit-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 18px;\n}\n.help-edit-header h3 {\n font-size: 14px;\n font-weight: 600;\n color: var(--text, #1a1d23);\n margin: 0;\n}\n.help-form-row {\n margin-bottom: 14px;\n}\n.help-form-row-inline {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.help-form-label {\n display: flex;\n align-items: baseline;\n gap: 8px;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-secondary, #5f6672);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n margin-bottom: 6px;\n}\n.help-form-hint {\n font-weight: 400;\n font-size: 11px;\n color: var(--text-dim, #9099a4);\n text-transform: none;\n letter-spacing: 0;\n}\n.help-key-suggestions {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n}\n.help-key-chip {\n background: var(--accent-light, rgba(59,130,246,0.08));\n border: 1px solid var(--accent, #3b82f6);\n color: var(--accent, #3b82f6);\n border-radius: 4px;\n padding: 2px 8px;\n font-size: 11px;\n font-family: var(--font-mono, monospace);\n cursor: pointer;\n transition: background 0.12s;\n}\n.help-key-chip:hover {\n background: var(--accent-light, rgba(59,130,246,0.16));\n}\n.help-key-display {\n font-family: var(--font-mono, monospace);\n font-size: 13px;\n color: var(--text, #1a1d23);\n background: var(--bg, #f4f5f7);\n border: 1px solid var(--border, rgba(0,0,0,0.09));\n border-radius: 6px;\n padding: 7px 10px;\n}\n.help-body-textarea {\n resize: vertical;\n min-height: 160px;\n}\n.help-table-wrap {\n background: var(--surface, #fff);\n border: 1px solid var(--border, rgba(0,0,0,0.09));\n border-radius: 10px;\n overflow: hidden;\n}\n.help-row-inactive {\n opacity: 0.5;\n}\n.help-key-code {\n font-family: var(--font-mono, monospace);\n font-size: 12px;\n background: var(--bg, #f4f5f7);\n padding: 2px 6px;\n border-radius: 4px;\n color: var(--text, #1a1d23);\n}\n.toggle-label {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--text-secondary, #5f6672);\n cursor: pointer;\n user-select: none;\n}\n",""]);const s=i},961(e,t,n){!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(551)},982(e,t,n){e.exports=n(463)}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={id:r,exports:{}};return e[r](a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var r={};n.r(r),n.d(r,{$8:()=>Tc,wO:()=>Ic});var o=n(540),a=n(338);const i={LIBRARY_NAME:"MSAL.JS",SKU:"msal.js.common",CACHE_PREFIX:"msal",DEFAULT_AUTHORITY:"https://login.microsoftonline.com/common/",DEFAULT_AUTHORITY_HOST:"login.microsoftonline.com",DEFAULT_COMMON_TENANT:"common",ADFS:"adfs",DSTS:"dstsv2",AAD_INSTANCE_DISCOVERY_ENDPT:"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=",CIAM_AUTH_URL:".ciamlogin.com",AAD_TENANT_DOMAIN_SUFFIX:".onmicrosoft.com",RESOURCE_DELIM:"|",NO_ACCOUNT:"NO_ACCOUNT",CLAIMS:"claims",CONSUMER_UTID:"9188040d-6c67-4c5b-b112-36a304b66dad",OPENID_SCOPE:"openid",PROFILE_SCOPE:"profile",OFFLINE_ACCESS_SCOPE:"offline_access",EMAIL_SCOPE:"email",CODE_RESPONSE_TYPE:"code",CODE_GRANT_TYPE:"authorization_code",RT_GRANT_TYPE:"refresh_token",FRAGMENT_RESPONSE_MODE:"fragment",S256_CODE_CHALLENGE_METHOD:"S256",URL_FORM_CONTENT_TYPE:"application/x-www-form-urlencoded;charset=utf-8",AUTHORIZATION_PENDING:"authorization_pending",NOT_DEFINED:"not_defined",EMPTY_STRING:"",NOT_APPLICABLE:"N/A",NOT_AVAILABLE:"Not Available",FORWARD_SLASH:"/",IMDS_ENDPOINT:"http://169.254.169.254/metadata/instance/compute/location",IMDS_VERSION:"2020-06-01",IMDS_TIMEOUT:2e3,AZURE_REGION_AUTO_DISCOVER_FLAG:"TryAutoDetect",REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX:"login.microsoft.com",KNOWN_PUBLIC_CLOUDS:["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"],TOKEN_RESPONSE_TYPE:"token",ID_TOKEN_RESPONSE_TYPE:"id_token",SHR_NONCE_VALIDITY:240,INVALID_INSTANCE:"invalid_instance"},s=[i.OPENID_SCOPE,i.PROFILE_SCOPE,i.OFFLINE_ACCESS_SCOPE],c=[...s,i.EMAIL_SCOPE],l="Content-Type",u="Retry-After",d="X-AnchorMailbox",h="x-ms-request-id",p="x-ms-httpver",f="idtoken",g="client.info",m="adal.idtoken",y="error",v="error.description",b="active-account",w="active-account-filters",k="common",C="organizations",S="consumers",E="access_token",I={LOGIN:"login",SELECT_ACCOUNT:"select_account",CONSENT:"consent",NONE:"none",CREATE:"create",NO_SESSION:"no_session"},T={PLAIN:"plain",S256:"S256"},x={QUERY:"query",FRAGMENT:"fragment"},A={...x,FORM_POST:"form_post"},_="Generic",P="-",R={ID_TOKEN:"IdToken",ACCESS_TOKEN:"AccessToken",ACCESS_TOKEN_WITH_AUTH_SCHEME:"AccessToken_With_AuthScheme",REFRESH_TOKEN:"RefreshToken"},N="appmetadata",M="1",O="authority-metadata",z="config",L="cache",q="network",U="hardcoded_values",D={SCHEMA_VERSION:5,MAX_CUR_HEADER_BYTES:80,MAX_LAST_HEADER_BYTES:330,MAX_CACHED_ERRORS:50,CACHE_KEY:"server-telemetry",CATEGORY_SEPARATOR:"|",VALUE_SEPARATOR:",",OVERFLOW_TRUE:"1",OVERFLOW_FALSE:"0",UNKNOWN_ERROR:"unknown_error"},F={BEARER:"Bearer",POP:"pop",SSH:"ssh-cert"},H="throttling";var B;!function(e){e[e.Error=0]="Error",e[e.Warning=1]="Warning",e[e.Info=2]="Info",e[e.Verbose=3]="Verbose",e[e.Trace=4]="Trace"}(B||(B={}));class j{constructor(e,t,n){this.level=B.Info;const r=e||j.createDefaultLoggerOptions();this.localCallback=r.loggerCallback||(()=>{}),this.piiLoggingEnabled=r.piiLoggingEnabled||!1,this.level="number"==typeof r.logLevel?r.logLevel:B.Info,this.correlationId=r.correlationId||i.EMPTY_STRING,this.packageName=t||i.EMPTY_STRING,this.packageVersion=n||i.EMPTY_STRING}static createDefaultLoggerOptions(){return{loggerCallback:()=>{},piiLoggingEnabled:!1,logLevel:B.Info}}clone(e,t,n){return new j({loggerCallback:this.localCallback,piiLoggingEnabled:this.piiLoggingEnabled,logLevel:this.level,correlationId:n||this.correlationId},e,t)}logMessage(e,t){if(t.logLevel>this.level||!this.piiLoggingEnabled&&t.containsPii)return;const n=`[${(new Date).toUTCString()}] : [${t.correlationId||this.correlationId||""}] : ${this.packageName}@${this.packageVersion} : ${B[t.logLevel]} - ${e}`;this.executeCallback(t.logLevel,n,t.containsPii||!1)}executeCallback(e,t,n){this.localCallback&&this.localCallback(e,t,n)}error(e,t){this.logMessage(e,{logLevel:B.Error,containsPii:!1,correlationId:t||i.EMPTY_STRING})}errorPii(e,t){this.logMessage(e,{logLevel:B.Error,containsPii:!0,correlationId:t||i.EMPTY_STRING})}warning(e,t){this.logMessage(e,{logLevel:B.Warning,containsPii:!1,correlationId:t||i.EMPTY_STRING})}warningPii(e,t){this.logMessage(e,{logLevel:B.Warning,containsPii:!0,correlationId:t||i.EMPTY_STRING})}info(e,t){this.logMessage(e,{logLevel:B.Info,containsPii:!1,correlationId:t||i.EMPTY_STRING})}infoPii(e,t){this.logMessage(e,{logLevel:B.Info,containsPii:!0,correlationId:t||i.EMPTY_STRING})}verbose(e,t){this.logMessage(e,{logLevel:B.Verbose,containsPii:!1,correlationId:t||i.EMPTY_STRING})}verbosePii(e,t){this.logMessage(e,{logLevel:B.Verbose,containsPii:!0,correlationId:t||i.EMPTY_STRING})}trace(e,t){this.logMessage(e,{logLevel:B.Trace,containsPii:!1,correlationId:t||i.EMPTY_STRING})}tracePii(e,t){this.logMessage(e,{logLevel:B.Trace,containsPii:!0,correlationId:t||i.EMPTY_STRING})}isPiiLoggingEnabled(){return this.piiLoggingEnabled||!1}}const K="AAD",$="OIDC",G="none",W="unexpected_error",Q="post_request_failed",V={[W]:"Unexpected error in authentication.",[Q]:"Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details."};class Y extends Error{constructor(e,t,n){super(t?`${e}: ${t}`:e),Object.setPrototypeOf(this,Y.prototype),this.errorCode=e||i.EMPTY_STRING,this.errorMessage=t||i.EMPTY_STRING,this.subError=n||i.EMPTY_STRING,this.name="AuthError"}setCorrelationId(e){this.correlationId=e}}function J(e,t){return new Y(e,t?`${V[e]} ${t}`:V[e])}const X="client_info_decoding_error",Z="client_info_empty_error",ee="token_parsing_error",te="null_or_empty_token",ne="endpoints_resolution_error",re="network_error",oe="openid_config_error",ae="hash_not_deserialized",ie="invalid_state",se="state_mismatch",ce="state_not_found",le="nonce_mismatch",ue="auth_time_not_found",de="max_age_transpired",he="multiple_matching_tokens",pe="multiple_matching_accounts",fe="multiple_matching_appMetadata",ge="request_cannot_be_made",me="cannot_remove_empty_scope",ye="cannot_append_scopeset",ve="empty_input_scopeset",be="device_code_polling_cancelled",we="device_code_expired",ke="device_code_unknown_error",Ce="no_account_in_silent_request",Se="invalid_cache_record",Ee="invalid_cache_environment",Ie="no_account_found",Te="no_crypto_object",xe="unexpected_credential_type",Ae="invalid_assertion",_e="invalid_client_credential",Pe="token_refresh_required",Re="user_timeout_reached",Ne="token_claims_cnf_required_for_signedjwt",Me="authorization_code_missing_from_server_response",Oe="binding_key_not_removed",ze="end_session_endpoint_not_supported",Le="key_id_missing",qe="no_network_connectivity",Ue="user_canceled",De="missing_tenant_id_error",Fe="method_not_implemented",He="nested_app_auth_bridge_disabled",Be={[X]:"The client info could not be parsed/decoded correctly",[Z]:"The client info was empty",[ee]:"Token cannot be parsed",[te]:"The token is null or empty",[ne]:"Endpoints cannot be resolved",[re]:"Network request failed",[oe]:"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.",[ae]:"The hash parameters could not be deserialized",[ie]:"State was not the expected format",[se]:"State mismatch error",[ce]:"State not found",[le]:"Nonce mismatch error",[ue]:"Max Age was requested and the ID token is missing the auth_time variable. auth_time is an optional claim and is not enabled by default - it must be enabled. See https://aka.ms/msaljs/optional-claims for more information.",[de]:"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.",[he]:"The cache contains multiple tokens satisfying the requirements. Call AcquireToken again providing more requirements such as authority or account.",[pe]:"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account",[fe]:"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata",[ge]:"Token request cannot be made without authorization code or refresh token.",[me]:"Cannot remove null or empty scope from ScopeSet",[ye]:"Cannot append ScopeSet",[ve]:"Empty input ScopeSet cannot be processed",[be]:"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.",[we]:"Device code is expired.",[ke]:"Device code stopped polling for unknown reasons.",[Ce]:"Please pass an account object, silent flow is not supported without account information",[Se]:"Cache record object was null or undefined.",[Ee]:"Invalid environment when attempting to create cache entry",[Ie]:"No account found in cache for given key.",[Te]:"No crypto object detected.",[xe]:"Unexpected credential type.",[Ae]:"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515",[_e]:"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential",[Pe]:"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.",[Re]:"User defined timeout for device code polling reached",[Ne]:"Cannot generate a POP jwt if the token_claims are not populated",[Me]:"Server response does not contain an authorization code to proceed",[Oe]:"Could not remove the credential's binding key from storage.",[ze]:"The provided authority does not support logout",[Le]:"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.",[qe]:"No network connectivity. Check your internet connection.",[Ue]:"User cancelled the flow.",[De]:"A tenant id - not common, organizations, or consumers - must be specified when using the client_credentials flow.",[Fe]:"This method has not been implemented",[He]:"The nested app auth bridge is disabled"};class je extends Y{constructor(e,t){super(e,t?`${Be[e]}: ${t}`:Be[e]),this.name="ClientAuthError",Object.setPrototypeOf(this,je.prototype)}}function Ke(e,t){return new je(e,t)}const $e={createNewGuid:()=>{throw Ke(Fe)},base64Decode:()=>{throw Ke(Fe)},base64Encode:()=>{throw Ke(Fe)},base64UrlEncode:()=>{throw Ke(Fe)},encodeKid:()=>{throw Ke(Fe)},async getPublicKeyThumbprint(){throw Ke(Fe)},async removeTokenBindingKey(){throw Ke(Fe)},async clearKeystore(){throw Ke(Fe)},async signJwt(){throw Ke(Fe)},async hashString(){throw Ke(Fe)}},Ge="@azure/msal-common",We="14.16.1";function Qe(e,t){const n=function(e){if(!e)throw Ke(te);const t=/^([^\.\s]*)\.([^\.\s]+)\.([^\.\s]*)$/.exec(e);if(!t||t.length<4)throw Ke(ee);return t[2]}(e);try{const e=t(n);return JSON.parse(e)}catch(e){throw Ke(ee)}}function Ve(e,t){if(0===t||Date.now()-3e5>e+t)throw Ke(de)}function Ye(){return Math.round((new Date).getTime()/1e3)}function Je(e,t){const n=Number(e)||0;return Ye()+t>n}function Xe(e){return[it(e),st(e),ct(e),lt(e),ut(e)].join(P).toLowerCase()}function Ze(e,t,n,r,o){return{credentialType:R.ID_TOKEN,homeAccountId:e,environment:t,clientId:r,secret:n,realm:o}}function et(e,t,n,r,o,a,i,s,c,l,u,d,h,p,f){const g={homeAccountId:e,credentialType:R.ACCESS_TOKEN,secret:n,cachedAt:Ye().toString(),expiresOn:i.toString(),extendedExpiresOn:s.toString(),environment:t,clientId:r,realm:o,target:a,tokenType:u||F.BEARER};if(d&&(g.userAssertionHash=d),l&&(g.refreshOn=l.toString()),p&&(g.requestedClaims=p,g.requestedClaimsHash=f),g.tokenType?.toLowerCase()!==F.BEARER.toLowerCase())switch(g.credentialType=R.ACCESS_TOKEN_WITH_AUTH_SCHEME,g.tokenType){case F.POP:const e=Qe(n,c);if(!e?.cnf?.kid)throw Ke(Ne);g.keyId=e.cnf.kid;break;case F.SSH:g.keyId=h}return g}function tt(e,t,n,r,o,a,i){const s={credentialType:R.REFRESH_TOKEN,homeAccountId:e,environment:t,clientId:r,secret:n};return a&&(s.userAssertionHash=a),o&&(s.familyId=o),i&&(s.expiresOn=i.toString()),s}function nt(e){return e.hasOwnProperty("homeAccountId")&&e.hasOwnProperty("environment")&&e.hasOwnProperty("credentialType")&&e.hasOwnProperty("clientId")&&e.hasOwnProperty("secret")}function rt(e){return!!e&&nt(e)&&e.hasOwnProperty("realm")&&e.hasOwnProperty("target")&&(e.credentialType===R.ACCESS_TOKEN||e.credentialType===R.ACCESS_TOKEN_WITH_AUTH_SCHEME)}function ot(e){return!!e&&nt(e)&&e.hasOwnProperty("realm")&&e.credentialType===R.ID_TOKEN}function at(e){return!!e&&nt(e)&&e.credentialType===R.REFRESH_TOKEN}function it(e){return[e.homeAccountId,e.environment].join(P).toLowerCase()}function st(e){const t=e.credentialType===R.REFRESH_TOKEN&&e.familyId||e.clientId;return[e.credentialType,t,e.realm||""].join(P).toLowerCase()}function ct(e){return(e.target||"").toLowerCase()}function lt(e){return(e.requestedClaimsHash||"").toLowerCase()}function ut(e){return e.tokenType&&e.tokenType.toLowerCase()!==F.BEARER.toLowerCase()?e.tokenType.toLowerCase():""}function dt(){return Ye()+86400}function ht(e,t,n){e.authorization_endpoint=t.authorization_endpoint,e.token_endpoint=t.token_endpoint,e.end_session_endpoint=t.end_session_endpoint,e.issuer=t.issuer,e.endpointsFromNetwork=n,e.jwks_uri=t.jwks_uri}function pt(e,t,n){e.aliases=t.aliases,e.preferred_cache=t.preferred_cache,e.preferred_network=t.preferred_network,e.aliasesFromNetwork=n}function ft(e){return e.expiresAt<=Ye()}const gt="redirect_uri_empty",mt="claims_request_parsing_error",yt="authority_uri_insecure",vt="url_parse_error",bt="empty_url_error",wt="empty_input_scopes_error",kt="invalid_prompt_value",Ct="invalid_claims",St="token_request_empty",Et="logout_request_empty",It="invalid_code_challenge_method",Tt="pkce_params_missing",xt="invalid_cloud_discovery_metadata",At="invalid_authority_metadata",_t="untrusted_authority",Pt="missing_ssh_jwk",Rt="missing_ssh_kid",Nt="missing_nonce_authentication_header",Mt="invalid_authentication_header",Ot="cannot_set_OIDCOptions",zt="cannot_allow_native_broker",Lt="authority_mismatch",qt={[gt]:"A redirect URI is required for all calls, and none has been set.",[mt]:"Could not parse the given claims request object.",[yt]:"Authority URIs must use https. Please see here for valid authority configuration options: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-js-initializing-client-applications#configuration-options",[vt]:"URL could not be parsed into appropriate segments.",[bt]:"URL was empty or null.",[wt]:"Scopes cannot be passed as null, undefined or empty array because they are required to obtain an access token.",[kt]:"Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest",[Ct]:"Given claims parameter must be a stringified JSON object.",[St]:"Token request was empty and not found in cache.",[Et]:"The logout request was null or undefined.",[It]:'code_challenge_method passed is invalid. Valid values are "plain" and "S256".',[Tt]:"Both params: code_challenge and code_challenge_method are to be passed if to be sent in the request",[xt]:"Invalid cloudDiscoveryMetadata provided. Must be a stringified JSON object containing tenant_discovery_endpoint and metadata fields",[At]:"Invalid authorityMetadata provided. Must by a stringified JSON object containing authorization_endpoint, token_endpoint, issuer fields.",[_t]:"The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.",[Pt]:"Missing sshJwk in SSH certificate request. A stringified JSON Web Key is required when using the SSH authentication scheme.",[Rt]:"Missing sshKid in SSH certificate request. A string that uniquely identifies the public SSH key is required when using the SSH authentication scheme.",[Nt]:"Unable to find an authentication header containing server nonce. Either the Authentication-Info or WWW-Authenticate headers must be present in order to obtain a server nonce.",[Mt]:"Invalid authentication header provided",[Ot]:"Cannot set OIDCOptions parameter. Please change the protocol mode to OIDC or use a non-Microsoft authority.",[zt]:"Cannot set allowNativeBroker parameter to true when not in AAD protocol mode.",[Lt]:"Authority mismatch error. Authority provided in login request or PublicClientApplication config does not match the environment of the provided account. Please use a matching account or make an interactive request to login to this authority."};class Ut extends Y{constructor(e){super(e,qt[e]),this.name="ClientConfigurationError",Object.setPrototypeOf(this,Ut.prototype)}}function Dt(e){return new Ut(e)}class Ft{static isEmptyObj(e){if(e)try{const t=JSON.parse(e);return 0===Object.keys(t).length}catch(e){}return!0}static startsWith(e,t){return 0===e.indexOf(t)}static endsWith(e,t){return e.length>=t.length&&e.lastIndexOf(t)===e.length-t.length}static queryStringToObject(e){const t={},n=e.split("&"),r=e=>decodeURIComponent(e.replace(/\+/g," "));return n.forEach(e=>{if(e.trim()){const[n,o]=e.split(/=(.+)/g,2);n&&o&&(t[r(n)]=r(o))}}),t}static trimArrayEntries(e){return e.map(e=>e.trim())}static removeEmptyStringsFromArray(e){return e.filter(e=>!!e)}static jsonParseHelper(e){try{return JSON.parse(e)}catch(e){return null}}static matchPattern(e,t){return new RegExp(e.replace(/\\/g,"\\\\").replace(/\*/g,"[^ ]*").replace(/\?/g,"\\?")).test(t)}}class Ht{constructor(e){const t=e?Ft.trimArrayEntries([...e]):[],n=t?Ft.removeEmptyStringsFromArray(t):[];this.validateInputScopes(n),this.scopes=new Set,n.forEach(e=>this.scopes.add(e))}static fromString(e){const t=(e||i.EMPTY_STRING).split(" ");return new Ht(t)}static createSearchScopes(e){const t=new Ht(e);return t.containsOnlyOIDCScopes()?t.removeScope(i.OFFLINE_ACCESS_SCOPE):t.removeOIDCScopes(),t}validateInputScopes(e){if(!e||e.length<1)throw Dt(wt)}containsScope(e){const t=this.printScopesLowerCase().split(" "),n=new Ht(t);return!!e&&n.scopes.has(e.toLowerCase())}containsScopeSet(e){return!(!e||e.scopes.size<=0)&&this.scopes.size>=e.scopes.size&&e.asArray().every(e=>this.containsScope(e))}containsOnlyOIDCScopes(){let e=0;return c.forEach(t=>{this.containsScope(t)&&(e+=1)}),this.scopes.size===e}appendScope(e){e&&this.scopes.add(e.trim())}appendScopes(e){try{e.forEach(e=>this.appendScope(e))}catch(e){throw Ke(ye)}}removeScope(e){if(!e)throw Ke(me);this.scopes.delete(e.trim())}removeOIDCScopes(){c.forEach(e=>{this.scopes.delete(e)})}unionScopeSets(e){if(!e)throw Ke(ve);const t=new Set;return e.scopes.forEach(e=>t.add(e.toLowerCase())),this.scopes.forEach(e=>t.add(e.toLowerCase())),t}intersectingScopeSets(e){if(!e)throw Ke(ve);e.containsOnlyOIDCScopes()||e.removeOIDCScopes();const t=this.unionScopeSets(e),n=e.getScopeCount(),r=this.getScopeCount();return t.size<r+n}getScopeCount(){return this.scopes.size}asArray(){const e=[];return this.scopes.forEach(t=>e.push(t)),e}printScopes(){return this.scopes?this.asArray().join(" "):i.EMPTY_STRING}printScopesLowerCase(){return this.printScopes().toLowerCase()}}function Bt(e,t){if(!e)throw Ke(Z);try{const n=t(e);return JSON.parse(n)}catch(e){throw Ke(X)}}function jt(e){if(!e)throw Ke(X);const t=e.split(".",2);return{uid:t[0],utid:t.length<2?i.EMPTY_STRING:t[1]}}function Kt(e,t){return!!e&&!!t&&e===t.split(".")[1]}function $t(e,t,n,r){if(r){const{oid:t,sub:n,tid:o,name:a,tfp:i,acr:s}=r,c=o||i||s||"";return{tenantId:c,localAccountId:t||n||"",name:a,isHomeTenant:Kt(c,e)}}return{tenantId:n,localAccountId:t,isHomeTenant:Kt(n,e)}}function Gt(e,t,n,r){let o=e;if(t){const{isHomeTenant:n,...r}=t;o={...e,...r}}if(n){const{isHomeTenant:t,...a}=$t(e.homeAccountId,e.localAccountId,e.tenantId,n);return o={...o,...a,idTokenClaims:n,idToken:r},o}return o}function Wt(e){return e&&(e.tid||e.tfp||e.acr)||null}class Qt{generateAccountId(){return[this.homeAccountId,this.environment].join(P).toLowerCase()}generateAccountKey(){return Qt.generateAccountCacheKey({homeAccountId:this.homeAccountId,environment:this.environment,tenantId:this.realm,username:this.username,localAccountId:this.localAccountId})}getAccountInfo(){return{homeAccountId:this.homeAccountId,environment:this.environment,tenantId:this.realm,username:this.username,localAccountId:this.localAccountId,name:this.name,nativeAccountId:this.nativeAccountId,authorityType:this.authorityType,tenantProfiles:new Map((this.tenantProfiles||[]).map(e=>[e.tenantId,e]))}}isSingleTenant(){return!this.tenantProfiles}static generateAccountCacheKey(e){const t=e.homeAccountId.split(".")[1];return[e.homeAccountId,e.environment||"",t||e.tenantId||""].join(P).toLowerCase()}static createAccount(e,t,n){const r=new Qt;let o;1===t.authorityType?r.authorityType="ADFS":t.protocolMode===K?r.authorityType="MSSTS":r.authorityType=_,e.clientInfo&&n&&(o=Bt(e.clientInfo,n)),r.clientInfo=e.clientInfo,r.homeAccountId=e.homeAccountId,r.nativeAccountId=e.nativeAccountId;const a=e.environment||t&&t.getPreferredCache();if(!a)throw Ke(Ee);r.environment=a,r.realm=o?.utid||Wt(e.idTokenClaims)||"",r.localAccountId=o?.uid||e.idTokenClaims?.oid||e.idTokenClaims?.sub||"";const i=e.idTokenClaims?.preferred_username||e.idTokenClaims?.upn,s=e.idTokenClaims?.emails?e.idTokenClaims.emails[0]:null;if(r.username=i||s||"",r.name=e.idTokenClaims?.name||"",r.cloudGraphHostName=e.cloudGraphHostName,r.msGraphHost=e.msGraphHost,e.tenantProfiles)r.tenantProfiles=e.tenantProfiles;else{const t=$t(e.homeAccountId,r.localAccountId,r.realm,e.idTokenClaims);r.tenantProfiles=[t]}return r}static createFromAccountInfo(e,t,n){const r=new Qt;return r.authorityType=e.authorityType||_,r.homeAccountId=e.homeAccountId,r.localAccountId=e.localAccountId,r.nativeAccountId=e.nativeAccountId,r.realm=e.tenantId,r.environment=e.environment,r.username=e.username,r.name=e.name,r.cloudGraphHostName=t,r.msGraphHost=n,r.tenantProfiles=Array.from(e.tenantProfiles?.values()||[]),r}static generateHomeAccountId(e,t,n,r,o){if(1!==t&&2!==t){if(e)try{const t=Bt(e,r.base64Decode);if(t.uid&&t.utid)return`${t.uid}.${t.utid}`}catch(e){}n.warning("No client info in response")}return o?.sub||""}static isAccountEntity(e){return!!e&&e.hasOwnProperty("homeAccountId")&&e.hasOwnProperty("environment")&&e.hasOwnProperty("realm")&&e.hasOwnProperty("localAccountId")&&e.hasOwnProperty("username")&&e.hasOwnProperty("authorityType")}static accountInfoIsEqual(e,t,n){if(!e||!t)return!1;let r=!0;if(n){const n=e.idTokenClaims||{},o=t.idTokenClaims||{};r=n.iat===o.iat&&n.nonce===o.nonce}return e.homeAccountId===t.homeAccountId&&e.localAccountId===t.localAccountId&&e.username===t.username&&e.tenantId===t.tenantId&&e.environment===t.environment&&e.nativeAccountId===t.nativeAccountId&&r}}function Vt(e){return e.startsWith("#/")?e.substring(2):e.startsWith("#")||e.startsWith("?")?e.substring(1):e}function Yt(e){if(!e||e.indexOf("=")<0)return null;try{const t=Vt(e),n=Object.fromEntries(new URLSearchParams(t));if(n.code||n.error||n.error_description||n.state)return n}catch(e){throw Ke(ae)}return null}class Jt{get urlString(){return this._urlString}constructor(e){if(this._urlString=e,!this._urlString)throw Dt(bt);e.includes("#")||(this._urlString=Jt.canonicalizeUri(e))}static canonicalizeUri(e){if(e){let t=e.toLowerCase();return Ft.endsWith(t,"?")?t=t.slice(0,-1):Ft.endsWith(t,"?/")&&(t=t.slice(0,-2)),Ft.endsWith(t,"/")||(t+="/"),t}return e}validateAsUri(){let e;try{e=this.getUrlComponents()}catch(e){throw Dt(vt)}if(!e.HostNameAndPort||!e.PathSegments)throw Dt(vt);if(!e.Protocol||"https:"!==e.Protocol.toLowerCase())throw Dt(yt)}static appendQueryString(e,t){return t?e.indexOf("?")<0?`${e}?${t}`:`${e}&${t}`:e}static removeHashFromUrl(e){return Jt.canonicalizeUri(e.split("#")[0])}replaceTenantPath(e){const t=this.getUrlComponents(),n=t.PathSegments;return!e||0===n.length||n[0]!==k&&n[0]!==C||(n[0]=e),Jt.constructAuthorityUriFromObject(t)}getUrlComponents(){const e=RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?"),t=this.urlString.match(e);if(!t)throw Dt(vt);const n={Protocol:t[1],HostNameAndPort:t[4],AbsolutePath:t[5],QueryString:t[7]};let r=n.AbsolutePath.split("/");return r=r.filter(e=>e&&e.length>0),n.PathSegments=r,n.QueryString&&n.QueryString.endsWith("/")&&(n.QueryString=n.QueryString.substring(0,n.QueryString.length-1)),n}static getDomainFromUrl(e){const t=RegExp("^([^:/?#]+://)?([^/?#]*)"),n=e.match(t);if(!n)throw Dt(vt);return n[2]}static getAbsoluteUrl(e,t){if(e[0]===i.FORWARD_SLASH){const n=new Jt(t).getUrlComponents();return n.Protocol+"//"+n.HostNameAndPort+e}return e}static constructAuthorityUriFromObject(e){return new Jt(e.Protocol+"//"+e.HostNameAndPort+"/"+e.PathSegments.join("/"))}static hashContainsKnownProperties(e){return!!Yt(e)}}const Xt={"login.microsoftonline.com":{token_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.microsoftonline.com/{tenantid}/discovery/v2.0/keys",issuer:"https://login.microsoftonline.com/{tenantid}/v2.0",authorization_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/logout"},"login.chinacloudapi.cn":{token_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.chinacloudapi.cn/{tenantid}/discovery/v2.0/keys",issuer:"https://login.partner.microsoftonline.cn/{tenantid}/v2.0",authorization_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/logout"},"login.microsoftonline.us":{token_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.microsoftonline.us/{tenantid}/discovery/v2.0/keys",issuer:"https://login.microsoftonline.us/{tenantid}/v2.0",authorization_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/logout"}},Zt={tenant_discovery_endpoint:"https://{canonicalAuthority}/v2.0/.well-known/openid-configuration",metadata:[{preferred_network:"login.microsoftonline.com",preferred_cache:"login.windows.net",aliases:["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{preferred_network:"login.partner.microsoftonline.cn",preferred_cache:"login.partner.microsoftonline.cn",aliases:["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{preferred_network:"login.microsoftonline.de",preferred_cache:"login.microsoftonline.de",aliases:["login.microsoftonline.de"]},{preferred_network:"login.microsoftonline.us",preferred_cache:"login.microsoftonline.us",aliases:["login.microsoftonline.us","login.usgovcloudapi.net"]},{preferred_network:"login-us.microsoftonline.com",preferred_cache:"login-us.microsoftonline.com",aliases:["login-us.microsoftonline.com"]}]},en=new Set;function tn(e,t,n,r){if(r?.trace(`getAliasesFromMetadata called with source: ${n}`),e&&t){const o=nn(t,e);if(o)return r?.trace(`getAliasesFromMetadata: found cloud discovery metadata in ${n}, returning aliases`),o.aliases;r?.trace(`getAliasesFromMetadata: did not find cloud discovery metadata in ${n}`)}return null}function nn(e,t){for(let n=0;n<e.length;n++){const r=e[n];if(r.aliases.includes(t))return r}return null}Zt.metadata.forEach(e=>{e.aliases.forEach(e=>{en.add(e)})});const rn="cache_quota_exceeded",on="cache_error_unknown",an={[rn]:"Exceeded cache storage capacity.",[on]:"Unexpected error occurred when using cache storage."};class sn extends Error{constructor(e,t){const n=t||(an[e]?an[e]:an[on]);super(`${e}: ${n}`),Object.setPrototypeOf(this,sn.prototype),this.name="CacheError",this.errorCode=e,this.errorMessage=n}}function cn(e){return e instanceof Error?"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name||e.message.includes("exceeded the quota")?new sn(rn):new sn(e.name,e.message):new sn(on)}class ln{constructor(e,t,n,r){this.clientId=e,this.cryptoImpl=t,this.commonLogger=n.clone(Ge,We),this.staticAuthorityOptions=r}getAllAccounts(e,t){return this.buildTenantProfiles(this.getAccountsFilteredBy(t||{},e),e,t)}getAccountInfoFilteredBy(e,t){const n=this.getAllAccounts(t,e);return n.length>1?n.sort(e=>e.idTokenClaims?-1:1)[0]:1===n.length?n[0]:null}getBaseAccountInfo(e,t){const n=this.getAccountsFilteredBy(e,t);return n.length>0?n[0].getAccountInfo():null}buildTenantProfiles(e,t,n){return e.flatMap(e=>this.getTenantProfilesFromAccountEntity(e,t,n?.tenantId,n))}getTenantedAccountInfoByFilter(e,t,n,r,o){let a,i=null;if(o&&!this.tenantProfileMatchesFilter(n,o))return null;const s=this.getIdToken(e,r,t,n.tenantId);return s&&(a=Qe(s.secret,this.cryptoImpl.base64Decode),!this.idTokenClaimsMatchTenantProfileFilter(a,o))?null:(i=Gt(e,n,a,s?.secret),i)}getTenantProfilesFromAccountEntity(e,t,n,r){const o=e.getAccountInfo();let a=o.tenantProfiles||new Map;const i=this.getTokenKeys();if(n){const e=a.get(n);if(!e)return[];a=new Map([[n,e]])}const s=[];return a.forEach(e=>{const n=this.getTenantedAccountInfoByFilter(o,i,e,t,r);n&&s.push(n)}),s}tenantProfileMatchesFilter(e,t){return!(t.localAccountId&&!this.matchLocalAccountIdFromTenantProfile(e,t.localAccountId)||t.name&&e.name!==t.name||void 0!==t.isHomeTenant&&e.isHomeTenant!==t.isHomeTenant)}idTokenClaimsMatchTenantProfileFilter(e,t){if(t){if(t.localAccountId&&!this.matchLocalAccountIdFromTokenClaims(e,t.localAccountId))return!1;if(t.loginHint&&!this.matchLoginHintFromTokenClaims(e,t.loginHint))return!1;if(t.username&&!this.matchUsername(e.preferred_username,t.username))return!1;if(t.name&&!this.matchName(e,t.name))return!1;if(t.sid&&!this.matchSid(e,t.sid))return!1}return!0}async saveCacheRecord(e,t,n){if(!e)throw Ke(Se);try{e.account&&this.setAccount(e.account,t),e.idToken&&!1!==n?.idToken&&this.setIdTokenCredential(e.idToken,t),e.accessToken&&!1!==n?.accessToken&&await this.saveAccessToken(e.accessToken,t),e.refreshToken&&!1!==n?.refreshToken&&this.setRefreshTokenCredential(e.refreshToken,t),e.appMetadata&&this.setAppMetadata(e.appMetadata,t)}catch(e){throw this.commonLogger?.error("CacheManager.saveCacheRecord: failed"),e instanceof Y?e:cn(e)}}async saveAccessToken(e,t){const n={clientId:e.clientId,credentialType:e.credentialType,environment:e.environment,homeAccountId:e.homeAccountId,realm:e.realm,tokenType:e.tokenType,requestedClaimsHash:e.requestedClaimsHash},r=this.getTokenKeys(),o=Ht.fromString(e.target);r.accessToken.forEach(e=>{if(!this.accessTokenKeyMatchesFilter(e,n,!1))return;const r=this.getAccessTokenCredential(e,t);r&&this.credentialMatchesFilter(r,n)&&Ht.fromString(r.target).intersectingScopeSets(o)&&this.removeAccessToken(e,t)}),this.setAccessTokenCredential(e,t)}getAccountsFilteredBy(e,t){const n=this.getAccountKeys(),r=[];return n.forEach(n=>{if(!this.isAccountKey(n,e.homeAccountId))return;const o=this.getAccount(n,t,this.commonLogger);if(!o)return;if(e.homeAccountId&&!this.matchHomeAccountId(o,e.homeAccountId))return;if(e.username&&!this.matchUsername(o.username,e.username))return;if(e.environment&&!this.matchEnvironment(o,e.environment))return;if(e.realm&&!this.matchRealm(o,e.realm))return;if(e.nativeAccountId&&!this.matchNativeAccountId(o,e.nativeAccountId))return;if(e.authorityType&&!this.matchAuthorityType(o,e.authorityType))return;const a={localAccountId:e?.localAccountId,name:e?.name},i=o.tenantProfiles?.filter(e=>this.tenantProfileMatchesFilter(e,a));i&&0===i.length||r.push(o)}),r}isAccountKey(e,t,n){return!(e.split(P).length<3||t&&!e.toLowerCase().includes(t.toLowerCase())||n&&!e.toLowerCase().includes(n.toLowerCase()))}isCredentialKey(e){if(e.split(P).length<6)return!1;const t=e.toLowerCase();if(-1===t.indexOf(R.ID_TOKEN.toLowerCase())&&-1===t.indexOf(R.ACCESS_TOKEN.toLowerCase())&&-1===t.indexOf(R.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase())&&-1===t.indexOf(R.REFRESH_TOKEN.toLowerCase()))return!1;if(t.indexOf(R.REFRESH_TOKEN.toLowerCase())>-1){const e=`${R.REFRESH_TOKEN}${P}${this.clientId}${P}`,n=`${R.REFRESH_TOKEN}${P}${M}${P}`;if(-1===t.indexOf(e.toLowerCase())&&-1===t.indexOf(n.toLowerCase()))return!1}else if(-1===t.indexOf(this.clientId.toLowerCase()))return!1;return!0}credentialMatchesFilter(e,t){if(t.clientId&&!this.matchClientId(e,t.clientId))return!1;if(t.userAssertionHash&&!this.matchUserAssertionHash(e,t.userAssertionHash))return!1;if("string"==typeof t.homeAccountId&&!this.matchHomeAccountId(e,t.homeAccountId))return!1;if(t.environment&&!this.matchEnvironment(e,t.environment))return!1;if(t.realm&&!this.matchRealm(e,t.realm))return!1;if(t.credentialType&&!this.matchCredentialType(e,t.credentialType))return!1;if(t.familyId&&!this.matchFamilyId(e,t.familyId))return!1;if(t.target&&!this.matchTarget(e,t.target))return!1;if((t.requestedClaimsHash||e.requestedClaimsHash)&&e.requestedClaimsHash!==t.requestedClaimsHash)return!1;if(e.credentialType===R.ACCESS_TOKEN_WITH_AUTH_SCHEME){if(t.tokenType&&!this.matchTokenType(e,t.tokenType))return!1;if(t.tokenType===F.SSH&&t.keyId&&!this.matchKeyId(e,t.keyId))return!1}return!0}getAppMetadataFilteredBy(e){const t=this.getKeys(),n={};return t.forEach(t=>{if(!this.isAppMetadata(t))return;const r=this.getAppMetadata(t);r&&(e.environment&&!this.matchEnvironment(r,e.environment)||e.clientId&&!this.matchClientId(r,e.clientId)||(n[t]=r))}),n}getAuthorityMetadataByAlias(e){const t=this.getAuthorityMetadataKeys();let n=null;return t.forEach(t=>{if(!this.isAuthorityMetadata(t)||-1===t.indexOf(this.clientId))return;const r=this.getAuthorityMetadata(t);r&&-1!==r.aliases.indexOf(e)&&(n=r)}),n}async removeAllAccounts(e){const t=this.getAccountKeys(),n=[];t.forEach(t=>{n.push(this.removeAccount(t,e))}),await Promise.all(n)}async removeAccount(e,t){const n=this.getAccount(e,t,this.commonLogger);n&&(await this.removeAccountContext(n,t),this.removeItem(e,t))}async removeAccountContext(e,t){const n=this.getTokenKeys(),r=e.generateAccountId();n.idToken.forEach(e=>{0===e.indexOf(r)&&this.removeIdToken(e,t)}),n.accessToken.forEach(e=>{0===e.indexOf(r)&&this.removeAccessToken(e,t)}),n.refreshToken.forEach(e=>{0===e.indexOf(r)&&this.removeRefreshToken(e,t)}),this.getKeys().forEach(e=>{e.includes(r)&&this.removeItem(e,t)})}updateOutdatedCachedAccount(e,t,n,r){if(t&&t.isSingleTenant()){this.commonLogger?.verbose("updateOutdatedCachedAccount: Found a single-tenant (outdated) account entity in the cache, migrating to multi-tenant account entity");const o=this.getAccountKeys().filter(e=>e.startsWith(t.homeAccountId)),a=[];o.forEach(e=>{const t=this.getCachedAccountEntity(e,n);t&&a.push(t)});const i=a.find(e=>Kt(e.realm,e.homeAccountId))||a[0];i.tenantProfiles=a.map(e=>({tenantId:e.realm,localAccountId:e.localAccountId,name:e.name,isHomeTenant:Kt(e.realm,e.homeAccountId)}));const s=ln.toObject(new Qt,{...i}),c=s.generateAccountKey();return o.forEach(t=>{t!==c&&this.removeOutdatedAccount(e,n)}),this.setAccount(s,n),r?.verbose("Updated an outdated account entity in the cache"),s}return t}removeAccessToken(e,t){const n=this.getAccessTokenCredential(e,t);if(this.removeItem(e,t),!n||n.credentialType.toLowerCase()!==R.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()||n.tokenType!==F.POP)return;const r=n.keyId;r&&this.cryptoImpl.removeTokenBindingKey(r).catch(()=>{this.commonLogger.error("Binding key could not be removed")})}removeAppMetadata(e){return this.getKeys().forEach(t=>{this.isAppMetadata(t)&&this.removeItem(t,e)}),!0}readAccountFromCache(e,t){const n=Qt.generateAccountCacheKey(e);return this.getAccount(n,t,this.commonLogger)}getIdToken(e,t,n,r,o){this.commonLogger.trace("CacheManager - getIdToken called");const a={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:R.ID_TOKEN,clientId:this.clientId,realm:r},i=this.getIdTokensByFilter(a,t,n),s=i.size;if(s<1)return this.commonLogger.info("CacheManager:getIdToken - No token found"),null;if(s>1){let n=i;if(!r){const t=new Map;i.forEach((n,r)=>{n.realm===e.tenantId&&t.set(r,n)});const r=t.size;if(r<1)return this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account but none match account entity tenant id, returning first result"),i.values().next().value;if(1===r)return this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account, defaulting to home tenant profile"),t.values().next().value;n=t}return this.commonLogger.info("CacheManager:getIdToken - Multiple matching ID tokens found, clearing them"),n.forEach((e,n)=>{this.removeIdToken(n,t)}),o&&t&&o.addFields({multiMatchedID:i.size},t),null}return this.commonLogger.info("CacheManager:getIdToken - Returning ID token"),i.values().next().value}getIdTokensByFilter(e,t,n){const r=n&&n.idToken||this.getTokenKeys().idToken,o=new Map;return r.forEach(n=>{if(!this.idTokenKeyMatchesFilter(n,{clientId:this.clientId,...e}))return;const r=this.getIdTokenCredential(n,t);r&&this.credentialMatchesFilter(r,e)&&o.set(n,r)}),o}idTokenKeyMatchesFilter(e,t){const n=e.toLowerCase();return!(t.clientId&&-1===n.indexOf(t.clientId.toLowerCase())||t.homeAccountId&&-1===n.indexOf(t.homeAccountId.toLowerCase()))}removeIdToken(e,t){this.removeItem(e,t)}removeRefreshToken(e,t){this.removeItem(e,t)}getAccessToken(e,t,n,r,o){this.commonLogger.trace("CacheManager - getAccessToken called");const a=Ht.createSearchScopes(t.scopes),i=t.authenticationScheme||F.BEARER,s=i&&i.toLowerCase()!==F.BEARER.toLowerCase()?R.ACCESS_TOKEN_WITH_AUTH_SCHEME:R.ACCESS_TOKEN,c={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:s,clientId:this.clientId,realm:r||e.tenantId,target:a,tokenType:i,keyId:t.sshKid,requestedClaimsHash:t.requestedClaimsHash},l=n&&n.accessToken||this.getTokenKeys().accessToken,u=[];l.forEach(e=>{if(this.accessTokenKeyMatchesFilter(e,c,!0)){const n=this.getAccessTokenCredential(e,t.correlationId);n&&this.credentialMatchesFilter(n,c)&&u.push(n)}});const d=u.length;return d<1?(this.commonLogger.info("CacheManager:getAccessToken - No token found"),null):d>1?(this.commonLogger.info("CacheManager:getAccessToken - Multiple access tokens found, clearing them"),u.forEach(e=>{this.removeAccessToken(Xe(e),t.correlationId)}),o&&t.correlationId&&o.addFields({multiMatchedAT:u.length},t.correlationId),null):(this.commonLogger.info("CacheManager:getAccessToken - Returning access token"),u[0])}accessTokenKeyMatchesFilter(e,t,n){const r=e.toLowerCase();if(t.clientId&&-1===r.indexOf(t.clientId.toLowerCase()))return!1;if(t.homeAccountId&&-1===r.indexOf(t.homeAccountId.toLowerCase()))return!1;if(t.realm&&-1===r.indexOf(t.realm.toLowerCase()))return!1;if(t.requestedClaimsHash&&-1===r.indexOf(t.requestedClaimsHash.toLowerCase()))return!1;if(t.target){const e=t.target.asArray();for(let t=0;t<e.length;t++){if(n&&!r.includes(e[t].toLowerCase()))return!1;if(!n&&r.includes(e[t].toLowerCase()))return!0}}return!0}getAccessTokensByFilter(e,t){const n=this.getTokenKeys(),r=[];return n.accessToken.forEach(n=>{if(!this.accessTokenKeyMatchesFilter(n,e,!0))return;const o=this.getAccessTokenCredential(n,t);o&&this.credentialMatchesFilter(o,e)&&r.push(o)}),r}getRefreshToken(e,t,n,r,o){this.commonLogger.trace("CacheManager - getRefreshToken called");const a=t?M:void 0,i={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:R.REFRESH_TOKEN,clientId:this.clientId,familyId:a},s=r&&r.refreshToken||this.getTokenKeys().refreshToken,c=[];s.forEach(e=>{if(this.refreshTokenKeyMatchesFilter(e,i)){const t=this.getRefreshTokenCredential(e,n);t&&this.credentialMatchesFilter(t,i)&&c.push(t)}});const l=c.length;return l<1?(this.commonLogger.info("CacheManager:getRefreshToken - No refresh token found."),null):(l>1&&o&&n&&o.addFields({multiMatchedRT:l},n),this.commonLogger.info("CacheManager:getRefreshToken - returning refresh token"),c[0])}refreshTokenKeyMatchesFilter(e,t){const n=e.toLowerCase();return!(t.familyId&&-1===n.indexOf(t.familyId.toLowerCase())||!t.familyId&&t.clientId&&-1===n.indexOf(t.clientId.toLowerCase())||t.homeAccountId&&-1===n.indexOf(t.homeAccountId.toLowerCase()))}readAppMetadataFromCache(e){const t={environment:e,clientId:this.clientId},n=this.getAppMetadataFilteredBy(t),r=Object.keys(n).map(e=>n[e]),o=r.length;if(o<1)return null;if(o>1)throw Ke(fe);return r[0]}isAppMetadataFOCI(e){const t=this.readAppMetadataFromCache(e);return!(!t||t.familyId!==M)}matchHomeAccountId(e,t){return!("string"!=typeof e.homeAccountId||t!==e.homeAccountId)}matchLocalAccountIdFromTokenClaims(e,t){return t===(e.oid||e.sub)}matchLocalAccountIdFromTenantProfile(e,t){return e.localAccountId===t}matchName(e,t){return!(t.toLowerCase()!==e.name?.toLowerCase())}matchUsername(e,t){return!(!e||"string"!=typeof e||t?.toLowerCase()!==e.toLowerCase())}matchUserAssertionHash(e,t){return!(!e.userAssertionHash||t!==e.userAssertionHash)}matchEnvironment(e,t){if(this.staticAuthorityOptions){const n=function(e,t){let n;const r=e.canonicalAuthority;if(r){const o=new Jt(r).getUrlComponents().HostNameAndPort;n=tn(o,e.cloudDiscoveryMetadata?.metadata,z,t)||tn(o,Zt.metadata,U,t)||e.knownAuthorities}return n||[]}(this.staticAuthorityOptions,this.commonLogger);if(n.includes(t)&&n.includes(e.environment))return!0}const n=this.getAuthorityMetadataByAlias(t);return!!(n&&n.aliases.indexOf(e.environment)>-1)}matchCredentialType(e,t){return e.credentialType&&t.toLowerCase()===e.credentialType.toLowerCase()}matchClientId(e,t){return!(!e.clientId||t!==e.clientId)}matchFamilyId(e,t){return!(!e.familyId||t!==e.familyId)}matchRealm(e,t){return!(e.realm?.toLowerCase()!==t.toLowerCase())}matchNativeAccountId(e,t){return!(!e.nativeAccountId||t!==e.nativeAccountId)}matchLoginHintFromTokenClaims(e,t){return e.login_hint===t||e.preferred_username===t||e.upn===t}matchSid(e,t){return e.sid===t}matchAuthorityType(e,t){return!(!e.authorityType||t.toLowerCase()!==e.authorityType.toLowerCase())}matchTarget(e,t){return!(e.credentialType!==R.ACCESS_TOKEN&&e.credentialType!==R.ACCESS_TOKEN_WITH_AUTH_SCHEME||!e.target)&&Ht.fromString(e.target).containsScopeSet(t)}matchTokenType(e,t){return!(!e.tokenType||e.tokenType!==t)}matchKeyId(e,t){return!(!e.keyId||e.keyId!==t)}isAppMetadata(e){return-1!==e.indexOf(N)}isAuthorityMetadata(e){return-1!==e.indexOf(O)}generateAuthorityMetadataCacheKey(e){return`${O}-${this.clientId}-${e}`}static toObject(e,t){for(const n in t)e[n]=t[n];return e}}class un extends ln{setAccount(){throw Ke(Fe)}getAccount(){throw Ke(Fe)}getCachedAccountEntity(){throw Ke(Fe)}setIdTokenCredential(){throw Ke(Fe)}getIdTokenCredential(){throw Ke(Fe)}setAccessTokenCredential(){throw Ke(Fe)}getAccessTokenCredential(){throw Ke(Fe)}setRefreshTokenCredential(){throw Ke(Fe)}getRefreshTokenCredential(){throw Ke(Fe)}setAppMetadata(){throw Ke(Fe)}getAppMetadata(){throw Ke(Fe)}setServerTelemetry(){throw Ke(Fe)}getServerTelemetry(){throw Ke(Fe)}setAuthorityMetadata(){throw Ke(Fe)}getAuthorityMetadata(){throw Ke(Fe)}getAuthorityMetadataKeys(){throw Ke(Fe)}setThrottlingCache(){throw Ke(Fe)}getThrottlingCache(){throw Ke(Fe)}removeItem(){throw Ke(Fe)}getKeys(){throw Ke(Fe)}getAccountKeys(){throw Ke(Fe)}getTokenKeys(){throw Ke(Fe)}updateCredentialCacheKey(){throw Ke(Fe)}removeOutdatedAccount(){throw Ke(Fe)}}const dn={tokenRenewalOffsetSeconds:300,preventCorsPreflight:!1},hn={loggerCallback:()=>{},piiLoggingEnabled:!1,logLevel:B.Info,correlationId:i.EMPTY_STRING},pn={claimsBasedCachingEnabled:!1},fn={async sendGetRequestAsync(){throw Ke(Fe)},async sendPostRequestAsync(){throw Ke(Fe)}},gn={sku:i.SKU,version:We,cpu:i.EMPTY_STRING,os:i.EMPTY_STRING},mn={clientSecret:i.EMPTY_STRING,clientAssertion:void 0},yn={azureCloudInstance:G,tenant:`${i.DEFAULT_COMMON_TENANT}`},vn={application:{appName:"",appVersion:""}};function bn(e){return e.authOptions.authority.options.protocolMode===$}const wn={sendGetRequestAsync:()=>Promise.reject(Ke(Fe)),sendPostRequestAsync:()=>Promise.reject(Ke(Fe))},kn="acquireTokenByCode",Cn="acquireTokenByRefreshToken",Sn="acquireTokenSilent",En="acquireTokenSilentAsync",In="acquireTokenPopup",Tn="acquireTokenRedirect",xn="cryptoOptsGetPublicKeyThumbprint",An="cryptoOptsSignJwt",_n="silentCacheClientAcquireToken",Pn="silentIframeClientAcquireToken",Rn="silentRefreshClientAcquireToken",Nn="ssoSilent",Mn="standardInteractionClientGetDiscoveredAuthority",On="fetchAccountIdWithNativeBroker",zn="nativeInteractionClientAcquireToken",Ln="networkClientSendPostRequestAsync",qn="refreshTokenClientExecutePostToTokenEndpoint",Un="authorizationCodeClientExecutePostToTokenEndpoint",Dn="refreshTokenClientExecuteTokenRequest",Fn="refreshTokenClientAcquireToken",Hn="refreshTokenClientAcquireTokenWithCachedRefreshToken",Bn="refreshTokenClientAcquireTokenByRefreshToken",jn="refreshTokenClientCreateTokenRequestBody",Kn="acquireTokenFromCache",$n="silentFlowClientAcquireCachedToken",Gn="silentFlowClientGenerateResultFromCacheRecord",Wn="acquireTokenBySilentIframe",Qn="initializeBaseRequest",Vn="initializeSilentRequest",Yn="initializeClientApplication",Jn="silentIframeClientTokenHelper",Xn="silentHandlerInitiateAuthRequest",Zn="silentHandlerMonitorIframeForHash",er="silentHandlerLoadFrame",tr="silentHandlerLoadFrameSync",nr="standardInteractionClientCreateAuthCodeClient",rr="standardInteractionClientGetClientConfiguration",or="standardInteractionClientInitializeAuthorizationRequest",ar="standardInteractionClientInitializeAuthorizationCodeRequest",ir="getAuthCodeUrl",sr="handleCodeResponseFromServer",cr="handleCodeResponse",lr="updateTokenEndpointAuthority",ur="authClientAcquireToken",dr="authClientExecuteTokenRequest",hr="authClientCreateTokenRequestBody",pr="authClientCreateQueryString",fr="popTokenGenerateCnf",gr="popTokenGenerateKid",mr="handleServerTokenResponse",yr="deserializeResponse",vr="authorityFactoryCreateDiscoveredInstance",br="authorityResolveEndpointsAsync",wr="authorityGetCloudDiscoveryMetadataFromNetwork",kr="authorityUpdateCloudDiscoveryMetadata",Cr="authorityGetEndpointMetadataFromNetwork",Sr="authorityUpdateEndpointMetadata",Er="authorityUpdateMetadataWithRegionalInformation",Ir="regionDiscoveryDetectRegion",Tr="regionDiscoveryGetRegionFromIMDS",xr="regionDiscoveryGetCurrentVersion",Ar="acquireTokenByCodeAsync",_r="handleRedirectPromise",Pr="handleNativeRedirectPromise",Rr="nativeMessageHandlerHandshake",Nr="removeHiddenIframe",Mr="clearTokensAndKeysWithClaims",Or="cacheManagerGetRefreshToken",zr="generatePkceCodes",Lr="generateCodeVerifier",qr="generateCodeChallengeFromVerifier",Ur="sha256Digest",Dr="getRandomValues",Fr=(new Map([[kn,"ATByCode"],[Cn,"ATByRT"],[Sn,"ATS"],[En,"ATSAsync"],[In,"ATPopup"],[Tn,"ATRedirect"],[xn,"CryptoGetPKThumb"],[An,"CryptoSignJwt"],[_n,"SltCacheClientAT"],[Pn,"SltIframeClientAT"],[Rn,"SltRClientAT"],[Nn,"SsoSlt"],[Mn,"StdIntClientGetDiscAuth"],[On,"FetchAccIdWithNtvBroker"],[zn,"NtvIntClientAT"],["baseClientCreateTokenRequestHeaders","BaseClientCreateTReqHead"],[Ln,"NetClientSendPost"],[qn,"RTClientExecPost"],[Un,"AuthCodeClientExecPost"],["brokerHandshake","BrokerHandshake"],["acquireTokenByRefreshTokenInBroker","ATByRTInBroker"],["acquireTokenByBroker","ATByBroker"],[Dn,"RTClientExecTReq"],[Fn,"RTClientAT"],[Hn,"RTClientATWithCachedRT"],[Bn,"RTClientATByRT"],[jn,"RTClientCreateTReqBody"],[Kn,"ATFromCache"],[$n,"SltFlowClientATCached"],[Gn,"SltFlowClientGenResFromCache"],[Wn,"ATBySltIframe"],[Qn,"InitBaseReq"],[Vn,"InitSltReq"],[Yn,"InitClientApplication"],[Jn,"SIClientTHelper"],[Xn,"SHandlerInitAuthReq"],[Zn,"SltHandlerMonitorIframeForHash"],[er,"SHandlerLoadFrame"],[tr,"SHandlerLoadFrameSync"],[nr,"StdIntClientCreateAuthCodeClient"],[rr,"StdIntClientGetClientConf"],[or,"StdIntClientInitAuthReq"],[ar,"StdIntClientInitAuthCodeReq"],[ir,"GetAuthCodeUrl"],[sr,"HandleCodeResFromServer"],[cr,"HandleCodeResp"],[lr,"UpdTEndpointAuth"],[ur,"AuthClientAT"],[dr,"AuthClientExecTReq"],[hr,"AuthClientCreateTReqBody"],[pr,"AuthClientCreateQueryStr"],[fr,"PopTGenCnf"],[gr,"PopTGenKid"],[mr,"HandleServerTRes"],[yr,"DeserializeRes"],[vr,"AuthFactCreateDiscInst"],[br,"AuthResolveEndpointsAsync"],["authorityResolveEndpointsFromLocalSources","AuthResolveEndpointsFromLocal"],[wr,"AuthGetCDMetaFromNet"],[kr,"AuthUpdCDMeta"],[Cr,"AuthUpdCDMetaFromNet"],[Sr,"AuthUpdEndpointMeta"],[Er,"AuthUpdMetaWithRegInfo"],[Ir,"RegDiscDetectReg"],[Tr,"RegDiscGetRegFromIMDS"],[xr,"RegDiscGetCurrentVer"],[Ar,"ATByCodeAsync"],["getEndpointMetadataFromNetwork","GetEndpointMetaFromNet"],["getCloudDiscoveryMetadataFromNetworkMeasurement","GetCDMetaFromNet"],[_r,"HandleRedirectPromise"],[Pr,"HandleNtvRedirectPromise"],["updateCloudDiscoveryMetadataMeasurement","UpdateCDMeta"],["usernamePasswordClientAcquireToken","UserPassClientAT"],[Rr,"NtvMsgHandlerHandshake"],["nativeGenerateAuthResult","NtvGenAuthRes"],[Nr,"RemoveHiddenIframe"],[Mr,"ClearTAndKeysWithClaims"],[Or,"CacheManagerGetRT"],[zr,"GenPkceCodes"],[Lr,"GenCodeVerifier"],[qr,"GenCodeChallengeFromVerifier"],[Ur,"Sha256Digest"],[Dr,"GetRandomValues"]]),1);new Set(["accessTokenSize","durationMs","idTokenSize","matsSilentStatus","matsHttpStatus","refreshTokenSize","queuedTimeMs","startTimeMs","status","multiMatchedAT","multiMatchedID","multiMatchedRT"]);class Hr{startMeasurement(){}endMeasurement(){}flushMeasurement(){return null}}class Br{generateId(){return"callback-id"}startMeasurement(e,t){return{end:()=>null,discard:()=>{},add:()=>{},increment:()=>{},event:{eventId:this.generateId(),status:Fr,authority:"",libraryName:"",libraryVersion:"",clientId:"",name:e,startTimeMs:Date.now(),correlationId:t||""},measurement:new Hr}}startPerformanceMeasurement(){return new Hr}calculateQueuedTime(){return 0}addQueueMeasurement(){}setPreQueueTime(){}endMeasurement(){return null}discardMeasurements(){}removePerformanceCallback(){return!0}addPerformanceCallback(){return""}emitEvents(){}addFields(){}incrementFields(){}cacheEventByCorrelationId(){}}const jr="invalid_grant",Kr="msal",$r="msal.js.browser",Gr="53ee284d-920a-4b59-9d30-a60315b26836",Wr="ppnbnpeolgkicgegkbkbjmhlideopiji",Qr="Handshake",Vr="GetToken",Yr="localStorage",Jr="sessionStorage",Xr="memoryStorage",Zr="request.state",eo="request.origin",to="urlHash",no="request.params",ro="interaction.status",oo="ccs.credential",ao="request.correlationId",io="request.native",so="msal.account.keys",co="msal.token.keys",lo="msal.version",uo="wrapper.sku",ho="wrapper.version",po=861,fo=862;var go,mo;(mo=go||(go={})).Redirect="redirect",mo.Popup="popup",mo.Silent="silent",mo.None="none";const yo="startup",vo="login",bo="logout",wo="acquireToken",ko="ssoSilent",Co="handleRedirect",So="none",Eo={scopes:s},Io="msal.db",To=`${Io}.keys`,xo=[0,5,4];class Ao{navigateInternal(e,t){return Ao.defaultNavigateWindow(e,t)}navigateExternal(e,t){return Ao.defaultNavigateWindow(e,t)}static defaultNavigateWindow(e,t){return t.noHistory?window.location.replace(e):window.location.assign(e),new Promise(e=>{setTimeout(()=>{e(!0)},t.timeout)})}}class _o extends Y{constructor(e,t,n){super(e.errorCode,e.errorMessage,e.subError),Object.setPrototypeOf(this,_o.prototype),this.name="NetworkError",this.error=e,this.httpStatus=t,this.responseHeaders=n}}function Po(e,t,n){return new _o(e,t,n)}const Ro="pkce_not_created",No="crypto_nonexistent",Mo="empty_navigate_uri",Oo="hash_empty_error",zo="no_state_in_hash",Lo="hash_does_not_contain_known_properties",qo="unable_to_parse_state",Uo="state_interaction_type_mismatch",Do="interaction_in_progress",Fo="popup_window_error",Ho="empty_window_error",Bo="user_cancelled",jo="monitor_popup_timeout",Ko="monitor_window_timeout",$o="redirect_in_iframe",Go="block_iframe_reload",Wo="block_nested_popups",Qo="iframe_closed_prematurely",Vo="silent_logout_unsupported",Yo="no_account_error",Jo="silent_prompt_value_error",Xo="no_token_request_cache_error",Zo="unable_to_parse_token_request_cache_error",ea="no_cached_authority_error",ta="auth_request_not_set_error",na="invalid_cache_type",ra="non_browser_environment",oa="database_not_open",aa="no_network_connectivity",ia="post_request_failed",sa="get_request_failed",ca="failed_to_parse_response",la="unable_to_load_token",ua="crypto_key_not_found",da="auth_code_required",ha="auth_code_or_nativeAccountId_required",pa="spa_code_and_nativeAccountId_present",fa="database_unavailable",ga="unable_to_acquire_token_from_native_platform",ma="native_handshake_timeout",ya="native_extension_not_installed",va="native_connection_not_established",ba="uninitialized_public_client_application",wa="native_prompt_not_supported",ka="invalid_base64_string",Ca="invalid_pop_token_request",Sa="failed_to_build_headers",Ea="failed_to_parse_headers",Ia="For more visit: aka.ms/msaljs/browser-errors",Ta={[Ro]:"The PKCE code challenge and verifier could not be generated.",[No]:"The crypto object or function is not available.",[Mo]:"Navigation URI is empty. Please check stack trace for more info.",[Oo]:`Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash. ${Ia}`,[zo]:"Hash does not contain state. Please verify that the request originated from msal.",[Lo]:`Hash does not contain known properites. Please verify that your redirectUri is not changing the hash. ${Ia}`,[qo]:"Unable to parse state. Please verify that the request originated from msal.",[Uo]:"Hash contains state but the interaction type does not match the caller.",[Do]:`Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. ${Ia}`,[Fo]:"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.",[Ho]:"window.open returned null or undefined window object.",[Bo]:"User cancelled the flow.",[jo]:`Token acquisition in popup failed due to timeout. ${Ia}`,[Ko]:`Token acquisition in iframe failed due to timeout. ${Ia}`,[$o]:"Redirects are not supported for iframed or brokered applications. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.",[Go]:`Request was blocked inside an iframe because MSAL detected an authentication response. ${Ia}`,[Wo]:"Request was blocked inside a popup because MSAL detected it was running in a popup.",[Qo]:"The iframe being monitored was closed prematurely.",[Vo]:"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.",[Yo]:"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.",[Jo]:"The value given for the prompt value is not valid for silent requests - must be set to 'none' or 'no_session'.",[Xo]:"No token request found in cache.",[Zo]:"The cached token request could not be parsed.",[ea]:"No cached authority found.",[ta]:"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler",[na]:"Invalid cache type",[ra]:"Login and token requests are not supported in non-browser environments.",[oa]:"Database is not open!",[aa]:"No network connectivity. Check your internet connection.",[ia]:"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'",[sa]:"Network request failed. Please check the network trace to determine root cause.",[ca]:"Failed to parse network response. Check network trace.",[la]:"Error loading token to cache.",[ua]:"Cryptographic Key or Keypair not found in browser storage.",[da]:"An authorization code must be provided (as the `code` property on the request) to this flow.",[ha]:"An authorization code or nativeAccountId must be provided to this flow.",[pa]:"Request cannot contain both spa code and native account id.",[fa]:"IndexedDB, which is required for persistent cryptographic key storage, is unavailable. This may be caused by browser privacy features which block persistent storage in third-party contexts.",[ga]:`Unable to acquire token from native platform. ${Ia}`,[ma]:"Timed out while attempting to establish connection to browser extension",[ya]:"Native extension is not installed. If you think this is a mistake call the initialize function.",[va]:`Connection to native platform has not been established. Please install a compatible browser extension and run initialize(). ${Ia}`,[ba]:`You must call and await the initialize function before attempting to call any other MSAL API. ${Ia}`,[wa]:"The provided prompt is not supported by the native platform. This request should be routed to the web based flow.",[ka]:"Invalid base64 encoded string.",[Ca]:"Invalid PoP token request. The request should not have both a popKid value and signPopToken set to true.",[Sa]:"Failed to build request headers object.",[Ea]:"Failed to parse response headers"};class xa extends Y{constructor(e,t){super(e,Ta[e],t),Object.setPrototypeOf(this,xa.prototype),this.name="BrowserAuthError"}}function Aa(e,t){return new xa(e,t)}class _a{async sendGetRequestAsync(e,t){let n,r={},o=0;const a=Pa(t);try{n=await fetch(e,{method:"GET",headers:a})}catch(e){throw Aa(window.navigator.onLine?sa:aa)}r=Ra(n.headers);try{return o=n.status,{headers:r,body:await n.json(),status:o}}catch(e){throw Po(Aa(ca),o,r)}}async sendPostRequestAsync(e,t){const n=t&&t.body||"",r=Pa(t);let o,a=0,i={};try{o=await fetch(e,{method:"POST",headers:r,body:n})}catch(e){throw Aa(window.navigator.onLine?ia:aa)}i=Ra(o.headers);try{return a=o.status,{headers:i,body:await o.json(),status:a}}catch(e){throw Po(Aa(ca),a,i)}}}function Pa(e){try{const t=new Headers;if(!e||!e.headers)return t;const n=e.headers;return Object.entries(n).forEach(([e,n])=>{t.append(e,n)}),t}catch(e){throw Aa(Sa)}}function Ra(e){try{const t={};return e.forEach((e,n)=>{t[n]=e}),t}catch(e){throw Aa(Ea)}}function Na(e){return encodeURIComponent(Oa(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"))}function Ma(e){return za(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Oa(e){return za((new TextEncoder).encode(e))}function za(e){const t=Array.from(e,e=>String.fromCodePoint(e)).join("");return btoa(t)}const La="SHA-256",qa=new Uint8Array([1,0,1]),Ua="0123456789abcdef",Da=new Uint32Array(1),Fa={name:"RSASSA-PKCS1-v1_5",hash:La,modulusLength:2048,publicExponent:qa};async function Ha(e,t,n){t?.addQueueMeasurement(Ur,n);const r=(new TextEncoder).encode(e);return window.crypto.subtle.digest(La,r)}function Ba(e){return window.crypto.getRandomValues(e)}function ja(){return window.crypto.getRandomValues(Da),Da[0]}function Ka(){const e=Date.now(),t=1024*ja()+(1023&ja()),n=new Uint8Array(16),r=Math.trunc(t/2**30),o=t&2**30-1,a=ja();n[0]=e/2**40,n[1]=e/2**32,n[2]=e/2**24,n[3]=e/65536,n[4]=e/256,n[5]=e,n[6]=112|r>>>8,n[7]=r,n[8]=128|o>>>24,n[9]=o>>>16,n[10]=o>>>8,n[11]=o,n[12]=a>>>24,n[13]=a>>>16,n[14]=a>>>8,n[15]=a;let i="";for(let e=0;e<n.length;e++)i+=Ua.charAt(n[e]>>>4),i+=Ua.charAt(15&n[e]),3!==e&&5!==e&&7!==e&&9!==e||(i+="-");return i}async function $a(e){return window.crypto.subtle.exportKey("jwk",e)}async function Ga(e){const t=await Ha(e);return Ma(new Uint8Array(t))}const Wa="storage_not_supported",Qa="stubbed_public_client_application_called",Va="in_mem_redirect_unavailable",Ya={[Wa]:"Given storage configuration option was not supported.",[Qa]:"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors",[Va]:"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true."};class Ja extends Y{constructor(e,t){super(e,t),this.name="BrowserConfigurationAuthError",Object.setPrototypeOf(this,Ja.prototype)}}function Xa(e){return new Ja(e,Ya[e])}function Za(){return window.parent!==window}function ei(){return"undefined"!=typeof window&&window.location?window.location.href.split("?")[0].split("#")[0]:""}function ti(){if("undefined"==typeof window)throw Aa(ra)}function ni(e){if(!e)throw Aa(ba)}function ri(e){ti(),function(){if(Jt.hashContainsKnownProperties(window.location.hash)&&Za())throw Aa(Go)}(),function(){if("undefined"!=typeof window&&window.opener&&window.opener!==window&&"string"==typeof window.name&&0===window.name.indexOf(`${Kr}.`))throw Aa(Wo)}(),ni(e)}function oi(e,t){if(ri(e),function(e){if(Za()&&!e)throw Aa($o)}(t.system.allowRedirectInIframe),t.cache.cacheLocation===Xr&&!t.cache.storeAuthStateInCookie)throw Xa(Va)}function ai(e){const t=document.createElement("link");t.rel="preconnect",t.href=new URL(e).origin,t.crossOrigin="anonymous",document.head.appendChild(t),window.setTimeout(()=>{try{document.head.removeChild(t)}catch{}},1e4)}const ii="3.30.0";class si{static loggerCallback(e,t){switch(e){case B.Error:return void console.error(t);case B.Info:return void console.info(t);case B.Verbose:return void console.debug(t);case B.Warning:return void console.warn(t);default:return void console.log(t)}}constructor(e){let t;this.browserEnvironment="undefined"!=typeof window,this.config=function({auth:e,cache:t,system:n,telemetry:r},o){const a={clientId:i.EMPTY_STRING,authority:`${i.DEFAULT_AUTHORITY}`,knownAuthorities:[],cloudDiscoveryMetadata:i.EMPTY_STRING,authorityMetadata:i.EMPTY_STRING,redirectUri:"undefined"!=typeof window?ei():"",postLogoutRedirectUri:i.EMPTY_STRING,navigateToLoginRequestUrl:!0,clientCapabilities:[],protocolMode:K,OIDCOptions:{serverResponseType:x.FRAGMENT,defaultScopes:[i.OPENID_SCOPE,i.PROFILE_SCOPE,i.OFFLINE_ACCESS_SCOPE]},azureCloudOptions:{azureCloudInstance:G,tenant:i.EMPTY_STRING},skipAuthorityMetadataCache:!1,supportsNestedAppAuth:!1,instanceAware:!1},s={cacheLocation:Jr,temporaryCacheLocation:Jr,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!(!t||t.cacheLocation!==Yr),claimsBasedCachingEnabled:!1},c={loggerCallback:()=>{},logLevel:B.Info,piiLoggingEnabled:!1},l={...{...dn,loggerOptions:c,networkClient:o?new _a:wn,navigationClient:new Ao,loadFrameTimeout:0,windowHashTimeout:n?.loadFrameTimeout||6e4,iframeHashTimeout:n?.loadFrameTimeout||1e4,navigateFrameWait:0,redirectNavigationTimeout:3e4,asyncPopups:!1,allowRedirectInIframe:!1,allowNativeBroker:!1,nativeBrokerHandshakeTimeout:n?.nativeBrokerHandshakeTimeout||2e3,pollIntervalMilliseconds:30},...n,loggerOptions:n?.loggerOptions||c},u={application:{appName:i.EMPTY_STRING,appVersion:i.EMPTY_STRING},client:new Br};if(e?.protocolMode!==$&&e?.OIDCOptions&&new j(l.loggerOptions).warning(JSON.stringify(Dt(Ot))),e?.protocolMode&&e.protocolMode!==K&&l?.allowNativeBroker)throw Dt(zt);return{auth:{...a,...e,OIDCOptions:{...a.OIDCOptions,...e?.OIDCOptions}},cache:{...s,...t},system:l,telemetry:{...u,...r}}}(e,this.browserEnvironment);try{t=window[Jr]}catch(e){}const n=t?.getItem("msal.browser.log.level"),r=t?.getItem("msal.browser.log.pii")?.toLowerCase(),o="true"===r||"false"!==r&&void 0,a={...this.config.system.loggerOptions},s=n&&Object.keys(B).includes(n)?B[n]:void 0;s&&(a.loggerCallback=si.loggerCallback,a.logLevel=s),void 0!==o&&(a.piiLoggingEnabled=o),this.logger=new j(a,"@azure/msal-browser",ii),this.available=!1}getConfig(){return this.config}getLogger(){return this.logger}isAvailable(){return this.available}isBrowserEnvironment(){return this.browserEnvironment}}class ci extends si{getModuleName(){return ci.MODULE_NAME}getId(){return ci.ID}async initialize(){return this.available="undefined"!=typeof window,this.available}}ci.MODULE_NAME="",ci.ID="StandardOperatingContext";const li="missing_kid_error",ui="missing_alg_error",di={[li]:"The JOSE Header for the requested JWT, JWS or JWK object requires a keyId to be configured as the 'kid' header claim. No 'kid' value was provided.",[ui]:"The JOSE Header for the requested JWT, JWS or JWK object requires an algorithm to be specified as the 'alg' header claim. No 'alg' value was provided."};class hi extends Y{constructor(e,t){super(e,t),this.name="JoseHeaderError",Object.setPrototypeOf(this,hi.prototype)}}function pi(e){return new hi(e,di[e])}class fi{constructor(e){this.typ=e.typ,this.alg=e.alg,this.kid=e.kid}static getShrHeaderString(e){if(!e.kid)throw pi(li);if(!e.alg)throw pi(ui);const t=new fi({typ:e.typ||"pop",kid:e.kid,alg:e.alg});return JSON.stringify(t)}}function gi(e){return(new TextDecoder).decode(function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw Aa(ka)}const n=atob(t);return Uint8Array.from(n,e=>e.codePointAt(0)||0)}(e))}class mi{constructor(){this.dbName=Io,this.version=1,this.tableName=To,this.dbOpen=!1}async open(){return new Promise((e,t)=>{const n=window.indexedDB.open(this.dbName,this.version);n.addEventListener("upgradeneeded",e=>{e.target.result.createObjectStore(this.tableName)}),n.addEventListener("success",t=>{const n=t;this.db=n.target.result,this.dbOpen=!0,e()}),n.addEventListener("error",()=>t(Aa(fa)))})}closeConnection(){const e=this.db;e&&this.dbOpen&&(e.close(),this.dbOpen=!1)}async validateDbIsOpen(){if(!this.dbOpen)return this.open()}async getItem(e){return await this.validateDbIsOpen(),new Promise((t,n)=>{if(!this.db)return n(Aa(oa));const r=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).get(e);r.addEventListener("success",e=>{const n=e;this.closeConnection(),t(n.target.result)}),r.addEventListener("error",e=>{this.closeConnection(),n(e)})})}async setItem(e,t){return await this.validateDbIsOpen(),new Promise((n,r)=>{if(!this.db)return r(Aa(oa));const o=this.db.transaction([this.tableName],"readwrite").objectStore(this.tableName).put(t,e);o.addEventListener("success",()=>{this.closeConnection(),n()}),o.addEventListener("error",e=>{this.closeConnection(),r(e)})})}async removeItem(e){return await this.validateDbIsOpen(),new Promise((t,n)=>{if(!this.db)return n(Aa(oa));const r=this.db.transaction([this.tableName],"readwrite").objectStore(this.tableName).delete(e);r.addEventListener("success",()=>{this.closeConnection(),t()}),r.addEventListener("error",e=>{this.closeConnection(),n(e)})})}async getKeys(){return await this.validateDbIsOpen(),new Promise((e,t)=>{if(!this.db)return t(Aa(oa));const n=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).getAllKeys();n.addEventListener("success",t=>{const n=t;this.closeConnection(),e(n.target.result)}),n.addEventListener("error",e=>{this.closeConnection(),t(e)})})}async containsKey(e){return await this.validateDbIsOpen(),new Promise((t,n)=>{if(!this.db)return n(Aa(oa));const r=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).count(e);r.addEventListener("success",e=>{const n=e;this.closeConnection(),t(1===n.target.result)}),r.addEventListener("error",e=>{this.closeConnection(),n(e)})})}async deleteDatabase(){return this.db&&this.dbOpen&&this.closeConnection(),new Promise((e,t)=>{const n=window.indexedDB.deleteDatabase(Io),r=setTimeout(()=>t(!1),200);n.addEventListener("success",()=>(clearTimeout(r),e(!0))),n.addEventListener("blocked",()=>(clearTimeout(r),e(!0))),n.addEventListener("error",()=>(clearTimeout(r),t(!1)))})}}class yi{constructor(){this.cache=new Map}getItem(e){return this.cache.get(e)||null}setItem(e,t){this.cache.set(e,t)}removeItem(e){this.cache.delete(e)}getKeys(){const e=[];return this.cache.forEach((t,n)=>{e.push(n)}),e}containsKey(e){return this.cache.has(e)}clear(){this.cache.clear()}}class vi{constructor(e){this.inMemoryCache=new yi,this.indexedDBCache=new mi,this.logger=e}handleDatabaseAccessError(e){if(!(e instanceof xa&&e.errorCode===fa))throw e;this.logger.error("Could not access persistent storage. This may be caused by browser privacy features which block persistent storage in third-party contexts.")}async getItem(e){const t=this.inMemoryCache.getItem(e);if(!t)try{return this.logger.verbose("Queried item not found in in-memory cache, now querying persistent storage."),await this.indexedDBCache.getItem(e)}catch(e){this.handleDatabaseAccessError(e)}return t}async setItem(e,t){this.inMemoryCache.setItem(e,t);try{await this.indexedDBCache.setItem(e,t)}catch(e){this.handleDatabaseAccessError(e)}}async removeItem(e){this.inMemoryCache.removeItem(e);try{await this.indexedDBCache.removeItem(e)}catch(e){this.handleDatabaseAccessError(e)}}async getKeys(){const e=this.inMemoryCache.getKeys();if(0===e.length)try{return this.logger.verbose("In-memory cache is empty, now querying persistent storage."),await this.indexedDBCache.getKeys()}catch(e){this.handleDatabaseAccessError(e)}return e}async containsKey(e){const t=this.inMemoryCache.containsKey(e);if(!t)try{return this.logger.verbose("Key not found in in-memory cache, now querying persistent storage."),await this.indexedDBCache.containsKey(e)}catch(e){this.handleDatabaseAccessError(e)}return t}clearInMemory(){this.logger.verbose("Deleting in-memory keystore"),this.inMemoryCache.clear(),this.logger.verbose("In-memory keystore deleted")}async clearPersistent(){try{this.logger.verbose("Deleting persistent keystore");const e=await this.indexedDBCache.deleteDatabase();return e&&this.logger.verbose("Persistent keystore deleted"),e}catch(e){return this.handleDatabaseAccessError(e),!1}}}class bi{constructor(e,t,n){this.logger=e,function(e){if(!window)throw Aa(ra);if(!window.crypto)throw Aa(No);if(!e&&!window.crypto.subtle)throw Aa(No,"crypto_subtle_undefined")}(n??!1),this.cache=new vi(this.logger),this.performanceClient=t}createNewGuid(){return Ka()}base64Encode(e){return Oa(e)}base64Decode(e){return gi(e)}base64UrlEncode(e){return Na(e)}encodeKid(e){return this.base64UrlEncode(JSON.stringify({kid:e}))}async getPublicKeyThumbprint(e){const t=this.performanceClient?.startMeasurement(xn,e.correlationId),n=await async function(e,t){return window.crypto.subtle.generateKey(Fa,e,t)}(bi.EXTRACTABLE,bi.POP_KEY_USAGES),r=await $a(n.publicKey),o=wi({e:r.e,kty:r.kty,n:r.n}),a=await this.hashString(o),i=await $a(n.privateKey),s=await async function(e){return window.crypto.subtle.importKey("jwk",e,Fa,!1,["sign"])}(i);return await this.cache.setItem(a,{privateKey:s,publicKey:n.publicKey,requestMethod:e.resourceRequestMethod,requestUri:e.resourceRequestUri}),t&&t.end({success:!0}),a}async removeTokenBindingKey(e){return await this.cache.removeItem(e),!await this.cache.containsKey(e)}async clearKeystore(){this.cache.clearInMemory();try{return await this.cache.clearPersistent(),!0}catch(e){return e instanceof Error?this.logger.error(`Clearing keystore failed with error: ${e.message}`):this.logger.error("Clearing keystore failed with unknown error"),!1}}async signJwt(e,t,n,r){const o=this.performanceClient?.startMeasurement(An,r),a=await this.cache.getItem(t);if(!a)throw Aa(ua);const i=await $a(a.publicKey),s=wi(i),c=Na(JSON.stringify({kid:t})),l=Na(fi.getShrHeaderString({...n?.header,alg:i.alg,kid:c}));e.cnf={jwk:JSON.parse(s)};const u=`${l}.${Na(JSON.stringify(e))}`,d=(new TextEncoder).encode(u),h=await async function(e,t){return window.crypto.subtle.sign(Fa,e,t)}(a.privateKey,d),p=`${u}.${Ma(new Uint8Array(h))}`;return o&&o.end({success:!0}),p}async hashString(e){return Ga(e)}}function wi(e){return JSON.stringify(e,Object.keys(e).sort())}bi.POP_KEY_USAGES=["sign","verify"],bi.EXTRACTABLE=!0;const ki=(e,t,n,r,o)=>(...a)=>{n.trace(`Executing function ${t}`);const i=r?.startMeasurement(t,o);if(o){const e=t+"CallCount";r?.incrementFields({[e]:1},o)}try{const r=e(...a);return i?.end({success:!0}),n.trace(`Returning result from ${t}`),r}catch(e){n.trace(`Error occurred in ${t}`);try{n.trace(JSON.stringify(e))}catch(e){n.trace("Unable to print error message.")}throw i?.end({success:!1},e),e}},Ci=(e,t,n,r,o)=>(...a)=>{n.trace(`Executing function ${t}`);const i=r?.startMeasurement(t,o);if(o){const e=t+"CallCount";r?.incrementFields({[e]:1},o)}return r?.setPreQueueTime(t,o),e(...a).then(e=>(n.trace(`Returning result from ${t}`),i?.end({success:!0}),e)).catch(e=>{n.trace(`Error occurred in ${t}`);try{n.trace(JSON.stringify(e))}catch(e){n.trace("Unable to print error message.")}throw i?.end({success:!1},e),e})};class Si{constructor(e,t,n,r){this.networkInterface=e,this.logger=t,this.performanceClient=n,this.correlationId=r}async detectRegion(e,t){this.performanceClient?.addQueueMeasurement(Ir,this.correlationId);let n=e;if(n)t.region_source="3";else{const e=Si.IMDS_OPTIONS;try{const r=await Ci(this.getRegionFromIMDS.bind(this),Tr,this.logger,this.performanceClient,this.correlationId)(i.IMDS_VERSION,e);if(200===r.status&&(n=r.body,t.region_source="4"),400===r.status){const r=await Ci(this.getCurrentVersion.bind(this),xr,this.logger,this.performanceClient,this.correlationId)(e);if(!r)return t.region_source="1",null;const o=await Ci(this.getRegionFromIMDS.bind(this),Tr,this.logger,this.performanceClient,this.correlationId)(r,e);200===o.status&&(n=o.body,t.region_source="4")}}catch(e){return t.region_source="1",null}}return n||(t.region_source="1"),n||null}async getRegionFromIMDS(e,t){return this.performanceClient?.addQueueMeasurement(Tr,this.correlationId),this.networkInterface.sendGetRequestAsync(`${i.IMDS_ENDPOINT}?api-version=${e}&format=text`,t,i.IMDS_TIMEOUT)}async getCurrentVersion(e){this.performanceClient?.addQueueMeasurement(xr,this.correlationId);try{const t=await this.networkInterface.sendGetRequestAsync(`${i.IMDS_ENDPOINT}?format=json`,e);return 400===t.status&&t.body&&t.body["newest-versions"]&&t.body["newest-versions"].length>0?t.body["newest-versions"][0]:null}catch(e){return null}}}Si.IMDS_OPTIONS={headers:{Metadata:"true"}};class Ei{constructor(e,t,n,r,o,a,i,s){this.canonicalAuthority=e,this._canonicalAuthority.validateAsUri(),this.networkInterface=t,this.cacheManager=n,this.authorityOptions=r,this.regionDiscoveryMetadata={region_used:void 0,region_source:void 0,region_outcome:void 0},this.logger=o,this.performanceClient=i,this.correlationId=a,this.managedIdentity=s||!1,this.regionDiscovery=new Si(t,this.logger,this.performanceClient,this.correlationId)}getAuthorityType(e){if(e.HostNameAndPort.endsWith(i.CIAM_AUTH_URL))return 3;const t=e.PathSegments;if(t.length)switch(t[0].toLowerCase()){case i.ADFS:return 1;case i.DSTS:return 2}return 0}get authorityType(){return this.getAuthorityType(this.canonicalAuthorityUrlComponents)}get protocolMode(){return this.authorityOptions.protocolMode}get options(){return this.authorityOptions}get canonicalAuthority(){return this._canonicalAuthority.urlString}set canonicalAuthority(e){this._canonicalAuthority=new Jt(e),this._canonicalAuthority.validateAsUri(),this._canonicalAuthorityUrlComponents=null}get canonicalAuthorityUrlComponents(){return this._canonicalAuthorityUrlComponents||(this._canonicalAuthorityUrlComponents=this._canonicalAuthority.getUrlComponents()),this._canonicalAuthorityUrlComponents}get hostnameAndPort(){return this.canonicalAuthorityUrlComponents.HostNameAndPort.toLowerCase()}get tenant(){return this.canonicalAuthorityUrlComponents.PathSegments[0]}get authorizationEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.authorization_endpoint);throw Ke(ne)}get tokenEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint);throw Ke(ne)}get deviceCodeEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint.replace("/token","/devicecode"));throw Ke(ne)}get endSessionEndpoint(){if(this.discoveryComplete()){if(!this.metadata.end_session_endpoint)throw Ke(ze);return this.replacePath(this.metadata.end_session_endpoint)}throw Ke(ne)}get selfSignedJwtAudience(){if(this.discoveryComplete())return this.replacePath(this.metadata.issuer);throw Ke(ne)}get jwksUri(){if(this.discoveryComplete())return this.replacePath(this.metadata.jwks_uri);throw Ke(ne)}canReplaceTenant(e){return 1===e.PathSegments.length&&!Ei.reservedTenantDomains.has(e.PathSegments[0])&&0===this.getAuthorityType(e)&&this.protocolMode===K}replaceTenant(e){return e.replace(/{tenant}|{tenantid}/g,this.tenant)}replacePath(e){let t=e;const n=new Jt(this.metadata.canonical_authority).getUrlComponents(),r=n.PathSegments;return this.canonicalAuthorityUrlComponents.PathSegments.forEach((e,o)=>{let a=r[o];if(0===o&&this.canReplaceTenant(n)){const e=new Jt(this.metadata.authorization_endpoint).getUrlComponents().PathSegments[0];a!==e&&(this.logger.verbose(`Replacing tenant domain name ${a} with id ${e}`),a=e)}e!==a&&(t=t.replace(`/${a}/`,`/${e}/`))}),this.replaceTenant(t)}get defaultOpenIdConfigurationEndpoint(){const e=this.hostnameAndPort;return this.canonicalAuthority.endsWith("v2.0/")||1===this.authorityType||this.protocolMode!==K&&!this.isAliasOfKnownMicrosoftAuthority(e)?`${this.canonicalAuthority}.well-known/openid-configuration`:`${this.canonicalAuthority}v2.0/.well-known/openid-configuration`}discoveryComplete(){return!!this.metadata}async resolveEndpointsAsync(){this.performanceClient?.addQueueMeasurement(br,this.correlationId);const e=this.getCurrentMetadataEntity(),t=await Ci(this.updateCloudDiscoveryMetadata.bind(this),kr,this.logger,this.performanceClient,this.correlationId)(e);this.canonicalAuthority=this.canonicalAuthority.replace(this.hostnameAndPort,e.preferred_network);const n=await Ci(this.updateEndpointMetadata.bind(this),Sr,this.logger,this.performanceClient,this.correlationId)(e);this.updateCachedMetadata(e,t,{source:n}),this.performanceClient?.addFields({cloudDiscoverySource:t,authorityEndpointSource:n},this.correlationId)}getCurrentMetadataEntity(){let e=this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);return e||(e={aliases:[],preferred_cache:this.hostnameAndPort,preferred_network:this.hostnameAndPort,canonical_authority:this.canonicalAuthority,authorization_endpoint:"",token_endpoint:"",end_session_endpoint:"",issuer:"",aliasesFromNetwork:!1,endpointsFromNetwork:!1,expiresAt:dt(),jwks_uri:""}),e}updateCachedMetadata(e,t,n){t!==L&&n?.source!==L&&(e.expiresAt=dt(),e.canonical_authority=this.canonicalAuthority);const r=this.cacheManager.generateAuthorityMetadataCacheKey(e.preferred_cache);this.cacheManager.setAuthorityMetadata(r,e),this.metadata=e}async updateEndpointMetadata(e){this.performanceClient?.addQueueMeasurement(Sr,this.correlationId);const t=this.updateEndpointMetadataFromLocalSources(e);if(t)return t.source===U&&this.authorityOptions.azureRegionConfiguration?.azureRegion&&t.metadata&&(ht(e,await Ci(this.updateMetadataWithRegionalInformation.bind(this),Er,this.logger,this.performanceClient,this.correlationId)(t.metadata),!1),e.canonical_authority=this.canonicalAuthority),t.source;let n=await Ci(this.getEndpointMetadataFromNetwork.bind(this),Cr,this.logger,this.performanceClient,this.correlationId)();if(n)return this.authorityOptions.azureRegionConfiguration?.azureRegion&&(n=await Ci(this.updateMetadataWithRegionalInformation.bind(this),Er,this.logger,this.performanceClient,this.correlationId)(n)),ht(e,n,!0),q;throw Ke(oe,this.defaultOpenIdConfigurationEndpoint)}updateEndpointMetadataFromLocalSources(e){this.logger.verbose("Attempting to get endpoint metadata from authority configuration");const t=this.getEndpointMetadataFromConfig();if(t)return this.logger.verbose("Found endpoint metadata in authority configuration"),ht(e,t,!1),{source:z};if(this.logger.verbose("Did not find endpoint metadata in the config... Attempting to get endpoint metadata from the hardcoded values."),this.authorityOptions.skipAuthorityMetadataCache)this.logger.verbose("Skipping hardcoded metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get endpoint metadata from the network metadata cache.");else{const t=this.getEndpointMetadataFromHardcodedValues();if(t)return ht(e,t,!1),{source:U,metadata:t};this.logger.verbose("Did not find endpoint metadata in hardcoded values... Attempting to get endpoint metadata from the network metadata cache.")}const n=ft(e);return this.isAuthoritySameType(e)&&e.endpointsFromNetwork&&!n?(this.logger.verbose("Found endpoint metadata in the cache."),{source:L}):(n&&this.logger.verbose("The metadata entity is expired."),null)}isAuthoritySameType(e){return new Jt(e.canonical_authority).getUrlComponents().PathSegments.length===this.canonicalAuthorityUrlComponents.PathSegments.length}getEndpointMetadataFromConfig(){if(this.authorityOptions.authorityMetadata)try{return JSON.parse(this.authorityOptions.authorityMetadata)}catch(e){throw Dt(At)}return null}async getEndpointMetadataFromNetwork(){this.performanceClient?.addQueueMeasurement(Cr,this.correlationId);const e={},t=this.defaultOpenIdConfigurationEndpoint;this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: attempting to retrieve OAuth endpoints from ${t}`);try{const n=await this.networkInterface.sendGetRequestAsync(t,e),r=function(e){return e.hasOwnProperty("authorization_endpoint")&&e.hasOwnProperty("token_endpoint")&&e.hasOwnProperty("issuer")&&e.hasOwnProperty("jwks_uri")}(n.body);return r?n.body:(this.logger.verbose("Authority.getEndpointMetadataFromNetwork: could not parse response as OpenID configuration"),null)}catch(e){return this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: ${e}`),null}}getEndpointMetadataFromHardcodedValues(){return this.hostnameAndPort in Xt?Xt[this.hostnameAndPort]:null}async updateMetadataWithRegionalInformation(e){this.performanceClient?.addQueueMeasurement(Er,this.correlationId);const t=this.authorityOptions.azureRegionConfiguration?.azureRegion;if(t){if(t!==i.AZURE_REGION_AUTO_DISCOVER_FLAG)return this.regionDiscoveryMetadata.region_outcome="2",this.regionDiscoveryMetadata.region_used=t,Ei.replaceWithRegionalInformation(e,t);const n=await Ci(this.regionDiscovery.detectRegion.bind(this.regionDiscovery),Ir,this.logger,this.performanceClient,this.correlationId)(this.authorityOptions.azureRegionConfiguration?.environmentRegion,this.regionDiscoveryMetadata);if(n)return this.regionDiscoveryMetadata.region_outcome="4",this.regionDiscoveryMetadata.region_used=n,Ei.replaceWithRegionalInformation(e,n);this.regionDiscoveryMetadata.region_outcome="5"}return e}async updateCloudDiscoveryMetadata(e){this.performanceClient?.addQueueMeasurement(kr,this.correlationId);const t=this.updateCloudDiscoveryMetadataFromLocalSources(e);if(t)return t;const n=await Ci(this.getCloudDiscoveryMetadataFromNetwork.bind(this),wr,this.logger,this.performanceClient,this.correlationId)();if(n)return pt(e,n,!0),q;throw Dt(_t)}updateCloudDiscoveryMetadataFromLocalSources(e){this.logger.verbose("Attempting to get cloud discovery metadata from authority configuration"),this.logger.verbosePii(`Known Authorities: ${this.authorityOptions.knownAuthorities||i.NOT_APPLICABLE}`),this.logger.verbosePii(`Authority Metadata: ${this.authorityOptions.authorityMetadata||i.NOT_APPLICABLE}`),this.logger.verbosePii(`Canonical Authority: ${e.canonical_authority||i.NOT_APPLICABLE}`);const t=this.getCloudDiscoveryMetadataFromConfig();if(t)return this.logger.verbose("Found cloud discovery metadata in authority configuration"),pt(e,t,!1),z;if(this.logger.verbose("Did not find cloud discovery metadata in the config... Attempting to get cloud discovery metadata from the hardcoded values."),this.options.skipAuthorityMetadataCache)this.logger.verbose("Skipping hardcoded cloud discovery metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get cloud discovery metadata from the network metadata cache.");else{const t=(n=this.hostnameAndPort,nn(Zt.metadata,n));if(t)return this.logger.verbose("Found cloud discovery metadata from hardcoded values."),pt(e,t,!1),U;this.logger.verbose("Did not find cloud discovery metadata in hardcoded values... Attempting to get cloud discovery metadata from the network metadata cache.")}var n;const r=ft(e);return this.isAuthoritySameType(e)&&e.aliasesFromNetwork&&!r?(this.logger.verbose("Found cloud discovery metadata in the cache."),L):(r&&this.logger.verbose("The metadata entity is expired."),null)}getCloudDiscoveryMetadataFromConfig(){if(3===this.authorityType)return this.logger.verbose("CIAM authorities do not support cloud discovery metadata, generate the aliases from authority host."),Ei.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);if(this.authorityOptions.cloudDiscoveryMetadata){this.logger.verbose("The cloud discovery metadata has been provided as a network response, in the config.");try{this.logger.verbose("Attempting to parse the cloud discovery metadata.");const e=nn(JSON.parse(this.authorityOptions.cloudDiscoveryMetadata).metadata,this.hostnameAndPort);if(this.logger.verbose("Parsed the cloud discovery metadata."),e)return this.logger.verbose("There is returnable metadata attached to the parsed cloud discovery metadata."),e;this.logger.verbose("There is no metadata attached to the parsed cloud discovery metadata.")}catch(e){throw this.logger.verbose("Unable to parse the cloud discovery metadata. Throwing Invalid Cloud Discovery Metadata Error."),Dt(xt)}}return this.isInKnownAuthorities()?(this.logger.verbose("The host is included in knownAuthorities. Creating new cloud discovery metadata from the host."),Ei.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)):null}async getCloudDiscoveryMetadataFromNetwork(){this.performanceClient?.addQueueMeasurement(wr,this.correlationId);const e=`${i.AAD_INSTANCE_DISCOVERY_ENDPT}${this.canonicalAuthority}oauth2/v2.0/authorize`,t={};let n=null;try{const r=await this.networkInterface.sendGetRequestAsync(e,t);let o,a;if(function(e){return e.hasOwnProperty("tenant_discovery_endpoint")&&e.hasOwnProperty("metadata")}(r.body))o=r.body,a=o.metadata,this.logger.verbosePii(`tenant_discovery_endpoint is: ${o.tenant_discovery_endpoint}`);else{if(!function(e){return e.hasOwnProperty("error")&&e.hasOwnProperty("error_description")}(r.body))return this.logger.error("AAD did not return a CloudInstanceDiscoveryResponse or CloudInstanceDiscoveryErrorResponse"),null;if(this.logger.warning(`A CloudInstanceDiscoveryErrorResponse was returned. The cloud instance discovery network request's status code is: ${r.status}`),o=r.body,o.error===i.INVALID_INSTANCE)return this.logger.error("The CloudInstanceDiscoveryErrorResponse error is invalid_instance."),null;this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error is ${o.error}`),this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error description is ${o.error_description}`),this.logger.warning("Setting the value of the CloudInstanceDiscoveryMetadata (returned from the network) to []"),a=[]}this.logger.verbose("Attempting to find a match between the developer's authority and the CloudInstanceDiscoveryMetadata returned from the network request."),n=nn(a,this.hostnameAndPort)}catch(e){if(e instanceof Y)this.logger.error(`There was a network error while attempting to get the cloud discovery instance metadata.\nError: ${e.errorCode}\nError Description: ${e.errorMessage}`);else{const t=e;this.logger.error(`A non-MSALJS error was thrown while attempting to get the cloud instance discovery metadata.\nError: ${t.name}\nError Description: ${t.message}`)}return null}return n||(this.logger.warning("The developer's authority was not found within the CloudInstanceDiscoveryMetadata returned from the network request."),this.logger.verbose("Creating custom Authority for custom domain scenario."),n=Ei.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)),n}isInKnownAuthorities(){return this.authorityOptions.knownAuthorities.filter(e=>e&&Jt.getDomainFromUrl(e).toLowerCase()===this.hostnameAndPort).length>0}static generateAuthority(e,t){let n;if(t&&t.azureCloudInstance!==G){const e=t.tenant?t.tenant:i.DEFAULT_COMMON_TENANT;n=`${t.azureCloudInstance}/${e}/`}return n||e}static createCloudDiscoveryMetadataFromHost(e){return{preferred_network:e,preferred_cache:e,aliases:[e]}}getPreferredCache(){if(this.managedIdentity)return i.DEFAULT_AUTHORITY_HOST;if(this.discoveryComplete())return this.metadata.preferred_cache;throw Ke(ne)}isAlias(e){return this.metadata.aliases.indexOf(e)>-1}isAliasOfKnownMicrosoftAuthority(e){return en.has(e)}static isPublicCloudAuthority(e){return i.KNOWN_PUBLIC_CLOUDS.indexOf(e)>=0}static buildRegionalAuthorityString(e,t,n){const r=new Jt(e);r.validateAsUri();const o=r.getUrlComponents();let a=`${t}.${o.HostNameAndPort}`;this.isPublicCloudAuthority(o.HostNameAndPort)&&(a=`${t}.${i.REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX}`);const s=Jt.constructAuthorityUriFromObject({...r.getUrlComponents(),HostNameAndPort:a}).urlString;return n?`${s}?${n}`:s}static replaceWithRegionalInformation(e,t){const n={...e};return n.authorization_endpoint=Ei.buildRegionalAuthorityString(n.authorization_endpoint,t),n.token_endpoint=Ei.buildRegionalAuthorityString(n.token_endpoint,t),n.end_session_endpoint&&(n.end_session_endpoint=Ei.buildRegionalAuthorityString(n.end_session_endpoint,t)),n}static transformCIAMAuthority(e){let t=e;const n=new Jt(e).getUrlComponents();return 0===n.PathSegments.length&&n.HostNameAndPort.endsWith(i.CIAM_AUTH_URL)&&(t=`${t}${n.HostNameAndPort.split(".")[0]}${i.AAD_TENANT_DOMAIN_SUFFIX}`),t}}function Ii(e){return e.endsWith(i.FORWARD_SLASH)?e:`${e}${i.FORWARD_SLASH}`}Ei.reservedTenantDomains=new Set(["{tenant}","{tenantid}",k,S,C]);const Ti="no_tokens_found",xi="native_account_unavailable",Ai="refresh_token_expired",_i="bad_token",Pi=["interaction_required","consent_required","login_required",_i],Ri=["message_only","additional_action","basic_action","user_password_expired","consent_required","bad_token"],Ni={[Ti]:"No refresh token found in the cache. Please sign-in.",[xi]:"The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API.",[Ai]:"Refresh token has expired.",[_i]:"Identity provider returned bad_token due to an expired or invalid refresh token. Please invoke an interactive API to resolve."};class Mi extends Y{constructor(e,t,n,r,o,a,s,c){super(e,t,n),Object.setPrototypeOf(this,Mi.prototype),this.timestamp=r||i.EMPTY_STRING,this.traceId=o||i.EMPTY_STRING,this.correlationId=a||i.EMPTY_STRING,this.claims=s||i.EMPTY_STRING,this.name="InteractionRequiredAuthError",this.errorNo=c}}function Oi(e,t,n){const r=!!e&&Pi.indexOf(e)>-1,o=!!n&&Ri.indexOf(n)>-1,a=!!t&&Pi.some(e=>t.indexOf(e)>-1);return r||a||o}function zi(e){return new Mi(e,Ni[e])}class Li{static setRequestState(e,t,n){const r=Li.generateLibraryState(e,n);return t?`${r}${i.RESOURCE_DELIM}${t}`:r}static generateLibraryState(e,t){if(!e)throw Ke(Te);const n={id:e.createNewGuid()};t&&(n.meta=t);const r=JSON.stringify(n);return e.base64Encode(r)}static parseRequestState(e,t){if(!e)throw Ke(Te);if(!t)throw Ke(ie);try{const n=t.split(i.RESOURCE_DELIM),r=n[0],o=n.length>1?n.slice(1).join(i.RESOURCE_DELIM):i.EMPTY_STRING,a=e.base64Decode(r),s=JSON.parse(a);return{userRequestState:o||i.EMPTY_STRING,libraryState:s}}catch(e){throw Ke(ie)}}}const qi="home_account_id",Ui="UPN";class Di{constructor(){if(!window.localStorage)throw Xa(Wa)}getItem(e){return window.localStorage.getItem(e)}setItem(e,t){window.localStorage.setItem(e,t)}removeItem(e){window.localStorage.removeItem(e)}getKeys(){return Object.keys(window.localStorage)}containsKey(e){return window.localStorage.hasOwnProperty(e)}}class Fi{constructor(){if(!window.sessionStorage)throw Xa(Wa)}getItem(e){return window.sessionStorage.getItem(e)}setItem(e,t){window.sessionStorage.setItem(e,t)}removeItem(e){window.sessionStorage.removeItem(e)}getKeys(){return Object.keys(window.sessionStorage)}containsKey(e){return window.sessionStorage.hasOwnProperty(e)}}function Hi(e,t){if(!t)return null;try{return Li.parseRequestState(e,t).libraryState.meta}catch(e){throw Ke(ie)}}class Bi{getItem(e){const t=`${encodeURIComponent(e)}`,n=document.cookie.split(";");for(let e=0;e<n.length;e++){const r=n[e],[o,...a]=decodeURIComponent(r).trim().split("="),i=a.join("=");if(o===t)return i}return""}setItem(e,t,n,r=!0){let o=`${encodeURIComponent(e)}=${encodeURIComponent(t)};path=/;SameSite=Lax;`;if(n){const e=function(e){const t=new Date;return new Date(t.getTime()+864e5*e).toUTCString()}(n);o+=`expires=${e};`}r&&(o+="Secure;"),document.cookie=o}removeItem(e){this.setItem(e,"",-1)}getKeys(){const e=document.cookie.split(";"),t=[];return e.forEach(e=>{const n=decodeURIComponent(e).trim().split("=");t.push(n[0])}),t}containsKey(e){return this.getKeys().includes(e)}}class ji extends ln{constructor(e,t,n,r,o,a){super(e,n,r,o),this.cacheConfig=t,this.logger=r,this.internalStorage=new yi,this.browserStorage=this.setupBrowserStorage(this.cacheConfig.cacheLocation),this.temporaryCacheStorage=this.setupBrowserStorage(this.cacheConfig.temporaryCacheLocation),this.cookieStorage=new Bi,t.cacheMigrationEnabled&&(this.migrateCacheEntries(),this.createKeyMaps()),this.performanceClient=a}setupBrowserStorage(e){try{switch(e){case Yr:return new Di;case Jr:return new Fi}}catch(e){this.logger.error(e)}return this.cacheConfig.cacheLocation=Xr,new yi}migrateCacheEntries(){const e=this.browserStorage.getItem(lo);e&&this.logger.info(`MSAL.js was last initialized with version ${e}`),e!==ii&&this.browserStorage.setItem(lo,ii);const t=`${i.CACHE_PREFIX}.${f}`,n=`${i.CACHE_PREFIX}.${g}`,r=`${i.CACHE_PREFIX}.${y}`,o=`${i.CACHE_PREFIX}.${v}`,a=[this.browserStorage.getItem(t),this.browserStorage.getItem(n),this.browserStorage.getItem(r),this.browserStorage.getItem(o)];[f,g,y,v].forEach((e,t)=>{const n=a[t];n&&this.setTemporaryCache(e,n,!0)})}createKeyMaps(){this.logger.trace("BrowserCacheManager - createKeyMaps called.");const e=this.cryptoImpl.createNewGuid(),t=this.getItem(so),n=this.getItem(`${co}.${this.clientId}`);t&&n?this.logger.verbose("BrowserCacheManager:createKeyMaps - account and token key maps already exist, skipping migration."):this.browserStorage.getKeys().forEach(t=>{if(this.isCredentialKey(t)){const n=this.getItem(t);if(n){const r=this.validateAndParseJson(n);if(r&&r.hasOwnProperty("credentialType"))switch(r.credentialType){case R.ID_TOKEN:if(ot(r)){this.logger.trace("BrowserCacheManager:createKeyMaps - idToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - idToken with key: ${t} found, saving key to token key map`);const n=r,o=this.updateCredentialCacheKey(t,n,e);return void this.addTokenKey(o,R.ID_TOKEN,e)}this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching idToken schema with value containing idToken credentialType field but value failed IdTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed idToken validation on key: ${t}`);break;case R.ACCESS_TOKEN:case R.ACCESS_TOKEN_WITH_AUTH_SCHEME:if(rt(r)){this.logger.trace("BrowserCacheManager:createKeyMaps - accessToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - accessToken with key: ${t} found, saving key to token key map`);const n=r,o=this.updateCredentialCacheKey(t,n,e);return void this.addTokenKey(o,R.ACCESS_TOKEN,e)}this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching accessToken schema with value containing accessToken credentialType field but value failed AccessTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed accessToken validation on key: ${t}`);break;case R.REFRESH_TOKEN:if(at(r)){this.logger.trace("BrowserCacheManager:createKeyMaps - refreshToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - refreshToken with key: ${t} found, saving key to token key map`);const n=r,o=this.updateCredentialCacheKey(t,n,e);return void this.addTokenKey(o,R.REFRESH_TOKEN,e)}this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching refreshToken schema with value containing refreshToken credentialType field but value failed RefreshTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed refreshToken validation on key: ${t}`)}}}if(this.isAccountKey(t)){const n=this.getItem(t);if(n){const r=this.validateAndParseJson(n);r&&Qt.isAccountEntity(r)&&(this.logger.trace("BrowserCacheManager:createKeyMaps - account found, saving key to account key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - account with key: ${t} found, saving key to account key map`),this.addAccountKeyToMap(t,e))}}})}validateAndParseJson(e){try{const t=JSON.parse(e);return t&&"object"==typeof t?t:null}catch(e){return null}}getItem(e){return this.browserStorage.getItem(e)}setItem(e,t,n){let r=[];for(let o=0;o<=20;o++)try{this.browserStorage.setItem(e,t),o>0&&this.removeAccessTokenKeys(r.slice(0,o),n);break}catch(a){const i=cn(a);if(!(i.errorCode===rn&&o<20))throw i;if(r.length||(r=e===`${co}.${this.clientId}`?JSON.parse(t).accessToken:this.getTokenKeys().accessToken),r.length<=o)throw i;this.removeAccessToken(r[o],n,!1)}}getAccount(e,t,n){this.logger.trace("BrowserCacheManager.getAccount called");const r=this.getCachedAccountEntity(e,t);return this.updateOutdatedCachedAccount(e,r,t,n)}getCachedAccountEntity(e,t){const n=this.getItem(e);if(!n)return this.removeAccountKeyFromMap(e,t),null;const r=this.validateAndParseJson(n);return r&&Qt.isAccountEntity(r)?ln.toObject(new Qt,r):null}setAccount(e,t){this.logger.trace("BrowserCacheManager.setAccount called");const n=e.generateAccountKey();e.lastUpdatedAt=Date.now().toString(),this.setItem(n,JSON.stringify(e),t),this.addAccountKeyToMap(n,t)}getAccountKeys(){this.logger.trace("BrowserCacheManager.getAccountKeys called");const e=this.getItem(so);return e?JSON.parse(e):(this.logger.verbose("BrowserCacheManager.getAccountKeys - No account keys found"),[])}addAccountKeyToMap(e,t){this.logger.trace("BrowserCacheManager.addAccountKeyToMap called"),this.logger.tracePii(`BrowserCacheManager.addAccountKeyToMap called with key: ${e}`);const n=this.getAccountKeys();-1===n.indexOf(e)?(n.push(e),this.setItem(so,JSON.stringify(n),t),this.logger.verbose("BrowserCacheManager.addAccountKeyToMap account key added")):this.logger.verbose("BrowserCacheManager.addAccountKeyToMap account key already exists in map")}removeAccountKeyFromMap(e,t){this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap called"),this.logger.tracePii(`BrowserCacheManager.removeAccountKeyFromMap called with key: ${e}`);const n=this.getAccountKeys(),r=n.indexOf(e);if(r>-1){if(n.splice(r,1),0===n.length)return void this.removeItem(so);this.setItem(so,JSON.stringify(n),t),this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap account key removed")}else this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap key not found in existing map")}async removeAccount(e,t){super.removeAccount(e,t),this.removeAccountKeyFromMap(e,t)}removeOutdatedAccount(e,t){this.removeItem(e),this.removeAccountKeyFromMap(e,t)}removeIdToken(e,t){super.removeIdToken(e,t),this.removeTokenKey(e,R.ID_TOKEN,t)}removeAccessToken(e,t,n=!0){super.removeAccessToken(e,t),this.performanceClient?.incrementFields({accessTokensRemoved:1},t),n&&this.removeTokenKey(e,R.ACCESS_TOKEN,t)}removeAccessTokenKeys(e,t){this.logger.trace("removeAccessTokenKey called");const n=this.getTokenKeys();let r=0;if(e.forEach(e=>{const t=n.accessToken.indexOf(e);t>-1&&(n.accessToken.splice(t,1),r++)}),r>0)return this.logger.info(`removed ${r} accessToken keys from tokenKeys map`),void this.setTokenKeys(n,t)}removeRefreshToken(e,t){super.removeRefreshToken(e,t),this.removeTokenKey(e,R.REFRESH_TOKEN,t)}getTokenKeys(){this.logger.trace("BrowserCacheManager.getTokenKeys called");const e=this.getItem(`${co}.${this.clientId}`);if(e){const t=this.validateAndParseJson(e);if(t&&t.hasOwnProperty("idToken")&&t.hasOwnProperty("accessToken")&&t.hasOwnProperty("refreshToken"))return t;this.logger.error("BrowserCacheManager.getTokenKeys - Token keys found but in an unknown format. Returning empty key map.")}else this.logger.verbose("BrowserCacheManager.getTokenKeys - No token keys found");return{idToken:[],accessToken:[],refreshToken:[]}}setTokenKeys(e,t){0!==e.idToken.length||0!==e.accessToken.length||0!==e.refreshToken.length?this.setItem(`${co}.${this.clientId}`,JSON.stringify(e),t):this.removeItem(`${co}.${this.clientId}`)}addTokenKey(e,t,n){this.logger.trace("BrowserCacheManager addTokenKey called");const r=this.getTokenKeys();switch(t){case R.ID_TOKEN:-1===r.idToken.indexOf(e)&&(this.logger.info("BrowserCacheManager: addTokenKey - idToken added to map"),r.idToken.push(e));break;case R.ACCESS_TOKEN:const n=r.accessToken.indexOf(e);-1!==n&&r.accessToken.splice(n,1),this.logger.trace(`access token ${-1===n?"added to":"updated in"} map`),r.accessToken.push(e);break;case R.REFRESH_TOKEN:-1===r.refreshToken.indexOf(e)&&(this.logger.info("BrowserCacheManager: addTokenKey - refreshToken added to map"),r.refreshToken.push(e));break;default:throw this.logger.error(`BrowserCacheManager:addTokenKey - CredentialType provided invalid. CredentialType: ${t}`),Ke(xe)}this.setTokenKeys(r,n)}removeTokenKey(e,t,n,r=this.getTokenKeys()){switch(this.logger.trace("BrowserCacheManager removeTokenKey called"),t){case R.ID_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove idToken with key: ${e} from map`);const n=r.idToken.indexOf(e);n>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - idToken removed from map"),r.idToken.splice(n,1)):this.logger.info("BrowserCacheManager: removeTokenKey - idToken does not exist in map. Either it was previously removed or it was never added.");break;case R.ACCESS_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove accessToken with key: ${e} from map`);const o=r.accessToken.indexOf(e);o>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - accessToken removed from map"),r.accessToken.splice(o,1)):this.logger.info("BrowserCacheManager: removeTokenKey - accessToken does not exist in map. Either it was previously removed or it was never added.");break;case R.REFRESH_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove refreshToken with key: ${e} from map`);const a=r.refreshToken.indexOf(e);a>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - refreshToken removed from map"),r.refreshToken.splice(a,1)):this.logger.info("BrowserCacheManager: removeTokenKey - refreshToken does not exist in map. Either it was previously removed or it was never added.");break;default:throw this.logger.error(`BrowserCacheManager:removeTokenKey - CredentialType provided invalid. CredentialType: ${t}`),Ke(xe)}this.setTokenKeys(r,n)}getIdTokenCredential(e,t){const n=this.getItem(e);if(!n)return this.logger.trace("BrowserCacheManager.getIdTokenCredential: called, no cache hit"),this.removeIdToken(e,t),null;const r=this.validateAndParseJson(n);return r&&ot(r)?(this.logger.trace("BrowserCacheManager.getIdTokenCredential: cache hit"),r):(this.logger.trace("BrowserCacheManager.getIdTokenCredential: called, no cache hit"),null)}setIdTokenCredential(e,t){this.logger.trace("BrowserCacheManager.setIdTokenCredential called");const n=Xe(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(n,JSON.stringify(e),t),this.addTokenKey(n,R.ID_TOKEN,t)}getAccessTokenCredential(e,t){const n=this.getItem(e);if(!n)return this.logger.trace("BrowserCacheManager.getAccessTokenCredential: called, no cache hit"),this.removeTokenKey(e,R.ACCESS_TOKEN,t),null;const r=this.validateAndParseJson(n);return r&&rt(r)?(this.logger.trace("BrowserCacheManager.getAccessTokenCredential: cache hit"),r):(this.logger.trace("BrowserCacheManager.getAccessTokenCredential: called, no cache hit"),null)}setAccessTokenCredential(e,t){this.logger.trace("BrowserCacheManager.setAccessTokenCredential called");const n=Xe(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(n,JSON.stringify(e),t),this.addTokenKey(n,R.ACCESS_TOKEN,t)}getRefreshTokenCredential(e,t){const n=this.getItem(e);if(!n)return this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: called, no cache hit"),this.removeTokenKey(e,R.REFRESH_TOKEN,t),null;const r=this.validateAndParseJson(n);return r&&at(r)?(this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: cache hit"),r):(this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: called, no cache hit"),null)}setRefreshTokenCredential(e,t){this.logger.trace("BrowserCacheManager.setRefreshTokenCredential called");const n=Xe(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(n,JSON.stringify(e),t),this.addTokenKey(n,R.REFRESH_TOKEN,t)}getAppMetadata(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null;const n=this.validateAndParseJson(t);return n&&((r=n)&&0===e.indexOf(N)&&r.hasOwnProperty("clientId")&&r.hasOwnProperty("environment"))?(this.logger.trace("BrowserCacheManager.getAppMetadata: cache hit"),n):(this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null);var r}setAppMetadata(e,t){this.logger.trace("BrowserCacheManager.setAppMetadata called");const n=function({environment:e,clientId:t}){return[N,e,t].join(P).toLowerCase()}(e);this.setItem(n,JSON.stringify(e),t)}getServerTelemetry(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getServerTelemetry: called, no cache hit"),null;const n=this.validateAndParseJson(t);return n&&function(e,t){const n=0===e.indexOf(D.CACHE_KEY);let r=!0;return t&&(r=t.hasOwnProperty("failedRequests")&&t.hasOwnProperty("errors")&&t.hasOwnProperty("cacheHits")),n&&r}(e,n)?(this.logger.trace("BrowserCacheManager.getServerTelemetry: cache hit"),n):(this.logger.trace("BrowserCacheManager.getServerTelemetry: called, no cache hit"),null)}setServerTelemetry(e,t,n){this.logger.trace("BrowserCacheManager.setServerTelemetry called"),this.setItem(e,JSON.stringify(t),n)}getAuthorityMetadata(e){const t=this.internalStorage.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getAuthorityMetadata: called, no cache hit"),null;const n=this.validateAndParseJson(t);return n&&function(e,t){return!!t&&0===e.indexOf(O)&&t.hasOwnProperty("aliases")&&t.hasOwnProperty("preferred_cache")&&t.hasOwnProperty("preferred_network")&&t.hasOwnProperty("canonical_authority")&&t.hasOwnProperty("authorization_endpoint")&&t.hasOwnProperty("token_endpoint")&&t.hasOwnProperty("issuer")&&t.hasOwnProperty("aliasesFromNetwork")&&t.hasOwnProperty("endpointsFromNetwork")&&t.hasOwnProperty("expiresAt")&&t.hasOwnProperty("jwks_uri")}(e,n)?(this.logger.trace("BrowserCacheManager.getAuthorityMetadata: cache hit"),n):null}getAuthorityMetadataKeys(){return this.internalStorage.getKeys().filter(e=>this.isAuthorityMetadata(e))}setWrapperMetadata(e,t){this.internalStorage.setItem(uo,e),this.internalStorage.setItem(ho,t)}getWrapperMetadata(){return[this.internalStorage.getItem(uo)||i.EMPTY_STRING,this.internalStorage.getItem(ho)||i.EMPTY_STRING]}setAuthorityMetadata(e,t){this.logger.trace("BrowserCacheManager.setAuthorityMetadata called"),this.internalStorage.setItem(e,JSON.stringify(t))}getActiveAccount(e){const t=this.generateCacheKey(w),n=this.getItem(t);if(!n){this.logger.trace("BrowserCacheManager.getActiveAccount: No active account filters cache schema found, looking for legacy schema");const t=this.generateCacheKey(b),n=this.getItem(t);if(!n)return this.logger.trace("BrowserCacheManager.getActiveAccount: No active account found"),null;const r=this.getAccountInfoFilteredBy({localAccountId:n},e);return r?(this.logger.trace("BrowserCacheManager.getActiveAccount: Legacy active account cache schema found"),this.logger.trace("BrowserCacheManager.getActiveAccount: Adding active account filters cache schema"),this.setActiveAccount(r,e),r):null}const r=this.validateAndParseJson(n);return r?(this.logger.trace("BrowserCacheManager.getActiveAccount: Active account filters schema found"),this.getAccountInfoFilteredBy({homeAccountId:r.homeAccountId,localAccountId:r.localAccountId,tenantId:r.tenantId},e)):(this.logger.trace("BrowserCacheManager.getActiveAccount: No active account found"),null)}setActiveAccount(e,t){const n=this.generateCacheKey(w),r=this.generateCacheKey(b);if(e){this.logger.verbose("setActiveAccount: Active account set");const o={homeAccountId:e.homeAccountId,localAccountId:e.localAccountId,tenantId:e.tenantId,lastUpdatedAt:Date.now().toString()};this.setItem(n,JSON.stringify(o),t),this.setItem(r,e.localAccountId,t)}else this.logger.verbose("setActiveAccount: No account passed, active account not set"),this.browserStorage.removeItem(n),this.browserStorage.removeItem(r)}getThrottlingCache(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getThrottlingCache: called, no cache hit"),null;const n=this.validateAndParseJson(t);return n&&function(e,t){let n=!1;e&&(n=0===e.indexOf(H));let r=!0;return t&&(r=t.hasOwnProperty("throttleTime")),n&&r}(e,n)?(this.logger.trace("BrowserCacheManager.getThrottlingCache: cache hit"),n):(this.logger.trace("BrowserCacheManager.getThrottlingCache: called, no cache hit"),null)}setThrottlingCache(e,t,n){this.logger.trace("BrowserCacheManager.setThrottlingCache called"),this.setItem(e,JSON.stringify(t),n)}getTemporaryCache(e,t){const n=t?this.generateCacheKey(e):e;if(this.cacheConfig.storeAuthStateInCookie){const e=this.cookieStorage.getItem(n);if(e)return this.logger.trace("BrowserCacheManager.getTemporaryCache: storeAuthStateInCookies set to true, retrieving from cookies"),e}const r=this.temporaryCacheStorage.getItem(n);if(!r){if(this.cacheConfig.cacheLocation===Yr){const e=this.browserStorage.getItem(n);if(e)return this.logger.trace("BrowserCacheManager.getTemporaryCache: Temporary cache item found in local storage"),e}return this.logger.trace("BrowserCacheManager.getTemporaryCache: No cache item found in local storage"),null}return this.logger.trace("BrowserCacheManager.getTemporaryCache: Temporary cache item returned"),r}setTemporaryCache(e,t,n){const r=n?this.generateCacheKey(e):e;this.temporaryCacheStorage.setItem(r,t),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.setTemporaryCache: storeAuthStateInCookie set to true, setting item cookie"),this.cookieStorage.setItem(r,t,void 0,this.cacheConfig.secureCookies))}removeItem(e){this.browserStorage.removeItem(e)}removeTemporaryItem(e){this.temporaryCacheStorage.removeItem(e),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie"),this.cookieStorage.removeItem(e))}getKeys(){return this.browserStorage.getKeys()}async clear(e){await this.removeAllAccounts(e),this.removeAppMetadata(e),this.temporaryCacheStorage.getKeys().forEach(e=>{-1===e.indexOf(i.CACHE_PREFIX)&&-1===e.indexOf(this.clientId)||this.removeTemporaryItem(e)}),this.browserStorage.getKeys().forEach(e=>{-1===e.indexOf(i.CACHE_PREFIX)&&-1===e.indexOf(this.clientId)||this.browserStorage.removeItem(e)}),this.internalStorage.clear()}async clearTokensAndKeysWithClaims(e,t){e.addQueueMeasurement(Mr,t);const n=this.getTokenKeys();let r=0;n.accessToken.forEach(e=>{const n=this.getAccessTokenCredential(e,t);n?.requestedClaimsHash&&e.includes(n.requestedClaimsHash.toLowerCase())&&(this.removeAccessToken(e,t),r++)}),r>0&&this.logger.warning(`${r} access tokens with claims in the cache keys have been removed from the cache.`)}generateCacheKey(e){return this.validateAndParseJson(e)?JSON.stringify(e):Ft.startsWith(e,i.CACHE_PREFIX)||Ft.startsWith(e,m)?e:`${i.CACHE_PREFIX}.${this.clientId}.${e}`}generateAuthorityKey(e){const{libraryState:{id:t}}=Li.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`authority.${t}`)}generateNonceKey(e){const{libraryState:{id:t}}=Li.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`nonce.id_token.${t}`)}generateStateKey(e){const{libraryState:{id:t}}=Li.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${Zr}.${t}`)}getCachedAuthority(e){const t=this.generateStateKey(e),n=this.getTemporaryCache(t);if(!n)return null;const r=this.generateAuthorityKey(n);return this.getTemporaryCache(r)}updateCacheEntries(e,t,n,r,o){this.logger.trace("BrowserCacheManager.updateCacheEntries called");const a=this.generateStateKey(e);this.setTemporaryCache(a,e,!1);const i=this.generateNonceKey(e);this.setTemporaryCache(i,t,!1);const s=this.generateAuthorityKey(e);if(this.setTemporaryCache(s,n,!1),o){const e={credential:o.homeAccountId,type:qi};this.setTemporaryCache(oo,JSON.stringify(e),!0)}else if(r){const e={credential:r,type:Ui};this.setTemporaryCache(oo,JSON.stringify(e),!0)}}resetRequestCache(e){this.logger.trace("BrowserCacheManager.resetRequestCache called"),e&&(this.temporaryCacheStorage.getKeys().forEach(t=>{-1!==t.indexOf(e)&&this.removeTemporaryItem(t)}),this.removeTemporaryItem(this.generateStateKey(e)),this.removeTemporaryItem(this.generateNonceKey(e)),this.removeTemporaryItem(this.generateAuthorityKey(e))),this.removeTemporaryItem(this.generateCacheKey(no)),this.removeTemporaryItem(this.generateCacheKey(eo)),this.removeTemporaryItem(this.generateCacheKey(to)),this.removeTemporaryItem(this.generateCacheKey(ao)),this.removeTemporaryItem(this.generateCacheKey(oo)),this.removeTemporaryItem(this.generateCacheKey(io)),this.setInteractionInProgress(!1)}cleanRequestByState(e){if(this.logger.trace("BrowserCacheManager.cleanRequestByState called"),e){const t=this.generateStateKey(e),n=this.temporaryCacheStorage.getItem(t);this.logger.infoPii(`BrowserCacheManager.cleanRequestByState: Removing temporary cache items for state: ${n}`),this.resetRequestCache(n||i.EMPTY_STRING)}}cleanRequestByInteractionType(e){this.logger.trace("BrowserCacheManager.cleanRequestByInteractionType called"),this.temporaryCacheStorage.getKeys().forEach(t=>{if(-1===t.indexOf(Zr))return;const n=this.temporaryCacheStorage.getItem(t);if(!n)return;const r=Hi(this.cryptoImpl,n);r&&r.interactionType===e&&(this.logger.infoPii(`BrowserCacheManager.cleanRequestByInteractionType: Removing temporary cache items for state: ${n}`),this.resetRequestCache(n))}),this.setInteractionInProgress(!1)}cacheCodeRequest(e){this.logger.trace("BrowserCacheManager.cacheCodeRequest called");const t=Oa(JSON.stringify(e));this.setTemporaryCache(no,t,!0)}getCachedRequest(e){this.logger.trace("BrowserCacheManager.getCachedRequest called");const t=this.getTemporaryCache(no,!0);if(!t)throw Aa(Xo);let n;try{n=JSON.parse(gi(t))}catch(e){throw this.logger.errorPii(`Attempted to parse: ${t}`),this.logger.error(`Parsing cached token request threw with error: ${e}`),Aa(Zo)}if(this.removeTemporaryItem(this.generateCacheKey(no)),!n.authority){const t=this.generateAuthorityKey(e),r=this.getTemporaryCache(t);if(!r)throw Aa(ea);n.authority=r}return n}getCachedNativeRequest(){this.logger.trace("BrowserCacheManager.getCachedNativeRequest called");const e=this.getTemporaryCache(io,!0);if(!e)return this.logger.trace("BrowserCacheManager.getCachedNativeRequest: No cached native request found"),null;return this.validateAndParseJson(e)||(this.logger.error("BrowserCacheManager.getCachedNativeRequest: Unable to parse native request"),null)}isInteractionInProgress(e){const t=this.getInteractionInProgress();return e?t===this.clientId:!!t}getInteractionInProgress(){const e=`${i.CACHE_PREFIX}.${ro}`;return this.getTemporaryCache(e,!1)}setInteractionInProgress(e){const t=`${i.CACHE_PREFIX}.${ro}`;if(e){if(this.getInteractionInProgress())throw Aa(Do);this.setTemporaryCache(t,this.clientId,!1)}else e||this.getInteractionInProgress()!==this.clientId||this.removeTemporaryItem(t)}getLegacyLoginHint(){const e=this.getTemporaryCache(m);e&&(this.browserStorage.removeItem(m),this.logger.verbose("Cached ADAL id token retrieved."));const t=this.getTemporaryCache(f,!0);t&&(this.browserStorage.removeItem(this.generateCacheKey(f)),this.logger.verbose("Cached MSAL.js v1 id token retrieved"));const n=t||e;if(n){const e=Qe(n,gi);if(e.preferred_username)return this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 preferred_username as loginHint"),e.preferred_username;if(e.upn)return this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 upn as loginHint"),e.upn;this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, however, no account hint claim found. Enable preferred_username or upn id token claim to get SSO.")}return null}updateCredentialCacheKey(e,t,n){const r=Xe(t);if(e!==r){const o=this.getItem(e);if(o)return this.browserStorage.removeItem(e),this.setItem(r,o,n),this.logger.verbose(`Updated an outdated ${t.credentialType} cache key`),r;this.logger.error(`Attempted to update an outdated ${t.credentialType} cache key but no item matching the outdated key was found in storage`)}return e}async hydrateCache(e,t){const n=Ze(e.account?.homeAccountId,e.account?.environment,e.idToken,this.clientId,e.tenantId);let r;t.claims&&(r=await this.cryptoImpl.hashString(t.claims));const o={idToken:n,accessToken:et(e.account?.homeAccountId,e.account.environment,e.accessToken,this.clientId,e.tenantId,e.scopes.join(" "),e.expiresOn?e.expiresOn.getTime()/1e3:0,e.extExpiresOn?e.extExpiresOn.getTime()/1e3:0,gi,void 0,e.tokenType,void 0,t.sshKid,t.claims,r)};return this.saveCacheRecord(o,e.correlationId)}async saveCacheRecord(e,t,n){try{await super.saveCacheRecord(e,t,n)}catch(e){if(e instanceof sn&&this.performanceClient&&t)try{const e=this.getTokenKeys();this.performanceClient.addFields({cacheRtCount:e.refreshToken.length,cacheIdCount:e.idToken.length,cacheAtCount:e.accessToken.length},t)}catch(e){}throw e}}}const Ki="msal:initializeEnd",$i="msal:loginStart",Gi="msal:loginSuccess",Wi="msal:loginFailure",Qi="msal:acquireTokenStart",Vi="msal:acquireTokenSuccess",Yi="msal:acquireTokenFailure",Ji="msal:ssoSilentStart",Xi="msal:ssoSilentSuccess",Zi="msal:ssoSilentFailure",es="msal:acquireTokenByCodeFailure",ts="msal:handleRedirectStart",ns="msal:handleRedirectEnd",rs="msal:popupOpened",os="msal:logoutStart",as="msal:logoutSuccess",is="msal:logoutFailure",ss="msal:logoutEnd",cs="msal:restoreFromBFCache";class ls{constructor(e){this.eventCallbacks=new Map,this.logger=e||new j({})}addEventCallback(e,t,n){if("undefined"!=typeof window){const r=n||Ka();return this.eventCallbacks.has(r)?(this.logger.error(`Event callback with id: ${r} is already registered. Please provide a unique id or remove the existing callback and try again.`),null):(this.eventCallbacks.set(r,[e,t||[]]),this.logger.verbose(`Event callback registered with id: ${r}`),r)}return null}removeEventCallback(e){this.eventCallbacks.delete(e),this.logger.verbose(`Event callback ${e} removed.`)}emitEvent(e,t,n,r){if("undefined"!=typeof window){const o={eventType:e,interactionType:t||null,payload:n||null,error:r||null,timestamp:Date.now()};this.eventCallbacks.forEach(([t,n],r)=>{(0===n.length||n.includes(e))&&(this.logger.verbose(`Emitting event to callback ${r}: ${e}`),t.apply(null,[o]))})}}}class us extends Y{constructor(e,t,n,r,o){super(e,t,n),this.name="ServerError",this.errorNo=r,this.status=o,Object.setPrototypeOf(this,us.prototype)}}class ds{static generateThrottlingStorageKey(e){return`${H}.${JSON.stringify(e)}`}static preProcess(e,t,n){const r=ds.generateThrottlingStorageKey(t),o=e.getThrottlingCache(r);if(o){if(o.throttleTime<Date.now())return void e.removeItem(r,n);throw new us(o.errorCodes?.join(" ")||i.EMPTY_STRING,o.errorMessage,o.subError)}}static postProcess(e,t,n,r){if(ds.checkResponseStatus(n)||ds.checkResponseForRetryAfter(n)){const o={throttleTime:ds.calculateThrottleTime(parseInt(n.headers[u])),error:n.body.error,errorCodes:n.body.error_codes,errorMessage:n.body.error_description,subError:n.body.suberror};e.setThrottlingCache(ds.generateThrottlingStorageKey(t),o,r)}}static checkResponseStatus(e){return 429===e.status||e.status>=500&&e.status<600}static checkResponseForRetryAfter(e){return!!e.headers&&e.headers.hasOwnProperty(u)&&(e.status<200||e.status>=300)}static calculateThrottleTime(e){const t=e<=0?0:e,n=Date.now()/1e3;return Math.floor(1e3*Math.min(n+(t||60),n+3600))}static removeThrottle(e,t,n,r){const o={clientId:t,authority:n.authority,scopes:n.scopes,homeAccountIdentifier:r,claims:n.claims,authenticationScheme:n.authenticationScheme,resourceRequestMethod:n.resourceRequestMethod,resourceRequestUri:n.resourceRequestUri,shrClaims:n.shrClaims,sshKid:n.sshKid},a=this.generateThrottlingStorageKey(o);e.removeItem(a,n.correlationId)}}const hs="client_id",ps="redirect_uri",fs="response_type",gs="token_type",ms="req_cnf",ys="return_spa_code",vs="x-client-xtra-sku",bs="brk_client_id",ws="brk_redirect_uri";class ks{static validateRedirectUri(e){if(!e)throw Dt(gt)}static validatePrompt(e){const t=[];for(const e in I)t.push(I[e]);if(t.indexOf(e)<0)throw Dt(kt)}static validateClaims(e){try{JSON.parse(e)}catch(e){throw Dt(Ct)}}static validateCodeChallengeParams(e,t){if(!e||!t)throw Dt(Tt);this.validateCodeChallengeMethod(t)}static validateCodeChallengeMethod(e){if([T.PLAIN,T.S256].indexOf(e)<0)throw Dt(It)}}class Cs{constructor(e,t){this.parameters=new Map,this.performanceClient=t,this.correlationId=e}addResponseTypeCode(){this.parameters.set(fs,encodeURIComponent(i.CODE_RESPONSE_TYPE))}addResponseTypeForTokenAndIdToken(){this.parameters.set(fs,encodeURIComponent(`${i.TOKEN_RESPONSE_TYPE} ${i.ID_TOKEN_RESPONSE_TYPE}`))}addResponseMode(e){this.parameters.set("response_mode",encodeURIComponent(e||A.QUERY))}addNativeBroker(){this.parameters.set("nativebroker",encodeURIComponent("1"))}addScopes(e,t=!0,n=s){!t||n.includes("openid")||e.includes("openid")||n.push("openid");const r=t?[...e||[],...n]:e||[],o=new Ht(r);this.parameters.set("scope",encodeURIComponent(o.printScopes()))}addClientId(e){this.parameters.set(hs,encodeURIComponent(e))}addRedirectUri(e){ks.validateRedirectUri(e),this.parameters.set(ps,encodeURIComponent(e))}addPostLogoutRedirectUri(e){ks.validateRedirectUri(e),this.parameters.set("post_logout_redirect_uri",encodeURIComponent(e))}addIdTokenHint(e){this.parameters.set("id_token_hint",encodeURIComponent(e))}addDomainHint(e){this.parameters.set("domain_hint",encodeURIComponent(e))}addLoginHint(e){this.parameters.set("login_hint",encodeURIComponent(e))}addCcsUpn(e){this.parameters.set(d,encodeURIComponent(`UPN:${e}`))}addCcsOid(e){this.parameters.set(d,encodeURIComponent(`Oid:${e.uid}@${e.utid}`))}addSid(e){this.parameters.set("sid",encodeURIComponent(e))}addClaims(e,t){const n=this.addClientCapabilitiesToClaims(e,t);ks.validateClaims(n),this.parameters.set("claims",encodeURIComponent(n))}addCorrelationId(e){this.parameters.set("client-request-id",encodeURIComponent(e))}addLibraryInfo(e){this.parameters.set("x-client-SKU",e.sku),this.parameters.set("x-client-VER",e.version),e.os&&this.parameters.set("x-client-OS",e.os),e.cpu&&this.parameters.set("x-client-CPU",e.cpu)}addApplicationTelemetry(e){e?.appName&&this.parameters.set("x-app-name",e.appName),e?.appVersion&&this.parameters.set("x-app-ver",e.appVersion)}addPrompt(e){ks.validatePrompt(e),this.parameters.set("prompt",encodeURIComponent(e))}addState(e){e&&this.parameters.set("state",encodeURIComponent(e))}addNonce(e){this.parameters.set("nonce",encodeURIComponent(e))}addCodeChallengeParams(e,t){if(ks.validateCodeChallengeParams(e,t),!e||!t)throw Dt(Tt);this.parameters.set("code_challenge",encodeURIComponent(e)),this.parameters.set("code_challenge_method",encodeURIComponent(t))}addAuthorizationCode(e){this.parameters.set("code",encodeURIComponent(e))}addDeviceCode(e){this.parameters.set("device_code",encodeURIComponent(e))}addRefreshToken(e){this.parameters.set("refresh_token",encodeURIComponent(e))}addCodeVerifier(e){this.parameters.set("code_verifier",encodeURIComponent(e))}addClientSecret(e){this.parameters.set("client_secret",encodeURIComponent(e))}addClientAssertion(e){e&&this.parameters.set("client_assertion",encodeURIComponent(e))}addClientAssertionType(e){e&&this.parameters.set("client_assertion_type",encodeURIComponent(e))}addOboAssertion(e){this.parameters.set("assertion",encodeURIComponent(e))}addRequestTokenUse(e){this.parameters.set("requested_token_use",encodeURIComponent(e))}addGrantType(e){this.parameters.set("grant_type",encodeURIComponent(e))}addClientInfo(){this.parameters.set("client_info","1")}addExtraQueryParameters(e){Object.entries(e).forEach(([e,t])=>{!this.parameters.has(e)&&t&&this.parameters.set(e,t)})}addClientCapabilitiesToClaims(e,t){let n;if(e)try{n=JSON.parse(e)}catch(e){throw Dt(Ct)}else n={};return t&&t.length>0&&(n.hasOwnProperty(E)||(n[E]={}),n[E].xms_cc={values:t}),JSON.stringify(n)}addUsername(e){this.parameters.set("username",encodeURIComponent(e))}addPassword(e){this.parameters.set("password",encodeURIComponent(e))}addPopToken(e){e&&(this.parameters.set(gs,F.POP),this.parameters.set(ms,encodeURIComponent(e)))}addSshJwk(e){e&&(this.parameters.set(gs,F.SSH),this.parameters.set(ms,encodeURIComponent(e)))}addServerTelemetry(e){this.parameters.set("x-client-current-telemetry",e.generateCurrentRequestHeaderValue()),this.parameters.set("x-client-last-telemetry",e.generateLastRequestHeaderValue())}addThrottling(){this.parameters.set("x-ms-lib-capability","retry-after, h429")}addLogoutHint(e){this.parameters.set("logout_hint",encodeURIComponent(e))}addBrokerParameters(e){const t={};t[bs]=e.brokerClientId,t[ws]=e.brokerRedirectUri,this.addExtraQueryParameters(t)}createQueryString(){const e=new Array;return this.parameters.forEach((t,n)=>{e.push(`${n}=${t}`)}),function(e,t,n){if(!t)return;const r=e.get(hs);r&&e.has(bs)&&n?.addFields({embeddedClientId:r,embeddedRedirectUri:e.get(ps)},t)}(this.parameters,this.correlationId,this.performanceClient),e.join("&")}}async function Ss(e,t,n,r,o,a,i){i?.addQueueMeasurement(vr,a);const s=Ei.transformCIAMAuthority(Ii(e)),c=new Ei(s,t,n,r,o,a,i);try{return await Ci(c.resolveEndpointsAsync.bind(c),br,o,i,a)(),c}catch(e){throw Ke(ne)}}class Es{constructor(e,t){this.config=function({authOptions:e,systemOptions:t,loggerOptions:n,cacheOptions:r,storageInterface:o,networkInterface:a,cryptoInterface:i,clientCredentials:s,libraryInfo:c,telemetry:l,serverTelemetryManager:u,persistencePlugin:d,serializableCache:h}){const p={...hn,...n};return{authOptions:(f=e,{clientCapabilities:[],azureCloudOptions:yn,skipAuthorityMetadataCache:!1,instanceAware:!1,...f}),systemOptions:{...dn,...t},loggerOptions:p,cacheOptions:{...pn,...r},storageInterface:o||new un(e.clientId,$e,new j(p)),networkInterface:a||fn,cryptoInterface:i||$e,clientCredentials:s||mn,libraryInfo:{...gn,...c},telemetry:{...vn,...l},serverTelemetryManager:u||null,persistencePlugin:d||null,serializableCache:h||null};var f}(e),this.logger=new j(this.config.loggerOptions,Ge,We),this.cryptoUtils=this.config.cryptoInterface,this.cacheManager=this.config.storageInterface,this.networkClient=this.config.networkInterface,this.serverTelemetryManager=this.config.serverTelemetryManager,this.authority=this.config.authOptions.authority,this.performanceClient=t}createTokenRequestHeaders(e){const t={};if(t[l]=i.URL_FORM_CONTENT_TYPE,!this.config.systemOptions.preventCorsPreflight&&e)switch(e.type){case qi:try{const n=jt(e.credential);t[d]=`Oid:${n.uid}@${n.utid}`}catch(e){this.logger.verbose("Could not parse home account ID for CCS Header: "+e)}break;case Ui:t[d]=`UPN: ${e.credential}`}return t}async executePostToTokenEndpoint(e,t,n,r,o,a){a&&this.performanceClient?.addQueueMeasurement(a,o);const i=await this.sendPostRequest(r,e,{body:t,headers:n},o);return this.config.serverTelemetryManager&&i.status<500&&429!==i.status&&this.config.serverTelemetryManager.clearTelemetryCache(),i}async sendPostRequest(e,t,n,r){let o;ds.preProcess(this.cacheManager,e,r);try{o=await Ci(this.networkClient.sendPostRequestAsync.bind(this.networkClient),Ln,this.logger,this.performanceClient,r)(t,n);const e=o.headers||{};this.performanceClient?.addFields({refreshTokenSize:o.body.refresh_token?.length||0,httpVerToken:e[p]||"",requestId:e[h]||""},r)}catch(e){if(e instanceof _o){const t=e.responseHeaders;throw t&&this.performanceClient?.addFields({httpVerToken:t[p]||"",requestId:t[h]||"",contentTypeHeader:t[l]||void 0,contentLengthHeader:t["Content-Length"]||void 0,httpStatus:e.httpStatus},r),e.error}throw e instanceof Y?e:Ke(re)}return ds.postProcess(this.cacheManager,e,o,r),o}async updateAuthority(e,t){this.performanceClient?.addQueueMeasurement(lr,t);const n=`https://${e}/${this.authority.tenant}/`,r=await Ss(n,this.networkClient,this.cacheManager,this.authority.options,this.logger,t,this.performanceClient);this.authority=r}createTokenQueryParameters(e){const t=new Cs(e.correlationId,this.performanceClient);return e.embeddedClientId&&t.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenQueryParameters&&t.addExtraQueryParameters(e.tokenQueryParameters),t.addCorrelationId(e.correlationId),t.createQueryString()}}class Is{constructor(e,t){this.cryptoUtils=e,this.performanceClient=t}async generateCnf(e,t){this.performanceClient?.addQueueMeasurement(fr,e.correlationId);const n=await Ci(this.generateKid.bind(this),fr,t,this.performanceClient,e.correlationId)(e),r=this.cryptoUtils.base64UrlEncode(JSON.stringify(n));return{kid:n.kid,reqCnfString:r}}async generateKid(e){return this.performanceClient?.addQueueMeasurement(gr,e.correlationId),{kid:await this.cryptoUtils.getPublicKeyThumbprint(e),xms_ksl:"sw"}}async signPopToken(e,t,n){return this.signPayload(e,t,n)}async signPayload(e,t,n,r){const{resourceRequestMethod:o,resourceRequestUri:a,shrClaims:i,shrNonce:s,shrOptions:c}=n,l=a?new Jt(a):void 0,u=l?.getUrlComponents();return this.cryptoUtils.signJwt({at:e,ts:Ye(),m:o?.toUpperCase(),u:u?.HostNameAndPort,nonce:s||this.cryptoUtils.createNewGuid(),p:u?.AbsolutePath,q:u?.QueryString?[[],u.QueryString]:void 0,client_claims:i||void 0,...r},t,c,n.correlationId)}}class Ts{constructor(e,t){this.cache=e,this.hasChanged=t}get cacheHasChanged(){return this.hasChanged}get tokenCache(){return this.cache}}class xs{constructor(e,t,n,r,o,a,i){this.clientId=e,this.cacheStorage=t,this.cryptoObj=n,this.logger=r,this.serializableCache=o,this.persistencePlugin=a,this.performanceClient=i}validateServerAuthorizationCodeResponse(e,t){if(!e.state||!t)throw e.state?Ke(ce,"Cached State"):Ke(ce,"Server State");let n,r;try{n=decodeURIComponent(e.state)}catch(t){throw Ke(ie,e.state)}try{r=decodeURIComponent(t)}catch(t){throw Ke(ie,e.state)}if(n!==r)throw Ke(se);if(e.error||e.error_description||e.suberror){const t=function(e){const t=e.error_uri?.lastIndexOf("code=");return t&&t>=0?e.error_uri?.substring(t+5):void 0}(e);if(Oi(e.error,e.error_description,e.suberror))throw new Mi(e.error||"",e.error_description,e.suberror,e.timestamp||"",e.trace_id||"",e.correlation_id||"",e.claims||"",t);throw new us(e.error||"",e.error_description,e.suberror,t)}}validateTokenResponse(e,t){if(e.error||e.error_description||e.suberror){const n=`Error(s): ${e.error_codes||i.NOT_AVAILABLE} - Timestamp: ${e.timestamp||i.NOT_AVAILABLE} - Description: ${e.error_description||i.NOT_AVAILABLE} - Correlation ID: ${e.correlation_id||i.NOT_AVAILABLE} - Trace ID: ${e.trace_id||i.NOT_AVAILABLE}`,r=e.error_codes?.length?e.error_codes[0]:void 0,o=new us(e.error,n,e.suberror,r,e.status);if(t&&e.status&&e.status>=500&&e.status<=599)return void this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently unavailable and the access token is unable to be refreshed.\n${o}`);if(t&&e.status&&e.status>=400&&e.status<=499)return void this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently available but is unable to refresh the access token.\n${o}`);if(Oi(e.error,e.error_description,e.suberror))throw new Mi(e.error,e.error_description,e.suberror,e.timestamp||i.EMPTY_STRING,e.trace_id||i.EMPTY_STRING,e.correlation_id||i.EMPTY_STRING,e.claims||i.EMPTY_STRING,r);throw o}}async handleServerTokenResponse(e,t,n,r,o,a,s,c,l){let u,d;if(this.performanceClient?.addQueueMeasurement(mr,e.correlation_id),e.id_token){if(u=Qe(e.id_token||i.EMPTY_STRING,this.cryptoObj.base64Decode),o&&o.nonce&&u.nonce!==o.nonce)throw Ke(le);if(r.maxAge||0===r.maxAge){const e=u.auth_time;if(!e)throw Ke(ue);Ve(e,r.maxAge)}}this.homeAccountIdentifier=Qt.generateHomeAccountId(e.client_info||i.EMPTY_STRING,t.authorityType,this.logger,this.cryptoObj,u),o&&o.state&&(d=Li.parseRequestState(this.cryptoObj,o.state)),e.key_id=e.key_id||r.sshKid||void 0;const h=this.generateCacheRecord(e,t,n,r,u,a,o);let p;try{if(this.persistencePlugin&&this.serializableCache&&(this.logger.verbose("Persistence enabled, calling beforeCacheAccess"),p=new Ts(this.serializableCache,!0),await this.persistencePlugin.beforeCacheAccess(p)),s&&!c&&h.account){const e=h.account.generateAccountKey();if(!this.cacheStorage.getAccount(e,r.correlationId,this.logger))return this.logger.warning("Account used to refresh tokens not in persistence, refreshed tokens will not be stored in the cache"),await xs.generateAuthenticationResult(this.cryptoObj,t,h,!1,r,u,d,void 0,l)}await this.cacheStorage.saveCacheRecord(h,r.correlationId,r.storeInCache)}finally{this.persistencePlugin&&this.serializableCache&&p&&(this.logger.verbose("Persistence enabled, calling afterCacheAccess"),await this.persistencePlugin.afterCacheAccess(p))}return xs.generateAuthenticationResult(this.cryptoObj,t,h,!1,r,u,d,e,l)}generateCacheRecord(e,t,n,r,o,a,i){const s=t.getPreferredCache();if(!s)throw Ke(Ee);const c=Wt(o);let l,u;e.id_token&&o&&(l=Ze(this.homeAccountIdentifier,s,e.id_token,this.clientId,c||""),u=As(this.cacheStorage,t,this.homeAccountIdentifier,this.cryptoObj.base64Decode,r.correlationId,o,e.client_info,s,c,i,void 0,this.logger));let d=null;if(e.access_token){const o=e.scope?Ht.fromString(e.scope):new Ht(r.scopes||[]),i=("string"==typeof e.expires_in?parseInt(e.expires_in,10):e.expires_in)||0,l=("string"==typeof e.ext_expires_in?parseInt(e.ext_expires_in,10):e.ext_expires_in)||0,u=("string"==typeof e.refresh_in?parseInt(e.refresh_in,10):e.refresh_in)||void 0,h=n+i,p=h+l,f=u&&u>0?n+u:void 0;d=et(this.homeAccountIdentifier,s,e.access_token,this.clientId,c||t.tenant||"",o.printScopes(),h,p,this.cryptoObj.base64Decode,f,e.token_type,a,e.key_id,r.claims,r.requestedClaimsHash)}let h=null;if(e.refresh_token){let t;e.refresh_token_expires_in&&(t=n+("string"==typeof e.refresh_token_expires_in?parseInt(e.refresh_token_expires_in,10):e.refresh_token_expires_in)),h=tt(this.homeAccountIdentifier,s,e.refresh_token,this.clientId,e.foci,a,t)}let p=null;return e.foci&&(p={clientId:this.clientId,environment:s,familyId:e.foci}),{account:u,idToken:l,accessToken:d,refreshToken:h,appMetadata:p}}static async generateAuthenticationResult(e,t,n,r,o,a,s,c,l){let u,d,h=i.EMPTY_STRING,p=[],f=null,g=i.EMPTY_STRING;if(n.accessToken){if(n.accessToken.tokenType!==F.POP||o.popKid)h=n.accessToken.secret;else{const t=new Is(e),{secret:r,keyId:a}=n.accessToken;if(!a)throw Ke(Le);h=await t.signPopToken(r,a,o)}p=Ht.fromString(n.accessToken.target).asArray(),f=new Date(1e3*Number(n.accessToken.expiresOn)),u=new Date(1e3*Number(n.accessToken.extendedExpiresOn)),n.accessToken.refreshOn&&(d=new Date(1e3*Number(n.accessToken.refreshOn)))}n.appMetadata&&(g=n.appMetadata.familyId===M?M:"");const m=a?.oid||a?.sub||"",y=a?.tid||"";c?.spa_accountid&&n.account&&(n.account.nativeAccountId=c?.spa_accountid);const v=n.account?Gt(n.account.getAccountInfo(),void 0,a,n.idToken?.secret):null;return{authority:t.canonicalAuthority,uniqueId:m,tenantId:y,scopes:p,account:v,idToken:n?.idToken?.secret||"",idTokenClaims:a||{},accessToken:h,fromCache:r,expiresOn:f,extExpiresOn:u,refreshOn:d,correlationId:o.correlationId,requestId:l||i.EMPTY_STRING,familyId:g,tokenType:n.accessToken?.tokenType||i.EMPTY_STRING,state:s?s.userRequestState:i.EMPTY_STRING,cloudGraphHostName:n.account?.cloudGraphHostName||i.EMPTY_STRING,msGraphHost:n.account?.msGraphHost||i.EMPTY_STRING,code:c?.spa_code,fromNativeBroker:!1}}}function As(e,t,n,r,o,a,i,s,c,l,u,d){d?.verbose("setCachedAccount called");const h=e.getAccountKeys().find(e=>e.startsWith(n));let p=null;h&&(p=e.getAccount(h,o,d));const f=p||Qt.createAccount({homeAccountId:n,idTokenClaims:a,clientInfo:i,environment:s,cloudGraphHostName:l?.cloud_graph_host_name,msGraphHost:l?.msgraph_host,nativeAccountId:u},t,r),g=f.tenantProfiles||[],m=c||f.realm;if(m&&!g.find(e=>e.tenantId===m)){const e=$t(n,f.localAccountId,m,a);g.push(e)}return f.tenantProfiles=g,f}async function _s(e,t,n){return"string"==typeof e?e:e({clientId:t,tokenEndpoint:n})}class Ps extends Es{constructor(e,t){super(e,t),this.includeRedirectUri=!0,this.oidcDefaultScopes=this.config.authOptions.authority.options.OIDCOptions?.defaultScopes}async getAuthCodeUrl(e){this.performanceClient?.addQueueMeasurement(ir,e.correlationId);const t=await Ci(this.createAuthCodeUrlQueryString.bind(this),pr,this.logger,this.performanceClient,e.correlationId)(e);return Jt.appendQueryString(this.authority.authorizationEndpoint,t)}async acquireToken(e,t){if(this.performanceClient?.addQueueMeasurement(ur,e.correlationId),!e.code)throw Ke(ge);const n=Ye(),r=await Ci(this.executeTokenRequest.bind(this),dr,this.logger,this.performanceClient,e.correlationId)(this.authority,e),o=r.headers?.[h],a=new xs(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,this.config.serializableCache,this.config.persistencePlugin,this.performanceClient);return a.validateTokenResponse(r.body),Ci(a.handleServerTokenResponse.bind(a),mr,this.logger,this.performanceClient,e.correlationId)(r.body,this.authority,n,e,t,void 0,void 0,void 0,o)}handleFragmentResponse(e,t){if(new xs(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,null,null).validateServerAuthorizationCodeResponse(e,t),!e.code)throw Ke(Me);return e}getLogoutUri(e){if(!e)throw Dt(Et);const t=this.createLogoutUrlQueryString(e);return Jt.appendQueryString(this.authority.endSessionEndpoint,t)}async executeTokenRequest(e,t){this.performanceClient?.addQueueMeasurement(dr,t.correlationId);const n=this.createTokenQueryParameters(t),r=Jt.appendQueryString(e.tokenEndpoint,n),o=await Ci(this.createTokenRequestBody.bind(this),hr,this.logger,this.performanceClient,t.correlationId)(t);let a;if(t.clientInfo)try{const e=Bt(t.clientInfo,this.cryptoUtils.base64Decode);a={credential:`${e.uid}.${e.utid}`,type:qi}}catch(e){this.logger.verbose("Could not parse client info for CCS Header: "+e)}const i=this.createTokenRequestHeaders(a||t.ccsCredential),s={clientId:t.tokenBodyParameters?.clientId||this.config.authOptions.clientId,authority:e.canonicalAuthority,scopes:t.scopes,claims:t.claims,authenticationScheme:t.authenticationScheme,resourceRequestMethod:t.resourceRequestMethod,resourceRequestUri:t.resourceRequestUri,shrClaims:t.shrClaims,sshKid:t.sshKid};return Ci(this.executePostToTokenEndpoint.bind(this),Un,this.logger,this.performanceClient,t.correlationId)(r,o,i,s,t.correlationId,Un)}async createTokenRequestBody(e){this.performanceClient?.addQueueMeasurement(hr,e.correlationId);const t=new Cs(e.correlationId,this.performanceClient);if(t.addClientId(e.embeddedClientId||e.tokenBodyParameters?.[hs]||this.config.authOptions.clientId),this.includeRedirectUri?t.addRedirectUri(e.redirectUri):ks.validateRedirectUri(e.redirectUri),t.addScopes(e.scopes,!0,this.oidcDefaultScopes),t.addAuthorizationCode(e.code),t.addLibraryInfo(this.config.libraryInfo),t.addApplicationTelemetry(this.config.telemetry.application),t.addThrottling(),this.serverTelemetryManager&&!bn(this.config)&&t.addServerTelemetry(this.serverTelemetryManager),e.codeVerifier&&t.addCodeVerifier(e.codeVerifier),this.config.clientCredentials.clientSecret&&t.addClientSecret(this.config.clientCredentials.clientSecret),this.config.clientCredentials.clientAssertion){const n=this.config.clientCredentials.clientAssertion;t.addClientAssertion(await _s(n.assertion,this.config.authOptions.clientId,e.resourceRequestUri)),t.addClientAssertionType(n.assertionType)}if(t.addGrantType("authorization_code"),t.addClientInfo(),e.authenticationScheme===F.POP){const n=new Is(this.cryptoUtils,this.performanceClient);let r;r=e.popKid?this.cryptoUtils.encodeKid(e.popKid):(await Ci(n.generateCnf.bind(n),fr,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,t.addPopToken(r)}else if(e.authenticationScheme===F.SSH){if(!e.sshJwk)throw Dt(Pt);t.addSshJwk(e.sshJwk)}let n;if((!Ft.isEmptyObj(e.claims)||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&t.addClaims(e.claims,this.config.authOptions.clientCapabilities),e.clientInfo)try{const t=Bt(e.clientInfo,this.cryptoUtils.base64Decode);n={credential:`${t.uid}.${t.utid}`,type:qi}}catch(e){this.logger.verbose("Could not parse client info for CCS Header: "+e)}else n=e.ccsCredential;if(this.config.systemOptions.preventCorsPreflight&&n)switch(n.type){case qi:try{const e=jt(n.credential);t.addCcsOid(e)}catch(e){this.logger.verbose("Could not parse home account ID for CCS Header: "+e)}break;case Ui:t.addCcsUpn(n.credential)}return e.embeddedClientId&&t.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenBodyParameters&&t.addExtraQueryParameters(e.tokenBodyParameters),!e.enableSpaAuthorizationCode||e.tokenBodyParameters&&e.tokenBodyParameters[ys]||t.addExtraQueryParameters({[ys]:"1"}),t.createQueryString()}async createAuthCodeUrlQueryString(e){const t=e.correlationId||this.config.cryptoInterface.createNewGuid();this.performanceClient?.addQueueMeasurement(pr,t);const n=new Cs(t,this.performanceClient);n.addClientId(e.embeddedClientId||e.extraQueryParameters?.[hs]||this.config.authOptions.clientId);const r=[...e.scopes||[],...e.extraScopesToConsent||[]];if(n.addScopes(r,!0,this.oidcDefaultScopes),n.addRedirectUri(e.redirectUri),n.addCorrelationId(t),n.addResponseMode(e.responseMode),n.addResponseTypeCode(),n.addLibraryInfo(this.config.libraryInfo),bn(this.config)||n.addApplicationTelemetry(this.config.telemetry.application),n.addClientInfo(),e.codeChallenge&&e.codeChallengeMethod&&n.addCodeChallengeParams(e.codeChallenge,e.codeChallengeMethod),e.prompt&&n.addPrompt(e.prompt),e.domainHint&&n.addDomainHint(e.domainHint),e.prompt!==I.SELECT_ACCOUNT)if(e.sid&&e.prompt===I.NONE)this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from request"),n.addSid(e.sid);else if(e.account){const t=this.extractAccountSid(e.account);let r=this.extractLoginHint(e.account);if(r&&e.domainHint&&(this.logger.warning('AuthorizationCodeClient.createAuthCodeUrlQueryString: "domainHint" param is set, skipping opaque "login_hint" claim. Please consider not passing domainHint'),r=null),r){this.logger.verbose("createAuthCodeUrlQueryString: login_hint claim present on account"),n.addLoginHint(r);try{const t=jt(e.account.homeAccountId);n.addCcsOid(t)}catch(e){this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}else if(t&&e.prompt===I.NONE){this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from account"),n.addSid(t);try{const t=jt(e.account.homeAccountId);n.addCcsOid(t)}catch(e){this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}else if(e.loginHint)this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from request"),n.addLoginHint(e.loginHint),n.addCcsUpn(e.loginHint);else if(e.account.username){this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from account"),n.addLoginHint(e.account.username);try{const t=jt(e.account.homeAccountId);n.addCcsOid(t)}catch(e){this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}}else e.loginHint&&(this.logger.verbose("createAuthCodeUrlQueryString: No account, adding login_hint from request"),n.addLoginHint(e.loginHint),n.addCcsUpn(e.loginHint));else this.logger.verbose("createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints");if(e.nonce&&n.addNonce(e.nonce),e.state&&n.addState(e.state),(e.claims||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&n.addClaims(e.claims,this.config.authOptions.clientCapabilities),e.embeddedClientId&&n.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),this.addExtraQueryParams(e,n),e.nativeBroker&&(n.addNativeBroker(),e.authenticationScheme===F.POP)){const t=new Is(this.cryptoUtils);let r;r=e.popKid?this.cryptoUtils.encodeKid(e.popKid):(await Ci(t.generateCnf.bind(t),fr,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,n.addPopToken(r)}return n.createQueryString()}createLogoutUrlQueryString(e){const t=new Cs(e.correlationId,this.performanceClient);return e.postLogoutRedirectUri&&t.addPostLogoutRedirectUri(e.postLogoutRedirectUri),e.correlationId&&t.addCorrelationId(e.correlationId),e.idTokenHint&&t.addIdTokenHint(e.idTokenHint),e.state&&t.addState(e.state),e.logoutHint&&t.addLogoutHint(e.logoutHint),this.addExtraQueryParams(e,t),t.createQueryString()}addExtraQueryParams(e,t){!(e.extraQueryParameters&&e.extraQueryParameters.hasOwnProperty("instance_aware"))&&this.config.authOptions.instanceAware&&(e.extraQueryParameters=e.extraQueryParameters||{},e.extraQueryParameters.instance_aware="true"),e.extraQueryParameters&&t.addExtraQueryParameters(e.extraQueryParameters)}extractAccountSid(e){return e.idTokenClaims?.sid||null}extractLoginHint(e){return e.idTokenClaims?.login_hint||null}}class Rs{constructor(e,t){this.cacheOutcome="0",this.cacheManager=t,this.apiId=e.apiId,this.correlationId=e.correlationId,this.wrapperSKU=e.wrapperSKU||i.EMPTY_STRING,this.wrapperVer=e.wrapperVer||i.EMPTY_STRING,this.telemetryCacheKey=D.CACHE_KEY+P+e.clientId}generateCurrentRequestHeaderValue(){const e=`${this.apiId}${D.VALUE_SEPARATOR}${this.cacheOutcome}`,t=[this.wrapperSKU,this.wrapperVer],n=this.getNativeBrokerErrorCode();n?.length&&t.push(`broker_error=${n}`);const r=t.join(D.VALUE_SEPARATOR),o=[e,this.getRegionDiscoveryFields()].join(D.VALUE_SEPARATOR);return[D.SCHEMA_VERSION,o,r].join(D.CATEGORY_SEPARATOR)}generateLastRequestHeaderValue(){const e=this.getLastRequests(),t=Rs.maxErrorsToSend(e),n=e.failedRequests.slice(0,2*t).join(D.VALUE_SEPARATOR),r=e.errors.slice(0,t).join(D.VALUE_SEPARATOR),o=e.errors.length,a=[o,t<o?D.OVERFLOW_TRUE:D.OVERFLOW_FALSE].join(D.VALUE_SEPARATOR);return[D.SCHEMA_VERSION,e.cacheHits,n,r,a].join(D.CATEGORY_SEPARATOR)}cacheFailedRequest(e){const t=this.getLastRequests();t.errors.length>=D.MAX_CACHED_ERRORS&&(t.failedRequests.shift(),t.failedRequests.shift(),t.errors.shift()),t.failedRequests.push(this.apiId,this.correlationId),e instanceof Error&&e&&e.toString()?e instanceof Y?e.subError?t.errors.push(e.subError):e.errorCode?t.errors.push(e.errorCode):t.errors.push(e.toString()):t.errors.push(e.toString()):t.errors.push(D.UNKNOWN_ERROR),this.cacheManager.setServerTelemetry(this.telemetryCacheKey,t,this.correlationId)}incrementCacheHits(){const e=this.getLastRequests();return e.cacheHits+=1,this.cacheManager.setServerTelemetry(this.telemetryCacheKey,e,this.correlationId),e.cacheHits}getLastRequests(){return this.cacheManager.getServerTelemetry(this.telemetryCacheKey)||{failedRequests:[],errors:[],cacheHits:0}}clearTelemetryCache(){const e=this.getLastRequests(),t=Rs.maxErrorsToSend(e);if(t===e.errors.length)this.cacheManager.removeItem(this.telemetryCacheKey,this.correlationId);else{const n={failedRequests:e.failedRequests.slice(2*t),errors:e.errors.slice(t),cacheHits:0};this.cacheManager.setServerTelemetry(this.telemetryCacheKey,n,this.correlationId)}}static maxErrorsToSend(e){let t,n=0,r=0;const o=e.errors.length;for(t=0;t<o;t++){const o=e.failedRequests[2*t]||i.EMPTY_STRING,a=e.failedRequests[2*t+1]||i.EMPTY_STRING,s=e.errors[t]||i.EMPTY_STRING;if(r+=o.toString().length+a.toString().length+s.length+3,!(r<D.MAX_LAST_HEADER_BYTES))break;n+=1}return n}getRegionDiscoveryFields(){const e=[];return e.push(this.regionUsed||i.EMPTY_STRING),e.push(this.regionSource||i.EMPTY_STRING),e.push(this.regionOutcome||i.EMPTY_STRING),e.join(",")}updateRegionDiscoveryMetadata(e){this.regionUsed=e.region_used,this.regionSource=e.region_source,this.regionOutcome=e.region_outcome}setCacheOutcome(e){this.cacheOutcome=e}setNativeBrokerErrorCode(e){const t=this.getLastRequests();t.nativeBrokerErrorCode=e,this.cacheManager.setServerTelemetry(this.telemetryCacheKey,t,this.correlationId)}getNativeBrokerErrorCode(){return this.getLastRequests().nativeBrokerErrorCode}clearNativeBrokerErrorCode(){const e=this.getLastRequests();delete e.nativeBrokerErrorCode,this.cacheManager.setServerTelemetry(this.telemetryCacheKey,e,this.correlationId)}static makeExtraSkuString(e){return function(e){const{skus:t,libraryName:n,libraryVersion:r,extensionName:o,extensionVersion:a}=e,i=new Map([[0,[n,r]],[2,[o,a]]]);let s=[];if(t?.length){if(s=t.split(","),s.length<4)return t}else s=Array.from({length:4},()=>"|");return i.forEach((e,t)=>{2===e.length&&e[0]?.length&&e[1]?.length&&function(e){const{skuArr:t,index:n,skuName:r,skuVersion:o}=e;n>=t.length||(t[n]=[r,o].join("|"))}({skuArr:s,index:t,skuName:e[0],skuVersion:e[1]})}),s.join(",")}(e)}}class Ns{constructor(e,t,n,r,o,a,i,s,c){this.config=e,this.browserStorage=t,this.browserCrypto=n,this.networkClient=this.config.system.networkClient,this.eventHandler=o,this.navigationClient=a,this.nativeMessageHandler=s,this.correlationId=c||Ka(),this.logger=r.clone($r,ii,this.correlationId),this.performanceClient=i}async clearCacheOnLogout(e){if(e){Qt.accountInfoIsEqual(e,this.browserStorage.getActiveAccount(this.correlationId),!1)&&(this.logger.verbose("Setting active account to null"),this.browserStorage.setActiveAccount(null,this.correlationId));try{await this.browserStorage.removeAccount(Qt.generateAccountCacheKey(e),this.correlationId),this.logger.verbose("Cleared cache items belonging to the account provided in the logout request.")}catch(e){this.logger.error("Account provided in logout request was not found. Local cache unchanged.")}}else try{this.logger.verbose("No account provided in logout request, clearing all cache items.",this.correlationId),await this.browserStorage.clear(this.correlationId),await this.browserCrypto.clearKeystore()}catch(e){this.logger.error("Attempted to clear all MSAL cache items and failed. Local cache unchanged.")}}getRedirectUri(e){this.logger.verbose("getRedirectUri called");const t=e||this.config.auth.redirectUri;return Jt.getAbsoluteUrl(t,ei())}initializeServerTelemetryManager(e,t){this.logger.verbose("initializeServerTelemetryManager called");const n={clientId:this.config.auth.clientId,correlationId:this.correlationId,apiId:e,forceRefresh:t||!1,wrapperSKU:this.browserStorage.getWrapperMetadata()[0],wrapperVer:this.browserStorage.getWrapperMetadata()[1]};return new Rs(n,this.browserStorage)}async getDiscoveredAuthority(e){const{account:t}=e,n=e.requestExtraQueryParameters&&e.requestExtraQueryParameters.hasOwnProperty("instance_aware")?e.requestExtraQueryParameters.instance_aware:void 0;this.performanceClient.addQueueMeasurement(Mn,this.correlationId);const r={protocolMode:this.config.auth.protocolMode,OIDCOptions:this.config.auth.OIDCOptions,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata,skipAuthorityMetadataCache:this.config.auth.skipAuthorityMetadataCache},o=e.requestAuthority||this.config.auth.authority,a=n?.length?"true"===n:this.config.auth.instanceAware,i=t&&a?this.config.auth.authority.replace(Jt.getDomainFromUrl(o),t.environment):o,s=Ei.generateAuthority(i,e.requestAzureCloudOptions||this.config.auth.azureCloudOptions),c=await Ci(Ss,vr,this.logger,this.performanceClient,this.correlationId)(s,this.config.system.networkClient,this.browserStorage,r,this.logger,this.correlationId,this.performanceClient);if(t&&!c.isAlias(t.environment))throw Dt(Lt);return c}}async function Ms(e,t,n){e.addQueueMeasurement(zr,n);const r=ki(Os,Lr,t,e,n)(e,t,n);return{verifier:r,challenge:await Ci(zs,qr,t,e,n)(r,e,t,n)}}function Os(e,t,n){try{const r=new Uint8Array(32);return ki(Ba,Dr,t,e,n)(r),Ma(r)}catch(e){throw Aa(Ro)}}async function zs(e,t,n,r){t.addQueueMeasurement(qr,r);try{const o=await Ci(Ha,Ur,n,t,r)(e,t,r);return Ma(new Uint8Array(o))}catch(e){throw Aa(Ro)}}async function Ls(e,t,n,r){n.addQueueMeasurement(Qn,e.correlationId);const o=e.authority||t.auth.authority,a=[...e&&e.scopes||[]],i={...e,correlationId:e.correlationId,authority:o,scopes:a};if(i.authenticationScheme){if(i.authenticationScheme===F.SSH){if(!e.sshJwk)throw Dt(Pt);if(!e.sshKid)throw Dt(Rt)}r.verbose(`Authentication Scheme set to "${i.authenticationScheme}" as configured in Auth request`)}else i.authenticationScheme=F.BEARER,r.verbose('Authentication Scheme wasn\'t explicitly set in request, defaulting to "Bearer" request');return t.cache.claimsBasedCachingEnabled&&e.claims&&!Ft.isEmptyObj(e.claims)&&(i.requestedClaimsHash=await Ga(e.claims)),i}async function qs(e,t,n,r,o){r.addQueueMeasurement(Vn,e.correlationId);const a=await Ci(Ls,Qn,o,r,e.correlationId)(e,n,r,o);return{...e,...a,account:t,forceRefresh:e.forceRefresh||!1}}class Us extends Ns{async initializeAuthorizationCodeRequest(e){this.performanceClient.addQueueMeasurement(ar,this.correlationId);const t=await Ci(Ms,zr,this.logger,this.performanceClient,this.correlationId)(this.performanceClient,this.logger,this.correlationId),n={...e,redirectUri:e.redirectUri,code:i.EMPTY_STRING,codeVerifier:t.verifier};return e.codeChallenge=t.challenge,e.codeChallengeMethod=i.S256_CODE_CHALLENGE_METHOD,n}initializeLogoutRequest(e){this.logger.verbose("initializeLogoutRequest called",e?.correlationId);const t={correlationId:this.correlationId||Ka(),...e};if(e)if(e.logoutHint)this.logger.verbose("logoutHint has already been set in logoutRequest");else if(e.account){const n=this.getLogoutHintFromIdTokenClaims(e.account);n&&(this.logger.verbose("Setting logoutHint to login_hint ID Token Claim value for the account provided"),t.logoutHint=n)}else this.logger.verbose("logoutHint was not set and account was not passed into logout request, logoutHint will not be set");else this.logger.verbose("logoutHint will not be set since no logout request was configured");return e&&null===e.postLogoutRedirectUri?this.logger.verbose("postLogoutRedirectUri passed as null, not setting post logout redirect uri",t.correlationId):e&&e.postLogoutRedirectUri?(this.logger.verbose("Setting postLogoutRedirectUri to uri set on logout request",t.correlationId),t.postLogoutRedirectUri=Jt.getAbsoluteUrl(e.postLogoutRedirectUri,ei())):null===this.config.auth.postLogoutRedirectUri?this.logger.verbose("postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect",t.correlationId):this.config.auth.postLogoutRedirectUri?(this.logger.verbose("Setting postLogoutRedirectUri to configured uri",t.correlationId),t.postLogoutRedirectUri=Jt.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri,ei())):(this.logger.verbose("Setting postLogoutRedirectUri to current page",t.correlationId),t.postLogoutRedirectUri=Jt.getAbsoluteUrl(ei(),ei())),t}getLogoutHintFromIdTokenClaims(e){const t=e.idTokenClaims;if(t){if(t.login_hint)return t.login_hint;this.logger.verbose("The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request")}else this.logger.verbose("The provided account does not contain ID Token Claims, logoutHint will not be added to logout request");return null}async createAuthCodeClient(e){this.performanceClient.addQueueMeasurement(nr,this.correlationId);const t=await Ci(this.getClientConfiguration.bind(this),rr,this.logger,this.performanceClient,this.correlationId)(e);return new Ps(t,this.performanceClient)}async getClientConfiguration(e){const{serverTelemetryManager:t,requestAuthority:n,requestAzureCloudOptions:r,requestExtraQueryParameters:o,account:a}=e;this.performanceClient.addQueueMeasurement(rr,this.correlationId);const s=await Ci(this.getDiscoveredAuthority.bind(this),Mn,this.logger,this.performanceClient,this.correlationId)({requestAuthority:n,requestAzureCloudOptions:r,requestExtraQueryParameters:o,account:a}),c=this.config.system.loggerOptions;return{authOptions:{clientId:this.config.auth.clientId,authority:s,clientCapabilities:this.config.auth.clientCapabilities,redirectUri:this.config.auth.redirectUri},systemOptions:{tokenRenewalOffsetSeconds:this.config.system.tokenRenewalOffsetSeconds,preventCorsPreflight:!0},loggerOptions:{loggerCallback:c.loggerCallback,piiLoggingEnabled:c.piiLoggingEnabled,logLevel:c.logLevel,correlationId:this.correlationId},cacheOptions:{claimsBasedCachingEnabled:this.config.cache.claimsBasedCachingEnabled},cryptoInterface:this.browserCrypto,networkInterface:this.networkClient,storageInterface:this.browserStorage,serverTelemetryManager:t,libraryInfo:{sku:$r,version:ii,cpu:i.EMPTY_STRING,os:i.EMPTY_STRING},telemetry:this.config.telemetry}}async initializeAuthorizationRequest(e,t){this.performanceClient.addQueueMeasurement(or,this.correlationId);const n=this.getRedirectUri(e.redirectUri),r={interactionType:t},o=Li.setRequestState(this.browserCrypto,e&&e.state||i.EMPTY_STRING,r),a={...await Ci(Ls,Qn,this.logger,this.performanceClient,this.correlationId)({...e,correlationId:this.correlationId},this.config,this.performanceClient,this.logger),redirectUri:n,state:o,nonce:e.nonce||Ka(),responseMode:this.config.auth.OIDCOptions.serverResponseType};if(e.loginHint||e.sid)return a;const s=e.account||this.browserStorage.getActiveAccount(this.correlationId);if(s&&(this.logger.verbose("Setting validated request account",this.correlationId),this.logger.verbosePii(`Setting validated request account: ${s.homeAccountId}`,this.correlationId),a.account=s),!a.loginHint&&!s){const e=this.browserStorage.getLegacyLoginHint();e&&(a.loginHint=e)}return a}}const Ds="user_switch",Fs={[Ds]:"User attempted to switch accounts in the native broker, which is not allowed. All new accounts must sign-in through the standard web flow first, please try again."};class Hs extends Y{constructor(e,t,n){super(e,t),Object.setPrototypeOf(this,Hs.prototype),this.name="NativeAuthError",this.ext=n}}function Bs(e){return!(!e.ext||!e.ext.status||"PERSISTENT_ERROR"!==e.ext.status&&"DISABLED"!==e.ext.status)||!(!e.ext||!e.ext.error||-2147186943!==e.ext.error)||"ContentError"===e.errorCode}function js(e,t,n){if(n&&n.status)switch(n.status){case"ACCOUNT_UNAVAILABLE":return zi(xi);case"USER_INTERACTION_REQUIRED":return new Mi(e,t);case"USER_CANCEL":return Aa(Bo);case"NO_NETWORK":return Aa(aa)}return new Hs(e,Fs[e]||t,n)}class Ks extends Es{constructor(e,t){super(e,t)}async acquireToken(e){this.performanceClient?.addQueueMeasurement(Fn,e.correlationId);const t=Ye(),n=await Ci(this.executeTokenRequest.bind(this),Dn,this.logger,this.performanceClient,e.correlationId)(e,this.authority),r=n.headers?.[h],o=new xs(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,this.config.serializableCache,this.config.persistencePlugin);return o.validateTokenResponse(n.body),Ci(o.handleServerTokenResponse.bind(o),mr,this.logger,this.performanceClient,e.correlationId)(n.body,this.authority,t,e,void 0,void 0,!0,e.forceCache,r)}async acquireTokenByRefreshToken(e){if(!e)throw Dt(St);if(this.performanceClient?.addQueueMeasurement(Bn,e.correlationId),!e.account)throw Ke(Ce);if(this.cacheManager.isAppMetadataFOCI(e.account.environment))try{return await Ci(this.acquireTokenWithCachedRefreshToken.bind(this),Hn,this.logger,this.performanceClient,e.correlationId)(e,!0)}catch(t){const n=t instanceof Mi&&t.errorCode===Ti,r=t instanceof us&&"invalid_grant"===t.errorCode&&"client_mismatch"===t.subError;if(n||r)return Ci(this.acquireTokenWithCachedRefreshToken.bind(this),Hn,this.logger,this.performanceClient,e.correlationId)(e,!1);throw t}return Ci(this.acquireTokenWithCachedRefreshToken.bind(this),Hn,this.logger,this.performanceClient,e.correlationId)(e,!1)}async acquireTokenWithCachedRefreshToken(e,t){this.performanceClient?.addQueueMeasurement(Hn,e.correlationId);const n=ki(this.cacheManager.getRefreshToken.bind(this.cacheManager),Or,this.logger,this.performanceClient,e.correlationId)(e.account,t,e.correlationId,void 0,this.performanceClient);if(!n)throw zi(Ti);if(n.expiresOn&&Je(n.expiresOn,e.refreshTokenExpirationOffsetSeconds||300))throw zi(Ai);const r={...e,refreshToken:n.secret,authenticationScheme:e.authenticationScheme||F.BEARER,ccsCredential:{credential:e.account.homeAccountId,type:qi}};try{return await Ci(this.acquireToken.bind(this),Fn,this.logger,this.performanceClient,e.correlationId)(r)}catch(t){if(t instanceof Mi&&t.subError===_i){this.logger.verbose("acquireTokenWithRefreshToken: bad refresh token, removing from cache");const t=Xe(n);this.cacheManager.removeRefreshToken(t,e.correlationId)}throw t}}async executeTokenRequest(e,t){this.performanceClient?.addQueueMeasurement(Dn,e.correlationId);const n=this.createTokenQueryParameters(e),r=Jt.appendQueryString(t.tokenEndpoint,n),o=await Ci(this.createTokenRequestBody.bind(this),jn,this.logger,this.performanceClient,e.correlationId)(e),a=this.createTokenRequestHeaders(e.ccsCredential),i={clientId:e.tokenBodyParameters?.clientId||this.config.authOptions.clientId,authority:t.canonicalAuthority,scopes:e.scopes,claims:e.claims,authenticationScheme:e.authenticationScheme,resourceRequestMethod:e.resourceRequestMethod,resourceRequestUri:e.resourceRequestUri,shrClaims:e.shrClaims,sshKid:e.sshKid};return Ci(this.executePostToTokenEndpoint.bind(this),qn,this.logger,this.performanceClient,e.correlationId)(r,o,a,i,e.correlationId,qn)}async createTokenRequestBody(e){this.performanceClient?.addQueueMeasurement(jn,e.correlationId);const t=e.correlationId,n=new Cs(t,this.performanceClient);if(n.addClientId(e.embeddedClientId||e.tokenBodyParameters?.[hs]||this.config.authOptions.clientId),e.redirectUri&&n.addRedirectUri(e.redirectUri),n.addScopes(e.scopes,!0,this.config.authOptions.authority.options.OIDCOptions?.defaultScopes),n.addGrantType("refresh_token"),n.addClientInfo(),n.addLibraryInfo(this.config.libraryInfo),n.addApplicationTelemetry(this.config.telemetry.application),n.addThrottling(),this.serverTelemetryManager&&!bn(this.config)&&n.addServerTelemetry(this.serverTelemetryManager),n.addRefreshToken(e.refreshToken),this.config.clientCredentials.clientSecret&&n.addClientSecret(this.config.clientCredentials.clientSecret),this.config.clientCredentials.clientAssertion){const t=this.config.clientCredentials.clientAssertion;n.addClientAssertion(await _s(t.assertion,this.config.authOptions.clientId,e.resourceRequestUri)),n.addClientAssertionType(t.assertionType)}if(e.authenticationScheme===F.POP){const t=new Is(this.cryptoUtils,this.performanceClient);let r;r=e.popKid?this.cryptoUtils.encodeKid(e.popKid):(await Ci(t.generateCnf.bind(t),fr,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,n.addPopToken(r)}else if(e.authenticationScheme===F.SSH){if(!e.sshJwk)throw Dt(Pt);n.addSshJwk(e.sshJwk)}if((!Ft.isEmptyObj(e.claims)||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&n.addClaims(e.claims,this.config.authOptions.clientCapabilities),this.config.systemOptions.preventCorsPreflight&&e.ccsCredential)switch(e.ccsCredential.type){case qi:try{const t=jt(e.ccsCredential.credential);n.addCcsOid(t)}catch(e){this.logger.verbose("Could not parse home account ID for CCS Header: "+e)}break;case Ui:n.addCcsUpn(e.ccsCredential.credential)}return e.embeddedClientId&&n.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenBodyParameters&&n.addExtraQueryParameters(e.tokenBodyParameters),n.createQueryString()}}class $s extends Es{constructor(e,t){super(e,t)}async acquireToken(e){try{const[t,n]=await this.acquireCachedToken({...e,scopes:e.scopes?.length?e.scopes:[...s]});return"4"===n&&(this.logger.info("SilentFlowClient:acquireCachedToken - Cached access token's refreshOn property has been exceeded'. It's not expired, but must be refreshed."),new Ks(this.config,this.performanceClient).acquireTokenByRefreshToken(e).catch(()=>{})),t}catch(t){if(t instanceof je&&t.errorCode===Pe)return new Ks(this.config,this.performanceClient).acquireTokenByRefreshToken(e);throw t}}async acquireCachedToken(e){this.performanceClient?.addQueueMeasurement($n,e.correlationId);let t="0";if(e.forceRefresh||!this.config.cacheOptions.claimsBasedCachingEnabled&&!Ft.isEmptyObj(e.claims))throw this.setCacheOutcome("1",e.correlationId),Ke(Pe);if(!e.account)throw Ke(Ce);const n=e.account.tenantId||function(e){const t=new Jt(e).getUrlComponents(),n=t.PathSegments.slice(-1)[0]?.toLowerCase();switch(n){case k:case C:case S:return;default:return n}}(e.authority),r=this.cacheManager.getTokenKeys(),o=this.cacheManager.getAccessToken(e.account,e,r,n,this.performanceClient);if(!o)throw this.setCacheOutcome("2",e.correlationId),Ke(Pe);if(a=o.cachedAt,Number(a)>Ye()||Je(o.expiresOn,this.config.systemOptions.tokenRenewalOffsetSeconds))throw this.setCacheOutcome("3",e.correlationId),Ke(Pe);var a;o.refreshOn&&Je(o.refreshOn,0)&&(t="4");const i=e.authority||this.authority.getPreferredCache(),s={account:this.cacheManager.readAccountFromCache(e.account,e.correlationId),accessToken:o,idToken:this.cacheManager.getIdToken(e.account,e.correlationId,r,n,this.performanceClient),refreshToken:null,appMetadata:this.cacheManager.readAppMetadataFromCache(i)};return this.setCacheOutcome(t,e.correlationId),this.config.serverTelemetryManager&&this.config.serverTelemetryManager.incrementCacheHits(),[await Ci(this.generateResultFromCacheRecord.bind(this),Gn,this.logger,this.performanceClient,e.correlationId)(s,e),t]}setCacheOutcome(e,t){this.serverTelemetryManager?.setCacheOutcome(e),this.performanceClient?.addFields({cacheOutcome:e},t),"0"!==e&&this.logger.info(`Token refresh is required due to cache outcome: ${e}`)}async generateResultFromCacheRecord(e,t){let n;if(this.performanceClient?.addQueueMeasurement(Gn,t.correlationId),e.idToken&&(n=Qe(e.idToken.secret,this.config.cryptoInterface.base64Decode)),t.maxAge||0===t.maxAge){const e=n?.auth_time;if(!e)throw Ke(ue);Ve(e,t.maxAge)}return xs.generateAuthenticationResult(this.cryptoUtils,this.authority,e,!0,t,n)}}class Gs extends Us{async acquireToken(e){this.performanceClient.addQueueMeasurement(_n,e.correlationId);const t=this.initializeServerTelemetryManager(61),n=await Ci(this.getClientConfiguration.bind(this),rr,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:t,requestAuthority:e.authority,requestAzureCloudOptions:e.azureCloudOptions,account:e.account}),r=new $s(n,this.performanceClient);this.logger.verbose("Silent auth client created");try{const t=(await Ci(r.acquireCachedToken.bind(r),$n,this.logger,this.performanceClient,e.correlationId)(e))[0];return this.performanceClient.addFields({fromCache:!0},e.correlationId),t}catch(e){throw e instanceof xa&&e.errorCode===ua&&this.logger.verbose("Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair."),e}}logout(e){this.logger.verbose("logoutRedirect called");const t=this.initializeLogoutRequest(e);return this.clearCacheOnLogout(t?.account)}}class Ws extends Ns{constructor(e,t,n,r,o,a,i,s,c,l,u,d){super(e,t,n,r,o,a,s,c,d),this.apiId=i,this.accountId=l,this.nativeMessageHandler=c,this.nativeStorageManager=u,this.silentCacheClient=new Gs(e,this.nativeStorageManager,n,r,o,a,s,c,d),this.serverTelemetryManager=this.initializeServerTelemetryManager(this.apiId);const h=this.nativeMessageHandler.getExtensionId()===Wr?"chrome":this.nativeMessageHandler.getExtensionId()?.length?"unknown":void 0;this.skus=Rs.makeExtraSkuString({libraryName:$r,libraryVersion:ii,extensionName:h,extensionVersion:this.nativeMessageHandler.getExtensionVersion()})}addRequestSKUs(e){e.extraParameters={...e.extraParameters,[vs]:this.skus}}async acquireToken(e){this.performanceClient.addQueueMeasurement(zn,e.correlationId),this.logger.trace("NativeInteractionClient - acquireToken called.");const t=this.performanceClient.startMeasurement(zn,e.correlationId),n=Ye();try{const r=await this.initializeNativeRequest(e);try{const e=await this.acquireTokensFromCache(this.accountId,r);return t.end({success:!0,isNativeBroker:!1,fromCache:!0}),e}catch(e){this.logger.info("MSAL internal Cache does not contain tokens, proceed to make a native call")}const{...o}=r,a={method:Vr,request:o},i=await this.nativeMessageHandler.sendMessage(a),s=this.validateNativeResponse(i);return await this.handleNativeResponse(s,r,n).then(e=>(t.end({success:!0,isNativeBroker:!0,requestId:e.requestId}),this.serverTelemetryManager.clearNativeBrokerErrorCode(),e)).catch(e=>{throw t.end({success:!1,errorCode:e.errorCode,subErrorCode:e.subError,isNativeBroker:!0}),e})}catch(e){throw e instanceof Hs&&this.serverTelemetryManager.setNativeBrokerErrorCode(e.errorCode),e}}createSilentCacheRequest(e,t){return{authority:e.authority,correlationId:this.correlationId,scopes:Ht.fromString(e.scope).asArray(),account:t,forceRefresh:!1}}async acquireTokensFromCache(e,t){if(!e)throw this.logger.warning("NativeInteractionClient:acquireTokensFromCache - No nativeAccountId provided"),Ke(Ie);const n=this.browserStorage.getBaseAccountInfo({nativeAccountId:e},t.correlationId);if(!n)throw Ke(Ie);try{const e=this.createSilentCacheRequest(t,n),r=await this.silentCacheClient.acquireToken(e),o={...n,idTokenClaims:r?.idTokenClaims,idToken:r?.idToken};return{...r,account:o}}catch(e){throw e}}async acquireTokenRedirect(e,t){this.logger.trace("NativeInteractionClient - acquireTokenRedirect called.");const{...n}=e;delete n.onRedirectNavigate;const r=await this.initializeNativeRequest(n),o={method:Vr,request:r};try{const e=await this.nativeMessageHandler.sendMessage(o);this.validateNativeResponse(e)}catch(e){if(e instanceof Hs&&(this.serverTelemetryManager.setNativeBrokerErrorCode(e.errorCode),Bs(e)))throw e}this.browserStorage.setTemporaryCache(io,JSON.stringify(r),!0);const a={apiId:po,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},i=this.config.auth.navigateToLoginRequestUrl?window.location.href:this.getRedirectUri(e.redirectUri);t.end({success:!0}),await this.navigationClient.navigateExternal(i,a)}async handleRedirectPromise(e,t){if(this.logger.trace("NativeInteractionClient - handleRedirectPromise called."),!this.browserStorage.isInteractionInProgress(!0))return this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null."),null;const n=this.browserStorage.getCachedNativeRequest();if(!n)return this.logger.verbose("NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null."),e&&t&&e?.addFields({errorCode:"no_cached_request"},t),null;const{prompt:r,...o}=n;r&&this.logger.verbose("NativeInteractionClient - handleRedirectPromise called and prompt was included in the original request, removing prompt from cached request to prevent second interaction with native broker window."),this.browserStorage.removeItem(this.browserStorage.generateCacheKey(io));const a={method:Vr,request:o},i=Ye();try{this.logger.verbose("NativeInteractionClient - handleRedirectPromise sending message to native broker.");const e=await this.nativeMessageHandler.sendMessage(a);this.validateNativeResponse(e);const t=this.handleNativeResponse(e,o,i);this.browserStorage.setInteractionInProgress(!1);const n=await t;return this.serverTelemetryManager.clearNativeBrokerErrorCode(),n}catch(e){throw this.browserStorage.setInteractionInProgress(!1),e}}logout(){return this.logger.trace("NativeInteractionClient - logout called."),Promise.reject("Logout not implemented yet")}async handleNativeResponse(e,t,n){this.logger.trace("NativeInteractionClient - handleNativeResponse called.");const r=Qe(e.id_token,gi),o=this.createHomeAccountIdentifier(e,r),a=this.browserStorage.getAccountInfoFilteredBy({nativeAccountId:t.accountId},this.correlationId)?.homeAccountId;if(o!==a&&e.account.id!==t.accountId)throw js(Ds);const i=await this.getDiscoveredAuthority({requestAuthority:t.authority}),s=As(this.browserStorage,i,o,gi,this.correlationId,r,e.client_info,void 0,r.tid,void 0,e.account.id,this.logger),c=await this.generateAuthenticationResult(e,t,r,s,i.canonicalAuthority,n);return this.cacheAccount(s),this.cacheNativeTokens(e,t,o,r,e.access_token,c.tenantId,n),c}createHomeAccountIdentifier(e,t){return Qt.generateHomeAccountId(e.client_info||i.EMPTY_STRING,0,this.logger,this.browserCrypto,t)}generateScopes(e,t){return e.scope?Ht.fromString(e.scope):Ht.fromString(t.scope)}async generatePopAccessToken(e,t){if(t.tokenType===F.POP&&t.signPopToken){if(e.shr)return this.logger.trace("handleNativeServerResponse: SHR is enabled in native layer"),e.shr;const n=new Is(this.browserCrypto),r={resourceRequestMethod:t.resourceRequestMethod,resourceRequestUri:t.resourceRequestUri,shrClaims:t.shrClaims,shrNonce:t.shrNonce};if(!t.keyId)throw Ke(Le);return n.signPopToken(e.access_token,t.keyId,r)}return e.access_token}async generateAuthenticationResult(e,t,n,r,o,a){const s=this.addTelemetryFromNativeResponse(e),c=e.scope?Ht.fromString(e.scope):Ht.fromString(t.scope),l=e.account.properties||{},u=l.UID||n.oid||n.sub||i.EMPTY_STRING,d=l.TenantId||n.tid||i.EMPTY_STRING,h=Gt(r.getAccountInfo(),void 0,n,e.id_token);h.nativeAccountId!==e.account.id&&(h.nativeAccountId=e.account.id);const p=await this.generatePopAccessToken(e,t),f=t.tokenType===F.POP?F.POP:F.BEARER;return{authority:o,uniqueId:u,tenantId:d,scopes:c.asArray(),account:h,idToken:e.id_token,idTokenClaims:n,accessToken:p,fromCache:!!s&&this.isResponseFromCache(s),expiresOn:new Date(1e3*Number(a+e.expires_in)),tokenType:f,correlationId:this.correlationId,state:e.state,fromNativeBroker:!0}}cacheAccount(e){this.browserStorage.setAccount(e,this.correlationId),this.browserStorage.removeAccountContext(e,this.correlationId).catch(e=>{this.logger.error(`Error occurred while removing account context from browser storage. ${e}`)})}cacheNativeTokens(e,t,n,r,o,a,s){const c=Ze(n,t.authority,e.id_token||"",t.clientId,r.tid||""),l=s+(t.tokenType===F.POP?i.SHR_NONCE_VALIDITY:("string"==typeof e.expires_in?parseInt(e.expires_in,10):e.expires_in)||0),u=this.generateScopes(e,t),d={idToken:c,accessToken:et(n,t.authority,o,t.clientId,r.tid||a,u.printScopes(),l,0,gi,void 0,t.tokenType,void 0,t.keyId)};this.nativeStorageManager.saveCacheRecord(d,t.correlationId,t.storeInCache)}addTelemetryFromNativeResponse(e){const t=this.getMATSFromResponse(e);return t?(this.performanceClient.addFields({extensionId:this.nativeMessageHandler.getExtensionId(),extensionVersion:this.nativeMessageHandler.getExtensionVersion(),matsBrokerVersion:t.broker_version,matsAccountJoinOnStart:t.account_join_on_start,matsAccountJoinOnEnd:t.account_join_on_end,matsDeviceJoin:t.device_join,matsPromptBehavior:t.prompt_behavior,matsApiErrorCode:t.api_error_code,matsUiVisible:t.ui_visible,matsSilentCode:t.silent_code,matsSilentBiSubCode:t.silent_bi_sub_code,matsSilentMessage:t.silent_message,matsSilentStatus:t.silent_status,matsHttpStatus:t.http_status,matsHttpEventCount:t.http_event_count},this.correlationId),t):null}validateNativeResponse(e){if(e.hasOwnProperty("access_token")&&e.hasOwnProperty("id_token")&&e.hasOwnProperty("client_info")&&e.hasOwnProperty("account")&&e.hasOwnProperty("scope")&&e.hasOwnProperty("expires_in"))return e;throw J(W,"Response missing expected properties.")}getMATSFromResponse(e){if(e.properties.MATS)try{return JSON.parse(e.properties.MATS)}catch(e){this.logger.error("NativeInteractionClient - Error parsing MATS telemetry, returning null instead")}return null}isResponseFromCache(e){return void 0===e.is_cached?(this.logger.verbose("NativeInteractionClient - MATS telemetry does not contain field indicating if response was served from cache. Returning false."),!1):!!e.is_cached}async initializeNativeRequest(e){this.logger.trace("NativeInteractionClient - initializeNativeRequest called");const t=e.authority||this.config.auth.authority;e.account&&await this.getDiscoveredAuthority({requestAuthority:t,requestAzureCloudOptions:e.azureCloudOptions,account:e.account});const n=new Jt(t);n.validateAsUri();const{scopes:r,...o}=e,a=new Ht(r||[]);a.appendScopes(s);const i={...o,accountId:this.accountId,clientId:this.config.auth.clientId,authority:n.urlString,scope:a.printScopes(),redirectUri:this.getRedirectUri(e.redirectUri),prompt:(()=>{switch(this.apiId){case 863:case 61:return this.logger.trace("initializeNativeRequest: silent request sets prompt to none"),I.NONE}if(e.prompt)switch(e.prompt){case I.NONE:case I.CONSENT:case I.LOGIN:return this.logger.trace("initializeNativeRequest: prompt is compatible with native flow"),e.prompt;default:throw this.logger.trace(`initializeNativeRequest: prompt = ${e.prompt} is not compatible with native flow`),Aa(wa)}else this.logger.trace("initializeNativeRequest: prompt was not provided")})(),correlationId:this.correlationId,tokenType:e.authenticationScheme,windowTitleSubstring:document.title,extraParameters:{...e.extraQueryParameters,...e.tokenQueryParameters},extendedExpiryToken:!1,keyId:e.popKid};if(i.signPopToken&&e.popKid)throw Aa(Ca);if(this.handleExtraBrokerParams(i),i.extraParameters=i.extraParameters||{},i.extraParameters.telemetry="MATS",e.authenticationScheme===F.POP){const t={resourceRequestUri:e.resourceRequestUri,resourceRequestMethod:e.resourceRequestMethod,shrClaims:e.shrClaims,shrNonce:e.shrNonce},n=new Is(this.browserCrypto);let r;if(i.keyId)r=this.browserCrypto.base64UrlEncode(JSON.stringify({kid:i.keyId})),i.signPopToken=!1;else{const o=await Ci(n.generateCnf.bind(n),fr,this.logger,this.performanceClient,e.correlationId)(t,this.logger);r=o.reqCnfString,i.keyId=o.kid,i.signPopToken=!0}i.reqCnf=r}return this.addRequestSKUs(i),i}handleExtraBrokerParams(e){const t=e.extraParameters&&e.extraParameters.hasOwnProperty(bs)&&e.extraParameters.hasOwnProperty(ws)&&e.extraParameters.hasOwnProperty(hs);if(!e.embeddedClientId&&!t)return;let n="";const r=e.redirectUri;e.embeddedClientId?(e.redirectUri=this.config.auth.redirectUri,n=e.embeddedClientId):e.extraParameters&&(e.redirectUri=e.extraParameters[ws],n=e.extraParameters[hs]),e.extraParameters={child_client_id:n,child_redirect_uri:r},this.performanceClient?.addFields({embeddedClientId:n,embeddedRedirectUri:r},e.correlationId)}}class Qs{constructor(e,t,n,r){this.logger=e,this.handshakeTimeoutMs=t,this.extensionId=r,this.resolvers=new Map,this.handshakeResolvers=new Map,this.messageChannel=new MessageChannel,this.windowListener=this.onWindowMessage.bind(this),this.performanceClient=n,this.handshakeEvent=n.startMeasurement(Rr)}async sendMessage(e){this.logger.trace("NativeMessageHandler - sendMessage called.");const t={channel:Gr,extensionId:this.extensionId,responseId:Ka(),body:e};return this.logger.trace("NativeMessageHandler - Sending request to browser extension"),this.logger.tracePii(`NativeMessageHandler - Sending request to browser extension: ${JSON.stringify(t)}`),this.messageChannel.port1.postMessage(t),new Promise((e,n)=>{this.resolvers.set(t.responseId,{resolve:e,reject:n})})}static async createProvider(e,t,n){e.trace("NativeMessageHandler - createProvider called.");try{const r=new Qs(e,t,n,Wr);return await r.sendHandshakeRequest(),r}catch(r){const o=new Qs(e,t,n);return await o.sendHandshakeRequest(),o}}async sendHandshakeRequest(){this.logger.trace("NativeMessageHandler - sendHandshakeRequest called."),window.addEventListener("message",this.windowListener,!1);const e={channel:Gr,extensionId:this.extensionId,responseId:Ka(),body:{method:Qr}};return this.handshakeEvent.add({extensionId:this.extensionId,extensionHandshakeTimeoutMs:this.handshakeTimeoutMs}),this.messageChannel.port1.onmessage=e=>{this.onChannelMessage(e)},window.postMessage(e,window.origin,[this.messageChannel.port2]),new Promise((t,n)=>{this.handshakeResolvers.set(e.responseId,{resolve:t,reject:n}),this.timeoutId=window.setTimeout(()=>{window.removeEventListener("message",this.windowListener,!1),this.messageChannel.port1.close(),this.messageChannel.port2.close(),this.handshakeEvent.end({extensionHandshakeTimedOut:!0,success:!1}),n(Aa(ma)),this.handshakeResolvers.delete(e.responseId)},this.handshakeTimeoutMs)})}onWindowMessage(e){if(this.logger.trace("NativeMessageHandler - onWindowMessage called"),e.source!==window)return;const t=e.data;if(t.channel&&t.channel===Gr&&(!t.extensionId||t.extensionId===this.extensionId)&&t.body.method===Qr){const e=this.handshakeResolvers.get(t.responseId);if(!e)return void this.logger.trace(`NativeMessageHandler.onWindowMessage - resolver can't be found for request ${t.responseId}`);this.logger.verbose(t.extensionId?`Extension with id: ${t.extensionId} not installed`:"No extension installed"),clearTimeout(this.timeoutId),this.messageChannel.port1.close(),this.messageChannel.port2.close(),window.removeEventListener("message",this.windowListener,!1),this.handshakeEvent.end({success:!1,extensionInstalled:!1}),e.reject(Aa(ya))}}onChannelMessage(e){this.logger.trace("NativeMessageHandler - onChannelMessage called.");const t=e.data,n=this.resolvers.get(t.responseId),r=this.handshakeResolvers.get(t.responseId);try{const e=t.body.method;if("Response"===e){if(!n)return;const e=t.body.response;if(this.logger.trace("NativeMessageHandler - Received response from browser extension"),this.logger.tracePii(`NativeMessageHandler - Received response from browser extension: ${JSON.stringify(e)}`),"Success"!==e.status)n.reject(js(e.code,e.description,e.ext));else{if(!e.result)throw J(W,"Event does not contain result.");e.result.code&&e.result.description?n.reject(js(e.result.code,e.result.description,e.result.ext)):n.resolve(e.result)}this.resolvers.delete(t.responseId)}else if("HandshakeResponse"===e){if(!r)return void this.logger.trace(`NativeMessageHandler.onChannelMessage - resolver can't be found for request ${t.responseId}`);clearTimeout(this.timeoutId),window.removeEventListener("message",this.windowListener,!1),this.extensionId=t.extensionId,this.extensionVersion=t.body.version,this.logger.verbose(`NativeMessageHandler - Received HandshakeResponse from extension: ${this.extensionId}`),this.handshakeEvent.end({extensionInstalled:!0,success:!0}),r.resolve(),this.handshakeResolvers.delete(t.responseId)}}catch(t){this.logger.error("Error parsing response from WAM Extension"),this.logger.errorPii(`Error parsing response from WAM Extension: ${t}`),this.logger.errorPii(`Unable to parse ${e}`),n?n.reject(t):r&&r.reject(t)}}getExtensionId(){return this.extensionId}getExtensionVersion(){return this.extensionVersion}static isNativeAvailable(e,t,n,r){if(t.trace("isNativeAvailable called"),!e.system.allowNativeBroker)return t.trace("isNativeAvailable: allowNativeBroker is not enabled, returning false"),!1;if(!n)return t.trace("isNativeAvailable: WAM extension provider is not initialized, returning false"),!1;if(r)switch(r){case F.BEARER:case F.POP:return t.trace("isNativeAvailable: authenticationScheme is supported, returning true"),!0;default:return t.trace("isNativeAvailable: authenticationScheme is not supported, returning false"),!1}return!0}}class Vs{constructor(e,t,n,r,o){this.authModule=e,this.browserStorage=t,this.authCodeRequest=n,this.logger=r,this.performanceClient=o}async handleCodeResponse(e,t){let n;this.performanceClient.addQueueMeasurement(cr,t.correlationId);try{n=this.authModule.handleFragmentResponse(e,t.state)}catch(e){throw e instanceof us&&e.subError===Bo?Aa(Bo):e}return Ci(this.handleCodeResponseFromServer.bind(this),sr,this.logger,this.performanceClient,t.correlationId)(n,t)}async handleCodeResponseFromServer(e,t,n=!0){if(this.performanceClient.addQueueMeasurement(sr,t.correlationId),this.logger.trace("InteractionHandler.handleCodeResponseFromServer called"),this.authCodeRequest.code=e.code,e.cloud_instance_host_name&&await Ci(this.authModule.updateAuthority.bind(this.authModule),lr,this.logger,this.performanceClient,t.correlationId)(e.cloud_instance_host_name,t.correlationId),n&&(e.nonce=t.nonce||void 0),e.state=t.state,e.client_info)this.authCodeRequest.clientInfo=e.client_info;else{const e=this.createCcsCredentials(t);e&&(this.authCodeRequest.ccsCredential=e)}return await Ci(this.authModule.acquireToken.bind(this.authModule),ur,this.logger,this.performanceClient,t.correlationId)(this.authCodeRequest,e)}createCcsCredentials(e){return e.account?{credential:e.account.homeAccountId,type:qi}:e.loginHint?{credential:e.loginHint,type:Ui}:null}}function Ys(e,t,n){const r=Yt(e);if(!r)throw Vt(e)?(n.error(`A ${t} is present in the iframe but it does not contain known properties. It's likely that the ${t} has been replaced by code running on the redirectUri page.`),n.errorPii(`The ${t} detected is: ${e}`),Aa(Lo)):(n.error(`The request has returned to the redirectUri but a ${t} is not present. It's likely that the ${t} has been removed or the page has been redirected by code running on the redirectUri page.`),Aa(Oo));return r}class Js extends Us{constructor(e,t,n,r,o,a,i,s,c,l){super(e,t,n,r,o,a,i,c,l),this.unloadWindow=this.unloadWindow.bind(this),this.nativeStorage=s}acquireToken(e){try{const t={popupName:this.generatePopupName(e.scopes||s,e.authority||this.config.auth.authority),popupWindowAttributes:e.popupWindowAttributes||{},popupWindowParent:e.popupWindowParent??window};return this.config.system.asyncPopups?(this.logger.verbose("asyncPopups set to true, acquiring token"),this.acquireTokenPopupAsync(e,t)):(this.logger.verbose("asyncPopup set to false, opening popup before acquiring token"),t.popup=this.openSizedPopup("about:blank",t),this.acquireTokenPopupAsync(e,t))}catch(e){return Promise.reject(e)}}logout(e){try{this.logger.verbose("logoutPopup called");const t=this.initializeLogoutRequest(e),n={popupName:this.generateLogoutPopupName(t),popupWindowAttributes:e?.popupWindowAttributes||{},popupWindowParent:e?.popupWindowParent??window},r=e&&e.authority,o=e&&e.mainWindowRedirectUri;return this.config.system.asyncPopups?(this.logger.verbose("asyncPopups set to true"),this.logoutPopupAsync(t,n,r,o)):(this.logger.verbose("asyncPopup set to false, opening popup"),n.popup=this.openSizedPopup("about:blank",n),this.logoutPopupAsync(t,n,r,o))}catch(e){return Promise.reject(e)}}async acquireTokenPopupAsync(e,t){this.logger.verbose("acquireTokenPopupAsync called");const n=this.initializeServerTelemetryManager(fo),r=await Ci(this.initializeAuthorizationRequest.bind(this),or,this.logger,this.performanceClient,this.correlationId)(e,go.Popup);ai(r.authority);try{const o=await Ci(this.initializeAuthorizationCodeRequest.bind(this),ar,this.logger,this.performanceClient,this.correlationId)(r),a=await Ci(this.createAuthCodeClient.bind(this),nr,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:n,requestAuthority:r.authority,requestAzureCloudOptions:r.azureCloudOptions,requestExtraQueryParameters:r.extraQueryParameters,account:r.account}),i=Qs.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme);let s;i&&(s=this.performanceClient.startMeasurement(On,e.correlationId));const c=await a.getAuthCodeUrl({...r,nativeBroker:i}),l=new Vs(a,this.browserStorage,o,this.logger,this.performanceClient),u=this.initiateAuthRequest(c,t);this.eventHandler.emitEvent(rs,go.Popup,{popupWindow:u},null);const d=await this.monitorPopupForHash(u,t.popupWindowParent),h=ki(Ys,yr,this.logger,this.performanceClient,this.correlationId)(d,this.config.auth.OIDCOptions.serverResponseType,this.logger);if(ds.removeThrottle(this.browserStorage,this.config.auth.clientId,o),h.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),s&&s.end({success:!0,isNativeBroker:!0}),!this.nativeMessageHandler)throw Aa(va);const e=new Ws(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,fo,this.performanceClient,this.nativeMessageHandler,h.accountId,this.nativeStorage,r.correlationId),{userRequestState:t}=Li.parseRequestState(this.browserCrypto,r.state);return await e.acquireToken({...r,state:t,prompt:void 0})}return await l.handleCodeResponse(h,r)}catch(e){throw t.popup?.close(),e instanceof Y&&(e.setCorrelationId(this.correlationId),n.cacheFailedRequest(e)),e}}async logoutPopupAsync(e,t,n,r){this.logger.verbose("logoutPopupAsync called"),this.eventHandler.emitEvent(os,go.Popup,e);const o=this.initializeServerTelemetryManager(962);try{await this.clearCacheOnLogout(e.account);const a=await Ci(this.createAuthCodeClient.bind(this),nr,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:o,requestAuthority:n,account:e.account||void 0});try{a.authority.endSessionEndpoint}catch{if(e.account?.homeAccountId&&e.postLogoutRedirectUri&&a.authority.protocolMode===$){if(this.browserStorage.removeAccount(e.account?.homeAccountId,this.correlationId),this.eventHandler.emitEvent(as,go.Popup,e),r){const e={apiId:962,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},t=Jt.getAbsoluteUrl(r,ei());await this.navigationClient.navigateInternal(t,e)}return void t.popup?.close()}}const i=a.getLogoutUri(e);this.eventHandler.emitEvent(as,go.Popup,e);const s=this.openPopup(i,t);if(this.eventHandler.emitEvent(rs,go.Popup,{popupWindow:s},null),await this.monitorPopupForHash(s,t.popupWindowParent).catch(()=>{}),r){const e={apiId:962,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},t=Jt.getAbsoluteUrl(r,ei());this.logger.verbose("Redirecting main window to url specified in the request"),this.logger.verbosePii(`Redirecting main window to: ${t}`),await this.navigationClient.navigateInternal(t,e)}else this.logger.verbose("No main window navigation requested")}catch(e){throw t.popup?.close(),e instanceof Y&&(e.setCorrelationId(this.correlationId),o.cacheFailedRequest(e)),this.browserStorage.setInteractionInProgress(!1),this.eventHandler.emitEvent(is,go.Popup,null,e),this.eventHandler.emitEvent(ss,go.Popup),e}this.eventHandler.emitEvent(ss,go.Popup)}initiateAuthRequest(e,t){if(e)return this.logger.infoPii(`Navigate to: ${e}`),this.openPopup(e,t);throw this.logger.error("Navigate url is empty"),Aa(Mo)}monitorPopupForHash(e,t){return new Promise((t,n)=>{this.logger.verbose("PopupHandler.monitorPopupForHash - polling started");const r=setInterval(()=>{if(e.closed)return this.logger.error("PopupHandler.monitorPopupForHash - window closed"),clearInterval(r),void n(Aa(Bo));let o="";try{o=e.location.href}catch(e){}if(!o||"about:blank"===o)return;clearInterval(r);let a="";const i=this.config.auth.OIDCOptions.serverResponseType;e&&(a=i===x.QUERY?e.location.search:e.location.hash),this.logger.verbose("PopupHandler.monitorPopupForHash - popup window is on same origin as caller"),t(a)},this.config.system.pollIntervalMilliseconds)}).finally(()=>{this.cleanPopup(e,t)})}openPopup(e,t){try{let n;if(t.popup?(n=t.popup,this.logger.verbosePii(`Navigating popup window to: ${e}`),n.location.assign(e)):void 0===t.popup&&(this.logger.verbosePii(`Opening popup window to: ${e}`),n=this.openSizedPopup(e,t)),!n)throw Aa(Ho);return n.focus&&n.focus(),this.currentWindow=n,t.popupWindowParent.addEventListener("beforeunload",this.unloadWindow),n}catch(e){throw this.logger.error("error opening popup "+e.message),this.browserStorage.setInteractionInProgress(!1),Aa(Fo)}}openSizedPopup(e,{popupName:t,popupWindowAttributes:n,popupWindowParent:r}){const o=r.screenLeft?r.screenLeft:r.screenX,a=r.screenTop?r.screenTop:r.screenY,i=r.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,s=r.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;let c=n.popupSize?.width,l=n.popupSize?.height,u=n.popupPosition?.top,d=n.popupPosition?.left;return(!c||c<0||c>i)&&(this.logger.verbose("Default popup window width used. Window width not configured or invalid."),c=483),(!l||l<0||l>s)&&(this.logger.verbose("Default popup window height used. Window height not configured or invalid."),l=600),(!u||u<0||u>s)&&(this.logger.verbose("Default popup window top position used. Window top not configured or invalid."),u=Math.max(0,s/2-300+a)),(!d||d<0||d>i)&&(this.logger.verbose("Default popup window left position used. Window left not configured or invalid."),d=Math.max(0,i/2-241.5+o)),r.open(e,t,`width=${c}, height=${l}, top=${u}, left=${d}, scrollbars=yes`)}unloadWindow(e){this.browserStorage.cleanRequestByInteractionType(go.Popup),this.currentWindow&&this.currentWindow.close(),e.preventDefault()}cleanPopup(e,t){e.close(),t.removeEventListener("beforeunload",this.unloadWindow),this.browserStorage.setInteractionInProgress(!1)}generatePopupName(e,t){return`${Kr}.${this.config.auth.clientId}.${e.join("-")}.${t}.${this.correlationId}`}generateLogoutPopupName(e){const t=e.account&&e.account.homeAccountId;return`${Kr}.${this.config.auth.clientId}.${t}.${this.correlationId}`}}class Xs{constructor(e,t,n,r,o){this.authModule=e,this.browserStorage=t,this.authCodeRequest=n,this.logger=r,this.performanceClient=o}async initiateAuthRequest(e,t){if(this.logger.verbose("RedirectHandler.initiateAuthRequest called"),e){t.redirectStartPage&&(this.logger.verbose("RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page"),this.browserStorage.setTemporaryCache(eo,t.redirectStartPage,!0)),this.browserStorage.setTemporaryCache(ao,this.authCodeRequest.correlationId,!0),this.browserStorage.cacheCodeRequest(this.authCodeRequest),this.logger.infoPii(`RedirectHandler.initiateAuthRequest: Navigate to: ${e}`);const n={apiId:po,timeout:t.redirectTimeout,noHistory:!1};return"function"==typeof t.onRedirectNavigate?(this.logger.verbose("RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback"),!1!==t.onRedirectNavigate(e)?(this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating"),void await t.navigationClient.navigateExternal(e,n)):void this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation")):(this.logger.verbose("RedirectHandler.initiateAuthRequest: Navigating window to navigate url"),void await t.navigationClient.navigateExternal(e,n))}throw this.logger.info("RedirectHandler.initiateAuthRequest: Navigate url is empty"),Aa(Mo)}async handleCodeResponse(e,t){this.logger.verbose("RedirectHandler.handleCodeResponse called"),this.browserStorage.setInteractionInProgress(!1);const n=this.browserStorage.generateStateKey(t),r=this.browserStorage.getTemporaryCache(n);if(!r)throw Ke(ce,"Cached State");let o;try{o=this.authModule.handleFragmentResponse(e,r)}catch(e){throw e instanceof us&&e.subError===Bo?Aa(Bo):e}const a=this.browserStorage.generateNonceKey(r),i=this.browserStorage.getTemporaryCache(a);if(this.authCodeRequest.code=o.code,o.cloud_instance_host_name&&await Ci(this.authModule.updateAuthority.bind(this.authModule),lr,this.logger,this.performanceClient,this.authCodeRequest.correlationId)(o.cloud_instance_host_name,this.authCodeRequest.correlationId),o.nonce=i||void 0,o.state=r,o.client_info)this.authCodeRequest.clientInfo=o.client_info;else{const e=this.checkCcsCredentials();e&&(this.authCodeRequest.ccsCredential=e)}const s=await this.authModule.acquireToken(this.authCodeRequest,o);return this.browserStorage.cleanRequestByState(t),s}checkCcsCredentials(){const e=this.browserStorage.getTemporaryCache(oo,!0);if(e)try{return JSON.parse(e)}catch(t){this.authModule.logger.error("Cache credential could not be parsed"),this.authModule.logger.errorPii(`Cache credential could not be parsed: ${e}`)}return null}}class Zs extends Us{constructor(e,t,n,r,o,a,i,s,c,l){super(e,t,n,r,o,a,i,c,l),this.nativeStorage=s}async acquireToken(e){const t=await Ci(this.initializeAuthorizationRequest.bind(this),or,this.logger,this.performanceClient,this.correlationId)(e,go.Redirect);this.browserStorage.updateCacheEntries(t.state,t.nonce,t.authority,t.loginHint||"",t.account||null);const n=this.initializeServerTelemetryManager(po),r=e=>{e.persisted&&(this.logger.verbose("Page was restored from back/forward cache. Clearing temporary cache."),this.browserStorage.cleanRequestByState(t.state),this.eventHandler.emitEvent(cs,go.Redirect))};try{const o=await Ci(this.initializeAuthorizationCodeRequest.bind(this),ar,this.logger,this.performanceClient,this.correlationId)(t),a=await Ci(this.createAuthCodeClient.bind(this),nr,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:n,requestAuthority:t.authority,requestAzureCloudOptions:t.azureCloudOptions,requestExtraQueryParameters:t.extraQueryParameters,account:t.account}),i=new Xs(a,this.browserStorage,o,this.logger,this.performanceClient),s=await a.getAuthCodeUrl({...t,nativeBroker:Qs.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme)}),c=this.getRedirectStartPage(e.redirectStartPage);return this.logger.verbosePii(`Redirect start page: ${c}`),window.addEventListener("pageshow",r),await i.initiateAuthRequest(s,{navigationClient:this.navigationClient,redirectTimeout:this.config.system.redirectNavigationTimeout,redirectStartPage:c,onRedirectNavigate:e.onRedirectNavigate||this.config.auth.onRedirectNavigate})}catch(e){throw e instanceof Y&&(e.setCorrelationId(this.correlationId),n.cacheFailedRequest(e)),window.removeEventListener("pageshow",r),this.browserStorage.cleanRequestByState(t.state),e}}async handleRedirectPromise(e="",t){const n=this.initializeServerTelemetryManager(865);try{if(!this.browserStorage.isInteractionInProgress(!0))return this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null."),null;const[r,o]=this.getRedirectResponse(e||"");if(!r)return this.logger.info("handleRedirectPromise did not detect a response as a result of a redirect. Cleaning temporary cache."),this.browserStorage.cleanRequestByInteractionType(go.Redirect),"back_forward"!==function(){if("undefined"==typeof window||void 0===window.performance||"function"!=typeof window.performance.getEntriesByType)return;const e=window.performance.getEntriesByType("navigation"),t=e.length?e[0]:void 0;return t?.type}()?t.event.errorCode="no_server_response":this.logger.verbose("Back navigation event detected. Muting no_server_response error"),null;const a=this.browserStorage.getTemporaryCache(eo,!0)||i.EMPTY_STRING;if(Jt.removeHashFromUrl(a)===Jt.removeHashFromUrl(window.location.href)&&this.config.auth.navigateToLoginRequestUrl)return this.logger.verbose("Current page is loginRequestUrl, handling response"),a.indexOf("#")>-1&&function(e){const t=e.split("#");t.shift(),window.location.hash=t.length>0?t.join("#"):""}(a),await this.handleResponse(r,n);if(!this.config.auth.navigateToLoginRequestUrl)return this.logger.verbose("NavigateToLoginRequestUrl set to false, handling response"),await this.handleResponse(r,n);if(!Za()||this.config.system.allowRedirectInIframe){this.browserStorage.setTemporaryCache(to,o,!0);const e={apiId:865,timeout:this.config.system.redirectNavigationTimeout,noHistory:!0};let t=!0;if(a&&"null"!==a)this.logger.verbose(`Navigating to loginRequestUrl: ${a}`),t=await this.navigationClient.navigateInternal(a,e);else{const n=function(){const e=new Jt(window.location.href).getUrlComponents();return`${e.Protocol}//${e.HostNameAndPort}/`}();this.browserStorage.setTemporaryCache(eo,n,!0),this.logger.warning("Unable to get valid login request url from cache, redirecting to home page"),t=await this.navigationClient.navigateInternal(n,e)}if(!t)return await this.handleResponse(r,n)}return null}catch(e){throw e instanceof Y&&(e.setCorrelationId(this.correlationId),n.cacheFailedRequest(e)),this.browserStorage.cleanRequestByInteractionType(go.Redirect),e}}getRedirectResponse(e){this.logger.verbose("getRedirectResponseHash called");let t=e;t||(t=this.config.auth.OIDCOptions.serverResponseType===x.QUERY?window.location.search:window.location.hash);let n=Yt(t);if(n){try{!function(e,t,n){if(!e.state)throw Aa(zo);const r=Hi(t,e.state);if(!r)throw Aa(qo);if(r.interactionType!==n)throw Aa(Uo)}(n,this.browserCrypto,go.Redirect)}catch(e){return e instanceof Y&&this.logger.error(`Interaction type validation failed due to ${e.errorCode}: ${e.errorMessage}`),[null,""]}return(r=window).location.hash="","function"==typeof r.history.replaceState&&r.history.replaceState(null,"",`${r.location.origin}${r.location.pathname}${r.location.search}`),this.logger.verbose("Hash contains known properties, returning response hash"),[n,t]}var r;const o=this.browserStorage.getTemporaryCache(to,!0);return this.browserStorage.removeItem(this.browserStorage.generateCacheKey(to)),o&&(n=Yt(o),n)?(this.logger.verbose("Hash does not contain known properties, returning cached hash"),[n,o]):[null,""]}async handleResponse(e,t){const n=e.state;if(!n)throw Aa(zo);const r=this.browserStorage.getCachedRequest(n);if(this.logger.verbose("handleResponse called, retrieved cached request"),e.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw Aa(va);const t=new Ws(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,fo,this.performanceClient,this.nativeMessageHandler,e.accountId,this.nativeStorage,r.correlationId),{userRequestState:o}=Li.parseRequestState(this.browserCrypto,n);return t.acquireToken({...r,state:o,prompt:void 0}).finally(()=>{this.browserStorage.cleanRequestByState(n)})}const o=this.browserStorage.getCachedAuthority(n);if(!o)throw Aa(ea);const a=await Ci(this.createAuthCodeClient.bind(this),nr,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:t,requestAuthority:o});return ds.removeThrottle(this.browserStorage,this.config.auth.clientId,r),new Xs(a,this.browserStorage,r,this.logger,this.performanceClient).handleCodeResponse(e,n)}async logout(e){this.logger.verbose("logoutRedirect called");const t=this.initializeLogoutRequest(e),n=this.initializeServerTelemetryManager(961);try{this.eventHandler.emitEvent(os,go.Redirect,e),await this.clearCacheOnLogout(t.account);const r={apiId:961,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},o=await Ci(this.createAuthCodeClient.bind(this),nr,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:n,requestAuthority:e&&e.authority,requestExtraQueryParameters:e?.extraQueryParameters,account:e&&e.account||void 0});if(o.authority.protocolMode===$)try{o.authority.endSessionEndpoint}catch{if(t.account?.homeAccountId)return this.browserStorage.removeAccount(t.account?.homeAccountId,this.correlationId),void this.eventHandler.emitEvent(as,go.Redirect,t)}const a=o.getLogoutUri(t);if(this.eventHandler.emitEvent(as,go.Redirect,t),!e||"function"!=typeof e.onRedirectNavigate)return this.browserStorage.getInteractionInProgress()||this.browserStorage.setInteractionInProgress(!0),void await this.navigationClient.navigateExternal(a,r);if(!1!==e.onRedirectNavigate(a))return this.logger.verbose("Logout onRedirectNavigate did not return false, navigating"),this.browserStorage.getInteractionInProgress()||this.browserStorage.setInteractionInProgress(!0),void await this.navigationClient.navigateExternal(a,r);this.browserStorage.setInteractionInProgress(!1),this.logger.verbose("Logout onRedirectNavigate returned false, stopping navigation")}catch(e){throw e instanceof Y&&(e.setCorrelationId(this.correlationId),n.cacheFailedRequest(e)),this.eventHandler.emitEvent(is,go.Redirect,null,e),this.eventHandler.emitEvent(ss,go.Redirect),e}this.eventHandler.emitEvent(ss,go.Redirect)}getRedirectStartPage(e){const t=e||window.location.href;return Jt.getAbsoluteUrl(t,ei())}}async function ec(e,t,n,r,o){if(t.addQueueMeasurement(Xn,r),!e)throw n.info("Navigate url is empty"),Aa(Mo);return o?Ci(nc,er,n,t,r)(e,o,t,r):ki(rc,tr,n,t,r)(e)}async function tc(e,t,n,r,o,a,i){return r.addQueueMeasurement(Zn,a),new Promise((r,a)=>{t<1e4&&o.warning(`system.loadFrameTimeout or system.iframeHashTimeout set to lower (${t}ms) than the default (10000ms). This may result in timeouts.`);const s=window.setTimeout(()=>{window.clearInterval(c),a(Aa(Ko))},t),c=window.setInterval(()=>{let t="";const n=e.contentWindow;try{t=n?n.location.href:""}catch(e){}if(!t||"about:blank"===t)return;let o="";n&&(o=i===x.QUERY?n.location.search:n.location.hash),window.clearTimeout(s),window.clearInterval(c),r(o)},n)}).finally(()=>{ki(ac,Nr,o,r,a)(e)})}function nc(e,t,n,r){return n.addQueueMeasurement(er,r),new Promise((n,r)=>{const o=oc();window.setTimeout(()=>{o?(o.src=e,n(o)):r("Unable to load iframe")},t)})}function rc(e){const t=oc();return t.src=e,t}function oc(){const e=document.createElement("iframe");return e.className="msalSilentIframe",e.style.visibility="hidden",e.style.position="absolute",e.style.width=e.style.height="0",e.style.border="0",e.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms"),document.body.appendChild(e),e}function ac(e){document.body===e.parentNode&&document.body.removeChild(e)}class ic extends Us{constructor(e,t,n,r,o,a,i,s,c,l,u){super(e,t,n,r,o,a,s,l,u),this.apiId=i,this.nativeStorage=c}async acquireToken(e){this.performanceClient.addQueueMeasurement(Pn,e.correlationId),e.loginHint||e.sid||e.account&&e.account.username||this.logger.warning("No user hint provided. The authorization server may need more information to complete this request.");const t={...e};t.prompt?t.prompt!==I.NONE&&t.prompt!==I.NO_SESSION&&(this.logger.warning(`SilentIframeClient. Replacing invalid prompt ${t.prompt} with ${I.NONE}`),t.prompt=I.NONE):t.prompt=I.NONE;const n=await Ci(this.initializeAuthorizationRequest.bind(this),or,this.logger,this.performanceClient,e.correlationId)(t,go.Silent);ai(n.authority);const r=this.initializeServerTelemetryManager(this.apiId);let o;try{return o=await Ci(this.createAuthCodeClient.bind(this),nr,this.logger,this.performanceClient,e.correlationId)({serverTelemetryManager:r,requestAuthority:n.authority,requestAzureCloudOptions:n.azureCloudOptions,requestExtraQueryParameters:n.extraQueryParameters,account:n.account}),await Ci(this.silentTokenHelper.bind(this),Jn,this.logger,this.performanceClient,e.correlationId)(o,n)}catch(n){if(n instanceof Y&&(n.setCorrelationId(this.correlationId),r.cacheFailedRequest(n)),!(o&&n instanceof Y&&n.errorCode===jr))throw n;this.performanceClient.addFields({retryError:n.errorCode},this.correlationId);const a=await Ci(this.initializeAuthorizationRequest.bind(this),or,this.logger,this.performanceClient,e.correlationId)(t,go.Silent);return await Ci(this.silentTokenHelper.bind(this),Jn,this.logger,this.performanceClient,this.correlationId)(o,a)}}logout(){return Promise.reject(Aa(Vo))}async silentTokenHelper(e,t){const n=t.correlationId;this.performanceClient.addQueueMeasurement(Jn,n);const r=await Ci(this.initializeAuthorizationCodeRequest.bind(this),ar,this.logger,this.performanceClient,n)(t),o=await Ci(e.getAuthCodeUrl.bind(e),ir,this.logger,this.performanceClient,n)({...t,nativeBroker:Qs.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,t.authenticationScheme)}),a=new Vs(e,this.browserStorage,r,this.logger,this.performanceClient),i=await Ci(ec,Xn,this.logger,this.performanceClient,n)(o,this.performanceClient,this.logger,n,this.config.system.navigateFrameWait),s=this.config.auth.OIDCOptions.serverResponseType,c=await Ci(tc,Zn,this.logger,this.performanceClient,n)(i,this.config.system.iframeHashTimeout,this.config.system.pollIntervalMilliseconds,this.performanceClient,this.logger,n,s),l=ki(Ys,yr,this.logger,this.performanceClient,this.correlationId)(c,s,this.logger);if(l.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw Aa(va);const e=new Ws(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.apiId,this.performanceClient,this.nativeMessageHandler,l.accountId,this.browserStorage,n),{userRequestState:r}=Li.parseRequestState(this.browserCrypto,t.state);return Ci(e.acquireToken.bind(e),zn,this.logger,this.performanceClient,n)({...t,state:r,prompt:t.prompt||I.NONE})}return Ci(a.handleCodeResponse.bind(a),cr,this.logger,this.performanceClient,n)(l,t)}}class sc extends Us{async acquireToken(e){this.performanceClient.addQueueMeasurement(Rn,e.correlationId);const t=await Ci(Ls,Qn,this.logger,this.performanceClient,e.correlationId)(e,this.config,this.performanceClient,this.logger),n={...e,...t};e.redirectUri&&(n.redirectUri=this.getRedirectUri(e.redirectUri));const r=this.initializeServerTelemetryManager(61),o=await this.createRefreshTokenClient({serverTelemetryManager:r,authorityUrl:n.authority,azureCloudOptions:n.azureCloudOptions,account:n.account});return Ci(o.acquireTokenByRefreshToken.bind(o),Bn,this.logger,this.performanceClient,e.correlationId)(n).catch(e=>{throw e.setCorrelationId(this.correlationId),r.cacheFailedRequest(e),e})}logout(){return Promise.reject(Aa(Vo))}async createRefreshTokenClient(e){const t=await Ci(this.getClientConfiguration.bind(this),rr,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:e.serverTelemetryManager,requestAuthority:e.authorityUrl,requestAzureCloudOptions:e.azureCloudOptions,requestExtraQueryParameters:e.extraQueryParameters,account:e.account});return new Ks(t,this.performanceClient)}}class cc{constructor(e,t,n,r){this.isBrowserEnvironment="undefined"!=typeof window,this.config=e,this.storage=t,this.logger=n,this.cryptoObj=r}loadExternalTokens(e,t,n){if(!this.isBrowserEnvironment)throw Aa(ra);const r=e.correlationId||Ka(),o=t.id_token?Qe(t.id_token,gi):void 0,a={protocolMode:this.config.auth.protocolMode,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata,skipAuthorityMetadataCache:this.config.auth.skipAuthorityMetadataCache},i=e.authority?new Ei(Ei.generateAuthority(e.authority,e.azureCloudOptions),this.config.system.networkClient,this.storage,a,this.logger,e.correlationId||Ka()):void 0,s=this.loadAccount(e,n.clientInfo||t.client_info||"",r,o,i),c=this.loadIdToken(t,s.homeAccountId,s.environment,s.realm,r),l=this.loadAccessToken(e,t,s.homeAccountId,s.environment,s.realm,n,r),u=this.loadRefreshToken(t,s.homeAccountId,s.environment,r);return this.generateAuthenticationResult(e,{account:s,idToken:c,accessToken:l,refreshToken:u},o,i)}loadAccount(e,t,n,r,o){if(this.logger.verbose("TokenCache - loading account"),e.account){const t=Qt.createFromAccountInfo(e.account);return this.storage.setAccount(t,n),t}if(!o||!t&&!r)throw this.logger.error("TokenCache - if an account is not provided on the request, authority and either clientInfo or idToken must be provided instead."),Aa(la);const a=Qt.generateHomeAccountId(t,o.authorityType,this.logger,this.cryptoObj,r),i=r?.tid,s=As(this.storage,o,a,gi,n,r,t,o.hostnameAndPort,i,void 0,void 0,this.logger);return this.storage.setAccount(s,n),s}loadIdToken(e,t,n,r,o){if(!e.id_token)return this.logger.verbose("TokenCache - no id token found in response"),null;this.logger.verbose("TokenCache - loading id token");const a=Ze(t,n,e.id_token,this.config.auth.clientId,r);return this.storage.setIdTokenCredential(a,o),a}loadAccessToken(e,t,n,r,o,a,i){if(!t.access_token)return this.logger.verbose("TokenCache - no access token found in response"),null;if(!t.expires_in)return this.logger.error("TokenCache - no expiration set on the access token. Cannot add it to the cache."),null;if(!(t.scope||e.scopes&&e.scopes.length))return this.logger.error("TokenCache - scopes not specified in the request or response. Cannot add token to the cache."),null;this.logger.verbose("TokenCache - loading access token");const s=t.scope?Ht.fromString(t.scope):new Ht(e.scopes),c=a.expiresOn||t.expires_in+(new Date).getTime()/1e3,l=a.extendedExpiresOn||(t.ext_expires_in||t.expires_in)+(new Date).getTime()/1e3,u=et(n,r,t.access_token,this.config.auth.clientId,o,s.printScopes(),c,l,gi);return this.storage.setAccessTokenCredential(u,i),u}loadRefreshToken(e,t,n,r){if(!e.refresh_token)return this.logger.verbose("TokenCache - no refresh token found in response"),null;this.logger.verbose("TokenCache - loading refresh token");const o=tt(t,n,e.refresh_token,this.config.auth.clientId,e.foci,void 0,e.refresh_token_expires_in);return this.storage.setRefreshTokenCredential(o,r),o}generateAuthenticationResult(e,t,n,r){let o,a="",i=[],s=null;t?.accessToken&&(a=t.accessToken.secret,i=Ht.fromString(t.accessToken.target).asArray(),s=new Date(1e3*Number(t.accessToken.expiresOn)),o=new Date(1e3*Number(t.accessToken.extendedExpiresOn)));const c=t.account;return{authority:r?r.canonicalAuthority:"",uniqueId:t.account.localAccountId,tenantId:t.account.realm,scopes:i,account:c.getAccountInfo(),idToken:t.idToken?.secret||"",idTokenClaims:n||{},accessToken:a,fromCache:!0,expiresOn:s,correlationId:e.correlationId||"",requestId:"",extExpiresOn:o,familyId:t.refreshToken?.familyId||"",tokenType:t?.accessToken?.tokenType||"",state:e.state||"",cloudGraphHostName:c.cloudGraphHostName||"",msGraphHost:c.msGraphHost||"",fromNativeBroker:!1}}}class lc extends Ps{constructor(e){super(e),this.includeRedirectUri=!1}}class uc extends Us{constructor(e,t,n,r,o,a,i,s,c,l){super(e,t,n,r,o,a,s,c,l),this.apiId=i}async acquireToken(e){if(!e.code)throw Aa(da);const t=await Ci(this.initializeAuthorizationRequest.bind(this),or,this.logger,this.performanceClient,e.correlationId)(e,go.Silent),n=this.initializeServerTelemetryManager(this.apiId);try{const r={...t,code:e.code},o=await Ci(this.getClientConfiguration.bind(this),rr,this.logger,this.performanceClient,e.correlationId)({serverTelemetryManager:n,requestAuthority:t.authority,requestAzureCloudOptions:t.azureCloudOptions,requestExtraQueryParameters:t.extraQueryParameters,account:t.account}),a=new lc(o);this.logger.verbose("Auth code client created");const i=new Vs(a,this.browserStorage,r,this.logger,this.performanceClient);return await Ci(i.handleCodeResponseFromServer.bind(i),sr,this.logger,this.performanceClient,e.correlationId)({code:e.code,msgraph_host:e.msGraphHost,cloud_graph_host_name:e.cloudGraphHostName,cloud_instance_host_name:e.cloudInstanceHostName},t,!1)}catch(e){throw e instanceof Y&&(e.setCorrelationId(this.correlationId),n.cacheFailedRequest(e)),e}}logout(){return Promise.reject(Aa(Vo))}}function dc(e){const t=e?.idTokenClaims;return t?.tfp||t?.acr?"B2C":t?.tid?"9188040d-6c67-4c5b-b112-36a304b66dad"===t?.tid?"MSA":"AAD":void 0}function hc(e,t){try{ri(e)}catch(e){throw t.end({success:!1},e),e}}class pc{constructor(e){var t,n;this.operatingContext=e,this.isBrowserEnvironment=this.operatingContext.isBrowserEnvironment(),this.config=e.getConfig(),this.initialized=!1,this.logger=this.operatingContext.getLogger(),this.networkClient=this.config.system.networkClient,this.navigationClient=this.config.system.navigationClient,this.redirectResponse=new Map,this.hybridAuthCodeResponses=new Map,this.performanceClient=this.config.telemetry.client,this.browserCrypto=this.isBrowserEnvironment?new bi(this.logger,this.performanceClient):$e,this.eventHandler=new ls(this.logger),this.browserStorage=this.isBrowserEnvironment?new ji(this.config.auth.clientId,this.config.cache,this.browserCrypto,this.logger,function(e){const t=e.cloudDiscoveryMetadata;let n;if(t)try{n=JSON.parse(t)}catch(e){throw Dt(xt)}return{canonicalAuthority:e.authority?Ii(e.authority):void 0,knownAuthorities:e.knownAuthorities,cloudDiscoveryMetadata:n}}(this.config.auth),this.performanceClient):(t=this.config.auth.clientId,n=this.logger,new ji(t,{cacheLocation:Xr,temporaryCacheLocation:Xr,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1},$e,n));const r={cacheLocation:Xr,temporaryCacheLocation:Xr,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1};this.nativeInternalStorage=new ji(this.config.auth.clientId,r,this.browserCrypto,this.logger,void 0,this.performanceClient),this.tokenCache=new cc(this.config,this.browserStorage,this.logger,this.browserCrypto),this.activeSilentTokenRequests=new Map,this.trackPageVisibility=this.trackPageVisibility.bind(this),this.trackPageVisibilityWithMeasurement=this.trackPageVisibilityWithMeasurement.bind(this),this.listeningToStorageEvents=!1,this.handleAccountCacheChange=this.handleAccountCacheChange.bind(this)}static async createController(e,t){const n=new pc(e);return await n.initialize(t),n}trackPageVisibility(e){e&&(this.logger.info("Perf: Visibility change detected"),this.performanceClient.incrementFields({visibilityChangeCount:1},e))}async initialize(e){if(this.logger.trace("initialize called"),this.initialized)return void this.logger.info("initialize has already been called, exiting early.");if(!this.isBrowserEnvironment)return this.logger.info("in non-browser environment, exiting early."),this.initialized=!0,void this.eventHandler.emitEvent(Ki);const t=e?.correlationId||this.getRequestCorrelationId(),n=this.config.system.allowNativeBroker,r=this.performanceClient.startMeasurement(Yn,t);if(this.eventHandler.emitEvent("msal:initializeStart"),n)try{this.nativeExtensionProvider=await Qs.createProvider(this.logger,this.config.system.nativeBrokerHandshakeTimeout,this.performanceClient)}catch(e){this.logger.verbose(e)}this.config.cache.claimsBasedCachingEnabled||(this.logger.verbose("Claims-based caching is disabled. Clearing the previous cache with claims"),await Ci(this.browserStorage.clearTokensAndKeysWithClaims.bind(this.browserStorage),Mr,this.logger,this.performanceClient,t)(this.performanceClient,t)),this.initialized=!0,this.eventHandler.emitEvent(Ki),r.end({allowNativeBroker:n,success:!0})}async handleRedirectPromise(e){if(this.logger.verbose("handleRedirectPromise called"),ni(this.initialized),this.isBrowserEnvironment){const t=e||"";let n=this.redirectResponse.get(t);return void 0===n?(n=this.handleRedirectPromiseInternal(e),this.redirectResponse.set(t,n),this.logger.verbose("handleRedirectPromise has been called for the first time, storing the promise")):this.logger.verbose("handleRedirectPromise has been called previously, returning the result from the first call"),n}return this.logger.verbose("handleRedirectPromise returns null, not browser environment"),null}async handleRedirectPromiseInternal(e){const t=this.getAllAccounts(),n=this.browserStorage.getCachedNativeRequest(),r=n&&Qs.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider)&&this.nativeExtensionProvider&&!e,o=r?n?.correlationId:this.browserStorage.getTemporaryCache(ao,!0)||"",a=this.performanceClient.startMeasurement(Tn,o);let i;if(this.eventHandler.emitEvent(ts,go.Redirect),r&&this.nativeExtensionProvider){this.logger.trace("handleRedirectPromise - acquiring token from native platform");const e=new Ws(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,865,this.performanceClient,this.nativeExtensionProvider,n.accountId,this.nativeInternalStorage,n.correlationId);i=Ci(e.handleRedirectPromise.bind(e),Pr,this.logger,this.performanceClient,a.event.correlationId)(this.performanceClient,a.event.correlationId)}else{this.logger.trace("handleRedirectPromise - acquiring token from web flow");const t=this.createRedirectClient(o);i=Ci(t.handleRedirectPromise.bind(t),_r,this.logger,this.performanceClient,a.event.correlationId)(e,a)}return i.then(e=>(e?(t.length<this.getAllAccounts().length?(this.eventHandler.emitEvent(Gi,go.Redirect,e),this.logger.verbose("handleRedirectResponse returned result, login success")):(this.eventHandler.emitEvent(Vi,go.Redirect,e),this.logger.verbose("handleRedirectResponse returned result, acquire token success")),a.end({success:!0,accountType:dc(e.account)})):a.event.errorCode?a.end({success:!1}):a.discard(),this.eventHandler.emitEvent(ns,go.Redirect),e)).catch(e=>{const n=e;throw t.length>0?this.eventHandler.emitEvent(Yi,go.Redirect,null,n):this.eventHandler.emitEvent(Wi,go.Redirect,null,n),this.eventHandler.emitEvent(ns,go.Redirect),a.end({success:!1},n),e})}async acquireTokenRedirect(e){const t=this.getRequestCorrelationId(e);this.logger.verbose("acquireTokenRedirect called",t);const n=this.performanceClient.startMeasurement("acquireTokenPreRedirect",t);n.add({accountType:dc(e.account),scenarioId:e.scenarioId});const r=e.onRedirectNavigate;if(r)e.onRedirectNavigate=e=>{const t="function"==typeof r?r(e):void 0;return!1!==t?n.end({success:!0}):n.discard(),t};else{const e=this.config.auth.onRedirectNavigate;this.config.auth.onRedirectNavigate=t=>{const r="function"==typeof e?e(t):void 0;return!1!==r?n.end({success:!0}):n.discard(),r}}const o=this.getAllAccounts().length>0;try{let r;return oi(this.initialized,this.config),this.browserStorage.setInteractionInProgress(!0),o?this.eventHandler.emitEvent(Qi,go.Redirect,e):this.eventHandler.emitEvent($i,go.Redirect,e),r=this.nativeExtensionProvider&&this.canUseNative(e)?new Ws(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,po,this.performanceClient,this.nativeExtensionProvider,this.getNativeAccountId(e),this.nativeInternalStorage,t).acquireTokenRedirect(e,n).catch(n=>{if(n instanceof Hs&&Bs(n))return this.nativeExtensionProvider=void 0,this.createRedirectClient(t).acquireToken(e);if(n instanceof Mi)return this.logger.verbose("acquireTokenRedirect - Resolving interaction required error thrown by native broker by falling back to web flow"),this.createRedirectClient(t).acquireToken(e);throw this.browserStorage.setInteractionInProgress(!1),n}):this.createRedirectClient(t).acquireToken(e),await r}catch(e){throw n.end({success:!1},e),o?this.eventHandler.emitEvent(Yi,go.Redirect,null,e):this.eventHandler.emitEvent(Wi,go.Redirect,null,e),e}}acquireTokenPopup(e){const t=this.getRequestCorrelationId(e),n=this.performanceClient.startMeasurement(In,t);n.add({scenarioId:e.scenarioId,accountType:dc(e.account)});try{this.logger.verbose("acquireTokenPopup called",t),hc(this.initialized,n),this.browserStorage.setInteractionInProgress(!0)}catch(e){return Promise.reject(e)}const r=this.getAllAccounts();let o;return r.length>0?this.eventHandler.emitEvent(Qi,go.Popup,e):this.eventHandler.emitEvent($i,go.Popup,e),o=this.canUseNative(e)?this.acquireTokenNative({...e,correlationId:t},fo).then(e=>(this.browserStorage.setInteractionInProgress(!1),n.end({success:!0,isNativeBroker:!0,accountType:dc(e.account)}),e)).catch(n=>{if(n instanceof Hs&&Bs(n))return this.nativeExtensionProvider=void 0,this.createPopupClient(t).acquireToken(e);if(n instanceof Mi)return this.logger.verbose("acquireTokenPopup - Resolving interaction required error thrown by native broker by falling back to web flow"),this.createPopupClient(t).acquireToken(e);throw this.browserStorage.setInteractionInProgress(!1),n}):this.createPopupClient(t).acquireToken(e),o.then(e=>(r.length<this.getAllAccounts().length?this.eventHandler.emitEvent(Gi,go.Popup,e):this.eventHandler.emitEvent(Vi,go.Popup,e),n.end({success:!0,accessTokenSize:e.accessToken.length,idTokenSize:e.idToken.length,accountType:dc(e.account)}),e)).catch(e=>(r.length>0?this.eventHandler.emitEvent(Yi,go.Popup,null,e):this.eventHandler.emitEvent(Wi,go.Popup,null,e),n.end({success:!1},e),Promise.reject(e)))}trackPageVisibilityWithMeasurement(){const e=this.ssoSilentMeasurement||this.acquireTokenByCodeAsyncMeasurement;e&&(this.logger.info("Perf: Visibility change detected in ",e.event.name),e.increment({visibilityChangeCount:1}))}async ssoSilent(e){const t=this.getRequestCorrelationId(e),n={...e,prompt:e.prompt,correlationId:t};let r;return this.ssoSilentMeasurement=this.performanceClient.startMeasurement(Nn,t),this.ssoSilentMeasurement?.add({scenarioId:e.scenarioId,accountType:dc(e.account)}),hc(this.initialized,this.ssoSilentMeasurement),this.ssoSilentMeasurement?.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement),this.logger.verbose("ssoSilent called",t),this.eventHandler.emitEvent(Ji,go.Silent,n),r=this.canUseNative(n)?this.acquireTokenNative(n,863).catch(e=>{if(e instanceof Hs&&Bs(e))return this.nativeExtensionProvider=void 0,this.createSilentIframeClient(n.correlationId).acquireToken(n);throw e}):this.createSilentIframeClient(n.correlationId).acquireToken(n),r.then(e=>(this.eventHandler.emitEvent(Xi,go.Silent,e),this.ssoSilentMeasurement?.end({success:!0,isNativeBroker:e.fromNativeBroker,accessTokenSize:e.accessToken.length,idTokenSize:e.idToken.length,accountType:dc(e.account)}),e)).catch(e=>{throw this.eventHandler.emitEvent(Zi,go.Silent,null,e),this.ssoSilentMeasurement?.end({success:!1},e),e}).finally(()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)})}async acquireTokenByCode(e){const t=this.getRequestCorrelationId(e);this.logger.trace("acquireTokenByCode called",t);const n=this.performanceClient.startMeasurement(kn,t);hc(this.initialized,n),this.eventHandler.emitEvent("msal:acquireTokenByCodeStart",go.Silent,e),n.add({scenarioId:e.scenarioId});try{if(e.code&&e.nativeAccountId)throw Aa(pa);if(e.code){const r=e.code;let o=this.hybridAuthCodeResponses.get(r);return o?(this.logger.verbose("Existing acquireTokenByCode request found",t),n.discard()):(this.logger.verbose("Initiating new acquireTokenByCode request",t),o=this.acquireTokenByCodeAsync({...e,correlationId:t}).then(e=>(this.eventHandler.emitEvent("msal:acquireTokenByCodeSuccess",go.Silent,e),this.hybridAuthCodeResponses.delete(r),n.end({success:!0,isNativeBroker:e.fromNativeBroker,accessTokenSize:e.accessToken.length,idTokenSize:e.idToken.length,accountType:dc(e.account)}),e)).catch(e=>{throw this.hybridAuthCodeResponses.delete(r),this.eventHandler.emitEvent(es,go.Silent,null,e),n.end({success:!1},e),e}),this.hybridAuthCodeResponses.set(r,o)),await o}if(e.nativeAccountId){if(this.canUseNative(e,e.nativeAccountId)){const r=await this.acquireTokenNative({...e,correlationId:t},866,e.nativeAccountId).catch(e=>{throw e instanceof Hs&&Bs(e)&&(this.nativeExtensionProvider=void 0),e});return n.end({accountType:dc(r.account),success:!0}),r}throw Aa(ga)}throw Aa(ha)}catch(e){throw this.eventHandler.emitEvent(es,go.Silent,null,e),n.end({success:!1},e),e}}async acquireTokenByCodeAsync(e){this.logger.trace("acquireTokenByCodeAsync called",e.correlationId),this.acquireTokenByCodeAsyncMeasurement=this.performanceClient.startMeasurement(Ar,e.correlationId),this.acquireTokenByCodeAsyncMeasurement?.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement);const t=this.createSilentAuthCodeClient(e.correlationId);return await t.acquireToken(e).then(e=>(this.acquireTokenByCodeAsyncMeasurement?.end({success:!0,fromCache:e.fromCache,isNativeBroker:e.fromNativeBroker}),e)).catch(e=>{throw this.acquireTokenByCodeAsyncMeasurement?.end({success:!1},e),e}).finally(()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)})}async acquireTokenFromCache(e,t){switch(this.performanceClient.addQueueMeasurement(Kn,e.correlationId),t){case 0:case 1:case 2:const t=this.createSilentCacheClient(e.correlationId);return Ci(t.acquireToken.bind(t),_n,this.logger,this.performanceClient,e.correlationId)(e);default:throw Ke(Pe)}}async acquireTokenByRefreshToken(e,t){switch(this.performanceClient.addQueueMeasurement(Cn,e.correlationId),t){case 0:case 2:case 3:case 4:const t=this.createSilentRefreshClient(e.correlationId);return Ci(t.acquireToken.bind(t),Rn,this.logger,this.performanceClient,e.correlationId)(e);default:throw Ke(Pe)}}async acquireTokenBySilentIframe(e){this.performanceClient.addQueueMeasurement(Wn,e.correlationId);const t=this.createSilentIframeClient(e.correlationId);return Ci(t.acquireToken.bind(t),Pn,this.logger,this.performanceClient,e.correlationId)(e)}async logout(e){const t=this.getRequestCorrelationId(e);return this.logger.warning("logout API is deprecated and will be removed in msal-browser v3.0.0. Use logoutRedirect instead.",t),this.logoutRedirect({correlationId:t,...e})}async logoutRedirect(e){const t=this.getRequestCorrelationId(e);return oi(this.initialized,this.config),this.browserStorage.setInteractionInProgress(!0),this.createRedirectClient(t).logout(e)}logoutPopup(e){try{const t=this.getRequestCorrelationId(e);return ri(this.initialized),this.browserStorage.setInteractionInProgress(!0),this.createPopupClient(t).logout(e)}catch(e){return Promise.reject(e)}}async clearCache(e){if(!this.isBrowserEnvironment)return void this.logger.info("in non-browser environment, returning early.");const t=this.getRequestCorrelationId(e);return this.createSilentCacheClient(t).logout(e)}getAllAccounts(e){const t=this.getRequestCorrelationId();return function(e,t,n,r,o){return e.verbose("getAllAccounts called"),n?t.getAllAccounts(r,o):[]}(this.logger,this.browserStorage,this.isBrowserEnvironment,t,e)}getAccount(e){const t=this.getRequestCorrelationId();return function(e,t,n,r){if(t.trace("getAccount called"),0===Object.keys(e).length)return t.warning("getAccount: No accountFilter provided"),null;const o=n.getAccountInfoFilteredBy(e,r);return o?(t.verbose("getAccount: Account matching provided filter found, returning"),o):(t.verbose("getAccount: No matching account found, returning null"),null)}(e,this.logger,this.browserStorage,t)}getAccountByUsername(e){const t=this.getRequestCorrelationId();return function(e,t,n,r){if(t.trace("getAccountByUsername called"),!e)return t.warning("getAccountByUsername: No username provided"),null;const o=n.getAccountInfoFilteredBy({username:e},r);return o?(t.verbose("getAccountByUsername: Account matching username found, returning"),t.verbosePii(`getAccountByUsername: Returning signed-in accounts matching username: ${e}`),o):(t.verbose("getAccountByUsername: No matching account found, returning null"),null)}(e,this.logger,this.browserStorage,t)}getAccountByHomeId(e){const t=this.getRequestCorrelationId();return function(e,t,n,r){if(t.trace("getAccountByHomeId called"),!e)return t.warning("getAccountByHomeId: No homeAccountId provided"),null;const o=n.getAccountInfoFilteredBy({homeAccountId:e},r);return o?(t.verbose("getAccountByHomeId: Account matching homeAccountId found, returning"),t.verbosePii(`getAccountByHomeId: Returning signed-in accounts matching homeAccountId: ${e}`),o):(t.verbose("getAccountByHomeId: No matching account found, returning null"),null)}(e,this.logger,this.browserStorage,t)}getAccountByLocalId(e){const t=this.getRequestCorrelationId();return function(e,t,n,r){if(t.trace("getAccountByLocalId called"),!e)return t.warning("getAccountByLocalId: No localAccountId provided"),null;const o=n.getAccountInfoFilteredBy({localAccountId:e},r);return o?(t.verbose("getAccountByLocalId: Account matching localAccountId found, returning"),t.verbosePii(`getAccountByLocalId: Returning signed-in accounts matching localAccountId: ${e}`),o):(t.verbose("getAccountByLocalId: No matching account found, returning null"),null)}(e,this.logger,this.browserStorage,t)}setActiveAccount(e){const t=this.getRequestCorrelationId();!function(e,t,n){t.setActiveAccount(e,n)}(e,this.browserStorage,t)}getActiveAccount(){const e=this.getRequestCorrelationId();return function(e,t){return e.getActiveAccount(t)}(this.browserStorage,e)}async hydrateCache(e,t){this.logger.verbose("hydrateCache called");const n=Qt.createFromAccountInfo(e.account,e.cloudGraphHostName,e.msGraphHost);return this.browserStorage.setAccount(n,e.correlationId),e.fromNativeBroker?(this.logger.verbose("Response was from native broker, storing in-memory"),this.nativeInternalStorage.hydrateCache(e,t)):this.browserStorage.hydrateCache(e,t)}async acquireTokenNative(e,t,n){if(this.logger.trace("acquireTokenNative called"),!this.nativeExtensionProvider)throw Aa(va);return new Ws(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,t,this.performanceClient,this.nativeExtensionProvider,n||this.getNativeAccountId(e),this.nativeInternalStorage,e.correlationId).acquireToken(e)}canUseNative(e,t){if(this.logger.trace("canUseNative called"),!Qs.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider,e.authenticationScheme))return this.logger.trace("canUseNative: isNativeAvailable returned false, returning false"),!1;if(e.prompt)switch(e.prompt){case I.NONE:case I.CONSENT:case I.LOGIN:this.logger.trace("canUseNative: prompt is compatible with native flow");break;default:return this.logger.trace(`canUseNative: prompt = ${e.prompt} is not compatible with native flow, returning false`),!1}return!(!t&&!this.getNativeAccountId(e)&&(this.logger.trace("canUseNative: nativeAccountId is not available, returning false"),1))}getNativeAccountId(e){const t=e.account||this.getAccount({loginHint:e.loginHint,sid:e.sid})||this.getActiveAccount();return t&&t.nativeAccountId||""}createPopupClient(e){return new Js(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createRedirectClient(e){return new Zs(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentIframeClient(e){return new ic(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,863,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentCacheClient(e){return new Gs(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeExtensionProvider,e)}createSilentRefreshClient(e){return new sc(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeExtensionProvider,e)}createSilentAuthCodeClient(e){return new uc(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,866,this.performanceClient,this.nativeExtensionProvider,e)}addEventCallback(e,t){return this.eventHandler.addEventCallback(e,t)}removeEventCallback(e){this.eventHandler.removeEventCallback(e)}addPerformanceCallback(e){return ti(),this.performanceClient.addPerformanceCallback(e)}removePerformanceCallback(e){return this.performanceClient.removePerformanceCallback(e)}enableAccountStorageEvents(){"undefined"!=typeof window&&(this.listeningToStorageEvents?this.logger.verbose("Account storage listener already registered."):(this.logger.verbose("Adding account storage listener."),this.listeningToStorageEvents=!0,window.addEventListener("storage",this.handleAccountCacheChange)))}disableAccountStorageEvents(){"undefined"!=typeof window&&(this.listeningToStorageEvents?(this.logger.verbose("Removing account storage listener."),window.removeEventListener("storage",this.handleAccountCacheChange),this.listeningToStorageEvents=!1):this.logger.verbose("No account storage listener registered."))}handleAccountCacheChange(e){try{e.key?.includes(w)&&this.eventHandler.emitEvent("msal:activeAccountChanged");const t=e.newValue||e.oldValue;if(!t)return;const n=JSON.parse(t);if("object"!=typeof n||!Qt.isAccountEntity(n))return;const r=ln.toObject(new Qt,n).getAccountInfo();!e.oldValue&&e.newValue?(this.logger.info("Account was added to cache in a different window"),this.eventHandler.emitEvent("msal:accountAdded",void 0,r)):!e.newValue&&e.oldValue&&(this.logger.info("Account was removed from cache in a different window"),this.eventHandler.emitEvent("msal:accountRemoved",void 0,r))}catch(e){return}}getTokenCache(){return this.tokenCache}getLogger(){return this.logger}setLogger(e){this.logger=e}initializeWrapperLibrary(e,t){this.browserStorage.setWrapperMetadata(e,t)}setNavigationClient(e){this.navigationClient=e}getConfiguration(){return this.config}getPerformanceClient(){return this.performanceClient}isBrowserEnv(){return this.isBrowserEnvironment}getRequestCorrelationId(e){return e?.correlationId?e.correlationId:this.isBrowserEnvironment?Ka():i.EMPTY_STRING}async loginRedirect(e){const t=this.getRequestCorrelationId(e);return this.logger.verbose("loginRedirect called",t),this.acquireTokenRedirect({correlationId:t,...e||Eo})}loginPopup(e){const t=this.getRequestCorrelationId(e);return this.logger.verbose("loginPopup called",t),this.acquireTokenPopup({correlationId:t,...e||Eo})}async acquireTokenSilent(e){const t=this.getRequestCorrelationId(e),n=this.performanceClient.startMeasurement(Sn,t);n.add({cacheLookupPolicy:e.cacheLookupPolicy,scenarioId:e.scenarioId}),hc(this.initialized,n),this.logger.verbose("acquireTokenSilent called",t);const r=e.account||this.getActiveAccount();if(!r)throw Aa(Yo);n.add({accountType:dc(r)});const o={clientId:this.config.auth.clientId,authority:e.authority||i.EMPTY_STRING,scopes:e.scopes,homeAccountIdentifier:r.homeAccountId,claims:e.claims,authenticationScheme:e.authenticationScheme,resourceRequestMethod:e.resourceRequestMethod,resourceRequestUri:e.resourceRequestUri,shrClaims:e.shrClaims,sshKid:e.sshKid,shrOptions:e.shrOptions},a=JSON.stringify(o),s=this.activeSilentTokenRequests.get(a);if(void 0===s){this.logger.verbose("acquireTokenSilent called for the first time, storing active request",t);const o=Ci(this.acquireTokenSilentAsync.bind(this),En,this.logger,this.performanceClient,t)({...e,correlationId:t},r).then(t=>(this.activeSilentTokenRequests.delete(a),n.end({success:!0,fromCache:t.fromCache,isNativeBroker:t.fromNativeBroker,cacheLookupPolicy:e.cacheLookupPolicy,accessTokenSize:t.accessToken.length,idTokenSize:t.idToken.length}),t)).catch(e=>{throw this.activeSilentTokenRequests.delete(a),n.end({success:!1},e),e});return this.activeSilentTokenRequests.set(a,o),{...await o,state:e.state}}return this.logger.verbose("acquireTokenSilent has been called previously, returning the result from the first call",t),n.discard(),{...await s,state:e.state}}async acquireTokenSilentAsync(e,t){const n=()=>this.trackPageVisibility(e.correlationId);this.performanceClient.addQueueMeasurement(En,e.correlationId),this.eventHandler.emitEvent(Qi,go.Silent,e),e.correlationId&&this.performanceClient.incrementFields({visibilityChangeCount:0},e.correlationId),document.addEventListener("visibilitychange",n);const r=await Ci(qs,Vn,this.logger,this.performanceClient,e.correlationId)(e,t,this.config,this.performanceClient,this.logger),o=e.cacheLookupPolicy||0;return this.acquireTokenSilentNoIframe(r,o).catch(async e=>{const t=function(e,t){const n=!(e instanceof Mi&&e.subError!==_i),r=e.errorCode===jr||e.errorCode===Pe,o=n&&r||e.errorCode===Ti||e.errorCode===Ai,a=xo.includes(t);return o&&a}(e,o);if(t){if(this.activeIframeRequest){if(5!==o){const[t,n]=this.activeIframeRequest;this.logger.verbose(`Iframe request is already in progress, awaiting resolution for request with correlationId: ${n}`,r.correlationId);const a=this.performanceClient.startMeasurement("awaitConcurrentIframe",r.correlationId);a.add({awaitIframeCorrelationId:n});const i=await t;if(a.end({success:i}),i)return this.logger.verbose(`Parallel iframe request with correlationId: ${n} succeeded. Retrying cache and/or RT redemption`,r.correlationId),this.acquireTokenSilentNoIframe(r,o);throw this.logger.info(`Iframe request with correlationId: ${n} failed. Interaction is required.`),e}return this.logger.warning("Another iframe request is currently in progress and CacheLookupPolicy is set to Skip. This may result in degraded performance and/or reliability for both calls. Please consider changing the CacheLookupPolicy to take advantage of request queuing and token cache.",r.correlationId),Ci(this.acquireTokenBySilentIframe.bind(this),Wn,this.logger,this.performanceClient,r.correlationId)(r)}{let e;return this.activeIframeRequest=[new Promise(t=>{e=t}),r.correlationId],this.logger.verbose("Refresh token expired/invalid or CacheLookupPolicy is set to Skip, attempting acquire token by iframe.",r.correlationId),Ci(this.acquireTokenBySilentIframe.bind(this),Wn,this.logger,this.performanceClient,r.correlationId)(r).then(t=>(e(!0),t)).catch(t=>{throw e(!1),t}).finally(()=>{this.activeIframeRequest=void 0})}}throw e}).then(t=>(this.eventHandler.emitEvent(Vi,go.Silent,t),e.correlationId&&this.performanceClient.addFields({fromCache:t.fromCache,isNativeBroker:t.fromNativeBroker},e.correlationId),t)).catch(e=>{throw this.eventHandler.emitEvent(Yi,go.Silent,null,e),e}).finally(()=>{document.removeEventListener("visibilitychange",n)})}async acquireTokenSilentNoIframe(e,t){return Qs.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider,e.authenticationScheme)&&e.account.nativeAccountId?(this.logger.verbose("acquireTokenSilent - attempting to acquire token from native platform"),this.acquireTokenNative(e,61).catch(async e=>{if(e instanceof Hs&&Bs(e))throw this.logger.verbose("acquireTokenSilent - native platform unavailable, falling back to web flow"),this.nativeExtensionProvider=void 0,Ke(Pe);throw e})):(this.logger.verbose("acquireTokenSilent - attempting to acquire token from web flow"),Ci(this.acquireTokenFromCache.bind(this),Kn,this.logger,this.performanceClient,e.correlationId)(e,t).catch(n=>{if(1===t)throw n;return this.eventHandler.emitEvent("msal:acquireTokenFromNetworkStart",go.Silent,e),Ci(this.acquireTokenByRefreshToken.bind(this),Cn,this.logger,this.performanceClient,e.correlationId)(e,t)}))}}class fc{static async createPublicClientApplication(e){const t=await async function(e){const t=new ci(e);return await t.initialize(),pc.createController(t,void 0)}(e);return new fc(e,t)}constructor(e,t){this.controller=t||new pc(new ci(e))}async initialize(e){return this.controller.initialize(e)}async acquireTokenPopup(e){return this.controller.acquireTokenPopup(e)}acquireTokenRedirect(e){return this.controller.acquireTokenRedirect(e)}acquireTokenSilent(e){return this.controller.acquireTokenSilent(e)}acquireTokenByCode(e){return this.controller.acquireTokenByCode(e)}addEventCallback(e,t){return this.controller.addEventCallback(e,t)}removeEventCallback(e){return this.controller.removeEventCallback(e)}addPerformanceCallback(e){return this.controller.addPerformanceCallback(e)}removePerformanceCallback(e){return this.controller.removePerformanceCallback(e)}enableAccountStorageEvents(){this.controller.enableAccountStorageEvents()}disableAccountStorageEvents(){this.controller.disableAccountStorageEvents()}getAccount(e){return this.controller.getAccount(e)}getAccountByHomeId(e){return this.controller.getAccountByHomeId(e)}getAccountByLocalId(e){return this.controller.getAccountByLocalId(e)}getAccountByUsername(e){return this.controller.getAccountByUsername(e)}getAllAccounts(e){return this.controller.getAllAccounts(e)}handleRedirectPromise(e){return this.controller.handleRedirectPromise(e)}loginPopup(e){return this.controller.loginPopup(e)}loginRedirect(e){return this.controller.loginRedirect(e)}logout(e){return this.controller.logout(e)}logoutRedirect(e){return this.controller.logoutRedirect(e)}logoutPopup(e){return this.controller.logoutPopup(e)}ssoSilent(e){return this.controller.ssoSilent(e)}getTokenCache(){return this.controller.getTokenCache()}getLogger(){return this.controller.getLogger()}setLogger(e){this.controller.setLogger(e)}setActiveAccount(e){this.controller.setActiveAccount(e)}getActiveAccount(){return this.controller.getActiveAccount()}initializeWrapperLibrary(e,t){return this.controller.initializeWrapperLibrary(e,t)}setNavigationClient(e){this.controller.setNavigationClient(e)}getConfiguration(){return this.controller.getConfiguration()}async hydrateCache(e,t){return this.controller.hydrateCache(e,t)}clearCache(e){return this.controller.clearCache(e)}}const gc={instance:{initialize:()=>Promise.reject(Xa(Qa)),acquireTokenPopup:()=>Promise.reject(Xa(Qa)),acquireTokenRedirect:()=>Promise.reject(Xa(Qa)),acquireTokenSilent:()=>Promise.reject(Xa(Qa)),acquireTokenByCode:()=>Promise.reject(Xa(Qa)),getAllAccounts:()=>[],getAccount:()=>null,getAccountByHomeId:()=>null,getAccountByUsername:()=>null,getAccountByLocalId:()=>null,handleRedirectPromise:()=>Promise.reject(Xa(Qa)),loginPopup:()=>Promise.reject(Xa(Qa)),loginRedirect:()=>Promise.reject(Xa(Qa)),logout:()=>Promise.reject(Xa(Qa)),logoutRedirect:()=>Promise.reject(Xa(Qa)),logoutPopup:()=>Promise.reject(Xa(Qa)),ssoSilent:()=>Promise.reject(Xa(Qa)),addEventCallback:()=>null,removeEventCallback:()=>{},addPerformanceCallback:()=>"",removePerformanceCallback:()=>!1,enableAccountStorageEvents:()=>{},disableAccountStorageEvents:()=>{},getTokenCache:()=>{throw Xa(Qa)},getLogger:()=>{throw Xa(Qa)},setLogger:()=>{},setActiveAccount:()=>{},getActiveAccount:()=>null,initializeWrapperLibrary:()=>{},setNavigationClient:()=>{},getConfiguration:()=>{throw Xa(Qa)},hydrateCache:()=>Promise.reject(Xa(Qa)),clearCache:()=>Promise.reject(Xa(Qa))},inProgress:So,accounts:[],logger:new j({})},mc=o.createContext(gc);mc.Consumer;class yc{static getInteractionStatusFromEvent(e,t){switch(e.eventType){case $i:return vo;case Ji:return ko;case Qi:if(e.interactionType===go.Redirect||e.interactionType===go.Popup)return wo;break;case ts:return Co;case os:return bo;case Xi:case Zi:if(t&&t!==ko)break;return So;case ss:if(t&&t!==bo)break;return So;case ns:if(t&&t!==Co)break;return So;case Gi:case Wi:case Vi:case Yi:case cs:if(e.interactionType===go.Redirect||e.interactionType===go.Popup){if(t&&t!==vo&&t!==wo)break;return So}}return null}}function vc(e,t){if(e.length!==t.length)return!1;const n=[...t];return e.every(e=>{const t=n.shift();return!(!e||!t)&&e.homeAccountId===t.homeAccountId&&e.localAccountId===t.localAccountId&&e.username===t.username})}const bc="2.2.0",wc="UNBLOCK_INPROGRESS",kc="EVENT",Cc=(e,t)=>{const{type:n,payload:r}=t;let o=e.inProgress;switch(n){case wc:e.inProgress===yo&&(o=So,r.logger.info("MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'"));break;case kc:const t=r.message,a=yc.getInteractionStatusFromEvent(t,e.inProgress);a&&(r.logger.info(`MsalProvider - ${t.eventType} results in setting inProgress from ${e.inProgress} to ${a}`),o=a);break;default:throw new Error(`Unknown action type: ${n}`)}const a=r.instance.getAllAccounts();return o===e.inProgress||vc(a,e.accounts)?o!==e.inProgress?{...e,inProgress:o}:vc(a,e.accounts)?e:{...e,accounts:a}:{...e,inProgress:o,accounts:a}};function Sc({instance:e,children:t}){(0,o.useEffect)(()=>{e.initializeWrapperLibrary("@azure/msal-react",bc)},[e]);const n=(0,o.useMemo)(()=>e.getLogger().clone("@azure/msal-react",bc),[e]),[r,a]=(0,o.useReducer)(Cc,void 0,()=>({inProgress:yo,accounts:e.getAllAccounts()}));(0,o.useEffect)(()=>{const t=e.addEventCallback(t=>{a({payload:{instance:e,logger:n,message:t},type:kc})});return n.verbose(`MsalProvider - Registered event callback with id: ${t}`),e.initialize().then(()=>{e.handleRedirectPromise().catch(()=>{}).finally(()=>{a({payload:{instance:e,logger:n},type:wc})})}).catch(()=>{}),()=>{t&&(n.verbose(`MsalProvider - Removing event callback ${t}`),e.removeEventCallback(t))}},[e,n]);const i={instance:e,inProgress:r.inProgress,accounts:r.accounts,logger:n};return o.createElement(mc.Provider,{value:i},t)}const Ec=()=>(0,o.useContext)(mc);var Ic={auth:{clientId:"43c493e4-e1ed-4cd7-ab0a-e507e20af724",authority:"https://positiveclients.ciamlogin.com/",redirectUri:"https://register.positivespend.com",postLogoutRedirectUri:"https://register.positivespend.com",knownAuthorities:["positiveclients.ciamlogin.com"]},cache:{cacheLocation:"sessionStorage",storeAuthStateInCookie:!1}},Tc={scopes:["openid","profile","email"]};function xc(e){return xc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xc(e)}function Ac(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return _c(l,"_invoke",function(n,r,o){var a,s,c,l=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return a=t,s=0,c=e,h.n=n,i}};function p(n,r){for(s=n,c=r,t=0;!d&&l&&!o&&t<u.length;t++){var o,a=u[t],p=h.p,f=a[2];n>3?(o=f===r)&&(c=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=n<2&&p<a[1])?(s=0,h.v=r,h.n=a[1]):p<f&&(o=n<3||a[0]>r||r>f)&&(a[4]=n,a[5]=r,h.n=f,s=0))}if(o||n>1)return i;throw d=!0,r}return function(o,u,f){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,c=f;(t=s<2?e:c)||!d;){a||(s?s<3?(s>1&&(h.n=-1),p(s,c)):h.n=c:h.v=c);try{if(l=2,a){if(s||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==i)break}catch(t){a=e,s=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,o,a),!0),l}var i={};function s(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(_c(t={},r,function(){return this}),t),d=l.prototype=s.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,_c(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,_c(d,"constructor",l),_c(l,"constructor",c),c.displayName="GeneratorFunction",_c(l,o,"GeneratorFunction"),_c(d),_c(d,o,"Generator"),_c(d,r,function(){return this}),_c(d,"toString",function(){return"[object Generator]"}),(Ac=function(){return{w:a,m:h}})()}function _c(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}_c=function(e,t,n,r){function a(t,n){_c(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},_c(e,t,n,r)}function Pc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Rc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pc(Object(n),!0).forEach(function(t){Nc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Nc(e,t,n){return(t=function(e){var t=function(e){if("object"!=xc(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=xc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==xc(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mc(e,t,n,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function Oc(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Mc(a,r,o,i,s,"next",e)}function s(e){Mc(a,r,o,i,s,"throw",e)}i(void 0)})}}function zc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Lc(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Lc(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var qc=new fc(Ic);qc.initialize().then(function(){qc.handleRedirectPromise().catch(console.error)});var Uc=(0,o.createContext)(null);function Dc(){var e=(0,o.useContext)(Uc);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e}function Fc(e){var t=e.children,n=Ec(),r=n.instance,a=n.accounts,i=n.inProgress,s=function(e){const{accounts:t,inProgress:n}=Ec(),r=(0,o.useMemo)(()=>n!==yo&&function(e,t){return t&&(t.username||t.homeAccountId||t.localAccountId)?!!function(e,t){return e.length>0&&(t.homeAccountId||t.localAccountId||t.username)&&e.filter(e=>!(t.username&&t.username.toLowerCase()!==e.username.toLowerCase()||t.homeAccountId&&t.homeAccountId.toLowerCase()!==e.homeAccountId.toLowerCase()||t.localAccountId&&t.localAccountId.toLowerCase()!==e.localAccountId.toLowerCase()))[0]||null}(e,t):e.length>0}(t,e),[t,n,e]);return r}(),c=zc((0,o.useState)(null),2),l=c[0],u=c[1],d=zc((0,o.useState)(null),2),h=d[0],p=d[1],f=zc((0,o.useState)(!0),2),g=f[0],m=f[1],y=zc((0,o.useState)(null),2),v=y[0],b=y[1],w=(0,o.useRef)(!1),k=a[0]||null,C=(0,o.useCallback)(Oc(Ac().m(function e(){var t,n,o;return Ac().w(function(e){for(;;)switch(e.p=e.n){case 0:if(k){e.n=1;break}return m(!1),e.a(2);case 1:return e.p=1,m(!0),b(null),e.n=2,r.acquireTokenSilent(Rc(Rc({},Tc),{},{account:k}));case 2:t=e.v,n=t.accessToken,u(n),p({email:k.username,name:k.name}),sessionStorage.setItem("adp_access_token",n),e.n=4;break;case 3:e.p=3,o=e.v,console.error("[Auth] Token acquisition error:",o),b("Please sign in again");case 4:return e.p=4,m(!1),e.f(4);case 5:return e.a(2)}},e,null,[[1,3,4,5]])})),[k,r]);(0,o.useEffect)(function(){if(!w.current&&i===So){w.current=!0;var e=sessionStorage.getItem("adp_access_token");e?(u(e),p({email:null==k?void 0:k.username,name:null==k?void 0:k.name}),m(!1)):s?C():r.loginRedirect(Tc).catch(function(e){console.error("[Auth] Auto-redirect failed:",e),m(!1)})}},[s,i,C,k,r]);var S=(0,o.useCallback)(Oc(Ac().m(function e(){var t;return Ac().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,b(null),e.n=1,r.loginRedirect(Tc);case 1:e.n=3;break;case 2:e.p=2,t=e.v,console.error("[Auth] Sign in error:",t),b(t.message);case 3:return e.a(2)}},e,null,[[0,2]])})),[r]),E=(0,o.useCallback)(Oc(Ac().m(function e(){var t;return Ac().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,sessionStorage.removeItem("adp_access_token"),u(null),p(null),e.n=1,r.logoutRedirect();case 1:e.n=3;break;case 2:e.p=2,t=e.v,console.error("[Auth] Sign out error:",t);case 3:return e.a(2)}},e,null,[[0,2]])})),[r]),I=(0,o.useCallback)(Oc(Ac().m(function e(){return Ac().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,C();case 1:return e.a(2)}},e)})),[C]),T=(0,o.useCallback)(Oc(Ac().m(function e(){var t;return Ac().w(function(e){for(;;)switch(e.p=e.n){case 0:if(k){e.n=1;break}return e.a(2,null);case 1:return e.p=1,e.n=2,r.acquireTokenSilent(Rc(Rc({},Tc),{},{account:k}));case 2:return t=e.v,e.a(2,t.accessToken);case 3:return e.p=3,e.v,e.a(2,l)}},e,null,[[1,3]])})),[k,r,l]),x={isAuthenticated:!!l,isLoading:g||i!==So,error:v,account:k,sessionUser:h,sessionToken:l,signIn:S,signOut:E,refreshSession:I,getIdToken:T,getAccessToken:T,clearError:function(){return b(null)}};return o.createElement(Uc.Provider,{value:x},t)}function Hc(e){var t=e.children;return o.createElement(Sc,{instance:qc},o.createElement(Fc,null,t))}function Bc(){var e=Dc(),t=e.signIn,n=e.isLoading,r=e.error,a=e.clearError;return o.createElement("div",{className:"signin-overlay"},o.createElement("div",{className:"signin-card"},o.createElement("div",{className:"signin-header"},o.createElement("div",{className:"signin-logo"},o.createElement("svg",{viewBox:"0 0 24 24",width:"48",height:"48",fill:"none",stroke:"currentColor",strokeWidth:"2"},o.createElement("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),o.createElement("path",{d:"M2 17l10 5 10-5"}),o.createElement("path",{d:"M2 12l10 5 10-5"}))),o.createElement("h1",null,"AdPlatform"),o.createElement("p",{className:"signin-subtitle"},"API Tech")),o.createElement("div",{className:"signin-body"},r&&o.createElement("div",{className:"signin-error"},o.createElement("span",null,r),o.createElement("button",{className:"error-dismiss",onClick:a},"×")),o.createElement("p",{className:"signin-message"},"Sign in with your organization account to access the test dashboard."),o.createElement("button",{className:"signin-button",onClick:t,disabled:n},n?o.createElement(o.Fragment,null,o.createElement("span",{className:"signin-spinner"}),"Signing in..."):o.createElement(o.Fragment,null,o.createElement("svg",{viewBox:"0 0 21 21",width:"20",height:"20",xmlns:"http://www.w3.org/2000/svg"},o.createElement("rect",{x:"1",y:"1",width:"9",height:"9",fill:"#f25022"}),o.createElement("rect",{x:"11",y:"1",width:"9",height:"9",fill:"#7fba00"}),o.createElement("rect",{x:"1",y:"11",width:"9",height:"9",fill:"#00a4ef"}),o.createElement("rect",{x:"11",y:"11",width:"9",height:"9",fill:"#ffb900"})),"Sign in with Microsoft"))),o.createElement("div",{className:"signin-footer"},o.createElement("span",null,"Powered by Azure Entra External ID"))))}var jc=[{id:"gateway",label:"Gateway (direct)"},{id:"google",label:"Google Ads"},{id:"meta",label:"Meta Ads"},{id:"tiktok",label:"TikTok Ads"},{id:"creative",label:"Creative"},{id:"intelligence",label:"Intelligence API"},{id:"registration",label:"Registration"},{id:"management",label:"Management API"}],Kc={gateway:[{id:"GatewayPing",service:"system",action:"ping",label:"System: Ping (SQL test)",sample:{},endpoint:"/api/test/ping",method:"GET"},{id:"WizardCreate",service:"wizard",action:"create",label:"Wizard: Create New",sample:{name:"My Test Campaign",url:"https://example.com"},endpoint:"/api/wizard",method:"POST"},{id:"WizardGet",service:"wizard",action:"get",label:"Wizard: Get by ID",sample:{wizardId:"abc123def456"},endpoint:"/api/wizard/{wizardId}",method:"GET"},{id:"WizardList",service:"wizard",action:"list",label:"Wizard: List All",sample:{status:"draft"},endpoint:"/api/wizard",method:"GET"},{id:"WizardUpdateStep",service:"wizard",action:"updateStep",label:"Wizard: Update Step 4 (Audience)",sample:{wizardId:"abc123def456",step:4,data:{locations:[{id:9061285,name:"Huntington Beach",type:"City",radiusMiles:25}],demographics:{ageRanges:["AGE_25_34","AGE_35_44"],genders:["MALE","FEMALE"]},audiences:{affinity:[80001],inMarket:[90012]}}},endpoint:"/api/wizard/{wizardId}/step/{step}",method:"PUT"},{id:"WizardGetSummary",service:"wizard",action:"getSummary",label:"Wizard: Get Summary (Review)",sample:{wizardId:"abc123def456"},endpoint:"/api/wizard/{wizardId}/summary",method:"GET"},{id:"WizardSubmit",service:"wizard",action:"submit",label:"Wizard: Submit Campaign",sample:{wizardId:"abc123def456",network:"google"},endpoint:"/api/wizard/{wizardId}/submit",method:"POST"},{id:"WizardDelete",service:"wizard",action:"delete",label:"Wizard: Delete",sample:{wizardId:"abc123def456"},endpoint:"/api/wizard/{wizardId}",method:"DELETE"},{id:"IntelligenceHealth",service:"intelligence",action:"health",label:"Intelligence: Campaign Health Overview",sample:{},endpoint:"/api/intelligence/health",method:"GET"},{id:"IntelligencePacing",service:"intelligence",action:"pacing",label:"Intelligence: Budget Pacing",sample:{initiativeId:1},endpoint:"/api/intelligence/{initiativeId}/pacing",method:"GET"},{id:"IntelligenceReport",service:"intelligence",action:"report",label:"Intelligence: Post-Campaign Report",sample:{initiativeId:1},endpoint:"/api/intelligence/{initiativeId}/report",method:"GET"},{id:"IntelligenceSnapshot",service:"intelligence",action:"snapshot",label:"Intelligence: Record Metric Snapshot (Admin)",sample:{channelCampaignId:1,date:"2026-03-06",impressions:4200,clicks:87,spend:42.5,conversions:3},endpoint:"/api/intelligence/snapshot",method:"POST"},{id:"IntelligenceSnapshotBatch",service:"intelligence",action:"snapshotBatch",label:"Intelligence: Batch Metric Snapshots (Admin)",sample:{snapshots:[{channelCampaignId:1,date:"2026-03-06",impressions:4200,clicks:87,spend:42.5,conversions:3},{channelCampaignId:2,date:"2026-03-06",impressions:1800,clicks:34,spend:18.2,conversions:1}]},endpoint:"/api/intelligence/snapshot/batch",method:"POST"}],google:[{id:"Ping",service:"system",action:"ping",label:"System: Ping (GoogleApi round trip)",sample:{}},{id:"CreateCampaign",service:"campaigns",action:"create",label:"Campaigns: Create",sample:{name:"Test Campaign",budgetMicros:1e7,type:"Search"}},{id:"ListCampaigns",service:"campaigns",action:"list",label:"Campaigns: List",sample:{}},{id:"GetCampaign",service:"campaigns",action:"get",label:"Campaigns: Get by ID",sample:{campaignId:"campaigns/123"}},{id:"GetCampaignStats",service:"reporting",action:"campaignStats",label:"Reporting: Campaign Stats",sample:{campaignId:"campaigns/123",startDate:"2026-01-01",endDate:"2026-01-26"}},{id:"GetAccountStats",service:"reporting",action:"accountStats",label:"Reporting: Account Stats",sample:{startDate:"2026-01-01",endDate:"2026-01-26"}},{id:"ListAccessibleCustomers",service:"accounts",action:"list",label:"Accounts: List Accessible Customers",sample:{}},{id:"CreateCustomerClient",service:"accounts",action:"createClient",label:"Accounts: Create Sub-Account (under MCC)",sample:{accountName:"AdPlatform Test Account",currencyCode:"USD",timeZone:"America/Los_Angeles"}},{id:"GetAudienceSegments",service:"audience",action:"getSegments",label:"Audience: Get All Segments",sample:{}},{id:"SearchGeoTargets",service:"audience",action:"searchGeo",label:"Audience: Search Locations",sample:{query:"Huntington Beach",countryCode:"US",maxResults:10}}],meta:[{id:"Ping",service:"system",action:"ping",label:"System: Ping (MetaApi round trip)",sample:{}},{id:"CreateCampaign",service:"campaigns",action:"create",label:"Campaigns: Create",sample:{name:"Test Meta Campaign",objective:"Traffic",status:"Paused"}},{id:"ListCampaigns",service:"campaigns",action:"list",label:"Campaigns: List",sample:{limit:50}},{id:"GetCampaign",service:"campaigns",action:"get",label:"Campaigns: Get by ID",sample:{campaignId:"123456789"}},{id:"GetCampaignInsights",service:"reporting",action:"campaignInsights",label:"Reporting: Campaign Insights",sample:{campaignId:"123456789",datePreset:"last_7d"}},{id:"GetAccountInsights",service:"reporting",action:"accountInsights",label:"Reporting: Account Insights",sample:{datePreset:"last_30d"}},{id:"CreateAdAccount",service:"accounts",action:"createAdAccount",label:"Accounts: Create Ad Account (under BM)",sample:{name:"Test Client Account",currency:"USD",timezoneId:1}},{id:"ListAdAccounts",service:"accounts",action:"listAdAccounts",label:"Accounts: List BM Ad Accounts",sample:{}}],tiktok:[{id:"Ping",service:"system",action:"ping",label:"System: Ping (TikTokApi round trip)",sample:{}},{id:"CreateCampaign",service:"campaigns",action:"create",label:"Campaigns: Create",sample:{name:"Test TikTok Campaign",objective:"Traffic",budgetMode:"Day",budget:50,status:"Disable"}},{id:"ListCampaigns",service:"campaigns",action:"list",label:"Campaigns: List",sample:{pageSize:50,page:1}},{id:"GetCampaign",service:"campaigns",action:"get",label:"Campaigns: Get by ID",sample:{campaignId:"1234567890123456789"}},{id:"GetReport",service:"reporting",action:"getReport",label:"Reporting: Integrated Report",sample:{reportType:"BASIC",dataLevel:"AUCTION_CAMPAIGN",dimensions:["campaign_id","stat_time_day"],metrics:["spend","impressions","clicks","cpc","ctr"]}},{id:"CreateAdvertiser",service:"accounts",action:"createAdvertiser",label:"Accounts: Create Advertiser (under BC)",sample:{name:"Test Client",currency:"USD",timezone:"America/Los_Angeles",company:"Test Company"}},{id:"ListAdvertisers",service:"accounts",action:"listAdvertisers",label:"Accounts: List BC Advertisers",sample:{}},{id:"TransferFunds",service:"finance",action:"transfer",label:"Finance: Transfer Funds (BC → Advertiser)",sample:{advertiserId:"1234567890123456789",transferType:"RECHARGE",amount:100}}],creative:[{id:"Ping",service:"system",action:"ping",label:"System: Ping (Creative round trip)",sample:{}},{id:"AnalyzeUrl",service:"creative",action:"analyzeUrl",label:"Creative: Analyze URL",sample:{url:"https://example.com"}},{id:"GenerateAssets",service:"creative",action:"generateAssets",label:"Creative: Generate Assets from Analysis",sample:{analysis:{title:"Example",description:"A sample site",headings:["Welcome"],bodySnippet:"We sell quality products.",domain:"example.com"}}},{id:"GetImages",service:"creative",action:"getImages",label:"Creative: Get Images from Analysis",sample:{analysis:{url:"https://example.com",title:"Example Business",metaDescription:"Quality products and services",headings:["Welcome","Our Services"],bodySnippet:"We provide excellent service.",inferredCategory:"Business Services"}}},{id:"CreateDraft",service:"creative",action:"createDraft",label:"Creative: Full Pipeline (URL → Draft with Images)",sample:{url:"https://example.com"}}],intelligence:[{id:"Ping",service:"system",action:"ping",label:"System: Ping (IntelligenceApi round trip)",sample:{}},{id:"SpendDistribution",service:"spendDistribution",action:"recommend",label:"Spend Distribution: Recommend (General)",sample:{clientCategory:"General",objective:"traffic",businessCategory:"retail",keywords:["shoes","sneakers","footwear"],geoTargeting:{zipCodes:["92648"],radiusMiles:25},audience:{ageMin:25,ageMax:44,genders:["MALE","FEMALE"],interests:["fashion","sports"]},monthlyBudget:1500,channels:["google","meta","tiktok"]}},{id:"SpendDistributionFranchisee",service:"spendDistribution",action:"recommendFranchisee",label:"Spend Distribution: Recommend (Franchisee)",sample:{clientCategory:"Franchisee",objective:"leads",businessCategory:"food",keywords:["pizza","delivery","takeout"],geoTargeting:{zipCodes:["92648","92649"],radiusMiles:10},audience:{ageMin:18,ageMax:54,genders:["MALE","FEMALE"]},monthlyBudget:800,channels:["google","meta"]}},{id:"SpendDistributionFranchisor",service:"spendDistribution",action:"recommendFranchisor",label:"Spend Distribution: Recommend (Franchisor)",sample:{clientCategory:"Franchisor",objective:"awareness",businessCategory:"food",keywords:["franchise","pizza chain","national brand"],geoTargeting:{zipCodes:["90210","10001","60601"],radiusMiles:50},audience:{ageMin:30,ageMax:55,genders:["MALE","FEMALE"],interests:["business","investment","entrepreneurship"]},monthlyBudget:15e3,channels:["google","meta","tiktok"]}}],registration:[{id:"Health",service:"system",action:"health",label:"System: Health Check",sample:{},endpoint:"/api/health",method:"GET",baseUrl:"https://regapi.positivespend.com"},{id:"GetPending",service:"registration",action:"pending",label:"Registration: List Pending",sample:{},endpoint:"/api/registration/pending",method:"GET",baseUrl:"https://mgmt.positivespend.com"},{id:"GetById",service:"registration",action:"get",label:"Registration: Get by ID",sample:{registrationId:"reg-001"},endpoint:"/api/registration/{registrationId}",method:"GET",baseUrl:"https://mgmt.positivespend.com"},{id:"Reject",service:"registration",action:"reject",label:"Registration: Reject Applicant",sample:{registrationId:"reg-001",reason:"Incomplete information"},endpoint:"/api/registration/{registrationId}/reject",method:"POST",baseUrl:"https://mgmt.positivespend.com"},{id:"Complete",service:"registration",action:"complete",label:"Registration: Approve (Complete)",sample:{registrationId:"reg-001",platformClientId:"ADP-TestBusiness-0001"},endpoint:"/api/registration/{registrationId}/complete",method:"POST",baseUrl:"https://mgmt.positivespend.com"},{id:"Register",service:"registration",action:"register",label:"Registration: New Prospect (test)",sample:{businessName:"Test Business",websiteUrl:"https://test.com",businessCategory:"retail",businessDescription:"A test registration",contactName:"Test User",contactEmail:"test@example.com",contactPhone:"(555) 000-1234"},endpoint:"/api/registration/register",method:"POST",baseUrl:"https://regapi.positivespend.com"}],management:[{id:"Ping",service:"system",action:"ping",label:"System: Health Check",sample:{},endpoint:"/health",method:"GET",baseUrl:"https://mgmt.positivespend.com"},{id:"HelpGet",service:"help",action:"get",label:"Help: Get Content by Key",sample:{key:"client.wizard.budget"},endpoint:"/api/help/{key}",method:"GET",baseUrl:"https://mgmt.positivespend.com"},{id:"DocumentList",service:"documents",action:"list",label:"Documents: List All",sample:{},endpoint:"/api/documents",method:"GET",baseUrl:"https://mgmt.positivespend.com"},{id:"DocumentDelete",service:"documents",action:"delete",label:"Documents: Delete by ID",sample:{docId:1},endpoint:"/api/documents/{docId}",method:"DELETE",baseUrl:"https://mgmt.positivespend.com"}]};function $c(e){return Kc[e]||[]}function Gc(e,t){return $c(e).find(function(e){return e.id===t})}function Wc(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return Qc(l,"_invoke",function(n,r,o){var a,s,c,l=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return a=t,s=0,c=e,h.n=n,i}};function p(n,r){for(s=n,c=r,t=0;!d&&l&&!o&&t<u.length;t++){var o,a=u[t],p=h.p,f=a[2];n>3?(o=f===r)&&(c=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=n<2&&p<a[1])?(s=0,h.v=r,h.n=a[1]):p<f&&(o=n<3||a[0]>r||r>f)&&(a[4]=n,a[5]=r,h.n=f,s=0))}if(o||n>1)return i;throw d=!0,r}return function(o,u,f){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,c=f;(t=s<2?e:c)||!d;){a||(s?s<3?(s>1&&(h.n=-1),p(s,c)):h.n=c:h.v=c);try{if(l=2,a){if(s||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==i)break}catch(t){a=e,s=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,o,a),!0),l}var i={};function s(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(Qc(t={},r,function(){return this}),t),d=l.prototype=s.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,Qc(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,Qc(d,"constructor",l),Qc(l,"constructor",c),c.displayName="GeneratorFunction",Qc(l,o,"GeneratorFunction"),Qc(d),Qc(d,o,"Generator"),Qc(d,r,function(){return this}),Qc(d,"toString",function(){return"[object Generator]"}),(Wc=function(){return{w:a,m:h}})()}function Qc(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Qc=function(e,t,n,r){function a(t,n){Qc(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},Qc(e,t,n,r)}function Vc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||Jc(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yc(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=Jc(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw a}}}}function Jc(e,t){if(e){if("string"==typeof e)return Xc(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xc(e,t):void 0}}function Xc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Zc(e,t,n,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function el(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Zc(a,r,o,i,s,"next",e)}function s(e){Zc(a,r,o,i,s,"throw",e)}i(void 0)})}}var tl=[r.MGMT_BASE].map(function(e){return new URL(e).origin});function nl(e){if(!e)return!1;try{return tl.includes(new URL(e).origin)}catch(e){return!1}}function rl(e,t,n,r){return ol.apply(this,arguments)}function ol(){return(ol=el(Wc().m(function e(t,n,o,a){var i,s,c,l,u,d,h,p,f,g,m,y,v,b,w,k,C,S,E,I,T,x,A,_,P,R;return Wc().w(function(e){for(;;)switch(e.p=e.n){case 0:if(s=(i=a||{}).sessionToken,c=i.entraToken,l=i.tenantId,u=Gc(t,n)){e.n=1;break}throw new Error("Unknown service: ".concat(t,"/").concat(n));case 1:e.p=1,d="string"==typeof o?JSON.parse(o):o,e.n=3;break;case 2:throw e.p=2,R=e.v,new Error("Invalid JSON payload: ".concat(R.message));case 3:if(h={"Content-Type":"application/json"},u.headers&&Object.assign(h,u.headers),!u.endpoint){e.n=8;break}if(!u.endpoint.startsWith("/api/auth/session")){e.n=5;break}if(c){e.n=4;break}throw new Error("entraToken required for /api/auth/session");case 4:h.Authorization="Bearer ".concat(c),e.n=6;break;case 5:nl(u.baseUrl)?c&&(h.Authorization="Bearer ".concat(c)):s&&(h.Authorization="Bearer ".concat(s));case 6:p=u.endpoint,f=p.match(/\{(\w+)\}/g)||[],g=Yc(f);try{for(g.s();!(m=g.n()).done;)y=m.value,v=y.slice(1,-1),void 0!==(b=d[v])&&(p=p.replace(y,encodeURIComponent(b)),delete d[v])}catch(e){g.e(e)}finally{g.f()}if(w="".concat(u.baseUrl||r.API_BASE).concat(p),("GET"===u.method||"DELETE"===u.method)&&Object.keys(d).length>0){for(k=new URLSearchParams,C=0,S=Object.entries(d);C<S.length;C++)E=Vc(S[C],2),I=E[0],null!=(T=E[1])&&k.append(I,T);(x=k.toString())&&(w+="?".concat(x))}return e.n=7,fetch(w,{method:u.method||"GET",headers:h,body:"GET"!==u.method&&"DELETE"!==u.method?JSON.stringify(d):void 0});case 7:return A=e.v,e.a(2,al(A));case 8:if(s){e.n=9;break}throw new Error("sessionToken required for provider API calls");case 9:return h.Authorization="Bearer ".concat(s),h["X-Requested-With"]="AdPlatform-Client",_={provider:t,operation:n,tenantId:l||void 0,payload:d},e.n=10,fetch("".concat(r.API_BASE,"/api/execution/request"),{method:"POST",headers:h,body:JSON.stringify(_)});case 10:return P=e.v,e.a(2,al(P))}},e,null,[[1,2]])}))).apply(this,arguments)}function al(e){return il.apply(this,arguments)}function il(){return(il=el(Wc().m(function e(t){var n,r;return Wc().w(function(e){for(;;)switch(e.n){case 0:if(401!==t.status){e.n=2;break}return e.n=1,t.text();case 1:throw n=e.v,new Error("API 401: ".concat(n));case 2:if(t.ok){e.n=4;break}return e.n=3,t.text();case 3:throw r=e.v,new Error("API ".concat(t.status,": ").concat(r));case 4:return e.a(2,t.json())}},e)}))).apply(this,arguments)}function sl(e){var t,n=e.data;if(!n)return null;var r=(null==n||null===(t=n.result)||void 0===t?void 0:t.data)||(null==n?void 0:n.data)||n,a=(null==r?void 0:r.images)||[],i=(null==r?void 0:r.headlines)||[],s=(null==r?void 0:r.descriptions)||[],c=null==r?void 0:r.analysis,l=null==r?void 0:r.source,u=null==r?void 0:r.imageSource;return 0===a.length&&0===i.length?null:o.createElement("div",{className:"creative-preview"},o.createElement("h4",{className:"preview-title"},"Creative Preview",l&&o.createElement("span",{className:"source-badge"},"Copy: ",l),u&&o.createElement("span",{className:"source-badge"},"Images: ",u)),c&&o.createElement("div",{className:"analysis-summary"},o.createElement("div",{className:"analysis-title"},c.title||"Untitled"),c.inferredCategory&&o.createElement("span",{className:"category-badge"},c.inferredCategory),c.metaDescription&&o.createElement("p",{className:"analysis-desc"},c.metaDescription)),a.length>0&&o.createElement("div",{className:"images-section"},o.createElement("h5",null,"Images (",a.length,")"),o.createElement("div",{className:"images-grid"},a.map(function(e,t){return o.createElement("div",{key:e.imageId||t,className:"image-card"},o.createElement("div",{className:"image-wrapper"},o.createElement("img",{src:e.url,alt:e.altText||"".concat(e.orientation," image"),loading:"lazy",onError:function(e){e.target.style.display="none",e.target.nextSibling.style.display="flex"}}),o.createElement("div",{className:"image-error",style:{display:"none"}},"Failed to load")),o.createElement("div",{className:"image-meta"},o.createElement("span",{className:"orientation-badge"},e.orientation),o.createElement("span",{className:"dimensions"},e.width,"×",e.height)),e.attribution&&o.createElement("div",{className:"attribution"},e.attribution),e.blobStored&&o.createElement("div",{className:"blob-indicator",title:"Stored in blob storage"},"☁️ Stored"))}))),i.length>0&&o.createElement("div",{className:"assets-section"},o.createElement("h5",null,"Headlines (",i.length,")"),o.createElement("div",{className:"assets-list"},i.map(function(e,t){return o.createElement("div",{key:t,className:"asset-item headline"},o.createElement("span",{className:"asset-text"},e.text),o.createElement("span",{className:"char-count"},e.charCount,"/30"))}))),s.length>0&&o.createElement("div",{className:"assets-section"},o.createElement("h5",null,"Descriptions (",s.length,")"),o.createElement("div",{className:"assets-list"},s.map(function(e,t){return o.createElement("div",{key:t,className:"asset-item description"},o.createElement("span",{className:"asset-text"},e.text),o.createElement("span",{className:"char-count"},e.charCount,"/90"))}))))}function cl(e){return cl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},cl(e)}function ll(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ul(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ll(Object(n),!0).forEach(function(t){dl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ll(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function dl(e,t,n){return(t=function(e){var t=function(e){if("object"!=cl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=cl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==cl(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function pl(e){var t,n,r,a=e.data,i=(n=(0,o.useState)({affinity:!0,inMarket:!0,lifeEvents:!0,detailedDemographics:!1}),r=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return hl(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?hl(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=i[0],c=i[1];if(!a)return null;var l=(null==a||null===(t=a.result)||void 0===t?void 0:t.data)||(null==a?void 0:a.data)||a,u=(null==l?void 0:l.results)||[],d=null==l?void 0:l.query;if(void 0!==d||u.length>0)return o.createElement("div",{className:"audience-preview"},o.createElement("h4",{className:"preview-title"},"🌍 Location Search Results",o.createElement("span",{className:"source-badge"},'Query: "',d,'"')),o.createElement("div",{className:"geo-results"},0===u.length?o.createElement("p",{className:"no-results"},"No locations found"):o.createElement("table",{className:"geo-table"},o.createElement("thead",null,o.createElement("tr",null,o.createElement("th",null,"ID"),o.createElement("th",null,"Name"),o.createElement("th",null,"Type"),o.createElement("th",null,"Full Name"))),o.createElement("tbody",null,u.map(function(e,t){return o.createElement("tr",{key:e.id||t},o.createElement("td",{className:"geo-id"},e.id),o.createElement("td",{className:"geo-name"},e.name),o.createElement("td",null,o.createElement("span",{className:"type-badge type-".concat((e.targetType||"").toLowerCase())},e.targetType)),o.createElement("td",{className:"geo-canonical"},e.canonicalName))})))));var h=(null==l?void 0:l.affinity)||[],p=(null==l?void 0:l.inMarket)||[],f=(null==l?void 0:l.lifeEvents)||[],g=(null==l?void 0:l.detailedDemographics)||[],m=(null==l?void 0:l.totalCount)||0,y=null==l?void 0:l.retrievedAt;if(0===m&&0===h.length)return null;var v=function(e){c(function(t){return ul(ul({},t),{},dl({},e,!t[e]))})},b=function(e,t,n){var r=s[t],a=r?e.length:Math.min(5,e.length);return o.createElement("div",{className:"segment-list"},e.slice(0,a).map(function(e,t){return o.createElement("div",{key:e.id||t,className:"segment-item"},o.createElement("span",{className:"segment-icon"},n),o.createElement("span",{className:"segment-name"},e.name),o.createElement("span",{className:"segment-id"},"ID: ",e.id))}),e.length>5&&o.createElement("button",{className:"toggle-btn",onClick:function(){return v(t)}},r?"▲ Show less":"▼ Show all ".concat(e.length)))};return o.createElement("div",{className:"audience-preview"},o.createElement("h4",{className:"preview-title"},"👥 Audience Segments",o.createElement("span",{className:"source-badge"},"Total: ",m)),y&&o.createElement("div",{className:"retrieved-at"},"Retrieved: ",new Date(y).toLocaleString()),h.length>0&&o.createElement("div",{className:"segment-section"},o.createElement("h5",{onClick:function(){return v("affinity")},className:"section-header clickable"},o.createElement("span",null,"💫 Affinity (",h.length,")"),o.createElement("span",{className:"expand-icon"},s.affinity?"▼":"▶")),o.createElement("p",{className:"section-desc"},"Reach users based on lifestyle, interests, and habits"),s.affinity&&b(h,"affinity","💫")),p.length>0&&o.createElement("div",{className:"segment-section"},o.createElement("h5",{onClick:function(){return v("inMarket")},className:"section-header clickable"},o.createElement("span",null,"🛒 In-Market (",p.length,")"),o.createElement("span",{className:"expand-icon"},s.inMarket?"▼":"▶")),o.createElement("p",{className:"section-desc"},"Reach users actively researching or planning to purchase"),s.inMarket&&b(p,"inMarket","🛒")),f.length>0&&o.createElement("div",{className:"segment-section"},o.createElement("h5",{onClick:function(){return v("lifeEvents")},className:"section-header clickable"},o.createElement("span",null,"🎯 Life Events (",f.length,")"),o.createElement("span",{className:"expand-icon"},s.lifeEvents?"▼":"▶")),o.createElement("p",{className:"section-desc"},"Reach users during important life milestones"),s.lifeEvents&&b(f,"lifeEvents","🎯")),g.length>0&&o.createElement("div",{className:"segment-section"},o.createElement("h5",{onClick:function(){return v("detailedDemographics")},className:"section-header clickable"},o.createElement("span",null,"📊 Detailed Demographics (",g.length,")"),o.createElement("span",{className:"expand-icon"},s.detailedDemographics?"▼":"▶")),o.createElement("p",{className:"section-desc"},"Parental status, education, homeownership, employment"),s.detailedDemographics&&b(g,"detailedDemographics","📊")),o.createElement("div",{className:"quick-reference"},o.createElement("h5",null,"📋 Static Demographics (no API needed)"),o.createElement("div",{className:"static-options"},o.createElement("div",{className:"option-group"},o.createElement("strong",null,"Age:")," 18-24, 25-34, 35-44, 45-54, 55-64, 65+"),o.createElement("div",{className:"option-group"},o.createElement("strong",null,"Gender:")," Male, Female, Unknown"),o.createElement("div",{className:"option-group"},o.createElement("strong",null,"Income:")," Top 10%, 11-20%, 21-30%, 31-40%, 41-50%, Lower 50%"),o.createElement("div",{className:"option-group"},o.createElement("strong",null,"Parental:")," Parent, Not a parent, Unknown"))))}function fl(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return gl(l,"_invoke",function(n,r,o){var a,s,c,l=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return a=t,s=0,c=e,h.n=n,i}};function p(n,r){for(s=n,c=r,t=0;!d&&l&&!o&&t<u.length;t++){var o,a=u[t],p=h.p,f=a[2];n>3?(o=f===r)&&(c=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=n<2&&p<a[1])?(s=0,h.v=r,h.n=a[1]):p<f&&(o=n<3||a[0]>r||r>f)&&(a[4]=n,a[5]=r,h.n=f,s=0))}if(o||n>1)return i;throw d=!0,r}return function(o,u,f){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,c=f;(t=s<2?e:c)||!d;){a||(s?s<3?(s>1&&(h.n=-1),p(s,c)):h.n=c:h.v=c);try{if(l=2,a){if(s||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==i)break}catch(t){a=e,s=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,o,a),!0),l}var i={};function s(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(gl(t={},r,function(){return this}),t),d=l.prototype=s.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,gl(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,gl(d,"constructor",l),gl(l,"constructor",c),c.displayName="GeneratorFunction",gl(l,o,"GeneratorFunction"),gl(d),gl(d,o,"Generator"),gl(d,r,function(){return this}),gl(d,"toString",function(){return"[object Generator]"}),(fl=function(){return{w:a,m:h}})()}function gl(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}gl=function(e,t,n,r){function a(t,n){gl(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},gl(e,t,n,r)}function ml(e,t,n,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function yl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return vl(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?vl(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var bl="adp_tenantId";function wl(e){var t,n=e.initialProvider,r=Dc(),a=(r.sessionUser,r.getIdToken),i=r.getAccessToken,s=n||"gateway",c=(0,o.useMemo)(function(){return $c(s)},[s]),l=yl((0,o.useState)((null==c||null===(t=c[0])||void 0===t?void 0:t.id)||""),2),u=l[0],d=l[1],h=yl((0,o.useState)("{}"),2),p=h[0],f=h[1],g=yl((0,o.useState)(null),2),m=g[0],y=g[1],v=yl((0,o.useState)(!1),2),b=v[0],w=v[1],k=yl((0,o.useState)(function(){return localStorage.getItem(bl)||""}),2),C=k[0],S=k[1],E=(0,o.useMemo)(function(){return Gc(s,u)},[s,u]);(0,o.useEffect)(function(){localStorage.setItem(bl,C)},[C]),(0,o.useEffect)(function(){var e=$c(s),t=null==e?void 0:e[0];d((null==t?void 0:t.id)||""),null!=t&&t.sample&&f(JSON.stringify(t.sample,null,2)),y(null)},[s]),(0,o.useEffect)(function(){var e=Gc(s,u);null!=e&&e.sample&&f(JSON.stringify(e.sample,null,2))},[u,s]);var I=function(){var e,t=(e=fl().m(function e(){var t,n,r,o,c;return fl().w(function(e){for(;;)switch(e.p=e.n){case 0:return w(!0),y(null),e.p=1,e.n=2,a();case 2:return t=e.v,e.n=3,i();case 3:return n=e.v,r={sessionToken:t,entraToken:n,tenantId:C.trim()||void 0},e.n=4,rl(s,u,p,r);case 4:o=e.v,y(o),e.n=6;break;case 5:e.p=5,c=e.v,y({ok:!1,error:(null==c?void 0:c.message)||String(c)});case 6:return e.p=6,w(!1),e.f(6);case 7:return e.a(2)}},e,null,[[1,5,6,7]])}),function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){ml(a,r,o,i,s,"next",e)}function s(e){ml(a,r,o,i,s,"throw",e)}i(void 0)})});return function(){return t.apply(this,arguments)}}(),T={google:"Google Ads Customer ID (e.g. 1234567890)",meta:"Meta Ad Account ID (e.g. act_123456789)",tiktok:"TikTok Advertiser ID (e.g. 7123456789012345678)",creative:"Not required for Creative",gateway:"Not required for Gateway direct calls"}[s]||"Account ID (optional)",x="gateway"!==s;return o.createElement("div",{className:"service-form"},x&&o.createElement("fieldset",{className:"auth-section"},o.createElement("legend",null,"Target Account"),o.createElement("div",{className:"row row-inline"},o.createElement("label",null,"Tenant ID"),o.createElement("input",{type:"text",value:C,onChange:function(e){return S(e.target.value)},placeholder:T}))),o.createElement("div",{className:"row"},o.createElement("label",null,"Operation"),o.createElement("select",{value:u,onChange:function(e){return d(e.target.value)}},c.map(function(e){return o.createElement("option",{key:e.id,value:e.id},e.label)}))),E&&!E.endpoint&&o.createElement("div",{className:"row routing-info"},o.createElement("span",{className:"route-badge"},o.createElement("strong",null,"Route:")," Gateway → ",s," → ",E.service,".",E.action)),(null==E?void 0:E.endpoint)&&o.createElement("div",{className:"row routing-info"},o.createElement("span",{className:"route-badge route-direct"},o.createElement("strong",null,"Direct:")," ",E.method," ",E.endpoint)),o.createElement("div",{className:"row"},o.createElement("label",null,"Payload (JSON)"),o.createElement("textarea",{rows:10,value:p,onChange:function(e){return f(e.target.value)}})),o.createElement("button",{className:"submit-btn",onClick:I,disabled:!u||b},b?"Calling…":"Submit"),m&&o.createElement("div",{className:"response-section"},o.createElement("div",{className:"response-status ".concat(!1!==m.ok?"status-ok":"status-fail")},!1!==m.ok?"✓ Success":"✗ Error"),"creative"===s&&m.ok&&o.createElement(sl,{data:m}),"google"===s&&"audience"===(null==E?void 0:E.service)&&m.ok&&o.createElement(pl,{data:m}),o.createElement("details",{className:"json-details",open:"creative"!==s&&"audience"!==(null==E?void 0:E.service)||!m.ok},o.createElement("summary",null,"Raw JSON Response"),o.createElement("pre",{className:"response"},JSON.stringify(m,null,2)))))}function kl(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return Cl(l,"_invoke",function(n,r,o){var a,s,c,l=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return a=t,s=0,c=e,h.n=n,i}};function p(n,r){for(s=n,c=r,t=0;!d&&l&&!o&&t<u.length;t++){var o,a=u[t],p=h.p,f=a[2];n>3?(o=f===r)&&(c=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=n<2&&p<a[1])?(s=0,h.v=r,h.n=a[1]):p<f&&(o=n<3||a[0]>r||r>f)&&(a[4]=n,a[5]=r,h.n=f,s=0))}if(o||n>1)return i;throw d=!0,r}return function(o,u,f){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,c=f;(t=s<2?e:c)||!d;){a||(s?s<3?(s>1&&(h.n=-1),p(s,c)):h.n=c:h.v=c);try{if(l=2,a){if(s||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==i)break}catch(t){a=e,s=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,o,a),!0),l}var i={};function s(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(Cl(t={},r,function(){return this}),t),d=l.prototype=s.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,Cl(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,Cl(d,"constructor",l),Cl(l,"constructor",c),c.displayName="GeneratorFunction",Cl(l,o,"GeneratorFunction"),Cl(d),Cl(d,o,"Generator"),Cl(d,r,function(){return this}),Cl(d,"toString",function(){return"[object Generator]"}),(kl=function(){return{w:a,m:h}})()}function Cl(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Cl=function(e,t,n,r){function a(t,n){Cl(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},Cl(e,t,n,r)}function Sl(e,t,n,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function El(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Il(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Il(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Il(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Tl(){var e=El((0,o.useState)("330518338348-a1qto1jug5tmpc6565059apsggsfg12i.apps.googleusercontent.com"),2),t=e[0],n=e[1],r=El((0,o.useState)("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"),2),a=r[0],i=r[1],s=El((0,o.useState)(""),2),c=s[0],l=s[1],u=El((0,o.useState)(null),2),d=u[0],h=u[1],p=El((0,o.useState)(null),2),f=p[0],g=p[1],m=El((0,o.useState)(!1),2),y=m[0],v=m[1],b=El((0,o.useState)(null),2),w=b[0],k=b[1],C=El((0,o.useState)(!1),2),S=C[0],E=C[1],I=S?window.location.origin:"urn:ietf:wg:oauth:2.0:oob";(0,o.useEffect)(function(){var e=new URLSearchParams(window.location.search).get("code");e&&(l(e),E(!0),window.history.replaceState({},"",window.location.pathname))},[]);var T="https://accounts.google.com/o/oauth2/v2/auth?"+"client_id=".concat(encodeURIComponent(t))+"&redirect_uri=".concat(encodeURIComponent(I))+"&response_type=code"+"&scope=".concat(encodeURIComponent("https://www.googleapis.com/auth/adwords"))+"&access_type=offline&prompt=consent",x=function(){var e,n=(e=kl().m(function e(){var n,r,o;return kl().w(function(e){for(;;)switch(e.p=e.n){case 0:if(c.trim()){e.n=1;break}return e.a(2);case 1:return v(!0),g(null),h(null),e.p=2,e.n=3,fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({code:c.trim(),client_id:t,client_secret:a,redirect_uri:I,grant_type:"authorization_code"})});case 3:return n=e.v,e.n=4,n.json();case 4:(r=e.v).error?g("".concat(r.error,": ").concat(r.error_description||"Unknown error")):h({refreshToken:r.refresh_token,accessToken:r.access_token,expiresIn:r.expires_in,scope:r.scope,tokenType:r.token_type}),e.n=6;break;case 5:e.p=5,o=e.v,g("Network error: ".concat(o.message));case 6:return e.p=6,v(!1),e.f(6);case 7:return e.a(2)}},e,null,[[2,5,6,7]])}),function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Sl(a,r,o,i,s,"next",e)}function s(e){Sl(a,r,o,i,s,"throw",e)}i(void 0)})});return function(){return n.apply(this,arguments)}}(),A=null!=d&&d.refreshToken?"az containerapp update --name ".concat("adp-googleapi"," --resource-group ").concat("RG-GraeJones"," --set-env-vars GoogleAds__OAuth__RefreshToken=").concat(d.refreshToken):"",_=function(e,t){navigator.clipboard.writeText(e).then(function(){k(t),setTimeout(function(){return k(null)},2e3)})};return o.createElement("div",{className:"token-tool"},o.createElement("div",{className:"token-tool-header"},o.createElement("h3",null,"Google OAuth Token Tool"),o.createElement("span",{className:"token-tool-badge"},"Utility")),o.createElement("details",{className:"token-step"},o.createElement("summary",null,"OAuth Credentials (pre-filled)"),o.createElement("div",{className:"token-field"},o.createElement("label",null,"Client ID"),o.createElement("input",{type:"text",value:t,onChange:function(e){return n(e.target.value)}})),o.createElement("div",{className:"token-field"},o.createElement("label",null,"Client Secret"),o.createElement("input",{type:"text",value:a,onChange:function(e){return i(e.target.value)}})),o.createElement("div",{className:"token-field token-field-inline"},o.createElement("label",null,o.createElement("input",{type:"checkbox",checked:S,onChange:function(e){return E(e.target.checked)}})," ","Use redirect mode (requires ",window.location.origin," in Google Cloud authorized redirect URIs)"))),o.createElement("div",{className:"token-step-open"},o.createElement("div",{className:"step-label"},"Step 1 — Authorize with Google"),o.createElement("p",{className:"step-hint"},"Opens Google sign-in. Sign in with ",o.createElement("strong",null,"addplatform.mcc@gmail.com")," and grant access.",!S&&" Copy the authorization code shown after approval."),o.createElement("button",{className:"token-btn token-btn-primary",onClick:function(){window.open(T,"_blank","width=600,height=700")}},"Open Google Authorization")),o.createElement("div",{className:"token-step-open"},o.createElement("div",{className:"step-label"},"Step 2 — Exchange Code for Token"),o.createElement("div",{className:"token-field"},o.createElement("label",null,"Authorization Code"),o.createElement("input",{type:"text",value:c,onChange:function(e){return l(e.target.value)},placeholder:"Paste the authorization code here",className:c?"has-value":""})),o.createElement("button",{className:"token-btn token-btn-primary",onClick:x,disabled:!c.trim()||y},y?"Exchanging...":"Exchange for Refresh Token")),f&&o.createElement("div",{className:"token-error"},o.createElement("strong",null,"Error:")," ",f),d&&o.createElement("div",{className:"token-result"},o.createElement("div",{className:"step-label"},"Refresh Token"),o.createElement("div",{className:"token-value-row"},o.createElement("code",{className:"token-value"},d.refreshToken),o.createElement("button",{className:"token-btn token-btn-small",onClick:function(){return _(d.refreshToken,"token")}},"token"===w?"✓ Copied":"Copy")),o.createElement("div",{className:"step-label",style:{marginTop:16}},"Step 3 — Update Container (run in PowerShell)"),o.createElement("div",{className:"token-value-row"},o.createElement("code",{className:"token-value token-cmd"},A),o.createElement("button",{className:"token-btn token-btn-small",onClick:function(){return _(A,"cmd")}},"cmd"===w?"✓ Copied":"Copy")),o.createElement("details",{className:"token-details",style:{marginTop:12}},o.createElement("summary",null,"Full token response"),o.createElement("pre",null,JSON.stringify(d,null,2)))))}function xl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Al(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Al(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Al(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var _l={gateway:"🔀",google:"🔍",meta:"📘",tiktok:"🎵",creative:"🎨",intelligence:"🧠",registration:"📝",management:"⚙️"},Pl={gateway:"Direct Gateway calls — wizard, intelligence, ping",google:"Google Ads API via internal GoogleApi container",meta:"Meta Ads API via internal MetaApi container",tiktok:"TikTok Ads API via internal TikTokApi container",creative:"Creative pipeline — URL analysis, copy, images",intelligence:"Spend distribution forecast engine",registration:"Registration API — prospects and onboarding",management:"Management API — help content, documents"};function Rl(){var e=xl((0,o.useState)(null),2),t=e[0],n=e[1],r=xl((0,o.useState)(!1),2),a=r[0],i=r[1];return a?o.createElement("div",{className:"content-panel"},o.createElement("button",{className:"token-btn",onClick:function(){return i(!1)},style:{marginBottom:16,display:"flex",alignItems:"center",gap:6}},"← Back to API Testing"),o.createElement(Tl,null)):t?o.createElement("div",null,o.createElement("div",{style:{padding:"0 0 12px"}},o.createElement("button",{className:"token-btn",onClick:function(){return n(null)},style:{display:"flex",alignItems:"center",gap:6}},"← Back to API Testing")),o.createElement(wl,{initialProvider:t})):o.createElement("div",{className:"content-panel",style:{maxWidth:860}},o.createElement("div",{style:{marginBottom:20}},o.createElement("h3",{style:{margin:0,fontSize:16,color:"#1e293b"}},"API Testing"),o.createElement("p",{style:{margin:"4px 0 0",fontSize:13,color:"#64748b"}},"Select a provider to test its endpoints")),o.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))",gap:12,marginBottom:24}},jc.filter(function(e){return"management"!==e.id||!0}).map(function(e){return o.createElement("button",{key:e.id,onClick:function(){return n(e.id)},style:{background:"#fff",border:"1px solid #e2e8f0",borderRadius:8,padding:"16px 18px",textAlign:"left",cursor:"pointer",transition:"all 0.15s",display:"flex",alignItems:"flex-start",gap:12},onMouseEnter:function(e){e.currentTarget.style.borderColor="#0066cc",e.currentTarget.style.boxShadow="0 0 0 3px rgba(0,102,204,0.1)"},onMouseLeave:function(e){e.currentTarget.style.borderColor="#e2e8f0",e.currentTarget.style.boxShadow="none"}},o.createElement("span",{style:{fontSize:22,flexShrink:0,marginTop:1}},_l[e.id]||"📡"),o.createElement("div",null,o.createElement("div",{style:{fontWeight:600,fontSize:14,color:"#1e293b",marginBottom:3}},e.label),o.createElement("div",{style:{fontSize:12,color:"#64748b",lineHeight:1.4}},Pl[e.id]||"Test API endpoints")))})),o.createElement("div",{style:{borderTop:"1px solid #e2e8f0",paddingTop:20}},o.createElement("div",{style:{fontSize:11,fontWeight:700,letterSpacing:1,color:"#94a3b8",marginBottom:12}},"TOOLS"),o.createElement("button",{onClick:function(){return i(!0)},style:{background:"#fff",border:"1px solid #e2e8f0",borderRadius:8,padding:"14px 18px",textAlign:"left",cursor:"pointer",display:"flex",alignItems:"center",gap:12,width:"100%",maxWidth:300},onMouseEnter:function(e){e.currentTarget.style.borderColor="#0066cc",e.currentTarget.style.boxShadow="0 0 0 3px rgba(0,102,204,0.1)"},onMouseLeave:function(e){e.currentTarget.style.borderColor="#e2e8f0",e.currentTarget.style.boxShadow="none"}},o.createElement("span",{style:{fontSize:20}},"🔑"),o.createElement("div",null,o.createElement("div",{style:{fontWeight:600,fontSize:14,color:"#1e293b",marginBottom:2}},"Google OAuth Token"),o.createElement("div",{style:{fontSize:12,color:"#64748b"}},"Generate and inspect OAuth tokens")))))}function Nl(e){return Nl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nl(e)}function Ml(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ol(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ml(Object(n),!0).forEach(function(t){zl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ml(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function zl(e,t,n){return(t=function(e){var t=function(e){if("object"!=Nl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Nl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Nl(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ll(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return ql(l,"_invoke",function(n,r,o){var a,s,c,l=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return a=t,s=0,c=e,h.n=n,i}};function p(n,r){for(s=n,c=r,t=0;!d&&l&&!o&&t<u.length;t++){var o,a=u[t],p=h.p,f=a[2];n>3?(o=f===r)&&(c=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=n<2&&p<a[1])?(s=0,h.v=r,h.n=a[1]):p<f&&(o=n<3||a[0]>r||r>f)&&(a[4]=n,a[5]=r,h.n=f,s=0))}if(o||n>1)return i;throw d=!0,r}return function(o,u,f){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,c=f;(t=s<2?e:c)||!d;){a||(s?s<3?(s>1&&(h.n=-1),p(s,c)):h.n=c:h.v=c);try{if(l=2,a){if(s||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==i)break}catch(t){a=e,s=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,o,a),!0),l}var i={};function s(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(ql(t={},r,function(){return this}),t),d=l.prototype=s.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,ql(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,ql(d,"constructor",l),ql(l,"constructor",c),c.displayName="GeneratorFunction",ql(l,o,"GeneratorFunction"),ql(d),ql(d,o,"Generator"),ql(d,r,function(){return this}),ql(d,"toString",function(){return"[object Generator]"}),(Ll=function(){return{w:a,m:h}})()}function ql(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ql=function(e,t,n,r){function a(t,n){ql(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},ql(e,t,n,r)}function Ul(e,t,n,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function Dl(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Ul(a,r,o,i,s,"next",e)}function s(e){Ul(a,r,o,i,s,"throw",e)}i(void 0)})}}function Fl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Hl(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hl(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Hl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Bl=["Operations","Technical"],jl={Operations:{bg:"#f3e8ff",text:"#6b21a8"},Technical:{bg:"#dcfce7",text:"#166534"}};function Kl(e){return e?e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB"):"—"}function $l(e){var t=e.category,n=jl[t]||{bg:"#f1f5f9",text:"#475569"};return o.createElement("span",{style:{background:n.bg,color:n.text,padding:"2px 8px",borderRadius:12,fontSize:11,fontWeight:600,letterSpacing:.3}},t||"Uncategorized")}function Gl(e){var t=e.mimeType;return t?t.includes("pdf")?"📕":t.includes("word")||t.includes("document")?"📘":t.includes("sheet")||t.includes("excel")?"📗":t.includes("presentation")||t.includes("powerpoint")?"📙":t.includes("image")?"🖼":t.includes("text")?"📄":t.includes("zip")||t.includes("compressed")?"📦":"📄":"📄"}function Wl(){var e=Dc(),t=e.getIdToken,n=e.sessionUser,a=Fl((0,o.useState)([]),2),i=a[0],s=a[1],c=Fl((0,o.useState)(!0),2),l=c[0],u=c[1],d=Fl((0,o.useState)(null),2),h=d[0],p=d[1],f=Fl((0,o.useState)(!1),2),g=f[0],m=f[1],y=Fl((0,o.useState)(null),2),v=y[0],b=y[1],w=Fl((0,o.useState)(null),2),k=w[0],C=w[1],S=Fl((0,o.useState)(!1),2),E=S[0],I=S[1],T=Fl((0,o.useState)(null),2),x=T[0],A=T[1],_=Fl((0,o.useState)(""),2),P=_[0],R=_[1],N=Fl((0,o.useState)(""),2),M=N[0],O=N[1],z=Fl((0,o.useState)(!1),2),L=z[0],q=z[1],U=Fl((0,o.useState)(null),2),D=U[0],F=U[1],H=Fl((0,o.useState)("Technical"),2),B=H[0],j=H[1],K=Fl((0,o.useState)(""),2),$=K[0],G=K[1],W=(0,o.useRef)(),Q=function(){var e=Dl(Ll().m(function e(){var n;return Ll().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,t();case 1:return n=e.v,e.a(2,n?{Authorization:"Bearer ".concat(n)}:{})}},e)}));return function(){return e.apply(this,arguments)}}(),V=function(){var e=Dl(Ll().m(function e(){var t,n,o,a,i,c,l,d,h,f;return Ll().w(function(e){for(;;)switch(e.p=e.n){case 0:return u(!0),p(null),e.p=1,o=fetch,a="".concat(r.MGMT_BASE,"/api/documents/list"),i=Ol,c=Ol,l={},e.n=2,Q();case 2:return d=i(c(l,e.v),{},{"Content-Type":"application/json"}),h=JSON.stringify({categories:Bl}),e.n=3,o(a,{method:"POST",headers:d,body:h});case 3:if((t=e.v).ok){e.n=4;break}throw new Error("HTTP ".concat(t.status));case 4:return e.n=5,t.json();case 5:n=e.v,s(n.documents||[]),e.n=7;break;case 6:e.p=6,f=e.v,p(f.message);case 7:return e.p=7,u(!1),e.f(7);case 8:return e.a(2)}},e,null,[[1,6,7,8]])}));return function(){return e.apply(this,arguments)}}();(0,o.useEffect)(function(){V()},[]);var Y,J=function(){var e=Dl(Ll().m(function e(){var t,o,a,i,s,c,l,u;return Ll().w(function(e){for(;;)switch(e.p=e.n){case 0:if(D){e.n=1;break}return e.a(2);case 1:return m(!0),b(null),e.p=2,(t=new FormData).append("file",D),t.append("category",B),t.append("description",$),t.append("uploadedBy",(null==n?void 0:n.name)||(null==n?void 0:n.email)||"Unknown"),i=fetch,s="".concat(r.MGMT_BASE,"/api/documents"),e.n=3,Q();case 3:return c=e.v,l=t,e.n=4,i(s,{method:"POST",headers:c,body:l});case 4:if((o=e.v).ok){e.n=6;break}return e.n=5,o.text();case 5:throw a=e.v,new Error("HTTP ".concat(o.status,": ").concat(a));case 6:return q(!1),F(null),G(""),j("Technical"),e.n=7,V();case 7:e.n=9;break;case 8:e.p=8,u=e.v,b(u.message);case 9:return e.p=9,m(!1),e.f(9);case 10:return e.a(2)}},e,null,[[2,8,9,10]])}));return function(){return e.apply(this,arguments)}}(),X=function(){var e=Dl(Ll().m(function e(t){var n,o,a,i,s,c,l,u;return Ll().w(function(e){for(;;)switch(e.p=e.n){case 0:return A(t.docId),e.p=1,s=fetch,c="".concat(r.MGMT_BASE,"/api/documents/").concat(t.docId,"/download"),e.n=2,Q();case 2:return l=e.v,e.n=3,s(c,{headers:l});case 3:if((n=e.v).ok){e.n=4;break}throw new Error("HTTP ".concat(n.status));case 4:return e.n=5,n.blob();case 5:o=e.v,a=URL.createObjectURL(o),(i=document.createElement("a")).href=a,i.download=t.docFileName,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(a),e.n=7;break;case 6:e.p=6,u=e.v,alert("Download failed: ".concat(u.message));case 7:return e.p=7,A(null),e.f(7);case 8:return e.a(2)}},e,null,[[1,6,7,8]])}));return function(t){return e.apply(this,arguments)}}(),Z=function(){var e=Dl(Ll().m(function e(){var t,n,o,a,i;return Ll().w(function(e){for(;;)switch(e.p=e.n){case 0:if(k){e.n=1;break}return e.a(2);case 1:return I(!0),e.p=2,n=fetch,o="".concat(r.MGMT_BASE,"/api/documents/").concat(k),e.n=3,Q();case 3:return a=e.v,e.n=4,n(o,{method:"DELETE",headers:a});case 4:if((t=e.v).ok){e.n=5;break}throw new Error("HTTP ".concat(t.status));case 5:return C(null),e.n=6,V();case 6:e.n=8;break;case 7:e.p=7,i=e.v,alert("Delete failed: ".concat(i.message));case 8:return e.p=8,I(!1),e.f(8);case 9:return e.a(2)}},e,null,[[2,7,8,9]])}));return function(){return e.apply(this,arguments)}}(),ee=i.filter(function(e){var t=!P||e.docCategory===P,n=!M||e.docFileName.toLowerCase().includes(M.toLowerCase())||(e.docDescription||"").toLowerCase().includes(M.toLowerCase())||(e.docUploadedBy||"").toLowerCase().includes(M.toLowerCase());return t&&n});return o.createElement("div",{className:"content-panel",style:{maxWidth:1e3}},o.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:20}},o.createElement("div",null,o.createElement("h3",{style:{margin:0,fontSize:16,color:"#1e293b"}},"Project Documents"),o.createElement("p",{style:{margin:"4px 0 0",fontSize:13,color:"#64748b"}},i.length," document",1!==i.length?"s":""," stored")),o.createElement("button",{className:"token-btn token-btn-primary",onClick:function(){q(!0),b(null)},style:{display:"flex",alignItems:"center",gap:6}},"↑ Upload Document")),L&&o.createElement("div",{style:{background:"#f8fafc",border:"1px solid #e2e8f0",borderRadius:8,padding:20,marginBottom:20}},o.createElement("div",{style:{fontWeight:600,marginBottom:14,color:"#1e293b"}},"Upload New Document"),o.createElement("div",{style:{marginBottom:12}},o.createElement("label",{style:Ql},"File"),o.createElement("div",{style:{border:"2px dashed ".concat(D?"#0066cc":"#cbd5e1"),borderRadius:6,padding:"16px 20px",textAlign:"center",cursor:"pointer",background:D?"#eff6ff":"#fff",transition:"all 0.2s"},onClick:function(){var e;return null===(e=W.current)||void 0===e?void 0:e.click()}},D?o.createElement("span",{style:{color:"#0066cc",fontWeight:500}},Gl(D.type)," ",D.name," (",Kl(D.size),")"):o.createElement("span",{style:{color:"#94a3b8"}},"Click to select a file"),o.createElement("input",{ref:W,type:"file",style:{display:"none"},onChange:function(e){return F(e.target.files[0]||null)}}))),o.createElement("div",{style:{display:"grid",gridTemplateColumns:"180px 1fr",gap:12,marginBottom:12}},o.createElement("div",null,o.createElement("label",{style:Ql},"Category"),o.createElement("select",{value:B,onChange:function(e){return j(e.target.value)},style:Vl},Bl.map(function(e){return o.createElement("option",{key:e},e)}))),o.createElement("div",null,o.createElement("label",{style:Ql},"Description (optional)"),o.createElement("input",{type:"text",value:$,onChange:function(e){return G(e.target.value)},placeholder:"Brief description of this document",style:Vl}))),v&&o.createElement("div",{style:{color:"#dc2626",fontSize:13,marginBottom:10}},"⚠ ",v),o.createElement("div",{style:{display:"flex",gap:8}},o.createElement("button",{className:"token-btn token-btn-primary",onClick:J,disabled:!D||g},g?"⟳ Uploading…":"↑ Upload"),o.createElement("button",{className:"token-btn",onClick:function(){q(!1),F(null),b(null)},disabled:g},"Cancel"))),o.createElement("div",{style:{display:"flex",gap:10,marginBottom:16,alignItems:"center"}},o.createElement("input",{type:"text",placeholder:"Search documents…",value:M,onChange:function(e){return O(e.target.value)},style:Ol(Ol({},Vl),{},{flex:1,maxWidth:280})}),o.createElement("select",{value:P,onChange:function(e){return R(e.target.value)},style:Ol(Ol({},Vl),{},{width:150})},o.createElement("option",{value:""},"All Categories"),Bl.map(function(e){return o.createElement("option",{key:e},e)})),o.createElement("button",{className:"token-btn",onClick:V,title:"Refresh"},"⟳")),l?o.createElement("div",{style:{textAlign:"center",padding:40,color:"#94a3b8"}},"Loading documents…"):h?o.createElement("div",{style:{textAlign:"center",padding:40}},o.createElement("div",{style:{color:"#dc2626",marginBottom:8}},"⚠ ",h),o.createElement("button",{className:"token-btn",onClick:V},"Retry")):0===ee.length?o.createElement("div",{style:{textAlign:"center",padding:48,border:"1px dashed #e2e8f0",borderRadius:8,color:"#94a3b8"}},0===i.length?o.createElement(o.Fragment,null,"No documents yet. Click ",o.createElement("strong",null,"Upload Document")," to add the first one."):"No documents match the current filter."):o.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},ee.map(function(e){return o.createElement("div",{key:e.docId,style:{background:"#fff",border:"1px solid #e2e8f0",borderRadius:8,padding:"14px 16px",display:"flex",alignItems:"center",gap:14}},o.createElement("span",{style:{fontSize:24,flexShrink:0}},Gl(e.docMimeType)),o.createElement("div",{style:{flex:1,minWidth:0}},o.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4}},o.createElement("span",{style:{fontWeight:600,fontSize:14,color:"#1e293b",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e.docFileName),o.createElement($l,{category:e.docCategory})),e.docDescription&&o.createElement("div",{style:{fontSize:13,color:"#64748b",marginBottom:4}},e.docDescription),o.createElement("div",{style:{fontSize:12,color:"#94a3b8",display:"flex",gap:16}},o.createElement("span",null,Kl(e.docFileSize)),o.createElement("span",null,"Uploaded by ",e.docUploadedBy||"—"),o.createElement("span",null,(t=e.docUploadedAt)?new Date(t).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"}):"—"))),o.createElement("div",{style:{display:"flex",gap:8,flexShrink:0}},o.createElement("button",{className:"token-btn token-btn-primary",onClick:function(){return X(e)},disabled:x===e.docId,style:{fontSize:12,padding:"5px 12px"}},x===e.docId?"⟳":"↓ Download"),o.createElement("button",{className:"token-btn",onClick:function(){return C(e.docId)},style:{fontSize:12,padding:"5px 12px",color:"#dc2626",borderColor:"#fecaca"}},"🗑 Delete")));var t})),k&&o.createElement("div",{style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3}},o.createElement("div",{style:{background:"#fff",borderRadius:10,padding:28,maxWidth:380,width:"90%",boxShadow:"0 20px 60px rgba(0,0,0,0.3)"}},o.createElement("div",{style:{fontWeight:700,fontSize:16,marginBottom:8}},"Delete Document?"),o.createElement("div",{style:{color:"#64748b",fontSize:14,marginBottom:20}},(Y=i.find(function(e){return e.docId===k}))?o.createElement(o.Fragment,null,"Are you sure you want to delete ",o.createElement("strong",null,Y.docFileName),"? This cannot be undone."):"Are you sure you want to delete this document? This cannot be undone."),o.createElement("div",{style:{display:"flex",gap:8,justifyContent:"flex-end"}},o.createElement("button",{className:"token-btn",onClick:function(){return C(null)},disabled:E},"Cancel"),o.createElement("button",{className:"token-btn",onClick:Z,disabled:E,style:{background:"#dc2626",color:"#fff",borderColor:"#dc2626"}},E?"Deleting…":"Delete")))))}var Ql={display:"block",fontSize:12,fontWeight:600,color:"#475569",marginBottom:5,letterSpacing:.3},Vl={width:"100%",padding:"7px 10px",border:"1px solid #cbd5e1",borderRadius:6,fontSize:13,color:"#1e293b",background:"#fff",outline:"none",boxSizing:"border-box"};function Yl(e){return Yl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yl(e)}function Jl(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return Xl(l,"_invoke",function(n,r,o){var a,s,c,l=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return a=t,s=0,c=e,h.n=n,i}};function p(n,r){for(s=n,c=r,t=0;!d&&l&&!o&&t<u.length;t++){var o,a=u[t],p=h.p,f=a[2];n>3?(o=f===r)&&(c=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=n<2&&p<a[1])?(s=0,h.v=r,h.n=a[1]):p<f&&(o=n<3||a[0]>r||r>f)&&(a[4]=n,a[5]=r,h.n=f,s=0))}if(o||n>1)return i;throw d=!0,r}return function(o,u,f){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,c=f;(t=s<2?e:c)||!d;){a||(s?s<3?(s>1&&(h.n=-1),p(s,c)):h.n=c:h.v=c);try{if(l=2,a){if(s||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==i)break}catch(t){a=e,s=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,o,a),!0),l}var i={};function s(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(Xl(t={},r,function(){return this}),t),d=l.prototype=s.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,Xl(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,Xl(d,"constructor",l),Xl(l,"constructor",c),c.displayName="GeneratorFunction",Xl(l,o,"GeneratorFunction"),Xl(d),Xl(d,o,"Generator"),Xl(d,r,function(){return this}),Xl(d,"toString",function(){return"[object Generator]"}),(Jl=function(){return{w:a,m:h}})()}function Xl(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Xl=function(e,t,n,r){function a(t,n){Xl(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},Xl(e,t,n,r)}function Zl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function eu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zl(Object(n),!0).forEach(function(t){tu(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zl(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function tu(e,t,n){return(t=function(e){var t=function(e){if("object"!=Yl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Yl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Yl(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nu(e,t,n,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function ru(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){nu(a,r,o,i,s,"next",e)}function s(e){nu(a,r,o,i,s,"throw",e)}i(void 0)})}}function ou(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return au(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?au(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function au(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var iu={gateway:{label:"Gateway API",sub:"portal.positivespend.com",tier:"public",color:"#0066cc",mode:"direct",url:"".concat(r.API_BASE,"/api/test/ping"),tech:".NET 8 · Azure Container Apps · SQL Server"},management:{label:"Management API",sub:"mgmt.positivespend.com",tier:"public",color:"#0ea5e9",mode:"direct",url:"https://mgmt.positivespend.com/health",tech:".NET 8 · Azure Container Apps · SQL Server"},tech:{label:"Tech (TestAPI)",sub:"tech.positivespend.com",tier:"public",color:"#64748b",mode:"none",tech:"React · MSAL · Azure Container Apps"},registration:{label:"Registration",sub:"regapi.positivespend.com",tier:"registration",color:"#f97316",mode:"direct",url:"https://regapi.positivespend.com/api/health",tech:"Azure Functions · .NET 8"},creative:{label:"Creative",sub:"OpenAI / DALL·E",tier:"internal",color:"#8b5cf6",mode:"provider",provider:"creative",tech:"OpenAI · DALL-E 3 · Unsplash · Azure Blob"},google:{label:"Google Ads",sub:"GoogleApi",tier:"internal",color:"#4285f4",mode:"provider",provider:"google",tech:"Google Ads .NET Client Library · Key Vault"},meta:{label:"Meta Ads",sub:"MetaApi",tier:"internal",color:"#1877f2",mode:"provider",provider:"meta",tech:"Meta Ads API · Business Manager"},tiktok:{label:"TikTok Ads",sub:"TikTokApi",tier:"internal",color:"#2d2d2d",mode:"provider",provider:"tiktok",tech:"TikTok Ads API · Business Center"},intelligence:{label:"Intelligence",sub:"IntelligenceApi",tier:"internal",color:"#10b981",mode:"provider",provider:"intelligence",tech:".NET 8 · Azure Container Apps · Internal Only"}},su=["management","tech","gateway"],cu=["registration"],lu=["creative","google","meta","tiktok","intelligence"],uu=[].concat(su,cu,lu).filter(function(e){return"none"!==iu[e].mode}),du=function(e){return{healthy:"#22c55e",error:"#f59e0b",unreachable:"#ef4444"}[e]||"#cbd5e1"};function hu(e){var t=e.id,n=e.result,r=e.onClick,a=iu[t],i=du(null==n?void 0:n.status);return o.createElement("button",{className:"svc-node",onClick:function(){return r(t)},style:{borderColor:n?i:void 0}},n&&o.createElement("span",{className:"svc-node-dot",style:{background:i,boxShadow:"0 0 5px ".concat(i)}}),o.createElement("span",{className:"svc-node-name",style:{color:a.color}},a.label),o.createElement("span",{className:"svc-node-sub"},a.sub),null!=(null==n?void 0:n.ms)&&o.createElement("span",{className:"svc-node-ms"},n.ms,"ms"))}function pu(e){var t=e.id,n=e.result,a=e.onClose,i=iu[t],s=du(null==n?void 0:n.status),c=ou(o.useState(null),2),l=(c[0],c[1]),u=ou(o.useState(null),2),d=u[0],h=u[1],p=ou(o.useState(!0),2),f=p[0],g=p[1];return o.useEffect(function(){g(!0),fetch("".concat("https://mgmt.positivespend.com/api/help","/service.").concat(t)).then(function(e){return e.json()}).then(function(e){l(e.title||i.label),h(e.body||"<p>No information available for this topic yet.</p>")}).catch(function(){h("<p>No information available for this topic yet.</p>")}).finally(function(){return g(!1)})},[t]),o.createElement("div",{className:"svc-popup-backdrop",onClick:function(e){e.target===e.currentTarget&&a()}},o.createElement("div",{className:"svc-popup"},o.createElement("div",{className:"svc-popup-bar",style:{background:i.color}}),o.createElement("div",{className:"svc-popup-head"},o.createElement("div",null,o.createElement("div",{className:"svc-popup-title",style:{color:i.color}},i.label),o.createElement("div",{className:"svc-popup-sub"},i.sub)),o.createElement("button",{className:"svc-popup-close",onClick:a},"✕")),o.createElement("div",{className:"svc-popup-status-row"},o.createElement("div",{className:"svc-popup-stat"},o.createElement("div",{className:"svc-popup-stat-label"},"STATUS"),o.createElement("div",{className:"svc-popup-stat-value",style:{color:n?s:"#94a3b8"}},n&&o.createElement("span",{className:"svc-popup-dot",style:{background:s,boxShadow:"0 0 4px ".concat(s)}}),{healthy:"Healthy",error:"Error",unreachable:"Unreachable"}[null==n?void 0:n.status]||"Not checked")),null!=(null==n?void 0:n.ms)&&o.createElement("div",{className:"svc-popup-stat"},o.createElement("div",{className:"svc-popup-stat-label"},"RESPONSE"),o.createElement("div",{className:"svc-popup-stat-value"},n.ms,"ms")),o.createElement("div",{className:"svc-popup-stat"},o.createElement("div",{className:"svc-popup-stat-label"},"TIER"),o.createElement("div",{className:"svc-popup-stat-value",style:{color:"#64748b"}},"public"===i.tier?"Public":"registration"===i.tier?"Registration":"Internal"))),"none"!==i.mode&&o.createElement("div",{className:"svc-popup-section"},o.createElement("div",{className:"svc-popup-section-label"},"HEALTH ENDPOINT"),o.createElement("code",{className:"svc-popup-code"},"direct"===i.mode?i.url:"POST ".concat(r.API_BASE,'/api/execution/request → provider: "').concat(i.provider,'" → Ping'))),o.createElement("div",{className:"svc-popup-section"},o.createElement("div",{className:"svc-popup-section-label"},"ABOUT"),f?o.createElement("p",{className:"svc-popup-loading"},"Loading…"):o.createElement("div",{className:"svc-popup-about",dangerouslySetInnerHTML:{__html:d}})),o.createElement("div",{className:"svc-popup-section"},o.createElement("div",{className:"svc-popup-section-label"},"STACK"),o.createElement("div",{className:"svc-popup-tech"},i.tech)),(null==n?void 0:n.message)&&o.createElement("div",{className:"svc-popup-section"},o.createElement("div",{className:"svc-popup-section-label"},"DETAIL"),o.createElement("code",{className:"svc-popup-code svc-popup-error"},n.message))))}function fu(e){var t=e.results,n=e.onNodeClick;return o.createElement("div",{className:"arch2-wrap"},o.createElement("div",{className:"arch2-title"},"Platform Architecture"),o.createElement("div",{className:"arch2-top"},o.createElement("div",{className:"arch2-tier",style:{flex:1}},o.createElement("div",{className:"arch2-tier-label"},"Public Access"),o.createElement("div",{className:"arch2-tier-nodes"},su.map(function(e){return o.createElement(hu,{key:e,id:e,result:t[e],onClick:n})})),o.createElement("div",{className:"arch2-db-connector"},o.createElement("div",{className:"arch2-vline"}),o.createElement("div",{className:"arch2-db"},"🗄 SQL DB"))),o.createElement("div",{className:"arch2-pillar-sep"}),o.createElement("div",{className:"arch2-tier arch2-tier-reg"},o.createElement("div",{className:"arch2-tier-label"},"Registration"),o.createElement("div",{className:"arch2-tier-nodes"},cu.map(function(e){return o.createElement(hu,{key:e,id:e,result:t[e],onClick:n})})),o.createElement("div",{className:"arch2-db-connector"},o.createElement("div",{className:"arch2-vline"}),o.createElement("div",{className:"arch2-db"},"🗄 Reg DB")))),o.createElement("div",{className:"arch2-arrow-zone"},o.createElement("div",{className:"arch2-arrow-line"},o.createElement("span",{className:"arch2-arrow-label"},"internal routing via Gateway"))),o.createElement("div",{className:"arch2-tier arch2-tier-internal"},o.createElement("div",{className:"arch2-tier-label"},"Internal Only — Azure Container Apps"),o.createElement("div",{className:"arch2-tier-nodes arch2-tier-nodes-center"},lu.map(function(e){return o.createElement(hu,{key:e,id:e,result:t[e],onClick:n})}))),o.createElement("div",{className:"arch2-legend"},[["#22c55e","Healthy"],["#f59e0b","Error"],["#ef4444","Unreachable"],["#cbd5e1","Not checked"]].map(function(e){var t=ou(e,2),n=t[0],r=t[1];return o.createElement("span",{key:r,className:"arch2-legend-item"},o.createElement("span",{className:"arch2-legend-dot",style:{background:n}}),r)})))}function gu(){var e=Dc().getIdToken,t=ou((0,o.useState)({}),2),n=t[0],a=t[1],i=ou((0,o.useState)(!1),2),s=i[0],c=i[1],l=ou((0,o.useState)(null),2),u=l[0],d=l[1],h=ou((0,o.useState)(null),2),p=h[0],f=h[1],g=(0,o.useCallback)(ru(Jl().m(function t(){var n,o;return Jl().w(function(t){for(;;)switch(t.n){case 0:return c(!0),n={},t.n=1,e();case 1:return o=t.v,t.n=2,Promise.all(uu.map(function(){var e=ru(Jl().m(function e(t){var a,i,s,c,l,u,d,h;return Jl().w(function(e){for(;;)switch(e.p=e.n){case 0:if(a=iu[t],i=performance.now(),e.p=1,"direct"!==a.mode){e.n=3;break}return e.n=2,fetch(a.url,{signal:AbortSignal.timeout(8e3)});case 2:s=e.v,e.n=5;break;case 3:return e.n=4,fetch("".concat(r.API_BASE,"/api/execution/request"),{method:"POST",headers:eu({"Content-Type":"application/json"},o?{Authorization:"Bearer ".concat(o)}:{}),body:JSON.stringify({provider:a.provider,operation:"Ping",payload:{}}),signal:AbortSignal.timeout(8e3)});case 4:s=e.v;case 5:if(c=Math.round(performance.now()-i),!s.ok){e.n=10;break}return l=null,e.p=6,e.n=7,s.json();case 7:l=e.v,e.n=9;break;case 8:e.p=8,e.v;case 9:n[t]={status:"healthy",ms:c,data:l,httpStatus:s.status},e.n=15;break;case 10:return u="",e.p=11,e.n=12,s.text();case 12:u=e.v,e.n=14;break;case 13:e.p=13,e.v;case 14:n[t]={status:"error",ms:c,httpStatus:s.status,message:"HTTP ".concat(s.status,": ").concat(u.substring(0,200))};case 15:e.n=17;break;case 16:e.p=16,h=e.v,d=Math.round(performance.now()-i),n[t]={status:"unreachable",ms:d,message:"TimeoutError"===h.name?"Timed out (8s)":h.message};case 17:return e.a(2)}},e,null,[[11,13],[6,8],[1,16]])}));return function(t){return e.apply(this,arguments)}}()));case 2:a(n),d(new Date),c(!1);case 3:return t.a(2)}},t)})),[e]),m=Object.values(n).filter(function(e){return"healthy"===e.status}).length,y=Object.keys(n).length;return o.createElement("div",{className:"health-dashboard"},o.createElement("div",{className:"health-header"},o.createElement("div",{className:"health-title-row"},o.createElement("h3",{className:"health-title"},"⚡ Service Health"),y>0&&o.createElement("span",{className:"health-summary ".concat(m===y?"all-healthy":"has-issues")},m,"/",y," services up")),o.createElement("div",{className:"health-actions"},u&&o.createElement("span",{className:"health-timestamp"},"Last check: ",u.toLocaleTimeString()),o.createElement("button",{className:"token-btn token-btn-primary",onClick:g,disabled:s,style:{minWidth:120}},s?"⟳ Checking…":"▶ Check All"))),0===y&&o.createElement("p",{className:"arch2-hint"},"Click any node for details · Run Check All to test live status"),o.createElement(fu,{results:n,onNodeClick:f}),p&&o.createElement(pu,{id:p,result:n[p],onClose:function(){return f(null)}}))}function mu(e){return mu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},mu(e)}function yu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function vu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yu(Object(n),!0).forEach(function(t){bu(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function bu(e,t,n){return(t=function(e){var t=function(e){if("object"!=mu(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=mu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==mu(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wu(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return ku(l,"_invoke",function(n,r,o){var a,s,c,l=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return a=t,s=0,c=e,h.n=n,i}};function p(n,r){for(s=n,c=r,t=0;!d&&l&&!o&&t<u.length;t++){var o,a=u[t],p=h.p,f=a[2];n>3?(o=f===r)&&(c=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=n<2&&p<a[1])?(s=0,h.v=r,h.n=a[1]):p<f&&(o=n<3||a[0]>r||r>f)&&(a[4]=n,a[5]=r,h.n=f,s=0))}if(o||n>1)return i;throw d=!0,r}return function(o,u,f){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,c=f;(t=s<2?e:c)||!d;){a||(s?s<3?(s>1&&(h.n=-1),p(s,c)):h.n=c:h.v=c);try{if(l=2,a){if(s||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==i)break}catch(t){a=e,s=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,o,a),!0),l}var i={};function s(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(ku(t={},r,function(){return this}),t),d=l.prototype=s.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,ku(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,ku(d,"constructor",l),ku(l,"constructor",c),c.displayName="GeneratorFunction",ku(l,o,"GeneratorFunction"),ku(d),ku(d,o,"Generator"),ku(d,r,function(){return this}),ku(d,"toString",function(){return"[object Generator]"}),(wu=function(){return{w:a,m:h}})()}function ku(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ku=function(e,t,n,r){function a(t,n){ku(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},ku(e,t,n,r)}function Cu(e,t,n,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function Su(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Cu(a,r,o,i,s,"next",e)}function s(e){Cu(a,r,o,i,s,"throw",e)}i(void 0)})}}function Eu(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Iu(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Iu(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Iu(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Tu(e){if(!e)return"";var t=new Date(e),n=function(e){return String(e).padStart(2,"0")};return"".concat(t.getFullYear(),"-").concat(n(t.getMonth()+1),"-").concat(n(t.getDate()),"T").concat(n(t.getHours()),":").concat(n(t.getMinutes()))}var xu=[{key:"all",label:"All time"},{key:"today",label:"Today"},{key:"yesterday",label:"Yesterday"},{key:"7d",label:"Last 7 days"},{key:"30d",label:"Last 30 days"},{key:"custom",label:"Custom..."}];function Au(e){var t=e.path,n=function(e){return(e||"").replace(/^\/api\//,"").split("/").filter(Boolean).map(function(e){return{value:e,isId:(t=e,/^[0-9a-f-]{8,}$/i.test(t)||/^\d+$/.test(t)||t.length>24)};var t})}(t);return o.createElement("td",{title:t,style:{padding:"8px 14px",maxWidth:420}},o.createElement("span",{style:{fontFamily:"monospace",fontSize:12,display:"flex",flexWrap:"wrap",gap:2,alignItems:"center"}},n.map(function(e,t){return o.createElement(o.Fragment,{key:t},t>0&&o.createElement("span",{style:{color:"#cbd5e1",margin:"0 1px"}},""),o.createElement("span",{style:{color:e.isId?"#7c3aed":"#1e293b",fontWeight:e.isId?400:500,fontStyle:e.isId?"italic":"normal"}},e.value))})))}function _u(e){var t=e.code,n=t>=200&&t<300,r=t>=400&&t<500,a=n?"#dcfce7":r?"#fef9c3":"#fee2e2",i=n?"#15803d":r?"#854d0e":"#b91c1c";return o.createElement("span",{style:{background:a,color:i,padding:"2px 8px",borderRadius:4,fontSize:11,fontWeight:700}},t)}function Pu(e){if(!e)return"";var t=Math.floor((Date.now()-new Date(e).getTime())/1e3);return t<60?t+"s ago":t<3600?Math.floor(t/60)+"m ago":t<86400?Math.floor(t/3600)+"h ago":t<604800?Math.floor(t/86400)+"d ago":new Date(e).toLocaleDateString()}function Ru(){var e=Dc().getAccessToken,t=Eu((0,o.useState)([]),2),n=t[0],a=t[1],i=Eu((0,o.useState)(0),2),s=i[0],c=i[1],l=Eu((0,o.useState)(!1),2),u=l[0],d=l[1],h=Eu((0,o.useState)(null),2),p=h[0],f=h[1],g=Eu((0,o.useState)(1),2),m=g[0],y=g[1],v=Eu((0,o.useState)([]),2),b=v[0],w=v[1],k=Eu((0,o.useState)(!0),2),C=k[0],S=k[1],E=Eu((0,o.useState)(""),2),I=E[0],T=E[1],x=Eu((0,o.useState)("all"),2),A=x[0],_=x[1],P=Eu((0,o.useState)(null),2),R=P[0],N=P[1],M=Eu((0,o.useState)(null),2),O=M[0],z=M[1],L=Eu((0,o.useState)(""),2),q=L[0],U=L[1],D=Eu((0,o.useState)(""),2),F=D[0],H=D[1];(0,o.useEffect)(function(){function t(){return(t=Su(wu().m(function t(){var n,o,a,i;return wu().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,e();case 1:return n=t.v,t.n=2,fetch(r.MGMT_BASE+"/api/monitoring/staff",{headers:{Authorization:"Bearer "+n}});case 2:return o=t.v,t.n=3,o.json();case 3:(a=t.v).ok&&w(a.staff||[]),t.n=5;break;case 4:t.p=4,i=t.v,console.warn("[Activity] Staff list failed:",i.message);case 5:return t.p=5,S(!1),t.f(5);case 6:return t.a(2)}},t,null,[[0,4,5,6]])}))).apply(this,arguments)}!function(){t.apply(this,arguments)}()},[e]);var B=(0,o.useCallback)(function(){var t=Su(wu().m(function t(n,o,i,s){var l,u,h,p,g;return wu().w(function(t){for(;;)switch(t.p=t.n){case 0:return d(!0),f(null),t.p=1,t.n=2,e();case 2:return l=t.v,u={page:n,pageSize:20},o&&(u.oid=o),i&&(u.dateFrom=i),s&&(u.dateTo=s),t.n=3,fetch(r.MGMT_BASE+"/api/monitoring/activity",{method:"POST",headers:{Authorization:"Bearer "+l,"Content-Type":"application/json"},body:JSON.stringify(u)});case 3:return h=t.v,t.n=4,h.json();case 4:if((p=t.v).ok||p.items){t.n=5;break}throw new Error(p.error||"HTTP "+h.status);case 5:a(p.items||[]),c(p.total||0),y(n),t.n=7;break;case 6:t.p=6,g=t.v,f(g.message);case 7:return t.p=7,d(!1),t.f(7);case 8:return t.a(2)}},t,null,[[1,6,7,8]])}));return function(e,n,r,o){return t.apply(this,arguments)}}(),[e]);(0,o.useEffect)(function(){B(1,"",null,null)},[]);var j=function(e){T(e),B(1,e,R,O)},K=Math.max(1,Math.ceil(s/20)),$=b.find(function(e){return e.oid===I})&&b.find(function(e){return e.oid===I}).displayName,G=(xu.find(function(e){return e.key===A})||{}).label||"",W=function(e){return{padding:"6px 12px",borderRadius:20,fontSize:12,cursor:"pointer",border:e?"1.5px solid #3b82f6":"1px solid #e2e8f0",background:e?"#eff6ff":"#f8fafc",color:e?"#1d4ed8":"#475569",fontWeight:e?600:400}},Q=function(e){return{padding:"6px 14px",borderRadius:5,border:"1px solid #e2e8f0",background:e?"#f8fafc":"#fff",cursor:e?"default":"pointer",fontSize:13,color:e?"#cbd5e1":"#374151"}};return o.createElement("div",{style:{padding:24,maxWidth:1100}},o.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:20}},o.createElement("div",null,o.createElement("h2",{style:{margin:0,fontSize:18,fontWeight:700,color:"#0f172a"}},"Admin Activity Log"),o.createElement("p",{style:{margin:"4px 0 0",fontSize:13,color:"#64748b"}},"All mutating operations performed by staff members")),o.createElement("button",{onClick:function(){return B(m,I,R,O)},disabled:u,style:{padding:"7px 16px",borderRadius:6,border:"1px solid #e2e8f0",background:"#f8fafc",cursor:"pointer",fontSize:13,color:"#374151"}},u?"Loading...":"↻ Refresh")),o.createElement("div",{style:{display:"flex",gap:10,marginBottom:8,flexWrap:"wrap",alignItems:"center"}},o.createElement("div",{style:{position:"relative",minWidth:220}},o.createElement("select",{value:I,onChange:function(e){return j(e.target.value)},disabled:C,style:{width:"100%",padding:"7px 28px 7px 12px",borderRadius:6,border:"1px solid #e2e8f0",fontSize:13,background:"#fff",color:I?"#1e293b":"#94a3b8",cursor:"pointer",appearance:"none"}},o.createElement("option",{value:""},C?"Loading...":"All staff ("+b.length+")"),b.map(function(e){return o.createElement("option",{key:e.oid,value:e.oid},e.displayName||e.email,e.displayName&&e.email?" — "+e.email:"")})),o.createElement("span",{style:{position:"absolute",right:9,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",color:"#94a3b8",fontSize:11}},"▾")),o.createElement("span",{style:{color:"#e2e8f0"}},"|"),xu.map(function(e){return o.createElement("button",{key:e.key,onClick:function(){return function(e){if(_(e),"custom"!==e){var t=function(e){var t=new Date,n=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()));switch(e){case"today":return{dateFrom:n.toISOString(),dateTo:null};case"yesterday":var r=new Date(n);r.setUTCDate(r.getUTCDate()-1);var o=new Date(n);return o.setUTCMilliseconds(-1),{dateFrom:r.toISOString(),dateTo:o.toISOString()};case"7d":var a=new Date(n);return a.setUTCDate(a.getUTCDate()-7),{dateFrom:a.toISOString(),dateTo:null};case"30d":var i=new Date(n);return i.setUTCDate(i.getUTCDate()-30),{dateFrom:i.toISOString(),dateTo:null};default:return{dateFrom:null,dateTo:null}}}(e),n=t.dateFrom,r=t.dateTo;N(n),z(r),U(n?Tu(n):""),H(r?Tu(r):""),B(1,I,n,r)}}(e.key)},style:W(A===e.key)},e.label)}),I&&o.createElement("button",{onClick:function(){return j("")},style:vu(vu({},W(!1)),{},{borderRadius:6})},"× Clear")),"custom"===A&&o.createElement("div",{style:{display:"flex",gap:8,alignItems:"center",marginBottom:12,padding:"10px 14px",borderRadius:8,background:"#f8fafc",border:"1px solid #e2e8f0"}},o.createElement("label",{style:{fontSize:12,color:"#64748b",whiteSpace:"nowrap"}},"From"),o.createElement("input",{type:"datetime-local",value:q,onChange:function(e){return U(e.target.value)},style:{padding:"5px 10px",borderRadius:6,border:"1px solid #e2e8f0",fontSize:13}}),o.createElement("label",{style:{fontSize:12,color:"#64748b",whiteSpace:"nowrap"}},"To"),o.createElement("input",{type:"datetime-local",value:F,onChange:function(e){return H(e.target.value)},style:{padding:"5px 10px",borderRadius:6,border:"1px solid #e2e8f0",fontSize:13}}),o.createElement("button",{onClick:function(){var e=q?new Date(q).toISOString():null,t=F?new Date(F).toISOString():null;N(e),z(t),B(1,I,e,t)},style:{padding:"6px 16px",borderRadius:6,border:"none",background:"#3b82f6",color:"#fff",cursor:"pointer",fontSize:13,fontWeight:600}},"Apply")),p&&o.createElement("div",{style:{padding:12,borderRadius:6,background:"#fee2e2",color:"#b91c1c",marginBottom:12,fontSize:13}},p),o.createElement("div",{style:{border:"1px solid #e2e8f0",borderRadius:8,overflow:"hidden",background:"#fff"}},o.createElement("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13}},o.createElement("thead",null,o.createElement("tr",{style:{background:"#f8fafc",borderBottom:"1px solid #e2e8f0"}},["Timestamp","Who","Path","Status"].map(function(e){return o.createElement("th",{key:e,style:{padding:"10px 14px",textAlign:"left",fontWeight:600,color:"#475569",fontSize:12}},e)}))),o.createElement("tbody",null,u&&0===n.length?o.createElement("tr",null,o.createElement("td",{colSpan:4,style:{padding:32,textAlign:"center",color:"#94a3b8"}},"Loading...")):0===n.length?o.createElement("tr",null,o.createElement("td",{colSpan:4,style:{padding:32,textAlign:"center",color:"#94a3b8"}},"No activity in this range.")):n.map(function(e,t){return o.createElement(o.Fragment,{key:e.activityId},o.createElement("tr",{style:{borderBottom:e.filter?"none":"1px solid #f1f5f9",background:t%2==0?"#fff":"#fafafa",opacity:u?.6:1,transition:"opacity 0.15s"}},o.createElement("td",{title:Pu(e.activityAt),style:{padding:"8px 14px",whiteSpace:"nowrap"}},o.createElement("span",{style:{color:"#475569",fontSize:12,fontFamily:"monospace"}},(n=e.activityAt)?new Date(n).toLocaleString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit"}):"—")),o.createElement("td",{title:e.email||e.oid||"",style:{padding:"8px 14px",whiteSpace:"nowrap"}},o.createElement("span",{style:{fontWeight:500,color:"#1e293b"}},e.displayName||e.email||e.oid||"—")),o.createElement(Au,{path:e.path}),o.createElement("td",{style:{padding:"8px 14px"}},o.createElement(_u,{code:e.statusCode}))),e.filter&&o.createElement("tr",{style:{borderBottom:"1px solid #f1f5f9",background:t%2==0?"#fff":"#fafafa",opacity:u?.6:1}},o.createElement("td",{colSpan:4,style:{padding:"0 14px 7px",textAlign:"center"}},o.createElement("span",{style:{fontFamily:"monospace",fontSize:11,color:"#94a3b8",letterSpacing:"0.01em"}},e.filter))));var n})))),o.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:12}},o.createElement("span",{style:{fontSize:12,color:"#64748b"}},s.toLocaleString()," record",1!==s?"s":"",$?" · "+$:"","all"!==A?" · "+G.toLowerCase():""),o.createElement("div",{style:{display:"flex",gap:8,alignItems:"center"}},o.createElement("button",{disabled:m<=1||u,onClick:function(){return B(m-1,I,R,O)},style:Q(m<=1||u)},"← Prev"),o.createElement("span",{style:{fontSize:12,color:"#94a3b8",minWidth:70,textAlign:"center"}},m," / ",K),o.createElement("button",{disabled:m>=K||u,onClick:function(){return B(m+1,I,R,O)},style:Q(m>=K||u)},"Next →"))))}function Nu(e){return Nu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nu(e)}function Mu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ou(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mu(Object(n),!0).forEach(function(t){zu(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function zu(e,t,n){return(t=function(e){var t=function(e){if("object"!=Nu(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Nu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Nu(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lu(e){return function(e){if(Array.isArray(e))return ju(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Bu(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qu(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return Uu(l,"_invoke",function(n,r,o){var a,s,c,l=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return a=t,s=0,c=e,h.n=n,i}};function p(n,r){for(s=n,c=r,t=0;!d&&l&&!o&&t<u.length;t++){var o,a=u[t],p=h.p,f=a[2];n>3?(o=f===r)&&(c=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=n<2&&p<a[1])?(s=0,h.v=r,h.n=a[1]):p<f&&(o=n<3||a[0]>r||r>f)&&(a[4]=n,a[5]=r,h.n=f,s=0))}if(o||n>1)return i;throw d=!0,r}return function(o,u,f){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,c=f;(t=s<2?e:c)||!d;){a||(s?s<3?(s>1&&(h.n=-1),p(s,c)):h.n=c:h.v=c);try{if(l=2,a){if(s||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==i)break}catch(t){a=e,s=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,o,a),!0),l}var i={};function s(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(Uu(t={},r,function(){return this}),t),d=l.prototype=s.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,Uu(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,Uu(d,"constructor",l),Uu(l,"constructor",c),c.displayName="GeneratorFunction",Uu(l,o,"GeneratorFunction"),Uu(d),Uu(d,o,"Generator"),Uu(d,r,function(){return this}),Uu(d,"toString",function(){return"[object Generator]"}),(qu=function(){return{w:a,m:h}})()}function Uu(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Uu=function(e,t,n,r){function a(t,n){Uu(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},Uu(e,t,n,r)}function Du(e,t,n,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function Fu(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Du(a,r,o,i,s,"next",e)}function s(e){Du(a,r,o,i,s,"throw",e)}i(void 0)})}}function Hu(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||Bu(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bu(e,t){if(e){if("string"==typeof e)return ju(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ju(e,t):void 0}}function ju(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Ku=function(e){var t=e.d,n=e.size,r=void 0===n?14:n;return o.createElement("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:t}))},$u=function(){return o.createElement(Ku,{d:"M12 5v14M5 12h14"})},Gu=function(){return o.createElement(Ku,{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})},Wu=function(){return o.createElement(Ku,{d:"M3 6h18M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6M10 11v6M14 11v6M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2"})},Qu=function(){return o.createElement(Ku,{d:"M23 4v6h-6M1 20v-6h6M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"})},Vu=function(){return o.createElement(Ku,{d:"M18 6L6 18M6 6l12 12",size:12})},Yu={admin:{bg:"#eff6ff",border:"#bfdbfe",text:"#1d4ed8"},client:{bg:"#f0fdf4",border:"#bbf7d0",text:"#15803d"},service:{bg:"#fdf4ff",border:"#e9d5ff",text:"#7e22ce"}},Ju={bg:"#f8fafc",border:"#e2e8f0",text:"#475569"},Xu=function(e){return Yu[e]||Ju};function Zu(e){var t=e.helpKey.split("."),n=t[0]||"",r=Xu(n);return o.createElement("span",{style:{display:"inline-flex",alignItems:"center",fontFamily:"monospace",fontSize:12}},o.createElement("span",{style:{padding:"2px 7px",borderRadius:"4px 0 0 4px",background:r.bg,border:"1px solid ".concat(r.border),color:r.text,fontWeight:700,fontSize:11,borderRight:"none"}},n),t.slice(1).map(function(e,n){var r=n===t.slice(1).length-1;return o.createElement("span",{key:n,style:{padding:"2px 0",borderTop:"1px solid #e2e8f0",borderBottom:"1px solid #e2e8f0",borderRight:r?"1px solid #e2e8f0":"none",borderRadius:r?"0 4px 4px 0":0,background:"#fff",color:r?"#0f172a":"#64748b",fontWeight:r?600:400}},o.createElement("span",{style:{color:"#cbd5e1",padding:"0 3px 0 4px"}},"."),e)}))}function ed(e){var t=e.active;return o.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:5}},o.createElement("span",{style:{width:6,height:6,borderRadius:"50%",flexShrink:0,background:t?"#22c55e":"#d1d5db"}}),o.createElement("span",{style:{fontSize:12,color:t?"#15803d":"#9ca3af",fontWeight:500}},t?"Active":"Inactive"))}function td(e){var t=e.onClick,n=e.disabled,r=e.title,a=e.danger,i=e.children,s=Hu((0,o.useState)(!1),2),c=s[0],l=s[1];return o.createElement("button",{onClick:t,disabled:n,title:r,onMouseEnter:function(){return l(!0)},onMouseLeave:function(){return l(!1)},style:{display:"inline-flex",alignItems:"center",gap:4,padding:"5px 10px",borderRadius:5,border:"1px solid",fontSize:12,fontWeight:500,cursor:n?"not-allowed":"pointer",fontFamily:"inherit",transition:"all 0.12s",opacity:n?.45:1,background:a?c?"#fef2f2":"#fff":c?"#eff6ff":"#fff",borderColor:a?c?"#fca5a5":"#e2e8f0":c?"#bfdbfe":"#e2e8f0",color:a?c?"#dc2626":"#94a3b8":c?"#2563eb":"#64748b"}},i)}function nd(){var e=Dc().getAccessToken,t=(0,o.useCallback)(function(){var t=Fu(qu().m(function t(n){var o,a,i,s,c,l,u,d=arguments;return qu().w(function(t){for(;;)switch(t.p=t.n){case 0:return o=d.length>1&&void 0!==d[1]?d[1]:"GET",a=d.length>2&&void 0!==d[2]?d[2]:null,t.n=1,e();case 1:if(i=t.v){t.n=2;break}return t.a(2,{ok:!1,error:"Not authenticated"});case 2:return s={method:o,headers:{Authorization:"Bearer ".concat(i),"Content-Type":"application/json"}},a&&(s.body=JSON.stringify(a)),t.p=3,t.n=4,fetch("".concat(r.MGMT_BASE).concat(n),s);case 4:return c=t.v,t.n=5,c.text();case 5:return l=t.v,t.p=6,t.a(2,JSON.parse(l));case 7:return t.p=7,t.v,t.a(2,{ok:!1,error:l});case 8:return t.p=8,u=t.v,t.a(2,{ok:!1,error:u.message});case 9:return t.a(2)}},t,null,[[6,7],[3,8]])}));return function(e){return t.apply(this,arguments)}}(),[e]),n=Hu((0,o.useState)([]),2),a=n[0],i=n[1],s=Hu((0,o.useState)(!0),2),c=s[0],l=s[1],u=Hu((0,o.useState)(null),2),d=u[0],h=u[1],p=Hu((0,o.useState)(null),2),f=p[0],g=p[1],m=Hu((0,o.useState)(!1),2),y=m[0],v=m[1],b=Hu((0,o.useState)(""),2),w=b[0],k=b[1],C=Hu((0,o.useState)(""),2),S=C[0],E=C[1],I=Hu((0,o.useState)(null),2),T=I[0],x=I[1],A=Hu((0,o.useState)({helpKey:"",title:"",body:"",isActive:!0}),2),_=A[0],P=A[1],R=Hu((0,o.useState)(!1),2),N=R[0],M=R[1],O=Hu((0,o.useState)(null),2),z=O[0],L=O[1],q=Hu((0,o.useState)(null),2),U=q[0],D=q[1],F=(0,o.useRef)(null),H=(0,o.useCallback)(function(e){g({msg:e,type:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"success"}),setTimeout(function(){return g(null)},3e3)},[]),B=(0,o.useCallback)(Fu(qu().m(function e(){var n;return qu().w(function(e){for(;;)switch(e.p=e.n){case 0:return l(!0),h(null),e.p=1,e.n=2,t("/api/admin/help/list","POST",{includeInactive:y});case 2:(n=e.v).ok?i(n.items||[]):h(n.error||"Failed to load help content"),e.n=4;break;case 3:e.p=3,e.v,h("Network error loading help content");case 4:return e.p=4,l(!1),e.f(4);case 5:return e.a(2)}},e,null,[[1,3,4,5]])})),[t,y]);(0,o.useEffect)(function(){B()},[B]);var j=(0,o.useMemo)(function(){var e=new Set,t=new Set;return a.forEach(function(n){var r=n.helpKey.split(".");r[0]&&e.add(r[0]),r[1]&&t.add(r[1])}),{modules:Lu(e).sort(),sections:Lu(t).sort()}},[a]),K=j.modules,$=j.sections,G=(0,o.useMemo)(function(){if(!w)return $;var e=new Set;return a.forEach(function(t){var n=t.helpKey.split(".");n[0]===w&&n[1]&&e.add(n[1])}),Lu(e).sort()},[a,w,$]),W=(0,o.useMemo)(function(){return a.filter(function(e){var t=e.helpKey.split(".");return!(w&&t[0]!==w||S&&t[1]!==S)})},[a,w,S]),Q=w||S,V=function(){x(null),P({helpKey:"",title:"",body:"",isActive:!0})},Y=function(){var e=Fu(qu().m(function e(){var n;return qu().w(function(e){for(;;)switch(e.p=e.n){case 0:if(_.helpKey.trim()){e.n=1;break}return e.a(2,H("Help key is required","error"));case 1:if(_.title.trim()){e.n=2;break}return e.a(2,H("Title is required","error"));case 2:if(_.body.trim()){e.n=3;break}return e.a(2,H("Body content is required","error"));case 3:return M(!0),e.p=4,e.n=5,t("/api/admin/help","POST",{helpKey:_.helpKey.trim().toLowerCase(),title:_.title.trim(),body:_.body.trim(),isActive:_.isActive});case 5:(n=e.v).ok?(H('Saved "'.concat(_.helpKey,'"')),V(),B()):H(n.error||"Save failed","error"),e.n=7;break;case 6:e.p=6,e.v,H("Network error saving","error");case 7:return e.p=7,M(!1),e.f(7);case 8:return e.a(2)}},e,null,[[4,6,7,8]])}));return function(){return e.apply(this,arguments)}}(),J=function(){var e=Fu(qu().m(function e(n){var r;return qu().w(function(e){for(;;)switch(e.p=e.n){case 0:return L(n),e.p=1,e.n=2,t("/api/admin/help/".concat(encodeURIComponent(n)),"DELETE");case 2:(r=e.v).ok?(H('Deleted "'.concat(n,'"')),D(null),B()):H(r.error||"Delete failed","error"),e.n=4;break;case 3:e.p=3,e.v,H("Network error deleting","error");case 4:return e.p=4,L(null),e.f(4);case 5:return e.a(2)}},e,null,[[1,3,4,5]])}));return function(t){return e.apply(this,arguments)}}(),X=["client.wizard.objective","client.wizard.audience","client.wizard.budget","client.wizard.channels","client.wizard.creative","client.wizard.review","admin.campaigns.status","admin.campaigns.pacing","admin.clients.approval","admin.clients.status"].filter(function(e){return!a.find(function(t){return t.helpKey===e})}),Z=a.filter(function(e){return e.isActive}).length,ee=a.length-Z,te={width:"100%",padding:"7px 11px",border:"1px solid #e2e8f0",borderRadius:6,fontSize:13,fontFamily:"inherit",outline:"none",boxSizing:"border-box",color:"#1e293b"},ne={display:"block",fontSize:11,fontWeight:700,color:"#64748b",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:5};return o.createElement("div",{style:{maxWidth:960}},f&&o.createElement("div",{style:{position:"fixed",bottom:24,right:24,zIndex:1e3,background:"error"===f.type?"#dc2626":"#16a34a",color:"#fff",padding:"10px 18px",borderRadius:8,fontSize:13,fontWeight:500,boxShadow:"0 4px 16px rgba(0,0,0,0.18)"}},f.msg),o.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",marginBottom:20}},o.createElement("div",null,o.createElement("h3",{style:{margin:0,fontSize:16,fontWeight:600,color:"#1e293b"}},"Help Content"),o.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:4}},o.createElement("span",{style:{fontSize:13,color:"#64748b"}},Q?"".concat(W.length," of ").concat(a.length," entries"):"".concat(a.length," entries")),!c&&a.length>0&&o.createElement(o.Fragment,null,o.createElement("span",{style:{color:"#e2e8f0"}},"·"),o.createElement("span",{style:{fontSize:12,color:"#22c55e",fontWeight:500}},Z," active"),ee>0&&o.createElement(o.Fragment,null,o.createElement("span",{style:{color:"#e2e8f0"}},"·"),o.createElement("span",{style:{fontSize:12,color:"#94a3b8"}},ee," inactive"))))),o.createElement("div",{style:{display:"flex",alignItems:"center",gap:10}},o.createElement("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:13,color:"#64748b",cursor:"pointer",userSelect:"none"}},o.createElement("input",{type:"checkbox",checked:y,onChange:function(e){return v(e.target.checked)}}),"Show inactive"),o.createElement("button",{onClick:B,disabled:c,title:"Refresh",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:32,height:32,borderRadius:6,border:"1px solid #e2e8f0",background:"#fff",cursor:"pointer",color:"#64748b",flexShrink:0}},o.createElement(Qu,null)),o.createElement("button",{onClick:function(){x("new"),P({helpKey:"",title:"",body:"",isActive:!0})},style:{display:"inline-flex",alignItems:"center",gap:6,padding:"7px 14px",borderRadius:6,border:"none",background:"#2563eb",color:"#fff",fontSize:13,fontWeight:500,cursor:"pointer",fontFamily:"inherit"}},o.createElement($u,null)," New Entry"))),!c&&K.length>0&&o.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:16,flexWrap:"wrap"}},o.createElement("span",{style:{fontSize:11,fontWeight:700,color:"#94a3b8",textTransform:"uppercase",letterSpacing:"0.05em"}},"Module"),[""].concat(Lu(K)).map(function(e){var t=w===e,n=e?Xu(e):Ju;return o.createElement("button",{key:e||"__all",onClick:function(){return k(e),void E("")},style:{padding:"4px 12px",borderRadius:20,border:"1px solid",fontSize:12,fontWeight:t?600:400,cursor:"pointer",fontFamily:"inherit",transition:"all 0.12s",background:t?n.bg:"#fff",borderColor:t?n.border:"#e2e8f0",color:t?n.text:"#64748b"}},e||"All")}),w&&G.length>0&&o.createElement(o.Fragment,null,o.createElement("span",{style:{width:1,height:16,background:"#e2e8f0",flexShrink:0}}),o.createElement("span",{style:{fontSize:11,fontWeight:700,color:"#94a3b8",textTransform:"uppercase",letterSpacing:"0.05em"}},"Section"),G.map(function(e){var t=S===e;return o.createElement("button",{key:e,onClick:function(){return E(t?"":e)},style:{padding:"3px 10px",borderRadius:20,border:"1px solid",fontSize:11,fontWeight:t?600:400,fontFamily:"monospace",cursor:"pointer",transition:"all 0.12s",background:t?"#0f172a":"#fff",borderColor:t?"#0f172a":"#e2e8f0",color:t?"#fff":"#64748b"}},e)})),Q&&o.createElement("button",{onClick:function(){k(""),E("")},style:{display:"inline-flex",alignItems:"center",gap:4,padding:"3px 9px",borderRadius:20,border:"1px solid #e2e8f0",background:"#f8fafc",fontSize:11,color:"#64748b",cursor:"pointer",fontFamily:"inherit"}},o.createElement(Vu,null)," Clear")),T&&o.createElement("div",{style:{background:"#fff",border:"1px solid #bfdbfe",borderRadius:10,padding:20,marginBottom:20,boxShadow:"0 0 0 3px rgba(59,130,246,0.06)"}},o.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:18}},o.createElement("div",{style:{fontWeight:600,fontSize:14,color:"#1e293b"}},"new"===T?"✦ New Help Entry":"Editing: ".concat(T)),o.createElement("button",{onClick:V,style:{padding:"5px 12px",borderRadius:6,border:"1px solid #e2e8f0",background:"#fff",fontSize:12,color:"#64748b",cursor:"pointer",fontFamily:"inherit"}},"Cancel")),o.createElement("div",{style:{marginBottom:14}},o.createElement("label",{style:ne},"Help Key ",o.createElement("span",{style:{color:"#94a3b8",fontWeight:400,textTransform:"none",letterSpacing:0}},"— lowercase, dot-separated")),"new"===T?o.createElement("div",null,o.createElement("input",{style:te,placeholder:"e.g. client.wizard.budget",value:_.helpKey,onChange:function(e){return P(function(t){return Ou(Ou({},t),{},{helpKey:e.target.value.toLowerCase()})})}}),X.length>0&&o.createElement("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:5,marginTop:7}},o.createElement("span",{style:{fontSize:11,color:"#94a3b8"}},"Suggested:"),X.slice(0,5).map(function(e){return o.createElement("button",{key:e,onClick:function(){return P(function(t){return Ou(Ou({},t),{},{helpKey:e})})},style:{padding:"2px 8px",borderRadius:4,border:"1px solid #bfdbfe",background:"#eff6ff",color:"#2563eb",fontSize:11,fontFamily:"monospace",cursor:"pointer"}},e)}))):o.createElement("div",{style:{padding:"7px 11px",background:"#f8fafc",border:"1px solid #e2e8f0",borderRadius:6,fontFamily:"monospace",fontSize:13,color:"#475569"}},_.helpKey)),o.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr auto",gap:14,alignItems:"end",marginBottom:14}},o.createElement("div",null,o.createElement("label",{style:ne},"Title"),o.createElement("input",{style:te,placeholder:"Modal heading shown to users",value:_.title,onChange:function(e){return P(function(t){return Ou(Ou({},t),{},{title:e.target.value})})}})),o.createElement("label",{style:{display:"flex",alignItems:"center",gap:6,paddingBottom:8,fontSize:13,color:"#475569",cursor:"pointer",userSelect:"none",whiteSpace:"nowrap"}},o.createElement("input",{type:"checkbox",checked:_.isActive,onChange:function(e){return P(function(t){return Ou(Ou({},t),{},{isActive:e.target.checked})})}}),"Active")),o.createElement("div",{style:{marginBottom:16}},o.createElement("label",{style:ne},"Body",o.createElement("span",{style:{color:"#94a3b8",fontWeight:400,textTransform:"none",letterSpacing:0,marginLeft:6}},"— <p> <ul> <li> <strong> <h4> render in popup")),o.createElement("textarea",{ref:F,style:Ou(Ou({},te),{},{resize:"vertical",minHeight:160,fontFamily:"'SF Mono','Menlo','Monaco','Consolas',monospace",fontSize:12,lineHeight:1.6}),placeholder:"<p>Your help text here…</p>",value:_.body,onChange:function(e){return P(function(t){return Ou(Ou({},t),{},{body:e.target.value})})},rows:8})),o.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},o.createElement("button",{onClick:Y,disabled:N,style:{padding:"7px 20px",borderRadius:6,border:"none",background:N?"#93c5fd":"#2563eb",color:"#fff",fontSize:13,fontWeight:500,cursor:N?"not-allowed":"pointer",fontFamily:"inherit"}},N?"Saving…":"Save Entry"))),c&&o.createElement("div",{style:{padding:"40px 0",textAlign:"center",color:"#94a3b8",fontSize:13}},"Loading help content…"),d&&!c&&o.createElement("div",{style:{padding:"12px 16px",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:8,color:"#dc2626",fontSize:13,marginBottom:16}},d),!c&&!d&&0===a.length&&o.createElement("div",{style:{textAlign:"center",padding:"60px 20px",color:"#94a3b8"}},o.createElement("div",{style:{fontSize:32,marginBottom:12}},"📝"),o.createElement("div",{style:{fontWeight:600,color:"#475569",marginBottom:6}},"No help entries yet"),o.createElement("div",{style:{fontSize:13}},"Click ",o.createElement("strong",null,"New Entry")," to create the first one.")),!c&&a.length>0&&o.createElement("div",{style:{background:"#fff",border:"1px solid #e5e7eb",borderRadius:10,overflow:"hidden"}},0===W.length?o.createElement("div",{style:{padding:"32px 20px",textAlign:"center",color:"#94a3b8",fontSize:13}},"No entries match the current filter."):o.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},o.createElement("thead",null,o.createElement("tr",{style:{background:"#f8fafc",borderBottom:"1px solid #e5e7eb"}},[{label:"Help Key",width:"38%"},{label:"Title",width:null},{label:"Status",width:90},{label:"Updated",width:80},{label:"",width:106}].map(function(e){var t=e.label,n=e.width;return o.createElement("th",{key:t,style:{padding:"10px 16px",textAlign:"left",fontSize:11,fontWeight:700,color:"#94a3b8",letterSpacing:"0.05em",textTransform:"uppercase",width:n||void 0}},t)}))),o.createElement("tbody",null,W.map(function(e,t){return o.createElement("tr",{key:e.helpKey,style:{borderBottom:t<W.length-1?"1px solid #f1f5f9":"none",opacity:e.isActive?1:.5,background:T===e.helpKey?"#f8fbff":"transparent"}},o.createElement("td",{style:{padding:"11px 16px"}},o.createElement(Zu,{helpKey:e.helpKey})),o.createElement("td",{style:{padding:"11px 16px",fontSize:13,color:"#374151"}},e.title),o.createElement("td",{style:{padding:"11px 16px"}},o.createElement(ed,{active:e.isActive})),o.createElement("td",{style:{padding:"11px 16px",fontSize:12,color:"#94a3b8",whiteSpace:"nowrap"}},(n=e.updatedAt)?new Date(n).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"2-digit"}):"—"),o.createElement("td",{style:{padding:"8px 12px"}},U===e.helpKey?o.createElement("div",{style:{display:"flex",gap:4}},o.createElement("button",{onClick:function(){return J(e.helpKey)},disabled:z===e.helpKey,style:{padding:"4px 10px",borderRadius:5,border:"1px solid #fca5a5",background:"#fef2f2",color:"#dc2626",fontSize:11,fontWeight:600,cursor:"pointer",fontFamily:"inherit"}},z===e.helpKey?"…":"Confirm"),o.createElement("button",{onClick:function(){return D(null)},style:{padding:"4px 8px",borderRadius:5,border:"1px solid #e2e8f0",background:"#fff",color:"#94a3b8",fontSize:12,cursor:"pointer"}},"✕")):o.createElement("div",{style:{display:"flex",gap:5}},o.createElement(td,{onClick:function(){return function(e){x(e.helpKey),P({helpKey:e.helpKey,title:e.title,body:e.body,isActive:e.isActive})}(e)},disabled:T===e.helpKey,title:"Edit"},o.createElement(Gu,null)," Edit"),o.createElement(td,{onClick:function(){return D(e.helpKey)},danger:!0,title:"Delete"},o.createElement(Wu,null)))));var n})))))}function rd(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return od(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?od(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function od(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var ad=[{type:"label",text:"MONITORING"},{id:"health",label:"Service Health",icon:"⚡"},{type:"label",text:"RESOURCES"},{id:"documents",label:"Documents",icon:"📁"},{type:"label",text:"DEVELOPMENT"},{id:"api-testing",label:"API Testing",icon:"🔧"},{type:"label",text:"ADMINISTRATION"},{id:"activity",label:"Activity Log",icon:"📋"},{id:"help-content",label:"Help Content",icon:"💬"}];function id(){var e,t=Dc(),n=t.sessionUser,r=t.signOut,a=rd((0,o.useState)("health"),2),i=a[0],s=a[1],c=rd((0,o.useState)(!1),2),l=c[0],u=c[1];return o.createElement("div",{className:"app-shell ".concat(l?"sidebar-collapsed":"")},o.createElement("aside",{className:"sidebar"},o.createElement("div",{className:"sidebar-header"},o.createElement("div",{className:"sidebar-brand"},!l&&o.createElement("span",{className:"brand-text"},"AdPlatform"),o.createElement("span",{className:"brand-badge"},"DEV")),o.createElement("button",{className:"sidebar-toggle",onClick:function(){return u(!l)},title:l?"Expand sidebar":"Collapse sidebar"},l?"▸":"◂")),o.createElement("nav",{className:"sidebar-nav"},ad.map(function(e,t){if("label"===e.type)return l?o.createElement("div",{key:t,className:"nav-section-divider"}):o.createElement("div",{key:t,className:"nav-section-label"},e.text);var n=i===e.id;return o.createElement("button",{key:e.id,className:"nav-item ".concat(n?"nav-active":""),onClick:function(){return s(e.id)},title:l?e.label:void 0},o.createElement("span",{className:"nav-icon"},e.icon),!l&&o.createElement("span",{className:"nav-label"},e.label))})),o.createElement("div",{className:"sidebar-footer"},o.createElement("div",{className:"sidebar-user"},o.createElement("span",{className:"user-avatar"},((null==n?void 0:n.name)||(null==n?void 0:n.email)||"U")[0].toUpperCase()),!l&&o.createElement("div",{className:"user-details"},o.createElement("span",{className:"user-name-text"},(null==n?void 0:n.name)||(null==n?void 0:n.email)||"User"),(null==n?void 0:n.clientId)&&o.createElement("span",{className:"user-client"},"Client: ",n.clientId))),!l&&o.createElement("button",{className:"signout-btn",onClick:r},"Sign Out"))),o.createElement("main",{className:"main-content"},o.createElement("header",{className:"content-header"},o.createElement("h2",{className:"page-title"},(null==(e=ad.find(function(e){return e.id===i}))?void 0:e.label)||"Service Health"),o.createElement("div",{className:"session-info"},o.createElement("span",{className:"session-badge"},o.createElement("span",{className:"session-dot"}),"Session Active"))),o.createElement("div",{className:"content-body"},function(){switch(i){case"health":default:return o.createElement(gu,null);case"documents":return o.createElement(Wl,null);case"api-testing":return o.createElement(Rl,null);case"activity":return o.createElement(Ru,null);case"help-content":return o.createElement(nd,null)}}())))}function sd(){var e=Dc(),t=e.isAuthenticated;return e.isLoading?o.createElement("div",{className:"app-loading"},o.createElement("div",{className:"loading-spinner"}),o.createElement("p",null,"Loading...")):o.createElement("div",{className:"app-container"},o.createElement("div",{className:"dashboard ".concat(t?"":"dashboard-blurred")},o.createElement(id,null)),!t&&o.createElement(Bc,null))}function cd(){return o.createElement(Hc,null,o.createElement(sd,null))}var ld=n(72),ud=n.n(ld),dd=n(825),hd=n.n(dd),pd=n(659),fd=n.n(pd),gd=n(56),md=n.n(gd),yd=n(159),vd=n.n(yd),bd=n(113),wd=n.n(bd),kd=n(877),Cd={};Cd.styleTagTransform=wd(),Cd.setAttributes=md(),Cd.insert=fd().bind(null,"head"),Cd.domAPI=hd(),Cd.insertStyleElement=vd(),ud()(kd.A,Cd),kd.A&&kd.A.locals&&kd.A.locals,(0,a.H)(document.getElementById("root")).render(o.createElement(cd,null))})();