vendor: 20,527 bytes, lines 1-3
1var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var ee=Array.isArray;function S(){}var C={H:null,A:null,T:null,S:null},te=Object.prototype.hasOwnProperty;function ne(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function re(e,t){return ne(e.type,t,e.props)}function w(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ie(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var ae=/\/+/g;function oe(e,t){return typeof e==`object`&&e&&e.key!=null?ie(``+e.key):t.toString(36)}function se(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(S,S):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ce(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ce(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+oe(e,0):a,ee(o)?(i=``,c!=null&&(i=c.replace(ae,`$&/`)+`/`),ce(o,r,i,``,function(e){return e})):o!=null&&(w(o)&&(o=re(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(ae,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(ee(e))for(var u=0;u<e.length;u++)a=e[u],s=l+oe(a,u),c+=ce(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+oe(a,u++),c+=ce(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return ce(se(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function le(e,t,n){if(e==null)return e;var r=[],i=0;return ce(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ue(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var T=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},E={map:le,forEach:function(e,t,n){le(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return le(e,function(){t++}),t},toArray:function(e){return le(e,function(e){return e})||[]},only:function(e){if(!w(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=E,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=C,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return C.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!te.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return ne(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)te.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return ne(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=w,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:ue}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=C.T,n={};C.T=n;try{var r=e(),i=C.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(S,T)}catch(e){T(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),C.T=t}},e.unstable_useCacheRefresh=function(){return C.H.useCacheRefresh()},e.use=function(e){return C.H.use(e)},e.useActionState=function(e,t,n){return C.H.useActionState(e,t,n)},e.useCallback=function(e,t){return C.H.useCallback(e,t)},e.useContext=function(e){return C.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return C.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return C.H.useEffect(e,t)},e.useEffectEvent=function(e){return C.H.useEffectEvent(e)},e.useId=function(){return C.H.useId()},e.useImperativeHandle=function(e,t,n){return C.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return C.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return C.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return C.H.useMemo(e,t)},e.useOptimistic=function(e,t){return C.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return C.H.useReducer(e,t,n)},e.useRef=function(e){return C.H.useRef(e)},e.useState=function(e){return C.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return C.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return C.H.useTransition()},e.version=`19.2.8`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,ee||(ee=!0,w());else{var t=n(l);t!==null&&oe(x,t.startTime-e)}}}var ee=!1,S=-1,C=5,te=-1;function ne(){return g?!0:!(e.unstable_now()-te<C)}function re(){if(g=!1,ee){var t=e.unstable_now();te=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(S),S=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ne());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&oe(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?w():ee=!1}}}var w;if(typeof y==`function`)w=function(){y(re)};else if(typeof MessageChannel<`u`){var ie=new MessageChannel,ae=ie.port2;ie.port1.onmessage=re,w=function(){ae.postMessage(null)}}else w=function(){_(re,0)};function oe(t,n){S=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):C=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){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 s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(S),S=-1):h=!0,oe(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ee||(ee=!0,w()))),r},e.unstable_shouldYield=ne,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;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.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)}},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.8`})),m=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;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.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function d(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),ee=Symbol.for(`react.consumer`),S=Symbol.for(`react.context`),C=Symbol.for(`react.forward_ref`),te=Symbol.for(`react.suspense`),ne=Symbol.for(`react.suspense_list`),re=Symbol.for(`react.memo`),w=Symbol.for(`react.lazy`),ie=Symbol.for(`react.activity`),ae=Symbol.for(`react.memo_cache_sentinel`),oe=Symbol.iterator;function se(e){return typeof e!=`object`||!e?null:(e=oe&&e[oe]||e[`@@iterator`],typeof e==`function`?e:null)}var ce=Symbol.for(`react.client.reference`);function le(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ce?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case te:return`Suspense`;case ne:return`SuspenseList`;case ie:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case S:return e.displayName||`Context`;case ee:return(e._context.displayName||`Context`)+`.Consumer`;case C:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case re:return t=e.displayName||null,t===null?le(e.type)||`Memo`:t;case w:t=e._payload,e=e._init;try{return le(e(t))}catch{}}return null}var ue=Array.isArray,T=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,E=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,de={pending:!1,data:null,method:null,action:null},fe=[],pe=-1;function me(e){return{current:e}}function he(e){0>pe||(e.current=fe[pe],fe[pe]=null,pe--)}function D(e,t){pe++,fe[pe]=e.current,e.current=t}var ge=me(null),_e=me(null),ve=me(null),ye=me(null);function be(e,t){switch(D(ve,t),D(_e,e),D(ge,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}he(ge),D(ge,e)}function xe(){he(ge),he(_e),he(ve)}function Se(e){e.memoizedState!==null&&D(ye,e);var t=ge.current,n=Hd(t,e.type);t!==n&&(D(_e,e),D(ge,n))}function Ce(e){_e.current===e&&(he(ge),he(_e)),ye.current===e&&(he(ye),Qf._currentValue=de)}var we,Te;function Ee(e){if(we===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);we=t&&t[1]||``,Te=-1<e.stack.indexOf(` 2 at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return` 3`+we+e+Te}var De=!1;function Oe(e,t){if(!e||De)return``;De=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}
vendor: 13,133 bytes, lines 3-8
3else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(` 4`),l=s.split(` 5`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=` 6`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{De=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Ee(n):``}function ke(e,t){switch(e.tag){case 26:case 27:case 5:return Ee(e.type);case 16:return Ee(`Lazy`);case 13:return e.child!==t&&t!==null?Ee(`Suspense Fallback`):Ee(`Suspense`);case 19:return Ee(`SuspenseList`);case 0:case 15:return Oe(e.type,!1);case 11:return Oe(e.type.render,!1);case 1:return Oe(e.type,!0);case 31:return Ee(`Activity`);default:return``}}function Ae(e){try{var t=``,n=null;do t+=ke(e,n),n=e,e=e.return;while(e);return t}catch(e){return` 7Error generating stack: `+e.message+` 8`+e.stack}}var je=Object.prototype.hasOwnProperty,Me=t.unstable_scheduleCallback,Ne=t.unstable_cancelCallback,Pe=t.unstable_shouldYield,Fe=t.unstable_requestPaint,Ie=t.unstable_now,Le=t.unstable_getCurrentPriorityLevel,Re=t.unstable_ImmediatePriority,ze=t.unstable_UserBlockingPriority,Be=t.unstable_NormalPriority,Ve=t.unstable_LowPriority,He=t.unstable_IdlePriority,Ue=t.log,We=t.unstable_setDisableYieldValue,Ge=null,Ke=null;function qe(e){if(typeof Ue==`function`&&We(e),Ke&&typeof Ke.setStrictMode==`function`)try{Ke.setStrictMode(Ge,e)}catch{}}var Je=Math.clz32?Math.clz32:Ze,Ye=Math.log,Xe=Math.LN2;function Ze(e){return e>>>=0,e===0?32:31-(Ye(e)/Xe|0)|0}var Qe=256,$e=262144,et=4194304;function tt(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function nt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=tt(n))):i=tt(o):i=tt(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=tt(n))):i=tt(o)):i=tt(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function rt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function it(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function at(){var e=et;return et<<=1,!(et&62914560)&&(et=4194304),e}function ot(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function st(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ct(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Je(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&<(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function lt(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Je(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function ut(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Je(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function dt(e,t){var n=t&-t;return n=n&42?1:ft(n),(n&(e.suspendedLanes|t))===0?n:0}function ft(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pt(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function mt(){var e=E.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function ht(e,t){var n=E.p;try{return E.p=e,t()}finally{E.p=n}}var gt=Math.random().toString(36).slice(2),_t=`__reactFiber$`+gt,vt=`__reactProps$`+gt,yt=`__reactContainer$`+gt,bt=`__reactEvents$`+gt,xt=`__reactListeners$`+gt,St=`__reactHandles$`+gt,Ct=`__reactResources$`+gt,wt=`__reactMarker$`+gt;function Tt(e){delete e[_t],delete e[vt],delete e[bt],delete e[xt],delete e[St]}function Et(e){var t=e[_t];if(t)return t;for(var n=e.parentNode;n;){if(t=n[yt]||n[_t]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=df(e);e!==null;){if(n=e[_t])return n;e=df(e)}return t}e=n,n=e.parentNode}return null}function Dt(e){if(e=e[_t]||e[yt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Ot(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function kt(e){var t=e[Ct];return t||=e[Ct]={hoistableStyles:new Map,hoistableScripts:new Map},t}function At(e){e[wt]=!0}var jt=new Set,Mt={};function Nt(e,t){Pt(e,t),Pt(e+`Capture`,t)}function Pt(e,t){for(Mt[e]=t,e=0;e<t.length;e++)jt.add(t[e])}var Ft=RegExp(`^[: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]*$`),It={},Lt={};function Rt(e){return je.call(Lt,e)?!0:je.call(It,e)?!1:Ft.test(e)?Lt[e]=!0:(It[e]=!0,!1)}function zt(e,t,n){if(Rt(t)){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}}function Bt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Vt(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function Ht(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Ut(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Wt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Gt(e){if(!e._valueTracker){var t=Ut(e)?`checked`:`value`;e._valueTracker=Wt(e,t,``+e[t])}}function O(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Ut(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}function Kt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var qt=/[\n"\\]/g;function Jt(e){return e.replace(qt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Yt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Ht(t)):e.value!==``+Ht(t)&&(e.value=``+Ht(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Zt(e,o,Ht(n)):Zt(e,o,Ht(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Ht(s):e.removeAttribute(`name`)}function Xt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Gt(e);return}n=n==null?``:``+Ht(n),t=t==null?n:``+Ht(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Gt(e)}function Zt(e,t,n){t===`number`&&Kt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Qt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Ht(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function $t(e,t,n){if(t!=null&&(t=``+Ht(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Ht(n)}function en(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(ue(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=Ht(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Gt(e)}function tn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var nn=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function rn(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||nn.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function an(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&rn(e,a,r)}else for(var o in t)t.hasOwnProperty(o)&&rn(e,o,t[o])}function on(e){if(e.indexOf(`-`)===-1)return!1;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 sn=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`
8clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),cn=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function ln(e){return cn.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function un(){}var dn=null;function fn(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var pn=null,mn=null;function hn(e){var t=Dt(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Yt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Jt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[vt]||null;if(!a)throw Error(i(90));Yt(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&O(r)}break a;case`textarea`:$t(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Qt(e,!!n.multiple,t,!1)}}}var gn=!1;function _n(e,t,n){if(gn)return e(t,n);gn=!0;try{return e(t)}finally{if(gn=!1,(pn!==null||mn!==null)&&(bu(),pn&&(t=pn,e=mn,mn=pn=null,hn(t),e)))for(t=0;t<e.length;t++)hn(e[t])}}function vn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[vt]||null;if(r===null)return null;n=r[t];a: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)||(e=e.type,r=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var yn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),bn=!1;if(yn)try{var xn={};Object.defineProperty(xn,"passive",{get:function(){bn=!0}}),window.addEventListener(`test`,xn,xn),window.removeEventListener(`test`,xn,xn)}catch{bn=!1}var Sn=null,Cn=null,wn=null;function Tn(){if(wn)return wn;var e,t=Cn,n=t.length,r,i=`value`in Sn?Sn.value:Sn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return wn=i.slice(e,1<r?1-r:void 0)}function En(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Dn(){return!0}function On(){return!1}function kn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Dn:On,this.isPropagationStopped=On,this}return h(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Dn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Dn)},persist:function(){},isPersistent:Dn}),t}var An={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},jn=kn(An),Mn=h({},An,{view:0,detail:0}),Nn=kn(Mn),Pn,k,Fn,In=h({},Mn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==Fn&&(Fn&&e.type===`mousemove`?(Pn=e.screenX-Fn.screenX,k=e.screenY-Fn.screenY):k=Pn=0,Fn=e),Pn)},movementY:function(e){return`movementY`in e?e.movementY:k}}),Ln=kn(In),Rn=kn(h({},In,{dataTransfer:0})),zn=kn(h({},Mn,{relatedTarget:0})),Bn=kn(h({},An,{animationName:0,elapsedTime:0,pseudoElement:0})),Vn=kn(h({},An,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Hn=kn(h({},An,{data:0})),Un={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Wn={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:`F
85`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Gn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Kn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Gn[e])?!!t[e]:!1}function qn(){return Kn}var Jn=kn(h({},Mn,{key:function(e){if(e.key){var t=Un[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=En(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Wn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qn,charCode:function(e){return e.type===`keypress`?En(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?En(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Yn=kn(h({},In,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Xn=kn(h({},Mn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qn})),Zn=kn(h({},An,{propertyName:0,elapsedTime:0,pseudoElement:0})),Qn=kn(h({},In,{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})),$n=kn(h({},An,{newState:0,oldState:0})),er=[9,13,27,32],tr=yn&&`CompositionEvent`in window,nr=null;yn&&`documentMode`in document&&(nr=document.documentMode);var rr=yn&&`TextEvent`in window&&!nr,ir=yn&&(!tr||nr&&8<nr&&11>=nr),ar=` `,or=!1;function sr(e,t){switch(e){case`keyup`:return er.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function cr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var lr=!1;function ur(e,t){switch(e){case`compositionend`:return cr(t);case`keypress`:return t.which===32?(or=!0,ar):null;case`textInput`:return e=t.data,e===ar&&or?null:e;default:return null}}function dr(e,t){if(lr)return e===`compositionend`||!tr&&sr(e,t)?(e=Tn(),wn=Cn=Sn=null,lr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return ir&&t.locale!==`ko`?null:t.data;default:return null}}var fr={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 pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!fr[e.type]:t===`textarea`}function mr(e,t,n,r){pn?mn?mn.push(r):mn=[r]:pn=r,t=Ed(t,`onChange`),0<t.length&&(n=new jn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var A=null,hr=null;function gr(e){yd(e,0)}function _r(e){if(O(Ot(e)))return e}function vr(e,t){if(e===`change`)return t}var yr=!1;if(yn){var br;if(yn){var xr=`oninput`in document;if(!xr){var j=document.createElement(`div`);j.setAttribute(`oninput`,`return;`),xr=typeof j.oninput==`function`}br=xr}else br=!1;yr=br&&(!document.documentMode||9<document.documentMode)}function Sr(){A&&(A.detachEvent(`onpropertychange`,Cr),hr=A=null)}function Cr(e){if(e.propertyName===`value`&&_r(hr)){var t=[];mr(t,hr,e,fn(e)),_n(gr,t)}}function wr(e,t,n){e===`focusin`?(Sr(),A=t,hr=n,A.attachEvent(`onpropertychange`,Cr)):e===`focusout`&&Sr()}function Tr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return _r(hr)}function Er(e,t){if(e===`click`)return _r(t)}function Dr(e,t){if(e===`input`||e===`change`)return _r(t)}function Or(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var kr=typeof Object.is==`function`?Object.is:Or;function Ar(e,t){if(kr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!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 i=n[r];if(!je.call(t,i)||!kr(e[i],t[i]))return!1}return!0}function jr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Mr(e,t){var n=jr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=jr(n)}}function Nr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Nr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Pr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Kt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Kt(e.document)}return t}function Fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Ir=yn&&`documentMode`in document&&11>=document.documentMode,Lr=null,Rr=null,zr=null,Br=!1;function Vr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Br||Lr==null||Lr!==Kt(r)||(r=Lr,`selectionStart`in r&&Fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focu
vendor: 76,486 bytes, line 8
8sNode:r.focusNode,focusOffset:r.focusOffset}),zr&&Ar(zr,r)||(zr=r,r=Ed(Rr,`onSelect`),0<r.length&&(t=new jn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Lr)))}function Hr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Ur={animationend:Hr(`Animation`,`AnimationEnd`),animationiteration:Hr(`Animation`,`AnimationIteration`),animationstart:Hr(`Animation`,`AnimationStart`),transitionrun:Hr(`Transition`,`TransitionRun`),transitionstart:Hr(`Transition`,`TransitionStart`),transitioncancel:Hr(`Transition`,`TransitionCancel`),transitionend:Hr(`Transition`,`TransitionEnd`)},Wr={},Gr={};yn&&(Gr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Ur.animationend.animation,delete Ur.animationiteration.animation,delete Ur.animationstart.animation),`TransitionEvent`in window||delete Ur.transitionend.transition);function Kr(e){if(Wr[e])return Wr[e];if(!Ur[e])return e;var t=Ur[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Gr)return Wr[e]=t[n];return e}var qr=Kr(`animationend`),Jr=Kr(`animationiteration`),Yr=Kr(`animationstart`),Xr=Kr(`transitionrun`),Zr=Kr(`transitionstart`),Qr=Kr(`transitioncancel`),$r=Kr(`transitionend`),ei=new Map,ti=`abort auxClick beforeToggle 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(` `);ti.push(`scrollEnd`);function ni(e,t){ei.set(e,t),Nt(t,[e])}var ri=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ii=[],ai=0,oi=0;function si(){for(var e=ai,t=oi=ai=0;t<e;){var n=ii[t];ii[t++]=null;var r=ii[t];ii[t++]=null;var i=ii[t];ii[t++]=null;var a=ii[t];if(ii[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&di(n,i,a)}}function ci(e,t,n,r){ii[ai++]=e,ii[ai++]=t,ii[ai++]=n,ii[ai++]=r,oi|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function li(e,t,n,r){return ci(e,t,n,r),M(e)}function ui(e,t){return ci(e,null,null,t),M(e)}function di(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Je(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function M(e){if(50<du)throw du=0,fu=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var fi={};function pi(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.refCleanup=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 mi(e,t,n,r){return new pi(e,t,n,r)}function hi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function gi(e,t){var n=e.alternate;return n===null?(n=mi(e.tag,t,e.key,e.mode),n.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=e.flags&65011712,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=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function _i(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function vi(e,t,n,r,a,o){var s=0;if(r=e,typeof e==`function`)hi(e)&&(s=1);else if(typeof e==`string`)s=Uf(e,n,ge.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case ie:return e=mi(31,n,t,a),e.elementType=ie,e.lanes=o,e;case y:return yi(n.children,a,o,t);case b:s=8,a|=24;break;case x:return e=mi(12,n,t,a|2),e.elementType=x,e.lanes=o,e;case te:return e=mi(13,n,t,a),e.elementType=te,e.lanes=o,e;case ne:return e=mi(19,n,t,a),e.elementType=ne,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case S:s=10;break a;case ee:s=9;break a;case C:s=11;break a;case re:s=14;break a;case w:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=mi(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function yi(e,t,n,r){return e=mi(7,e,r,t),e.lanes=n,e}function bi(e,t,n){return e=mi(6,e,null,t),e.lanes=n,e}function xi(e){var t=mi(18,null,null,0);return t.stateNode=e,t}function Si(e,t,n){return t=mi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Ci=new WeakMap;function wi(e,t){if(typeof e==`object`&&e){var n=Ci.get(e);return n===void 0?(t={value:e,source:t,stack:Ae(t)},Ci.set(e,t),t):n}return{value:e,source:t,stack:Ae(t)}}var Ti=[],Ei=0,Di=null,Oi=0,ki=[],Ai=0,ji=null,Mi=1,Ni=``;function Pi(e,t){Ti[Ei++]=Oi,Ti[Ei++]=Di,Di=e,Oi=t}function Fi(e,t,n){ki[Ai++]=Mi,ki[Ai++]=Ni,ki[Ai++]=ji,ji=e;var r=Mi;e=Ni;var i=32-Je(r)-1;r&=~(1<<i),n+=1;var a=32-Je(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Mi=1<<32-Je(t)+i|n<<i|r,Ni=a+e}else Mi=1<<a|n<<i|r,Ni=e}function Ii(e){e.return!==null&&(Pi(e,1),Fi(e,1,0))}function Li(e){for(;e===Di;)Di=Ti[--Ei],Ti[Ei]=null,Oi=Ti[--Ei],Ti[Ei]=null;for(;e===ji;)ji=ki[--Ai],ki[Ai]=null,Ni=ki[--Ai],ki[Ai]=null,Mi=ki[--Ai],ki[Ai]=null}function Ri(e,t){ki[Ai++]=Mi,ki[Ai++]=Ni,ki[Ai++]=ji,Mi=t.id,Ni=t.overflow,ji=e}var zi=null,N=null,P=!1,Bi=null,Vi=!1,Hi=Error(i(519));function Ui(e){throw Yi(wi(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Hi}function Wi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[_t]=e,t[vt]=r,n){case`dialog`:Q(`cancel`,t),Q(`close`,t);break;case`iframe`:case`object`:case`embed`:Q(`load`,t);break;case`video`:case`audio`:for(n=0;n<_d.length;n++)Q(_d[n],t);break;case`source`:Q(`error`,t);break;case`img`:case`image`:case`link`:Q(`error`,t),Q(`load`,t);break;case`details`:Q(`toggle`,t);break;case`input`:Q(`invalid`,t),Xt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Q(`invalid`,t);break;case`textarea`:Q(`invalid`,t),en(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Md(t.textContent,n)?(r.popover!=null&&(Q(`beforetoggle`,t),Q(`toggle`,t)),r.onScroll!=null&&Q(`scroll`,t),r.onScrollEnd!=null&&Q(`scrollend`,t),r.onClick!=null&&(t.onclick=un),t=!0):t=!1,t||Ui(e,!0)}function Gi(e){for(zi=e.return;zi;)switch(zi.tag){case 5:case 31:case 13:Vi=!1;return;case 27:case 3:Vi=!0;return;default:zi=zi.return}}function Ki(e){if(e!==zi)return!1;if(!P)return Gi(e),P=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||Ud(e.type,e.memoizedProps)),n=!n),n&&N&&Ui(e),Gi(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));N=uf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));N=uf(e)}else t===27?(t=N,Zd(e.type)?(e=lf,lf=null,N=e):N=t):N=zi?cf(e.stateNode.nextSibling):null;return!0}function qi(){N=zi=null,P=!1}function Ji(){var e=Bi;return e!==null&&(Zl===null?Zl=e:Zl.push.apply(Zl,e),Bi=null),e}function Yi(e){Bi===null?Bi=[e]:Bi.push(e)}var Xi=me(null),Zi=null,Qi=null;function $i(e,t,n){D(Xi,t._currentValue),t._currentValue=n}function ea(e){e._currentValue=Xi.current,he(Xi)}function ta(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function na(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),ta(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),ta(s,n,e),s=null}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function ra(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;kr(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===ye.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[Qf]:e.push(Qf))}a=a.return}e!==null&&na(t,e,n,r),t.flags|=262144}function ia(e){for(e=e.firstContext;e!==null;){if(!kr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function aa(e){Zi=e,Qi=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function oa(e){return ca(Zi,e)}function sa(e,t){return Zi===null&&aa(e),ca(e,t)}function ca(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Qi===null){if(e===null)throw Error(i(308));Qi=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Qi=Qi.next=t;return n}var la=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ua=t.unstable_scheduleCallback,da=t.unstable_NormalPriority,fa={$$typeof:S,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function pa(){return{controller:new la,data:new Map,refCount:0}}function ma(e){e.refCount--,e.refCount===0&&ua(da,function(){e.controller.abort()})}var ha=null,ga=0,_a=0,va=null;function ya(e,t){if(ha===null){var n=ha=[];ga=0,_a=dd(),va={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return ga++,t.then(ba,ba),t}function ba(){if(--ga===0&&ha!==null){va!==null&&(va.status=`fulfilled`);var e=ha;ha=null,_a=0,va=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function xa(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var Sa=T.S;T.S=function(e,t){eu=Ie(),typeof t==`object`&&t&&typeof t.then==`function`&&ya(e,t),Sa!==null&&Sa(e,t)};var Ca=me(null);function wa(){var e=Ca.current;return e===null?q.pooledCache:e}function Ta(e,t){t===null?D(Ca,Ca.current):D(Ca,t.pool)}function Ea(){var e=wa();return e===null?null:{parent:fa._currentValue,pool:e}}var Da=Error(i(460)),Oa=Error(i(474)),ka=Error(i(542)),Aa={then:function(){}};function ja(e){return e=e.status,e===`fulfilled`||e===`rejected`}function F(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(un,un),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Fa(e),e;default:if(typeof t.status==`string`)t.then(un,un);else{if(e=q,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Fa(e),e}throw Na=t,Da}}function Ma(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Na=e,Da):e}}var Na=null;function Pa(){if(Na===null)throw Error(i(459));var e=Na;return Na=null,e}function Fa(e){if(e===Da||e===ka)throw Error(i(483))}var Ia=null,La=0;function Ra(e){var t=La;return La+=1,Ia===null&&(Ia=[]),F(Ia,e,t)}function za(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ba(e,t){throw t.$$typeof===g?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Va(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=gi(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=bi(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===w&&Ma(i)===t.type)?(t=a(t,n.props),za(t,n),t.return=e,t):(t=vi(n.type,n.key,n.props,null,e.mode,r),za(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Si(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=yi(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=bi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=vi(t.type,t.key,t.props,null,e.mode,n),za(n,t),n.return=e,n;case v:return t=Si(t,e.mode,n),t.return=e,t;case w:return t=Ma(t),f(e,t,n)}if(ue(t)||se(t))return t=yi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Ra(t),n);if(t.$$typeof===S)return f(e,sa(e,t),n);Ba(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case w:return n=Ma(n),p(e,t,n,r)}if(ue(n)||se(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Ra(n),r);if(n.$$typeof===S)return p(e,t,sa(e,n),r);Ba(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case w:return r=Ma(r),m(e,t,n,r,i)}if(ue(r)||se(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Ra(r),i);if(r.$$typeof===S)return m(e,t,n,sa(t,r),i);Ba(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),P&&Pi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return P&&Pi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),P&&Pi(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),P&&Pi(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return P&&Pi(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),P&&Pi(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===w&&Ma(l)===r.type){n(e,r.sibling),c=a(r,o.props),za(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===y?(c=yi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=vi(o.type,o.key,o.props,null,e.mode,c),za(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Si(o,e.mode,c),c.return=e,e=c}return s(e);case w:return o=Ma(o),b(e,r,o,c)}if(ue(o))return h(e,r,o,c);if(se(o)){if(l=se(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Ra(o),c);if(o.$$typeof===S)return b(e,r,sa(e,o),c);Ba(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=bi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{La=0;var i=b(e,t,n,r);return Ia=null,i}catch(t){if(t===Da||t===ka)throw t;var a=mi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ha=Va(!0),Ua=Va(!1),Wa=!1;function Ga(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ka(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function qa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ja(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,K&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=M(e),di(e,null,n),t}return ci(e,r,t,n),M(e)}function Ya(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ut(e,n)}}function Xa(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Za=!1;function Qa(){if(Za){var e=va;if(e!==null)throw e}}function $a(e,t,n,r){Za=!1;var i=e.updateQueue;Wa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Y&f)===f:(r&f)===f){f!==0&&f===_a&&(Za=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:Wa=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Gl|=o,e.lanes=o,e.memoizedState=d}}function eo(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function to(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)eo(n[e],t)}var no=me(null),ro=me(0);function io(e,t){e=Ul,D(ro,e),D(no,t),Ul=e|t.baseLanes}function ao(){D(ro,Ul),D(no,no.current)}function oo(){Ul=ro.current,he(no),he(ro)}var so=me(null),co=null;function lo(e){var t=e.alternate;D(ho,ho.current&1),D(so,e),co===null&&(t===null||no.current!==null||t.memoizedState!==null)&&(co=e)}function uo(e){D(ho,ho.current),D(so,e),co===null&&(co=e)}function fo(e){e.tag===22?(D(ho,ho.current),D(so,e),co===null&&(co=e)):po(e)}function po(){D(ho,ho.current),D(so,so.current)}function mo(e){he(so),co===e&&(co=null),he(ho)}var ho=me(0);function go(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||af(n)||of(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var _o=0,I=null,L=null,R=null,vo=!1,yo=!1,bo=!1,xo=0,So=0,Co=null,wo=0;function To(){throw Error(i(321))}function Eo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!kr(e[n],t[n]))return!1;return!0}function Do(e,t,n,r,i,a){return _o=a,I=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,T.H=e===null||e.memoizedState===null?Hs:Us,bo=!1,a=n(r,i),bo=!1,yo&&(a=Oo(t,n,r,i)),z(e),a}function z(e){T.H=Vs;var t=L!==null&&L.next!==null;if(_o=0,R=L=I=null,vo=!1,So=0,Co=null,t)throw Error(i(300));e===null||ac||(e=e.dependencies,e!==null&&ia(e)&&(ac=!0))}function Oo(e,t,n,r){I=e;var a=0;do{if(yo&&(Co=null),So=0,yo=!1,25<=a)throw Error(i(301));if(a+=1,R=L=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}T.H=Ws,o=t(n,r)}while(yo);return o}function ko(){var e=T.H,t=e.useState()[0];return t=typeof t.then==`function`?Fo(t):t,e=e.useState()[0],(L===null?null:L.memoizedState)!==e&&(I.flags|=1024),t}function Ao(){var e=xo!==0;return xo=0,e}function jo(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Mo(e){if(vo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}vo=!1}_o=0,R=L=I=null,yo=!1,So=xo=0,Co=null}function No(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return R===null?I.memoizedState=R=e:R=R.next=e,R}function B(){if(L===null){var e=I.alternate;e=e===null?null:e.memoizedState}else e=L.next;var t=R===null?I.memoizedState:R.next;if(t!==null)R=t,L=e;else{if(e===null)throw I.alternate===null?Error(i(467)):Error(i(310));L=e,e={memoizedState:L.memoizedState,baseState:L.baseState,baseQueue:L.baseQueue,queue:L.queue,next:null},R===null?I.memoizedState=R=e:R=R.next=e}return R}function Po(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Fo(e){var t=So;return So+=1,Co===null&&(Co=[]),e=F(Co,e,t),t=I,(R===null?t.memoizedState:R.next)===null&&(t=t.alternate,T.H=t===null||t.memoizedState===null?Hs:Us),e}function Io(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Fo(e);if(e.$$typeof===S)return oa(e)}throw Error(i(438,String(e)))}function Lo(e){var t=null,n=I.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=I.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=Po(),I.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=ae;return t.index++,n}function Ro(e,t){return typeof t==`function`?t(e):t}function zo(e){return Bo(B(),L,e)}function Bo(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(_o&f)===f:(Y&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===_a&&(d=!0);else if((_o&p)===p){u=u.next,p===_a&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,I.lanes|=p,Gl|=p;f=u.action,bo&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,I.lanes|=f,Gl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!kr(o,e.memoizedState)&&(ac=!0,d&&(n=va,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Vo(e){var t=B(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);kr(o,t.memoizedState)||(ac=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Ho(e,t,n){var r=I,a=B(),o=P;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!kr((L||a).memoizedState,n);if(s&&(a.memoizedState=n,ac=!0),a=a.queue,ps(Go.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||R!==null&&R.memoizedState.tag&1){if(r.flags|=2048,cs(9,{destroy:void 0},Wo.bind(null,r,a,n,t),null),q===null)throw Error(i(349));o||_o&127||Uo(r,t,n)}return n}function Uo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=I.updateQueue,t===null?(t=Po(),I.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Wo(e,t,n,r){t.value=n,t.getSnapshot=r,Ko(t)&&qo(e)}function Go(e,t,n){return n(function(){Ko(t)&&qo(e)})}function Ko(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!kr(e,n)}catch{return!0}}function qo(e){var t=ui(e,2);t!==null&&hu(t,e,2)}function Jo(e){var t=No();if(typeof e==`function`){var n=e;if(e=n(),bo){qe(!0);try{n()}finally{qe(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:e},t}function Yo(e,t,n,r){return e.baseState=n,Bo(e,L,typeof r==`function`?r:Ro)}function Xo(e,t,n,r,a){if(Rs(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};T.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Zo(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Zo(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=T.T,o={};T.T=o;try{var s=n(i,r),c=T.S;c!==null&&c(o,s),Qo(e,t,s)}catch(n){es(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),T.T=a}}else try{a=n(i,r),Qo(e,t,a)}catch(n){es(e,t,n)}}function Qo(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){$o(e,t,n)},function(n){return es(e,t,n)}):$o(e,t,n)}function $o(e,t,n){t.status=`fulfilled`,t.value=n,ts(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Zo(e,n)))}function es(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,ts(t),t=t.next;while(t!==r)}e.action=null}function ts(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function ns(e,t){return t}function rs(e,t){if(P){var n=q.formState;if(n!==null){a:{var r=I;if(P){if(N){b:{for(var i=N,a=Vi;i.nodeType!==8;){if(!a){i=null;break b}if(i=cf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){N=cf(i.nextSibling),r=i.data===`F!`;break a}}Ui(r)}r=!1}r&&(t=n[0])}}return n=No(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ns,lastRenderedState:t},n.queue=r,n=Fs.bind(null,I,r),r.dispatch=n,r=Jo(!1),a=Ls.bind(null,I,!1,r.queue),r=No(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Xo.bind(null,I,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function is(e){return as(B(),L,e)}function as(e,t,n){if(t=Bo(e,t,ns)[0],e=zo(Ro)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Fo(t)}catch(e){throw e===Da?ka:e}else r=t;t=B();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(I.flags|=2048,cs(9,{destroy:void 0},os.bind(null,i,n),null)),[r,a,e]}function os(e,t){e.action=t}function ss(e){var t=B(),n=L;if(n!==null)return as(t,n,e);B(),t=t.memoizedState,n=B();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function cs(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=I.updateQueue,t===null&&(t=Po(),I.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ls(){return B().memoizedState}function us(e,t,n,r){var i=No();I.flags|=e,i.memoizedState=cs(1|t,{destroy:void 0},n,r===void 0?null:r)}function ds(e,t,n,r){var i=B();r=r===void 0?null:r;var a=i.memoizedState.inst;L!==null&&r!==null&&Eo(r,L.memoizedState.deps)?i.memoizedState=cs(t,a,n,r):(I.flags|=e,i.memoizedState=cs(1|t,a,n,r))}function fs(e,t){us(8390656,8,e,t)}function ps(e,t){ds(2048,8,e,t)}function ms(e){I.flags|=4;var t=I.updateQueue;if(t===null)t=Po(),I.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function hs(e){var t=B().memoizedState;return ms({ref:t,nextImpl:e}),function(){if(K&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function gs(e,t){return ds(4,2,e,t)}function _s(e,t){return ds(4,4,e,t)}function vs(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ys(e,t,n){n=n==null?null:n.concat([e]),ds(4,4,vs.bind(null,t,e),n)}function bs(){}function xs(e,t){var n=B();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&Eo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ss(e,t){var n=B();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&Eo(t,r[1]))return r[0];if(r=e(),bo){qe(!0);try{e()}finally{qe(!1)}}return n.memoizedState=[r,t],r}function Cs(e,t,n){return n===void 0||_o&1073741824&&!(Y&261930)?e.memoizedState=t:(e.memoizedState=n,e=mu(),I.lanes|=e,Gl|=e,n)}function ws(e,t,n,r){return kr(n,t)?n:no.current===null?!(_o&42)||_o&1073741824&&!(Y&261930)?(ac=!0,e.memoizedState=n):(e=mu(),I.lanes|=e,Gl|=e,t):(e=Cs(e,n,r),kr(e,t)||(ac=!0),e)}function Ts(e,t,n,r,i){var a=E.p;E.p=a!==0&&8>a?a:8;var o=T.T,s={};T.T=s,Ls(e,!1,t,n);try{var c=i(),l=T.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Is(e,t,xa(c,r),pu(e)):Is(e,t,r,pu(e))}catch(n){Is(e,t,{then:function(){},status:`rejected`,reason:n},pu())}finally{E.p=a,o!==null&&s.types!==null&&(o.types=s.types),T.T=o}}function Es(){}function Ds(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Os(e).queue;Ts(e,a,t,de,n===null?Es:function(){return ks(e),n(r)})}function Os(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:de,baseState:de,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:de},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ks(e){var t=Os(e);t.next===null&&(t=e.alternate.memoizedState),Is(e,t.next.queue,{},pu())}function As(){return oa(Qf)}function js(){return B().memoizedState}function Ms(){return B().memoizedState}function Ns(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=pu();e=qa(n);var r=Ja(t,e,n);r!==null&&(hu(r,t,n),Ya(r,t,n)),t={cache:pa()},e.payload=t;return}t=t.return}}function Ps(e,t,n){var r=pu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Rs(e)?zs(t,n):(n=li(e,t,n,r),n!==null&&(hu(n,e,r),Bs(n,t,r)))}function Fs(e,t,n){Is(e,t,n,pu())}function Is(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Rs(e))zs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,kr(s,o))return ci(e,t,i,0),q===null&&si(),!1}catch{}if(n=li(e,t,i,r),n!==null)return hu(n,e,r),Bs(n,t,r),!0}return!1}function Ls(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Rs(e)){if(t)throw Error(i(479))}else t=li(e,n,r,2),t!==null&&hu(t,e,2)}function Rs(e){var t=e.alternate;return e===I||t!==null&&t===I}function zs(e,t){yo=vo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Bs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ut(e,n)}}var Vs={readContext:oa,use:Io,useCallback:To,useContext:To,useEffect:To,useImperativeHandle:To,useLayoutEffect:To,useInsertionEffect:To,useMemo:To,useReducer:To,useRef:To,useState:To,useDebugValue:To,useDeferredValue:To,useTransition:To,useSyncExternalStore:To,useId:To,useHostTransitionStatus:To,useFormState:To,useActionState:To,useOptimistic:To,useMemoCache:To,useCacheRefresh:To};Vs.useEffectEvent=To;var Hs={readContext:oa,use:Io,useCallback:function(e,t){return No().memoizedState=[e,t===void 0?null:t],e},useContext:oa,useEffect:fs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),us(4194308,4,vs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){us(4,2,e,t)},useMemo:function(e,t){var n=No();t=t===void 0?null:t;var r=e();if(bo){qe(!0);try{e()}finally{qe(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=No();if(n!==void 0){var i=n(t);if(bo){qe(!0);try{n(t)}finally{qe(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ps.bind(null,I,e),[r.memoizedState,e]},useRef:function(e){var t=No();return e={current:e},t.memoizedState=e},useState:function(e){e=Jo(e);var t=e.queue,n=Fs.bind(null,I,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:bs,useDeferredValue:function(e,t){return Cs(No(),e,t)},useTransition:function(){var e=Jo(!1);return e=Ts.bind(null,I,e.queue,!0,!1),No().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=I,a=No();if(P){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),q===null)throw Error(i(349));Y&127||Uo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,fs(Go.bind(null,r,o,e),[e]),r.flags|=2048,cs(9,{destroy:void 0},Wo.bind(null,r,o,n,t),null),n},useId:function(){var e=No(),t=q.identifierPrefix;if(P){var n=Ni,r=Mi;n=(r&~(1<<32-Je(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=xo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=wo++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:As,useFormState:rs,useActionState:rs,useOptimistic:function(e){var t=No();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Ls.bind(null,I,!0,n),n.dispatch=t,[e,t]},useMemoCache:Lo,useCacheRefresh:function(){return No().memoizedState=Ns.bind(null,I)},useEffectEvent:function(e){var t=No(),n={impl:e};return t.memoizedState=n,function(){if(K&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},Us={readContext:oa,use:Io,useCallback:xs,useContext:oa,useEffect:ps,useImperativeHandle:ys,useInsertionEffect:gs,useLayoutEffect:_s,useMemo:Ss,useReducer:zo,useRef:ls,useState:function(){return zo(Ro)},useDebugValue:bs,useDeferredValue:function(e,t){return ws(B(),L.memoizedState,e,t)},useTransition:function(){var e=zo(Ro)[0],t=B().memoizedState;return[typeof e==`boolean`?e:Fo(e),t]},useSyncExternalStore:Ho,useId:js,useHostTransitionStatus:As,useFormState:is,useActionState:is,useOptimistic:function(e,t){return Yo(B(),L,e,t)},useMemoCache:Lo,useCacheRefresh:Ms};Us.useEffectEvent=hs;var Ws={readContext:oa,use:Io,useCallback:xs,useContext:oa,useEffect:ps,useImperativeHandle:ys,useInsertionEffect:gs,useLayoutEffect:_s,useMemo:Ss,useReducer:Vo,useRef:ls,useState:function(){return Vo(Ro)},useDebugValue:bs,useDeferredValue:function(e,t){var n=B();return L===null?Cs(n,e,t):ws(n,L.memoizedState,e,t)},useTransition:function(){var e=Vo(Ro)[0],t=B().memoizedState;return[typeof e==`boolean`?e:Fo(e),t]},useSyncExternalStore:Ho,useId:js,useHostTransitionStatus:As,useFormState:ss,useActionState:ss,useOptimistic:function(e,t){var n=B();return L===null?(n.baseState=e,[e,n.queue.dispatch]):Yo(n,L,e,t)},useMemoCache:Lo,useCacheRefresh:Ms};Ws.useEffectEvent=hs;function Gs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:h({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Ks={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=pu(),i=qa(r);i.payload=t,n!=null&&(i.callback=n),t=Ja(e,i,r),t!==null&&(hu(t,e,r),Ya(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=pu(),i=qa(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Ja(e,i,r),t!==null&&(hu(t,e,r),Ya(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=pu(),r=qa(n);r.tag=2,t!=null&&(r.callback=t),t=Ja(e,r,n),t!==null&&(hu(t,e,n),Ya(t,e,n))}};function qs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Ar(n,r)||!Ar(i,a):!0}function V(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Ks.enqueueReplaceState(t,t.state,null)}function Js(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=h({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Ys(e){ri(e)}function Xs(e){console.error(e)}function Zs(e){ri(e)}function Qs(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function $s(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function ec(e,t,n){return n=qa(n),n.tag=3,n.payload={element:null},n.callback=function(){Qs(e,t)},n}function tc(e){return e=qa(e),e.tag=3,e}function nc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){$s(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){$s(t,n,r),typeof i!=`function`&&(ru===null?ru=new Set([this]):ru.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function rc(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&ra(t,n,a,!0),n=so.current,n!==null){switch(n.tag){case 31:case 13:return co===null?Du():n.alternate===null&&Wl===0&&(Wl=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===Aa?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Gu(e,r,a)),!1;case 22:return n.flags|=65536,r===Aa?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Gu(e,r,a)),!1}throw Error(i(435,n.tag))}return Gu(e,r,a),Du(),!1}if(P)return t=so.current,t===null?(r!==Hi&&(t=Error(i(423),{cause:r}),Yi(wi(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=wi(r,n),a=ec(e.stateNode,r,a),Xa(e,a),Wl!==4&&(Wl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==Hi&&(e=Error(i(422),{cause:r}),Yi(wi(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=wi(o,n),Xl===null?Xl=[o]:Xl.push(o),Wl!==4&&(Wl=2),t===null)return!0;r=wi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=ec(n.stateNode,r,e),Xa(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(ru===null||!ru.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=tc(a),nc(a,e,n,r),Xa(n,a),!1}n=n.return}while(n!==null);return!1}var ic=Error(i(461)),ac=!1;function oc(e,t,n,r){t.child=e===null?Ua(t,null,n,r):Ha(t,e.child,n,r)}function sc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return aa(t),r=Do(e,t,n,o,a,i),s=Ao(),e!==null&&!ac?(jo(e,t,i),Ac(e,t,i)):(P&&s&&Ii(t),t.flags|=1,oc(e,t,r,i),t.child)}function cc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!hi(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,lc(e,t,a,r,i)):(e=vi(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!jc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?Ar:n,n(o,r)&&e.ref===t.ref)return Ac(e,t,i)}return t.flags|=1,e=gi(a,r),e.ref=t.ref,e.return=t,t.child=e}function lc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Ar(a,r)&&e.ref===t.ref){if(ac=!1,t.pendingProps=r=a,jc(e,i))e.flags&131072&&(ac=!0);else return t.lanes=e.lanes,Ac(e,t,i)}}return gc(e,t,n,r,i)}function uc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return dc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Ta(t,a===null?null:a.cachePool),a===null?ao():io(t,a),fo(t);else return r=t.lanes=536870912,dc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Ta(t,null),ao(),po(t)):(Ta(t,a.cachePool),io(t,a),po(t),t.memoizedState=null);return oc(e,t,i,n),t.child}function H(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function dc(e,t,n,r,i){var a=wa();return a=a===null?null:{parent:fa._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Ta(t,null),ao(),fo(t),e!==null&&ra(e,t,r,!0),t.childLanes=i,null}function fc(e,t){return t=Tc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function pc(e,t,n){return Ha(t,e.child,null,n),e=fc(t,t.pendingProps),e.flags|=2,mo(t),t.memoizedState=null,e}function mc(e,t,n){var r=t.pendingProps,a=!!(t.flags&128);if(t.flags&=-129,e===null){if(P){if(r.mode===`hidden`)return e=fc(t,r),t.lanes=536870912,H(null,e);if(uo(t),(e=N)?(e=rf(e,Vi),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ji===null?null:{id:Mi,overflow:Ni},retryLane:536870912,hydrationErrors:null},n=xi(e),n.return=t,t.child=n,zi=t,N=null)):e=null,e===null)throw Ui(t);return t.lanes=536870912,null}return fc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(uo(t),a){if(t.flags&256)t.flags&=-257,t=pc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558))}else if(ac||ra(e,t,n,!1),a=(n&e.childLanes)!==0,ac||a){if(r=q,r!==null&&(s=dt(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,ui(e,s),hu(r,e,s),ic;Du(),t=pc(e,t,n)}else e=o.treeContext,N=cf(s.nextSibling),zi=t,P=!0,Bi=null,Vi=!1,e!==null&&Ri(t,e),t=fc(t,r),t.flags|=4096;return t}return e=gi(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function hc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function gc(e,t,n,r,i){return aa(t),n=Do(e,t,n,r,void 0,i),r=Ao(),e!==null&&!ac?(jo(e,t,i),Ac(e,t,i)):(P&&r&&Ii(t),t.flags|=1,oc(e,t,n,i),t.child)}function _c(e,t,n,r,i,a){return aa(t),t.updateQueue=null,n=Oo(t,r,n,i),z(e),r=Ao(),e!==null&&!ac?(jo(e,t,a),Ac(e,t,a)):(P&&r&&Ii(t),t.flags|=1,oc(e,t,n,a),t.child)}function vc(e,t,n,r,i){if(aa(t),t.stateNode===null){var a=fi,o=n.contextType;typeof o==`object`&&o&&(a=oa(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Ks,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Ga(t),o=n.contextType,a.context=typeof o==`object`&&o?oa(o):fi,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Gs(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Ks.enqueueReplaceState(a,a.state,null),$a(t,r,a,i),Qa(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Js(n,s);a.props=c;var l=a.context,u=n.contextType;o=fi,typeof u==`object`&&u&&(o=oa(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&V(t,a,r,o),Wa=!1;var f=t.memoizedState;a.state=f,$a(t,r,a,i),Qa(),l=t.memoizedState,s||f!==l||Wa?(typeof d==`function`&&(Gs(t,n,d,r),l=t.memoizedState),(c=Wa||qs(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Ka(e,t),o=t.memoizedProps,u=Js(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=fi,typeof l==`object`&&l&&(c=oa(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&V(t,a,r,c),Wa=!1,f=t.memoizedState,a.state=f,$a(t,r,a,i),Qa();var p=t.memoizedState;o!==d||f!==p||Wa||e!==null&&e.dependencies!==null&&ia(e.dependencies)?(typeof s==`function`&&(Gs(t,n,s,r),p=t.memoizedState),(u=Wa||qs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&ia(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,hc(e,t),r=!!(t.flags&128),a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Ha(t,e.child,null,i),t.child=Ha(t,null,n,i)):oc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Ac(e,t,i),e}function yc(e,t,n,r){return qi(),t.flags|=256,oc(e,t,n,r),t.child}var bc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function xc(e){return{baseLanes:e,cachePool:Ea()}}function Sc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Jl),e}function Cc(e,t,n){var r=t.pendingProps,a=!1,o=!!(t.flags&128),s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:!!(ho.current&2)),s&&(a=!0,t.flags&=-129),s=!!(t.flags&32),t.flags&=-33,e===null){if(P){if(a?lo(t):po(t),(e=N)?(e=rf(e,Vi),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ji===null?null:{id:Mi,overflow:Ni},retryLane:536870912,hydrationErrors:null},n=xi(e),n.return=t,t.child=n,zi=t,N=null)):e=null,e===null)throw Ui(t);return of(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,a?(po(t),a=t.mode,c=Tc({mode:`hidden`,children:c},a),r=yi(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=xc(n),r.childLanes=Sc(e,s,n),t.memoizedState=bc,H(null,r)):(lo(t),wc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(lo(t),t.flags&=-257,t=Ec(e,t,n)):t.memoizedState===null?(po(t),c=r.fallback,a=t.mode,r=Tc({mode:`visible`,children:r.children},a),c=yi(c,a,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ha(t,e.child,null,n),r=t.child,r.memoizedState=xc(n),r.childLanes=Sc(e,s,n),t.memoizedState=bc,t=H(null,r)):(po(t),t.child=e.child,t.flags|=128,t=null);else if(lo(t),of(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(i(419)),r.stack=``,r.digest=s,Yi({value:r,source:null,stack:null}),t=Ec(e,t,n)}else if(ac||ra(e,t,n,!1),s=(n&e.childLanes)!==0,ac||s){if(s=q,s!==null&&(r=dt(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,ui(e,r),hu(s,e,r),ic;af(c)||Du(),t=Ec(e,t,n)}else af(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,N=cf(c.nextSibling),zi=t,P=!0,Bi=null,Vi=!1,e!==null&&Ri(t,e),t=wc(t,r.children),t.flags|=4096);return t}return a?(po(t),c=r.fallback,a=t.mode,l=e.child,u=l.sibling,r=gi(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=yi(c,a,n,null),c.flags|=2):c=gi(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,H(null,r),r=t.child,c=e.child.memoizedState,c===null?c=xc(n):(a=c.cachePool,a===null?a=Ea():(l=fa._currentValue,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),r.memoizedState=c,r.childLanes=Sc(e,s,n),t.memoizedState=bc,H(e.child,r)):(lo(t),n=e.child,e=n.sibling,n=gi(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function wc(e,t){return t=Tc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function Tc(e,t){return e=mi(22,e,null,t),e.lanes=0,e}function Ec(e,t,n){return Ha(t,e.child,null,n),e=wc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Dc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ta(e.return,t,n)}function Oc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function kc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=ho.current,s=!!(o&2);if(s?(o=o&1|2,t.flags|=128):o&=1,D(ho,o),oc(e,t,r,n),r=P?Oi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Dc(e,n,t);else if(e.tag===19)Dc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&go(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Oc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&go(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Oc(t,!0,n,null,a,r);break;case`together`:Oc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Ac(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Gl|=t.lanes,(n&t.childLanes)===0){if(e!==null){if(ra(e,t,n,!1),(n&t.childLanes)===0)return null}else return null}if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=gi(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=gi(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function jc(e,t){return(e.lanes&t)!==0||(e=e.dependencies,!!(e!==null&&ia(e)))}function Mc(e,t,n){switch(t.tag){case 3:be(t,t.stateNode.containerInfo),$i(t,fa,e.memoizedState.cache),qi();break;case 27:case 5:Se(t);break;case 4:be(t,t.stateNode.containerInfo);break;case 10:$i(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,uo(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(lo(t),e=Ac(e,t,n),e===null?null:e.sibling):Cc(e,t,n):(lo(t),t.flags|=128,null);lo(t);break;case 19:var i=!!(e.flags&128);if(r=(n&t.childLanes)!==0,r||=(ra(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return kc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),D(ho,ho.current),r)break;return null;case 22:return t.lanes=0,uc(e,t,n,t.pendingProps);case 24:$i(t,fa,e.memoizedState.cache)}return Ac(e,t,n)}function Nc(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps)ac=!0;else{if(!jc(e,n)&&!(t.flags&128))return ac=!1,Mc(e,t,n);ac=!!(e.flags&131072)}}else ac=!1,P&&t.flags&1048576&&Fi(t,Oi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Ma(t.elementType),t.type=e,typeof e==`function`)hi(e)?(r=Js(e,r),t.tag=1,t=vc(null,t,e,r,n)):(t.tag=0,t=gc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===C){t.tag=11,t=sc(null,t,e,r,n);break a}if(a===re){t.tag=14,t=cc(null,t,e,r,n);break a}}throw t=le(e)||e,Error(i(306,t,``))}}return t;case 0:return gc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=Js(r,t.pendingProps),vc(e,t,r,a,n);case 3:a:{if(be(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,Ka(e,t),$a(t,r,null,n);var s=t.memoizedState;if(r=s.cache,$i(t,fa,r),r!==o.cache&&na(t,[fa],n,!0),Qa(),r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=yc(e,t,r,n);break a}if(r!==a){a=wi(Error(i(424)),t),Yi(a),t=yc(e,t,r,n);break a}switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(N=cf(e.firstChild),zi=t,P=!0,Bi=null,Vi=!0,n=Ua(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(qi(),r===a){t=Ac(e,t,n);break a}oc(e,t,r,n)}t=t.child}return t;case 26:return hc(e,t),e===null?(n=kf(t.type,null,t.pendingProps,null))?t.memoizedState=n:P||(n=t.type,e=t.pendingProps,r=Bd(ve.current).createElement(n),r[_t]=t,r[vt]=e,Pd(r,n,e),At(r),t.stateNode=r):t.memoizedState=kf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Se(t),e===null&&P&&(r=t.stateNode=ff(t.type,t.pendingProps,ve.current),zi=t,Vi=!0,a=N,Zd(t.type)?(lf=a,N=cf(r.firstChild)):N=a),oc(e,t,t.pendingProps.children,n),hc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&P&&((a=r=N)&&(r=tf(r,t.type,t.pendingProps,Vi),r===null?a=!1:(t.stateNode=r,zi=t,N=cf(r.firstChild),Vi=!1,a=!0)),a||Ui(t)),Se(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Ud(a,o)?r=null:s!==null&&Ud(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=Do(e,t,ko,null,null,n),Qf._currentValue=a),hc(e,t),oc(e,t,r,n),t.child;case 6:return e===null&&P&&((e=n=N)&&(n=nf(n,t.pendingProps,Vi),n===null?e=!1:(t.stateNode=n,zi=t,N=null,e=!0)),e||Ui(t)),null;case 13:return Cc(e,t,n);case 4:return be(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ha(t,null,r,n):oc(e,t,r,n),t.child;case 11:return sc(e,t,t.type,t.pendingProps,n);case 7:return oc(e,t,t.pendingProps,n),t.child;case 8:return oc(e,t,t.pendingProps.children,n),t.child;case 12:return oc(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,$i(t,t.type,r.value),oc(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,aa(t),a=oa(a),r=r(a),t.flags|=1,oc(e,t,r,n),t.child;case 14:return cc(e,t,t.type,t.pendingProps,n);case 15:return lc(e,t,t.type,t.pendingProps,n);case 19:return kc(e,t,n);case 31:return mc(e,t,n);case 22:return uc(e,t,n,t.pendingProps);case 24:return aa(t),r=oa(fa),e===null?(a=wa(),a===null&&(a=q,o=pa(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},Ga(t),$i(t,fa,a)):((e.lanes&n)!==0&&(Ka(e,t),$a(t,null,null,n),Qa()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,$i(t,fa,r),r!==a.cache&&na(t,[fa],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),$i(t,fa,r))),oc(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function Pc(e){e.flags|=4}function Fc(e,t,n,r,i){if((t=!!(e.mode&32))&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i){if(e.stateNode.complete)e.flags|=8192;else if(wu())e.flags|=8192;else throw Na=Aa,Oa}}else e.flags&=-16777217}function Ic(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Wf(t)){if(wu())e.flags|=8192;else throw Na=Aa,Oa}}function Lc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:at(),e.lanes|=t,Yl|=t)}function Rc(e,t){if(!P)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function U(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function zc(e,t,n){var r=t.pendingProps;switch(Li(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return U(t),null;case 1:return U(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ea(fa),xe(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ki(t)?Pc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ji())),U(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(Pc(t),o===null?(U(t),Fc(t,a,null,r,n)):(U(t),Ic(t,o))):o?o===e.memoizedState?(U(t),t.flags&=-16777217):(Pc(t),U(t),Ic(t,o)):(e=e.memoizedProps,e!==r&&Pc(t),U(t),Fc(t,a,e,r,n)),null;case 27:if(Ce(t),n=ve.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Pc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return U(t),null}e=ge.current,Ki(t)?Wi(t,e):(e=ff(a,r,n),t.stateNode=e,Pc(t))}return U(t),null;case 5:if(Ce(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Pc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return U(t),null}if(o=ge.current,Ki(t))Wi(t,o);else{var s=Bd(ve.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[_t]=t,o[vt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Pc(t)}}return U(t),Fc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Pc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ve.current,Ki(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=zi,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[_t]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||Ui(t,!0)}else e=Bd(e).createTextNode(r),e[_t]=t,t.stateNode=e}return U(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ki(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[_t]=t}else qi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;U(t),e=!1}else n=Ji(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(mo(t),t):(mo(t),null);if(t.flags&128)throw Error(i(558))}return U(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Ki(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[_t]=t}else qi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;U(t),a=!1}else a=Ji(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(mo(t),t):(mo(t),null)}return mo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Lc(t,t.updateQueue),U(t),null);case 4:return xe(),e===null&&Sd(t.stateNode.containerInfo),U(t),null;case 10:return ea(t.type),U(t),null;case 19:if(he(ho),r=t.memoizedState,r===null)return U(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)Rc(r,!1);else{if(Wl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=go(e),o!==null){for(t.flags|=128,Rc(r,!1),e=o.updateQueue,t.updateQueue=e,Lc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)_i(n,e),n=n.sibling;return D(ho,ho.current&1|2),P&&Pi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ie()>tu&&(t.flags|=128,a=!0,Rc(r,!1),t.lanes=4194304)}}else{if(!a){if(e=go(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Lc(t,e),Rc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!P)return U(t),null}else 2*Ie()-r.renderingStartTime>tu&&n!==536870912&&(t.flags|=128,a=!0,Rc(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(U(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ie(),e.sibling=null,n=ho.current,D(ho,a?n&1|2:n&1),P&&Pi(t,r.treeForkCount),e);case 22:case 23:return mo(t),oo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(U(t),t.subtreeFlags&6&&(t.flags|=8192)):U(t),n=t.updateQueue,n!==null&&Lc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&he(Ca),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ea(fa),U(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Bc(e,t){switch(Li(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ea(fa),xe(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ce(t),null;case 31:if(t.memoizedState!==null){if(mo(t),t.alternate===null)throw Error(i(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(mo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return he(ho),null;case 4:return xe(),null;case 10:return ea(t.type),null;case 22:case 23:return mo(t),oo(),e!==null&&he(Ca),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ea(fa),null;case 25:return null;default:return null}}function Vc(e,t){switch(Li(t),t.tag){case 3:ea(fa),xe();break;case 26:case 27:case 5:Ce(t);break;case 4:xe();break;case 31:t.memoizedState!==null&&mo(t);break;case 13:mo(t);break;case 19:he(ho);break;case 10:ea(t.type);break;case 22:case 23:mo(t),oo(),e!==null&&he(Ca);break;case 24:ea(fa)}}function Hc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Uc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Wc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{to(t,n)}catch(t){Z(e,e.return,t)}}}function Gc(e,t,n){n.props=Js(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Kc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function qc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}}function Jc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Z(e,e.return,t)}}function Yc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[vt]=t}catch(t){Z(e,e.return,t)}}function Xc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function W(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Xc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Zc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=un));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Zc(e,t,n),e=e.sibling;e!==null;)Zc(e,t,n),e=e.sibling}function Qc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Qc(e,t,n),e=e.sibling;e!==null;)Qc(e,t,n),e=e.sibling}function $c(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[_t]=e,t[vt]=n}catch(t){Z(e,e.return,t)}}var el=!1,tl=!1,nl=!1,rl=typeof WeakSet==`function`?WeakSet:Set,il=null;function al(e,t){if(e=e.containerInfo,Rd=sp,e=Pr(e),Fr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,il=t;il!==null;)if(t=il,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,il=e;else for(;il!==null;){switch(t=il,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,a=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=Js(n.type,a);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Z(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)ef(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:ef(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(i(163))}if(e=t.sibling,e!==null){e.return=t.return,il=e;break}il=t.return}}function ol(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:bl(e,n),r&4&&Hc(5,n);break;case 1:if(bl(e,n),r&4){if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Z(n,n.return,e)}else{var i=Js(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Z(n,n.return,e)}}}r&64&&Wc(n),r&512&&Kc(n,n.return);break;case 3:if(bl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{to(e,t)}catch(e){Z(n,n.return,e)}}break;case 27:t===null&&r&4&&$c(n);case 26:case 5:bl(e,n),t===null&&r&4&&Jc(n),r&512&&Kc(n,n.return);break;case 12:bl(e,n);break;case 31:bl(e,n),r&4&&fl(e,n);break;case 13:bl(e,n),r&4&&pl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Ju.bind(null,n),sf(e,n))));break;case 22:if(r=n.memoizedState!==null||el,!r){t=t!==null&&t.memoizedState!==null||tl,i=el;var a=tl;el=r,(tl=t)&&!a?Sl(e,n,!!(n.subtreeFlags&8772)):bl(e,n),el=i,tl=a}break;case 30:break;default:bl(e,n)}}function sl(e){var t=e.alternate;t!==null&&(e.alternate=null,sl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Tt(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var cl=null,ll=!1;function ul(e,t,n){for(n=n.child;n!==null;)dl(e,t,n),n=n.sibling}function dl(e,t,n){if(Ke&&typeof Ke.onCommitFiberUnmount==`function`)try{Ke.onCommitFiberUnmount(Ge,n)}catch{}switch(n.tag){case 26:tl||qc(n,t),ul(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:tl||qc(n,t);var r=cl,i=ll;Zd(n.type)&&(cl=n.stateNode,ll=!1),ul(e,t,n),pf(n.stateNode),cl=r,ll=i;break;case 5:tl||qc(n,t);case 6:if(r=cl,i=ll,cl=null,ul(e,t,n),cl=r,ll=i,cl!==null){if(ll)try{(cl.nodeType===9?cl.body:cl.nodeName===`HTML`?cl.ownerDocument.body:cl).removeChild(n.stateNode)}catch(e){Z(n,t,e)}else try{cl.removeChild(n.stateNode)}catch(e){Z(n,t,e)}}break;case 18:cl!==null&&(ll?(e=cl,Qd(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):Qd(cl,n.stateNode));break;case 4:r=cl,i=ll,cl=n.stateNode.containerInfo,ll=!0,ul(e,t,n),cl=r,ll=i;break;case 0:case 11:case 14:case 15:Uc(2,n,t),tl||Uc(4,n,t),ul(e,t,n);break;case 1:tl||(qc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Gc(n,t,r)),ul(e,t,n);break;case 21:ul(e,t,n);break;case 22:tl=(r=tl)||n.memoizedState!==null,ul(e,t,n),tl=r;break;default:ul(e,t,n)}}function fl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){Z(t,t.return,e)}}}function pl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Np(e)}catch(e){Z(t,t.return,e)}}function ml(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new rl),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new rl),t;default:throw Error(i(435,e.tag))}}function G(e,t){var n=ml(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Yu.bind(null,e,t);t.then(r,r)}})}function hl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(Zd(c.type)){cl=c.stateNode,ll=!1;break a}break;case 5:cl=c.stateNode,ll=!1;break a;case 3:case 4:cl=c.stateNode.containerInfo,ll=!0;break a}c=c.return}if(cl===null)throw Error(i(160));dl(o,s,a),cl=null,ll=!1,o=a.alternate,o!==null&&(o.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)_l(t,e),t=t.sibling}var gl=null;function _l(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:hl(t,e),vl(e),r&4&&(Uc(3,e,e.return),Hc(3,e),Uc(5,e,e.return));break;case 1:hl(t,e),vl(e),r&512&&(tl||n===null||qc(n,n.return)),r&64&&el&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var a=gl;if(hl(t,e),vl(e),r&512&&(tl||n===null||qc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null){if(r===null){if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;b:switch(r){case`title`:o=a.getElementsByTagName(`title`)[0],(!o||o[wt]||o[_t]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=a.createElement(r),a.head.insertBefore(o,a.querySelector(`head >
8 title`))),Pd(o,r,n),o[_t]=e,At(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;case`meta`:if(s=Vf(`meta`,`content`,a).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;default:throw Error(i(468,r))}o[_t]=e,At(o),r=o}e.stateNode=r}else Hf(a,e.type,e.stateNode)}else e.stateNode=If(a,r,e.memoizedProps)}else o===r?r===null&&e.stateNode!==null&&Yc(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Hf(a,e.type,e.stateNode):If(a,r,e.memoizedProps))}break;case 27:hl(t,e),vl(e),r&512&&(tl||n===null||qc(n,n.return)),n!==null&&r&4&&Yc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(hl(t,e),vl(e),r&512&&(tl||n===null||qc(n,n.return)),e.flags&32){a=e.stateNode;try{tn(a,``)}catch(t){Z(e,e.return,t)}}r&4&&e.stateNode!=null&&(a=e.memoizedProps,Yc(e,a,n===null?a:n.memoizedProps)),r&1024&&(nl=!0);break;case 6:if(hl(t,e),vl(e),r&4){if(e.stateNode===null)throw Error(i(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Z(e,e.return,t)}}break;case 3:if(Bf=null,a=gl,gl=gf(t.containerInfo),hl(t,e),gl=a,vl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){Z(e,e.return,t)}nl&&(nl=!1,yl(e));break;case 4:r=gl,gl=gf(e.stateNode.containerInfo),hl(t,e),vl(e),gl=r;break;case 12:hl(t,e),vl(e);break;case 31:hl(t,e),vl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,G(e,r)));break;case 13:hl(t,e),vl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&($l=Ie()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,G(e,r)));break;case 22:a=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=el,d=tl;if(el=u||a,tl=d||l,hl(t,e),tl=d,el=u,vl(e),r&8192)a:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||l||el||tl||xl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,a)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Z(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=a?``:l.memoizedProps}catch(e){Z(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;a?$d(m,!0):$d(l.stateNode,!1)}catch(e){Z(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,G(e,n))));break;case 19:hl(t,e),vl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,G(e,r)));break;case 30:break;case 21:break;default:hl(t,e),vl(e)}}function vl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Xc(r)){n=r;break}r=r.return}if(n==null)throw Error(i(160));switch(n.tag){case 27:var a=n.stateNode;Qc(e,W(e),a);break;case 5:var o=n.stateNode;n.flags&32&&(tn(o,``),n.flags&=-33),Qc(e,W(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Zc(e,W(e),s);break;default:throw Error(i(161))}}catch(t){Z(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function yl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;yl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function bl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ol(e,t.alternate,t),t=t.sibling}function xl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Uc(4,t,t.return),xl(t);break;case 1:qc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Gc(t,t.return,n),xl(t);break;case 27:pf(t.stateNode);case 26:case 5:qc(t,t.return),xl(t);break;case 22:t.memoizedState===null&&xl(t);break;case 30:xl(t);break;default:xl(t)}e=e.sibling}}function Sl(e,t,n){for(n&&=!!(t.subtreeFlags&8772),t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:Sl(i,a,n),Hc(4,a);break;case 1:if(Sl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Z(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;
vendor: 18,976 bytes, line 8
8if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)eo(c[i],s)}catch(e){Z(r,r.return,e)}}n&&o&64&&Wc(a),Kc(a,a.return);break;case 27:$c(a);case 26:case 5:Sl(i,a,n),n&&r===null&&o&4&&Jc(a),Kc(a,a.return);break;case 12:Sl(i,a,n);break;case 31:Sl(i,a,n),n&&o&4&&fl(i,a);break;case 13:Sl(i,a,n),n&&o&4&&pl(i,a);break;case 22:a.memoizedState===null&&Sl(i,a,n),Kc(a,a.return);break;case 30:break;default:Sl(i,a,n)}t=t.sibling}}function Cl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&ma(n))}function wl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ma(e))}function Tl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)El(e,t,n,r),t=t.sibling}function El(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Tl(e,t,n,r),i&2048&&Hc(9,t);break;case 1:Tl(e,t,n,r);break;case 3:Tl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ma(e)));break;case 12:if(i&2048){Tl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Z(t,t.return,e)}}else Tl(e,t,n,r);break;case 31:Tl(e,t,n,r);break;case 13:Tl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Tl(e,t,n,r):(a._visibility|=2,Dl(e,t,n,r,!!(t.subtreeFlags&10256)||!1)):a._visibility&2?Tl(e,t,n,r):Ol(e,t),i&2048&&Cl(o,t);break;case 24:Tl(e,t,n,r),i&2048&&wl(t.alternate,t);break;default:Tl(e,t,n,r)}}function Dl(e,t,n,r,i){for(i&&=!!(t.subtreeFlags&10256)||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Dl(a,o,s,c,i),Hc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Dl(a,o,s,c,i)):u._visibility&2?Dl(a,o,s,c,i):Ol(a,o),i&&l&2048&&Cl(o.alternate,o);break;case 24:Dl(a,o,s,c,i),i&&l&2048&&wl(o.alternate,o);break;default:Dl(a,o,s,c,i)}t=t.sibling}}function Ol(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Ol(n,r),i&2048&&Cl(r.alternate,r);break;case 24:Ol(n,r),i&2048&&wl(r.alternate,r);break;default:Ol(n,r)}t=t.sibling}}var kl=8192;function Al(e,t,n){if(e.subtreeFlags&kl)for(e=e.child;e!==null;)jl(e,t,n),e=e.sibling}function jl(e,t,n){switch(e.tag){case 26:Al(e,t,n),e.flags&kl&&e.memoizedState!==null&&Gf(n,gl,e.memoizedState,e.memoizedProps);break;case 5:Al(e,t,n);break;case 3:case 4:var r=gl;gl=gf(e.stateNode.containerInfo),Al(e,t,n),gl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=kl,kl=16777216,Al(e,t,n),kl=r):Al(e,t,n));break;default:Al(e,t,n)}}function Ml(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Nl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];il=r,Il(r,e)}Ml(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Pl(e),e=e.sibling}function Pl(e){switch(e.tag){case 0:case 11:case 15:Nl(e),e.flags&2048&&Uc(9,e,e.return);break;case 3:Nl(e);break;case 12:Nl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Fl(e)):Nl(e);break;default:Nl(e)}}function Fl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];il=r,Il(r,e)}Ml(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Uc(8,t,t.return),Fl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Fl(t));break;default:Fl(t)}e=e.sibling}}function Il(e,t){for(;il!==null;){var n=il;switch(n.tag){case 0:case 11:case 15:Uc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ma(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,il=r;else a:for(n=e;il!==null;){r=il;var i=r.sibling,a=r.return;if(sl(r),r===n){il=null;break a}if(i!==null){i.return=a,il=i;break a}il=a}}}var Ll={getCacheForType:function(e){var t=oa(fa),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return oa(fa).controller.signal}},Rl=typeof WeakMap==`function`?WeakMap:Map,K=0,q=null,J=null,Y=0,X=0,zl=null,Bl=!1,Vl=!1,Hl=!1,Ul=0,Wl=0,Gl=0,Kl=0,ql=0,Jl=0,Yl=0,Xl=null,Zl=null,Ql=!1,$l=0,eu=0,tu=1/0,nu=null,ru=null,iu=0,au=null,ou=null,su=0,cu=0,lu=null,uu=null,du=0,fu=null;function pu(){return K&2&&Y!==0?Y&-Y:T.T===null?mt():dd()}function mu(){if(Jl===0){if(!(Y&536870912)||P){var e=$e;$e<<=1,!($e&3932160)&&($e=262144),Jl=e}else Jl=536870912}return e=so.current,e!==null&&(e.flags|=32),Jl}function hu(e,t,n){(e===q&&(X===2||X===9)||e.cancelPendingCommit!==null)&&(Su(e,0),yu(e,Y,Jl,!1)),st(e,n),(!(K&2)||e!==q)&&(e===q&&(!(K&2)&&(Kl|=n),Wl===4&&yu(e,Y,Jl,!1)),rd(e))}function gu(e,t,n){if(K&6)throw Error(i(327));var r=!n&&!(t&127)&&(t&e.expiredLanes)===0||rt(e,t),a=r?Au(e,t):Ou(e,t,!0),o=r;do{if(a===0){Vl&&!r&&yu(e,t,0,!1);break}if(n=e.current.alternate,o&&!vu(n)){a=Ou(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=Xl;var l=c.current.memoizedState.isDehydrated;if(l&&(Su(c,s).flags|=256),s=Ou(c,s,!1),s!==2){if(Hl&&!l){c.errorRecoveryDisabledLanes|=o,Kl|=o,a=4;break a}o=Zl,Zl=a,o!==null&&(Zl===null?Zl=o:Zl.push.apply(Zl,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){Su(e,0),yu(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t)break;case 6:yu(r,t,Jl,!Bl);break a;case 2:Zl=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=$l+300-Ie(),10<a)){if(yu(r,t,Jl,!Bl),nt(r,0,!0)!==0)break a;su=t,r.timeoutHandle=Kd(_u.bind(null,r,n,Zl,nu,Ql,t,Jl,Kl,Yl,Bl,o,`Throttled`,-0,0),a);break a}_u(r,n,Zl,nu,Ql,t,Jl,Kl,Yl,Bl,o,null,-0,0)}break}while(1);rd(e)}function _u(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:un},jl(t,a,d);var m=(a&62914560)===a?$l-Ie():(a&4194048)===a?eu-Ie():0;if(m=qf(d,m),m!==null){su=a,e.cancelPendingCommit=m(Lu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),yu(e,a,o,!l);return}}Lu(e,t,a,n,r,i,o,s,c)}function vu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!kr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function yu(e,t,n,r){t&=~ql,t&=~Kl,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Je(i),o=1<<a;r[a]=-1,i&=~o}n!==0&<(e,n,t)}function bu(){return K&6?!0:(id(0,!1),!1)}function xu(){if(J!==null){if(X===0)var e=J.return;else e=J,Qi=Zi=null,Mo(e),Ia=null,La=0,e=J;for(;e!==null;)Vc(e.alternate,e),e=e.return;J=null}}function Su(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,qd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),su=0,xu(),q=e,J=n=gi(e.current,null),Y=t,X=0,zl=null,Bl=!1,Vl=rt(e,t),Hl=!1,Yl=Jl=ql=Kl=Gl=Wl=0,Zl=Xl=null,Ql=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Je(r),a=1<<i;t|=e[i],r&=~a}return Ul=t,si(),n}function Cu(e,t){I=null,T.H=Vs,t===Da||t===ka?(t=Pa(),X=3):t===Oa?(t=Pa(),X=4):X=t===ic?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,zl=t,J===null&&(Wl=1,Qs(e,wi(t,e.current)))}function wu(){var e=so.current;return e===null?!0:(Y&4194048)===Y?co===null:(Y&62914560)===Y||Y&536870912?e===co:!1}function Tu(){var e=T.H;return T.H=Vs,e===null?Vs:e}function Eu(){var e=T.A;return T.A=Ll,e}function Du(){Wl=4,Bl||(Y&4194048)!==Y&&so.current!==null||(Vl=!0),!(Gl&134217727)&&!(Kl&134217727)||q===null||yu(q,Y,Jl,!1)}function Ou(e,t,n){var r=K;K|=2;var i=Tu(),a=Eu();(q!==e||Y!==t)&&(nu=null,Su(e,t)),t=!1;var o=Wl;a:do try{if(X!==0&&J!==null){var s=J,c=zl;switch(X){case 8:xu(),o=6;break a;case 3:case 2:case 9:case 6:so.current===null&&(t=!0);var l=X;if(X=0,zl=null,Pu(e,s,c,l),n&&Vl){o=0;break a}break;default:l=X,X=0,zl=null,Pu(e,s,c,l)}}ku(),o=Wl;break}catch(t){Cu(e,t)}while(1);return t&&e.shellSuspendCounter++,Qi=Zi=null,K=r,T.H=i,T.A=a,J===null&&(q=null,Y=0,si()),o}function ku(){for(;J!==null;)Mu(J)}function Au(e,t){var n=K;K|=2;var r=Tu(),a=Eu();q!==e||Y!==t?(nu=null,tu=Ie()+500,Su(e,t)):Vl=rt(e,t);a:do try{if(X!==0&&J!==null){t=J;var o=zl;b:switch(X){case 1:X=0,zl=null,Pu(e,t,o,1);break;case 2:case 9:if(ja(o)){X=0,zl=null,Nu(t);break}t=function(){X!==2&&X!==9||q!==e||(X=7),rd(e)},o.then(t,t);break a;case 3:X=7;break a;case 4:X=5;break a;case 7:ja(o)?(X=0,zl=null,Nu(t)):(X=0,zl=null,Pu(e,t,o,7));break;case 5:var s=null;switch(J.tag){case 26:s=J.memoizedState;case 5:case 27:var c=J;if(s?Wf(s):c.stateNode.complete){X=0,zl=null;var l=c.sibling;if(l!==null)J=l;else{var u=c.return;u===null?J=null:(J=u,Fu(u))}break b}}X=0,zl=null,Pu(e,t,o,5);break;case 6:X=0,zl=null,Pu(e,t,o,6);break;case 8:xu(),Wl=6;break a;default:throw Error(i(462))}}ju();break}catch(t){Cu(e,t)}while(1);return Qi=Zi=null,T.H=r,T.A=a,K=n,J===null?(q=null,Y=0,si(),Wl):0}function ju(){for(;J!==null&&!Pe();)Mu(J)}function Mu(e){var t=Nc(e.alternate,e,Ul);e.memoizedProps=e.pendingProps,t===null?Fu(e):J=t}function Nu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=_c(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=_c(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Mo(t);default:Vc(n,t),t=J=_i(t,Ul),t=Nc(n,t,Ul)}e.memoizedProps=e.pendingProps,t===null?Fu(e):J=t}function Pu(e,t,n,r){Qi=Zi=null,Mo(t),Ia=null,La=0;var i=t.return;try{if(rc(e,i,t,n,Y)){Wl=1,Qs(e,wi(n,e.current)),J=null;return}}catch(t){if(i!==null)throw J=i,t;Wl=1,Qs(e,wi(n,e.current)),J=null;return}t.flags&32768?(P||r===1?e=!0:Vl||Y&536870912?e=!1:(Bl=e=!0,(r===2||r===9||r===3||r===6)&&(r=so.current,r!==null&&r.tag===13&&(r.flags|=16384))),Iu(t,e)):Fu(t)}function Fu(e){var t=e;do{if(t.flags&32768){Iu(t,Bl);return}e=t.return;var n=zc(t.alternate,t,Ul);if(n!==null){J=n;return}if(t=t.sibling,t!==null){J=t;return}J=t=e}while(t!==null);Wl===0&&(Wl=5)}function Iu(e,t){do{var n=Bc(e.alternate,e);if(n!==null){n.flags&=32767,J=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){J=e;return}J=e=n}while(e!==null);Wl=6,J=null}function Lu(e,t,n,r,a,o,s,c,l){e.cancelPendingCommit=null;do Hu();while(iu!==0);if(K&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));if(o=t.lanes|t.childLanes,o|=oi,ct(e,n,o,s,c,l),e===q&&(J=q=null,Y=0),ou=t,au=e,su=n,cu=o,lu=a,uu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Xu(Be,function(){return Uu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=!!(t.flags&13878),t.subtreeFlags&13878||r){r=T.T,T.T=null,a=E.p,E.p=2,s=K,K|=4;try{al(e,t,n)}finally{K=s,E.p=a,T.T=r}}iu=1,Ru(),zu(),Bu()}}function Ru(){if(iu===1){iu=0;var e=au,t=ou,n=!!(t.flags&13878);if(t.subtreeFlags&13878||n){n=T.T,T.T=null;var r=E.p;E.p=2;var i=K;K|=4;try{_l(t,e);var a=zd,o=Pr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Nr(s.ownerDocument.documentElement,s)){if(c!==null&&Fr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Mr(s,h),v=Mr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}sp=!!Rd,zd=Rd=null}finally{K=i,E.p=r,T.T=n}}e.current=t,iu=2}}function zu(){if(iu===2){iu=0;var e=au,t=ou,n=!!(t.flags&8772);if(t.subtreeFlags&8772||n){n=T.T,T.T=null;var r=E.p;E.p=2;var i=K;K|=4;try{ol(e,t.alternate,t)}finally{K=i,E.p=r,T.T=n}}iu=3}}function Bu(){if(iu===4||iu===3){iu=0,Fe();var e=au,t=ou,n=su,r=uu;t.subtreeFlags&10256||t.flags&10256?iu=5:(iu=0,ou=au=null,Vu(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(ru=null),pt(n),t=t.stateNode,Ke&&typeof Ke.onCommitFiberRoot==`function`)try{Ke.onCommitFiberRoot(Ge,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=T.T,i=E.p,E.p=2,T.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{T.T=t,E.p=i}}su&3&&Hu(),rd(e),i=e.pendingLanes,n&261930&&i&42?e===fu?du++:(du=0,fu=e):du=0,id(0,!1)}}function Vu(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ma(t)))}function Hu(){return Ru(),zu(),Bu(),Uu()}function Uu(){if(iu!==5)return!1;var e=au,t=cu;cu=0;var n=pt(su),r=T.T,a=E.p;try{E.p=32>n?32:n,T.T=null,n=lu,lu=null;var o=au,s=su;if(iu=0,ou=au=null,su=0,K&6)throw Error(i(331));var c=K;if(K|=4,Pl(o.current),El(o,o.current,s,n),K=c,id(0,!1),Ke&&typeof Ke.onPostCommitFiberRoot==`function`)try{Ke.onPostCommitFiberRoot(Ge,o)}catch{}return!0}finally{E.p=a,T.T=r,Vu(e,t)}}function Wu(e,t,n){t=wi(n,t),t=ec(e.stateNode,t,2),e=Ja(e,t,2),e!==null&&(st(e,2),rd(e))}function Z(e,t,n){if(e.tag===3)Wu(e,e,n);else for(;t!==null;){if(t.tag===3){Wu(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ru===null||!ru.has(r))){e=wi(n,e),n=tc(2),r=Ja(t,n,2),r!==null&&(nc(n,r,t,e),st(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Rl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Hl=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,q===e&&(Y&n)===n&&(Wl===4||Wl===3&&(Y&62914560)===Y&&300>Ie()-$l?!(K&2)&&Su(e,0):ql|=n,Yl===Y&&(Yl=0)),rd(e)}function qu(e,t){t===0&&(t=at()),e=ui(e,t),e!==null&&(st(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return Me(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Je(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=Y,a=nt(r,r===q?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||rt(r,a)||(n=!0,ld(r,a))}r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Gd()&&(e=nd);for(var t=Ie(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}iu!==0&&iu!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Je(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=it(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=q,n=Y,n=nt(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(X===2||X===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Ne(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||rt(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Ne(r),pt(n)){case 2:case 8:n=ze;break;case 32:n=Be;break;case 268435456:n=He;break;default:n=Be}return r=cd.bind(null,e),n=Me(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Ne(r),e.callbackPriority=2,e.callbackNode=null,2}function cd(e,t){if(iu!==0&&iu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Hu()&&e.callbackNode!==n)return null;var r=Y;return r=nt(e,e===q?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(gu(e,r,t),sd(e,Ie()),e.callbackNode!=null&&e.callbackNode===n?cd.bind(null,e):null)}function ld(e,t){if(Hu())return null;gu(e,t,!0)}function ud(){Yd(function(){K&6?Me(Re,ad):od()})}function dd(){if(nd===0){var e=_a;e===0&&(e=Qe,Qe<<=1,!(Qe&261888)&&(Qe=256)),nd=e}return nd}function fd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:ln(``+e)}function pd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function md(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=fd((i[vt]||null).action),o=r.submitter;o&&(t=(t=o[vt]||null)?fd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new jn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(nd!==0){var e=o?pd(i,o):new FormData(i);Ds(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?pd(i,o):new FormData(i),Ds(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var hd=0;hd<ti.length;hd++){var gd=ti[hd];ni(gd.toLowerCase(),`on`+(gd[0].toUpperCase()+gd.slice(1)))}ni(qr,`onAnimationEnd`),ni(Jr,`onAnimationIteration`),ni(Yr,`onAnimationStart`),ni(`dblclick`,`onDoubleClick`),ni(`focusin`,`onFocus`),ni(`focusout`,`onBlur`),ni(Xr,`onTransitionRun`),ni(Zr,`onTransitionStart`),ni(Qr,`onTransitionCancel`),ni($r,`onTransitionEnd`),Pt(`onMouseEnter`,[`mouseout`,`mouseover`]),Pt(`onMouseLeave`,[`mouseout`,`mouseover`]),Pt(`onPointerEnter`,[`pointerout`,`pointerover`]),Pt(`onPointerLeave`,[`pointerout`,`pointerover`]),Nt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Nt(`onSelect`,`focusout contextmenu dragend focu
8sin keydown keyup mousedown mouseup selectionchange`.split(` `)),Nt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Nt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Nt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Nt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var _d=`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(` `),vd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(_d));function yd(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ri(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ri(e)}i.currentTarget=null,a=c}}}}function Q(e,t){var n=t[bt];n===void 0&&(n=t[bt]=new Set);var r=e+`__bubble`;n.has(r)||(Cd(t,e,2,!1),n.add(r))}function bd(e,t,n){var r=0;t&&(r|=4),Cd(n,e,r,t)}var xd=`_reactListening`+Math.random().toString(36).slice(2);function Sd(e){if(!e[xd]){e[xd]=!0,jt.forEach(function(t){t!==`selectionchange`&&(vd.has(t)||bd(t,!1,e),bd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[xd]||(t[xd]=!0,bd(`selectionchange`,!1,t))}}function Cd(e,t,n,r){switch(mp(t)){case 2:var i=cp;break;case 8:i=lp;break;default:i=up}n=i.bind(null,t,n,e),i=void 0,!bn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function wd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=Et(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}_n(function(){var r=a,i=fn(n),s=[];a:{var c=ei.get(e);if(c!==void 0){var l=jn,u=e;switch(e){case`keypress`:if(En(n)===0)break a;case`keydown`:case`keyup`:l=Jn;break;case`focusin`:u=`focus`,l=zn;break;case`focusout`:u=`blur`,l=zn;break;case`beforeblur`:case`afterblur`:l=zn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=Ln;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=Rn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Xn;break;case qr:case Jr:case Yr:l=Bn;break;case $r:l=Zn;break;case`scroll`:case`scrollend`:l=Nn;break;case`wheel`:l=Qn;break;case`copy`:case`cut`:case`paste`:l=Vn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Yn;break;case`toggle`:case`beforetoggle`:l=$n}var d=!!(t&4),f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=vn(m,p),g!=null&&d.push(Td(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==dn&&(u=n.relatedTarget||n.fromElement)&&(Et(u)||u[yt]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?Et(u):null,u!==null&&(f=o(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=Ln,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Yn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:Ot(l),h=u==null?c:Ot(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,Et(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Dd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Od(s,c,l,d,!1),u!==null&&f!==null&&Od(s,f,u,d,!0)}}a:{if(c=r?Ot(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=vr;else if(pr(c)){if(yr)v=Dr;else{v=Tr;var y=wr}}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&on(r.elementType)&&(v=vr):v=Er;if(v&&=v(e,r)){mr(s,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&Zt(c,`number`,c.value)}switch(y=r?Ot(r):window,e){case`focusin`:(pr(y)||y.contentEditable===`true`)&&(Lr=y,Rr=r,zr=null);break;case`focusout`:zr=Rr=Lr=null;break;case`mousedown`:Br=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Br=!1,Vr(s,n,i);break;case`selectionchange`:if(Ir)break;case`keydown`:case`keyup`:Vr(s,n,i)}var b;if(tr)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else lr?sr(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(ir&&n.locale!==`ko`&&(lr||x!==`onCompositionStart`?x===`onCompositionEnd`&&lr&&(b=Tn()):(Sn=i,Cn=`value`in Sn?Sn.value:Sn.textContent,lr=!0)),y=Ed(r,x),0<y.length&&(x=new Hn(x,e,null,n,i),s.push({event:x,listeners:y}),b?x.data=b:(b=cr(n),b!==null&&(x.data=b)))),(b=rr?ur(e,n):dr(e,n))&&(x=Ed(r,`onBeforeInput`),0<x.length&&(y=new Hn(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:y,listeners:x}),y.data=b)),md(s,e,r,n,i)}yd(s,t)})}function Td(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ed(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=vn(e,n),i!=null&&r.unshift(Td(e,i,a)),i=vn(e,t),i!=null&&r.push(Td(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Dd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Od(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=vn(n,a),l!=null&&o.unshift(Td(n,l,c))):i||(l=vn(n,a),l!=null&&o.push(Td(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var kd=/\r\n?/g,Ad=/\u0000|\uFFFD/g;
vendor: 35,793 bytes, lines 8-9
8function jd(e){return(typeof e==`string`?e:``+e).replace(kd,` 9`).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||tn(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&tn(e,``+r);break;case`className`:Bt(e,`class`,r);break;case`tabIndex`:Bt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Bt(e,n,r);break;case`style`:an(e,r,o);break;case`data`:if(t!==`object`){Bt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=ln(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&$(e,t,`name`,a.name,a,null),$(e,t,`formEncType`,a.formEncType,a,null),$(e,t,`formMethod`,a.formMethod,a,null),$(e,t,`formTarget`,a.formTarget,a,null)):($(e,t,`encType`,a.encType,a,null),$(e,t,`method`,a.method,a,null),$(e,t,`target`,a.target,a,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=ln(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=un);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=ln(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Q(`beforetoggle`,e),Q(`toggle`,e),zt(e,`popover`,r);break;case`xlinkActuate`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Vt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Vt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Vt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:zt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=sn.get(n)||n,zt(e,n,r))}}function Nd(e,t,n,r,a,o){switch(n){case`style`:an(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?tn(e,r):(typeof r==`number`||typeof r==`bigint`)&&tn(e,``+r);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=un);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!Mt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[vt]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):zt(e,n,r)}}}function Pd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Q(`error`,e),Q(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,o,s,n,null)}}a&&$(e,t,`srcSet`,n.srcSet,n,null),r&&$(e,t,`src`,n.src,n,null);return;case`input`:Q(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:$(e,t,r,d,n,null)}}Xt(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Q(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:$(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Qt(e,!!r,n,!0):Qt(e,!!r,t,!1);return;case`textarea`:for(s in Q(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:$(e,t,s,c,n,null)}en(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:$(e,t,l,r,n,null)}return;case`dialog`:Q(`beforetoggle`,e),Q(`toggle`,e),Q(`cancel`,e),Q(`close`,e);break;case`iframe`:case`object`:Q(`load`,e);break;case`video`:case`audio`:for(r=0;r<_d.length;r++)Q(_d[r],e);break;case`image`:Q(`error`,e),Q(`load`,e);break;case`details`:Q(`toggle`,e);break;case`embed`:case`source`:case`link`:Q(`error`,e),Q(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,u,r,n,null)}return;default:if(on(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Nd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&$(e,t,c,r,n,null))}function Fd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||$(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&$(e,t,p,m,r,f)}}Yt(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||$(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&$(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Qt(e,!!n,n?[]:``,!1):Qt(e,!!n,t,!0)):Qt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:$(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&$(e,t,s,a,r,o)}$t(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:$(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:$(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&$(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:$(e,t,u,p,r,m)}return;default:if(on(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Nd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Nd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&$(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||$(e,t,f,p,r,m)}function Id(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Ld(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Id(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Rd=null,zd=null;function Bd(e){return e.nodeType===9?e:e.ownerDocument}function Vd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Hd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Ud(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Wd=null;function Gd(){var e=window.event;return e&&e.type===`popstate`?e!==Wd&&(Wd=e,!0):(Wd=null,!1)}var Kd=typeof setTimeout==`function`?setTimeout:void 0,qd=typeof clearTimeout==`function`?clearTimeout:void 0,Jd=typeof Promise==`function`?Promise:void 0,Yd=typeof queueMicrotask==`function`?queueMicrotask:Jd===void 0?Kd:function(e){return Jd.resolve(null).then(e).catch(Xd)};function Xd(e){setTimeout(function(){throw e})}function Zd(e){return e===`head`}function Qd(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)pf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,pf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[wt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&pf(e.ownerDocument.body)}n=i}while(n);Np(t)}function $d(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8){if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++}n=r}while(n)}function ef(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:ef(n),Tt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function tf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r){if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e}else if(!e[wt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=cf(e.nextSibling),e===null)break}return null}function nf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=cf(e.nextSibling),e===null))return null;return e}function rf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=cf(e.nextSibling),e===null))return null;return e}function af(e){return e.data===`$?`||e.data===`$~`}function of(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function sf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function cf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var lf=null;function uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function ff(e,t,n){switch(t=Bd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function pf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Tt(e)}var mf=new Map,hf=new Set;function gf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var _f=E.d;E.d={f:vf,r:yf,D:Sf,C:Cf,L:wf,m:Tf,X:Df,S:Ef,M:Of};function vf(){var e=_f.f(),t=bu();return e||t}function yf(e){var t=Dt(e);t!==null&&t.tag===5&&t.type===`form`?ks(t):_f.r(e)}var bf=typeof document>`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Jt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),At(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Jt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Jt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Jt(n.imageSizes)+`"]`)):i+=`[href="`+Jt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),At(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Jt(r)+`"][href="`+Jt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),At(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=kt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);At(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=kt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),At(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=kt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),At(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var a=(a=ve.current)?gf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=kt(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=kt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=kt(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Af(e){return`href="`+Jt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),At(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Jt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Jt(n.href)+`"]`);if(r)return t.instance=r,At(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),At(r),Pd(r,`style`,a),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Af(n.href);var o=e.querySelector(jf(a));if(o)return t.state.loading|=4,t.instance=o,At(o),o;r=Mf(n),(a=mf.get(a))&&Rf(r,a),o=(e.ownerDocument||e).createElement(`link`),At(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(a=e.querySelector(Ff(o)))?(t.instance=a,At(a),a):(r=n,(a=mf.get(o))&&(r=h({},n),zf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),At(a),Pd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Rf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Bf=null;function Vf(e,t,n){if(Bf===null){var r=new Map,i=Bf=new Map;i.set(n,r)}else i=Bf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[wt]||a[_t]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Hf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,At(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),At(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Kf===0&&(Kf=62500*Ld());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Jf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Qf={$$typeof:S,Provider:null,Consumer:null,_currentValue:de,_currentValue2:de,_threadCount:0};function $f(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=ot(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ot(0),this.hiddenUpdates=ot(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ep(e,t,n,r,i,a,o,s,c,l,u,d){return e=new $f(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=mi(3,null,null,t),e.current=a,a.stateNode=e,t=pa(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ga(a),e}function tp(e){return e?(e=fi,e):fi}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=qa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Ja(e,r,t),n!==null&&(hu(n,e,t),Ya(n,e,t))}function rp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ip(e,t){rp(e,t),(e=e.alternate)&&rp(e,t)}function ap(e){if(e.tag===13||e.tag===31){var t=ui(e,67108864);t!==null&&hu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=pu();t=ft(t);var n=ui(e,t);n!==null&&hu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=T.T;T.T=null;var a=E.p;try{E.p=2,up(e,t,n,r)}finally{E.p=a,T.T=i}}function lp(e,t,n,r){var i=T.T;T.T=null;var a=E.p;try{E.p=8,up(e,t,n,r)}finally{E.p=a,T.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)wd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=Dt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=tt(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Je(o);s.entanglements[1]|=c,o&=~c}rd(a),!(K&6)&&(tu=Ie()+500,id(0,!1))}}break;case 31:case 13:s=ui(a,2),s!==null&&hu(s,a,2),bu(),ip(a,2)}if(a=dp(r),a===null&&wd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else wd(e,t,r,null,n)}}function dp(e){return e=fn(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=Et(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return fp=e,null}function mp(e){switch(e){case`beforetoggle`: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`toggle`: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 2;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`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Le()){case Re:return 2;case ze:return 8;case Be:case Ve:return 32;case He:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`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`.split(` `);function Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Dt(t),t!==null&&ap(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=Et(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,ht(e.priority,function(){op(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,ht(e.priority,function(){op(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);dn=r,n.target.dispatchEvent(r),dn=null}else return t=Dt(n),t!==null&&ap(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=Dt(n);a!==null&&(e.splice(t,3),t-=3,Ds(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[vt]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[vt]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;np(n,pu(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;np(e.current,2,null,e,null,null),bu(),t[yt]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=mt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.8`)throw Error(i(527,Lp,`19.2.8`));E.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=d(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.8`,rendererPackageName:`react-dom`,currentDispatcherRef:T,reconcilerVersion:`19.2.8`};
9if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{Ge=zp.inject(Rp),Ke=zp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Ys,s=Xs,c=Zs;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=ep(e,1,!1,null,null,n,r,null,o,s,c,Pp),e[yt]=t.current,Sd(e),new Fp(t)}})),g=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=`modulepreload`,v=function(e){return`/`+e},y={},b=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=v(t,n),t=s(t),t in y)return;y[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:_,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},x=c(u(),1),ee=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,S=/^[\\/]{2}/;function C(e,t){return t+e.replace(/\\/g,`/`)}var te=`popstate`;function ne(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function re(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return se(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:ce(t)}return ue(t,n,null,e)}function w(e,t){if(e===!1||e==null)throw Error(t)}function ie(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function ae(){return Math.random().toString(36).substring(2,10)}function oe(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function se(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?le(t):t,state:n,key:t&&t.key||r||ae(),mask:i}}function ce({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function le(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function ue(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=ne(e)?e:se(h.location,e,t);n&&n(r,e),l=u()+1;let d=oe(r,l),f=h.createHref(r.mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=ne(e)?e:se(h.location,e,t);n&&n(r,e),l=u();let i=oe(r,l),d=h.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return T(i,e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(te,d),c=e,()=>{i.removeEventListener(te,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function T(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),w(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:ce(t);return i=i.replace(/ $/,`%20`),!n&&S.test(i)&&(i=r+i),new URL(i,r)}function E(e,t,n=`/`){return de(e,t,n,!1)}function de(e,t,n,r,i){let a=ke((typeof t==`string`?le(t):t).pathname||`/`,n);if(a==null)return null;let o=i??fe(e),s=null,c=Oe(a);for(let e=0;s==null&&e<o.length;++e)s=we(o[e],c,r);return s}function fe(e){let t=pe(e);return he(t),t}function pe(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;w(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}
9" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=Le([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(w(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),pe(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:Se(l,e.index),routesMeta:u.map((e,t)=>{let[n,r]=De(e.relativePath,e.caseSensitive,t===u.length-1);return{...e,matcher:n,compiledParams:r}})})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of me(e.path))a(e,t,!0,n)}),t}function me(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=me(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function he(e){e.sort((e,t)=>e.score===t.score?Ce(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var D=/^:[\w-]+$/,ge=3,_e=2,ve=1,ye=10,be=-2,xe=e=>e===`*`;function Se(e,t){let n=e.split(`/`),r=n.length;return n.some(xe)&&(r+=be),t&&(r+=_e),n.filter(e=>!xe(e)).reduce((e,t)=>e+(D.test(t)?ge:t===``?ve:ye),r)}function Ce(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function we(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u={path:s.relativePath,caseSensitive:s.caseSensitive,end:c},d=s.matcher&&s.compiledParams?Ee(u,l,s.matcher,s.compiledParams):Te(u,l),f=s.route;if(!d&&c&&n&&!r[r.length-1].route.index&&(d=Te({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!d)return null;
9Object.assign(i,d.params),o.push({params:i,pathname:Le([a,d.pathname]),pathnameBase:ze(Le([a,d.pathnameBase])),route:f}),d.pathnameBase!==`/`&&(a=Le([a,d.pathnameBase]))}return o}function Te(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=De(e.path,e.caseSensitive,e.end);return Ee(e,t,n,r)}function Ee(e,t,n,r){let i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return e[t]=n&&!i?void 0:(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function De(e,t=!1,n=!0){ie(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function Oe(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return ie(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function ke(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function Ae(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?le(e):e,a;return n?(n=Ie(n),a=n.startsWith(`/`)?je(n.substring(1),`/`):je(n,t)):a=t,{pathname:a,search:Be(r),hash:Ve(i)}}function je(e,t){let n=Re(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function Me(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Ne(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function Pe(e){let t=Ne(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function Fe(e,t,n,r=!1){let i;typeof e==`string`?i=le(e):(i={...e},w(!i.pathname||!i.pathname.includes(`?`),Me(`?`,`pathname`,`search`,i)),w(!i.pathname||!i.pathname.includes(`#`),Me(`#`,`pathname`,`hash`,i)),w(!i.search||!i.search.includes(`#`),Me(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=Ae(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var Ie=e=>e.replace(/[\\/]{2,}/g,`/`),Le=e=>Ie(e.join(`/`)),Re=e=>e.replace(/\/+$/,``),ze=e=>Re(e).replace(/^\/*/,`/`),Be=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Ve=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,He=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Ue(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function We(e){return Le(e.map(e=>e.route.path).filter(Boolean))||`/`}var Ge=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Ke(e,t){let n=e;if(typeof n!=`string`||!ee.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Ge)try{let e=new URL(window.location.href),r=S.test(n)?new URL(C(n,e.protocol)):new URL(n),a=ke(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{ie(!1,`<Link to="${n}">
9 contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var qe=[`POST`,`PUT`,`PATCH`,`DELETE`];new Set(qe);var Je=[`GET`,...qe];new Set(Je);var Ye=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function Xe(e){try{return Ye.includes(new URL(e).protocol)}catch{return!1}}var Ze=x.createContext(null);Ze.displayName=`DataRouter`;var Qe=x.createContext(null);Qe.displayName=`DataRouterState`;var $e=x.createContext(!1);function et(){return x.useContext($e)}var tt=x.createContext({isTransitioning:!1});tt.displayName=`ViewTransition`;var nt=x.createContext(new Map);nt.displayName=`Fetchers`;var rt=x.createContext(null);rt.displayName=`Await`;var it=x.createContext(null);it.displayName=`Navigation`;var at=x.createContext(null);at.displayName=`Location`;var ot=x.createContext({outlet:null,matches:[],isDataRoute:!1});ot.displayName=`Route`;var st=x.createContext(null);st.displayName=`RouteError`;var ct=`REACT_ROUTER_ERROR`,lt=`REDIRECT`,ut=`ROUTE_ERROR_RESPONSE`;function dt(e){if(e.startsWith(`${ct}:${lt}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function ft(e){if(e.startsWith(`${ct}:${ut}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new He(t.status,t.statusText,t.data)}catch{}}function pt(e,{relative:t}={}){w(mt(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=x.useContext(it),{hash:i,pathname:a,search:o}=Ct(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Le([n,a])),r.createHref({pathname:s,search:o,hash:i})}function mt(){return x.useContext(at)!=null}function ht(){return w(mt(),`useLocation() may be used only in the context of a <Router> component.`),x.useContext(at).location}var gt=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function _t(e){x.useContext(it).static||x.useLayoutEffect(e)}function vt(){let{isDataRoute:e}=x.useContext(ot);return e?Bt():yt()}function yt(){w(mt(),`useNavigate() may be used only in the context of a <Router> component.`);let e=x.useContext(Ze),{basename:t,navigator:n}=x.useContext(it),{matches:r}=x.useContext(ot),{pathname:i}=ht(),a=JSON.stringify(Pe(r)),o=x.useRef(!1);return _t(()=>{o.current=!0}),x.useCallback((r,s={})=>{if(ie(o.current,gt),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=Fe(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Le([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var bt=x.createContext(null);function xt(e){let t=x.useContext(ot).outlet;return x.useMemo(()=>t&&x.createElement(bt.Provider,{value:e},t),[t,e])}function St(){let{matches:e}=x.useContext(ot);return e[e.length-1]?.params??{}}function Ct(e,{relative:t}={}){let{matches:n}=x.useContext(ot),{pathname:r}=ht(),i=JSON.stringify(Pe(n));return x.useMemo(()=>Fe(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function wt(e,t){return Tt(e,t)}function Tt(e,t,n){w(mt(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=x.useContext(it),{matches:i}=x.useContext(ot),a=i[i.length-1],o=a?a.params:{},s=a?a.pathname:`/`,c=a?a.pathnameBase:`/`,l=a&&a.route;{let e=l&&l.path||``;Ht(s,!l||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${s}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. 10 11Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let u=ht(),d;if(t){let e=typeof t==`string`?le(t):t;w(c===`/`||e.pathname?.startsWith(c),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${c}" but pathname "${e.pathname}" was given in the \`location\` prop.`),d=e}else d=u;let f=d.pathname||`/`,p=f;if(c!==`/`){let e=c.replace(/^\//,``).split(`/`);p=`/`+f.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let m=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):E(e,{pathname:p});ie(l||m!=null,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),ie(m==null||m[m.length-1].route.element!==void 0||m[m.length-1].route.Component!==void 0||m[m.length-1].route.lazy!==void 0,`Matched leaf route at location "${d.pathname}${d.search}${d.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let h=Mt(m&&m.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:Le([c,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?c:Le([c,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&h?x.createElement(at.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...d},navigationType:`POP`}},h):h}function Et(){let e=zt(),t=Ue(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},o=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),o=x.createElement(x.Fragment,null,x.createElement(`p`,null,`ð¿ Hey developer ð`),x.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,x.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,x.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),x.createElement(x.Fragment,null,x.createElement(`h2`,null,`Unexpected Application
11Error!`),x.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?x.createElement(`pre`,{style:i},n):null,o)}var Dt=x.createElement(Et,null),Ot=class extends x.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=ft(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:x.createElement(ot.Provider,{value:this.props.routeContext},x.createElement(st.Provider,{value:e,children:this.props.component}));return this.context?x.createElement(At,{error:e},t):t}};Ot.contextType=$e;var kt=new WeakMap;function At({children:e,error:t}){let{basename:n}=x.useContext(it);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=dt(t.digest);if(e){let r=kt.get(t);if(r)throw r;let i=Ke(e.location,n),a=i.absoluteURL||i.to;if(Xe(a))throw Error(`Invalid redirect location`);if(Ge&&!kt.get(t)){if(i.isExternal||e.reloadDocument)window.location.href=a;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw kt.set(t,n),n}}return x.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a}`})}}return e}function jt({routeContext:e,match:t,children:n}){let r=x.useContext(Ze);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),x.createElement(ot.Provider,{value:e},n)}function Mt(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);w(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(s=e),t.route.id){let{loaderData:e,errors:a}=r,c=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!a||a[t.route.id]===void 0);if(t.route.lazy||c){n.isStatic&&(o=!0),i=s>=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:We(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||Dt,o&&(s<0&&c===0?(Ht(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?x.createElement(n.route.Component,null):n.route.element?n.route.element:e,x.createElement(jt,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?x.createElement(Ot,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function Nt(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Pt(e){let t=x.useContext(Ze);return w(t,Nt(e)),t}function Ft(e){let t=x.useContext(Qe);return w(t,Nt(e)),t}function It(e){let t=x.useContext(ot);return w(t,Nt(e)),t}function Lt(e){let t=It(e),n=t.matches[t.matches.length-1];return w(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Rt(){return Lt(`useRouteId`)}function zt(){let e=x.useContext(st),t=Ft(`useRouteError`),n=Lt(`useRouteError`);return e===void 0?t.errors?.[n]:e}function Bt(){let{router:e}=Pt(`useNavigate`),t=Lt(`useNavigate`),n=x.useRef(!1);return _t(()=>{n.current=!0}),x.useCallback(async(r,i={})=>{ie(n.current,gt),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var Vt={};function Ht(e,t,n){!t&&!Vt[e]&&(Vt[e]=!0,ie(!1,n))}
11x.memo(Ut);function Ut({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return Tt(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function Wt({to:e,replace:t,state:n,relative:r}){w(mt(),`<Navigate> may be used only in the context of a <Router> component.`);let{static:i}=x.useContext(it);ie(!i,`<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`);let{matches:a}=x.useContext(ot),{pathname:o}=ht(),s=vt(),c=Fe(e,Pe(a),o,r===`path`),l=JSON.stringify(c);return x.useEffect(()=>{s(JSON.parse(l),{replace:t,state:n,relative:r})},[s,l,r,t,n]),null}function Gt(e){return xt(e.context)}function O(e){w(!1,`A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.`)}function Kt({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,useTransitions:o}){w(!mt(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=x.useMemo(()=>({basename:s,navigator:i,static:a,useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=le(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,mask:m}=n,h=x.useMemo(()=>{let e=ke(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);return ie(h!=null,`<Router basename="${s}"> is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the <Router> won't render anything.`),h==null?null:x.createElement(it.Provider,{value:c},x.createElement(at.Provider,{children:t,value:h}))}function qt({children:e,location:t}){return wt(Jt(e),t)}x.Component;function Jt(e,t=[]){let n=[];return x.Children.forEach(e,(e,r)=>{if(!x.isValidElement(e))return;let i=[...t,r];if(e.type===x.Fragment){n.push.apply(n,Jt(e.props.children,i));return}w(e.type===O,`[${typeof e.type==`string`?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),w(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let a={id:e.props.id||i.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=Jt(e.props.children,i)),n.push(a)}),n}var Yt=`get`,Xt=`application/x-www-form-urlencoded`;function Zt(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function Qt(e){return Zt(e)&&e.tagName.toLowerCase()===`button`}function $t(e){return Zt(e)&&e.tagName.toLowerCase()===`form`}function en(e){return Zt(e)&&e.tagName.toLowerCase()===`input`}function tn(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function nn(e,t){return e.button===0&&(!t||t===`_self`)&&!tn(e)}function rn(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function an(e,t){let n=rn(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var on=null;function sn(){if(on===null)try{new FormData(document.createElement(`form`),0),on=!1}catch{on=!0}return on}var cn=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function ln(e){return e!=null&&!cn.has(e)?(ie(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Xt}"`),null):e}function un(e,t){let n,r,i,a,o;if($t(e)){let o=e.getAttribute(`action`);r=o?ke(o,t):null,n=e.getAttribute(`method`)||Yt,i=ln(e.getAttribute(`enctype`))||Xt,a=new FormData(e)}else if(Qt(e)||en(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?ke(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||Yt,i=ln(e.getAttribute(`formenctype`))||ln(o.getAttribute(`enctype`))||Xt,a=new FormData(o,e),!sn()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(Zt(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=Yt,r=null,i=Xt,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function dn(e,t){if(e===!1||e==null)throw Error(t)}function fn(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>
11`u`?`server://singlefetch/`:window.location.origin):e;return i.pathname=n?i.pathname.endsWith(`/`)?`${i.pathname}_.${r}`:`${i.pathname}.${r}`:i.pathname===`/`?`_root.${r}`:t&&ke(i.pathname,t)===`/`?`${Re(t)}/_root.${r}`:`${Re(i.pathname)}.${r}`,i}async function pn(e,t){if(e.id in t)return t[e.id];try{let n=await b(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function mn(e){return e!=null&&typeof e.page==`string`}function hn(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function gn(e,t,n){return xn((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await pn(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(hn).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function _n(e,t,n,r,i,a){let o=(e,t)=>!n[t]||e.route.id!==n[t].route.id,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function vn(e,t,{includeHydrateFallback:n}={}){return yn(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function yn(e){return[...new Set(e)]}function bn(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function xn(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!mn(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(bn(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function Sn(){let e=x.useContext(Ze);return dn(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Cn(){let e=x.useContext(Qe);return dn(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var wn=x.createContext(void 0);wn.displayName=`FrameworkContext`;function Tn(){let e=x.useContext(wn);return dn(e,`You must render this element inside a <HydratedRouter> element`),e}function En(e,t){let n=x.useContext(wn),[r,i]=x.useState(!1),[a,o]=x.useState(!1),{onFocus:s,onBlur:c,onMouseEnter:l,onMouseLeave:u,onTouchStart:d}=t,f=x.useRef(null);x.useEffect(()=>{if(e===`render`&&o(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{o(e.isIntersecting)})},{threshold:.5});return f.current&&e.observe(f.current),()=>{e.disconnect()}}},[e]),x.useEffect(()=>{if(r){let e=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(e)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return n?e===`intent`?[a,f,{onFocus:Dn(s,p),onBlur:Dn(c,m),onMouseEnter:Dn(l,p),onMouseLeave:Dn(u,m),onTouchStart:Dn(d,p)}]:[a,f,{}]:[!1,f,{}]}function Dn(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function On({page:e,...t}){let n=et(),{nonce:r}=Tn(),{router:i}=Sn(),a=x.useMemo(()=>E(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?(t.nonce==null&&r&&(t={...t,nonce:r}),n?x.createElement(An,{page:e,matches:a,...t}):x.createElement(jn,{page:e,matches:a,...t})):null}function kn(e){let{manifest:t,routeModules:n}=Tn(),[r,i]=x.useState([]);return x.useEffect(()=>{let r=!1;return gn(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function An({page:e,matches:t,...n}){let r=ht(),{future:i}=Tn(),{basename:a}=Sn(),o=x.useMemo(()=>
11{if(e===r.pathname+r.search+r.hash)return[];let n=fn(e,a,i.v8_trailingSlashAwareDataRequests,`rsc`),o=!1,s=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?o=!0:s.push(e.route.id);return o&&s.length>0&&n.searchParams.set(`_routes`,s.join(`,`)),[n.pathname+n.search]},[a,i.v8_trailingSlashAwareDataRequests,e,r,t]);return x.createElement(x.Fragment,null,o.map(e=>x.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function jn({page:e,matches:t,...n}){let r=ht(),{future:i,manifest:a,routeModules:o}=Tn(),{basename:s}=Sn(),{loaderData:c,matches:l}=Cn(),u=x.useMemo(()=>_n(e,t,l,a,r,`data`),[e,t,l,a,r]),d=x.useMemo(()=>_n(e,t,l,a,r,`assets`),[e,t,l,a,r]),f=x.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,l=!1;if(t.forEach(e=>{let t=a.routes[e.route.id];!t||!t.hasLoader||(!u.some(t=>t.route.id===e.route.id)&&e.route.id in c&&o[e.route.id]?.shouldRevalidate||t.hasClientLoader?l=!0:n.add(e.route.id))}),n.size===0)return[];let d=fn(e,s,i.v8_trailingSlashAwareDataRequests,`data`);return l&&n.size>0&&d.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[d.pathname+d.search]},[s,i.v8_trailingSlashAwareDataRequests,c,r,a,u,t,e,o]),p=x.useMemo(()=>vn(d,a),[d,a]),m=kn(d);return x.createElement(x.Fragment,null,f.map(e=>x.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),p.map(e=>x.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),m.map(({key:e,link:t})=>x.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function Mn(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}x.Component;var Nn=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{Nn&&(window.__reactRouterVersion=`7.18.2`)}catch{}function Pn({basename:e,children:t,useTransitions:n,window:r}){let i=x.useRef();i.current??=re({window:r,v5Compat:!0});let a=i.current,[o,s]=x.useState({action:a.action,location:a.location}),c=x.useCallback(e=>{n===!1?s(e):x.startTransition(()=>s(e))},[n]);return x.useLayoutEffect(()=>a.listen(c),[a,c]),x.createElement(Kt,{basename:e,children:t,location:o.location,navigationType:o.action,navigator:a,useTransitions:n})}var k=x.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:r,reloadDocument:i,replace:a,mask:o,state:s,target:c,to:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m){let{basename:h,navigator:g,useTransitions:_}=x.useContext(it),v=typeof l==`string`&&ee.test(l),y=Ke(l,h);l=y.to;let b=pt(l,{relative:r}
11),S=ht(),C=null;if(o){let e=Fe(o,[],S.mask?S.mask.pathname:`/`,!0);h!==`/`&&(e.pathname=e.pathname===`/`?h:Le([h,e.pathname])),C=g.createHref(e)}let[te,ne,re]=En(n,p),w=zn(l,{replace:a,mask:o,state:s,target:c,preventScrollReset:u,relative:r,viewTransition:d,defaultShouldRevalidate:f,useTransitions:_});function ie(t){e&&e(t),t.defaultPrevented||w(t)}let ae=!(y.isExternal||i),oe=x.createElement(`a`,{...p,...re,href:(ae?C:void 0)||y.absoluteURL||b,onClick:ae?ie:e,ref:Mn(m,ne),target:c,"data-discover":!v&&t===`render`?`true`:void 0});return te&&!v?x.createElement(x.Fragment,null,oe,x.createElement(On,{page:b})):oe});k.displayName=`Link`;var Fn=x.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:r=!1,style:i,to:a,viewTransition:o,children:s,...c},l){let u=Ct(a,{relative:c.relative}),d=ht(),f=x.useContext(Qe),{navigator:p,basename:m}=x.useContext(it),h=f!=null&&Gn(u)&&o===!0,g=p.encodeLocation?p.encodeLocation(u).pathname:u.pathname,_=d.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(_=_.toLowerCase(),v=v?v.toLowerCase():null,g=g.toLowerCase()),v&&m&&(v=ke(v,m)||v);let y=g!==`/`&&g.endsWith(`/`)?g.length-1:g.length,b=_===g||!r&&_.startsWith(g)&&_.charAt(y)===`/`,ee=v!=null&&(v===g||!r&&v.startsWith(g)&&v.charAt(g.length)===`/`),S={isActive:b,isPending:ee,isTransitioning:h},C=b?e:void 0,te;te=typeof n==`function`?n(S):[n,b?`active`:null,ee?`pending`:null,h?`transitioning`:null].filter(Boolean).join(` `);let ne=typeof i==`function`?i(S):i;return x.createElement(k,{...c,"aria-current":C,className:te,ref:l,style:ne,to:a,viewTransition:o},typeof s==`function`?s(S):s)});Fn.displayName=`NavLink`;var In=x.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:a,method:o=Yt,action:s,onSubmit:c,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m)=>{let{useTransitions:h}=x.useContext(it),g=Un(),_=Wn(s,{relative:l}),v=o.toLowerCase()===`get`?`get`:`post`,y=typeof s==`string`&&ee.test(s);return x.createElement(`form`,{ref:m,method:v,action:_,onSubmit:r?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,s=r?.getAttribute(`formmethod`)||o,p=()=>g(r||e.currentTarget,{fetcherKey:t,method:s,navigate:n,replace:i,state:a,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f});h&&n!==!1?x.startTransition(()=>p()):p()},...p,"data-discover":!y&&e===`render`?`true`:void 0})});In.displayName=`Form`;function Ln(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Rn(e){let t=x.useContext(Ze);return w(t,Ln(e)),t}function zn(e,{target:t,replace:n,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c,useTransitions:l}={}){let u=vt(),d=ht(),f=Ct(e,{relative:o});return x.useCallback(p=>{if(nn(p,t)){p.preventDefault();let t=n===void 0?ce(d)===ce(f):n,m=()=>u(e,{replace:t,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c});l?x.startTransition(()=>m()):m()}},[d,u,f,n,r,i,t,e,a,o,s,c,l])}function Bn(e){ie(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=x.useRef(rn(e)),n=x.useRef(!1),r=ht(),i=x.useMemo(()=>an(r.search,n.current?null:t.current),[r.search]),a=vt();return[i,x.useCallback((e,t)=>{let r=rn(typeof e==`function`?e(new URLSearchParams(i)):e);n.current=!0,a(`?`+r,t)},[a,i])]}var Vn=0,Hn=()=>`__${String(++Vn)}__`;function Un(){let{router:e}=Rn(`useSubmit`),{basename:t}=x.useContext(it),n=Rt(),r=e.fetch,i=e.navigate;return x.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=un(e,t);if(a.navigate===!1){let e=a.fetcherKey||Hn();await r(e,n,a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync})}else await i(a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,i,t,n])}function Wn(e,{relative:t}={}){let{basename:n}=x.useContext(it),r=x.useContext(ot);w(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),a={...Ct(e||`.`,{relative:t})},o=ht();if(e==null){a.search=o.search;let e=new URLSearchParams(a.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();a.search=n?`?${n}`:``}}return(!e||e===`.`)&&i.route.index&&(a.search=a.search?a.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(a.pathname=a.pathname===`/`?n:Le([n,a.pathname])),ce(a)}function Gn(e,{relative:t}={}){let n=x.useContext(tt);w(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Rn(`useViewTransitionState`),i=Ct(e,{relative:t});if(!n.isTransitioning)return!1;let a=ke(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=ke(n.nextLocation.pathname,r)||n.nextLocation.pathname;return Te(i.pathname,o)!=null||Te(i.pathname,a)!=null}var Kn=g(),qn=(...e)=>
11e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Jn=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Yn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Xn=e=>{let t=Yn(e);return t.charAt(0).toUpperCase()+t.slice(1)},Zn={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},Qn=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},$n=(0,x.createContext)({}),er=()=>(0,x.useContext)($n),tr=(0,x.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=er()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,x.createElement)(`svg`,{ref:c,...Zn,width:t??l??Zn.width,height:t??l??Zn.height,stroke:e??f,strokeWidth:m,className:qn(`lucide`,p,i),...!a&&!Qn(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,x.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),nr=(e,t)=>
11{let n=(0,x.forwardRef)(({className:n,...r},i)=>(0,x.createElement)(tr,{ref:i,iconNode:t,className:qn(`lucide-${Jn(Xn(e))}`,`lucide-${e}`,n),...r}));return n.displayName=Xn(e),n},rr=nr(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),ir=nr(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),ar=nr(`mail`,[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]),or=nr(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),sr=nr(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),cr=nr(`phone`,[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`,key:`9njp5v`}]]),lr=nr(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),ur=nr(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),dr=nr(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),fr=nr(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),pr=nr(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),mr=nr(`zap`,[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`,key:`1v7up4`}]]),A={name:`Sasky Mali`,tagline:`Afro-Inspiration`,logo:`art/logo.png`,portrait:`photos/SaskyMali.JPEG`,email:`[email protected]`,phone:`+1 289 830 5967`,description:`Nigerian-born, Toronto-based Afro-fusion artist, producer, and DJ.`,youtube:`https://www.youtube.com/@saskymali`,youtubePlaylist:`https://www.youtube.com/playlist?list=PLSxYFB17dPzW4K2H_qPnr4KVGHgt9ZZlY`,instagram:`https://www.instagram.com/saskymali/`},hr=[{to:`/`,label:`Home`},{to:`/about-sasky-mali`,label:`About`},{to:`/contents`,label:`Contents`},{to:`/news`,label:`News`},{to:`/collabs`,label:`Collabs`},{to:`/bookings`,label:`Bookings`}],gr=[{name:`Moosey Lion`,kicker:`Featured`,to:`/featured-collaborators/moosey-l
11ion`,image:`photos/IMG_7483.jpeg`,copy:`Afro-real artist from Lagos â Hip-Hop and Afrobeats, storytelling, and the Assalamu special.`}],_r={image:`photos/DJshotApril1th2-scaled.jpg`,alt:`Sasky Mali DJ set`,portraits:[`photos/IMG_4763-scaled.jpg`,`photos/DJshotApril17th-scaled.jpg`,`photos/DJShot-scaled.jpg`]},vr=[{title:`Suffrey Suffrey`,kind:`track`,id:`60DnKUlC5MNEtdDfLM34P0`,ffm:`https://unitedmasters.com/m/suffrey-suffrey`},{title:`Ghetto Motivation`,kind:`album`,id:`5Qyc6G4XlkD1UN6lPXRFPn`,ffm:`https://ffm.to/ghetto-motivation-saskymali`},{title:`God's Love Is True`,kind:`track`,id:`3LmJHGe2jZE9MO0Zmla33W`,ffm:`https://ffm.to/glit_ft_mooseylion`},{title:`Protect Da Yutes`,kind:`track`,id:`0AZmlMCSKNU1HCUxmAqrv9`,ffm:`https://ffm.to/protect-da-yutes`},{title:`We Covered`,kind:`track`,id:`2SRYzVDlRjc71j9sDxA1L3`,ffm:`https://ffm.to/we-covered`},{title:`Wetin Dey Happen`,kind:`track`,id:`7GjFeKhhAcY82SwrTJjQhE`,ffm:`https://ffm.to/wetin-dey-happen`},{title:`Time's Up`,kind:`track`,id:`2BTykytEqos9GDxmYoEZ71`,ffm:`https://ffm.to/times-up`},{title:`Stick Up`,kind:`track`,id:`06nVQOuCiq0VDmssHlAmLh`,ffm:`https://ffm.to/stick-up`},{title:`Afro Piano Soul Tape`,kind:`album`,id:`6NwqHK9v31EiuFTcAR9x8x`,ffm:`https://ffm.to/afro-piano-soul-tape`},{title:`Persistence`,kind:`album`,id:`1Kgw7JHmkCRawT08OjgWcr`,ffm:`https://ffm.to/persistence`},{title:`Leo the EP`,kind:`album`,id:`6xcHGHWQLNKbf9QpUpdmdF`,ffm:`https://ffm.to/leotheep`},{title:`Feeling Blessed`,kind:`album`,id:`011W58jv6Sn1yVw7voppb4`,ffm:`https://ffm.to/feelingblessed`},{title:`Been Waiting`,kind:`album`,id:`5ccOqgpPoFs4jsk2BEIb2h`,ffm:`https://ffm.to/been_waiting`},{title:`Nothing Dey Kpa`,kind:`album`,id:`2miDG1zQgmcsL1lYDBFMvA`,ffm:`https://ffm.to/nothingdeykpa`},{title:`Road to Success`,kind:`album`,id:`2xU1EQ67OJ4GGGkChPKlVC`,ffm:`https://ffm.to/roadtosuccess`},{title:`Lion of God`,kind:`album`,id:`31INl0kitsNkgHGH1TcffA`,ffm:`https://ffm.to/lionofgod-saskymali`}],yr={id:`0MXEHATb9AxfBsMd9s1wUp`,caption:`Here is an extensive playlist consisting of various tracks that have been expertly produced, skillfully mixed, and professionally mastered. Sit back, relax, and let the mesmerizing sounds transport you to a world of musical bliss.`,spotify:`https://open.spotify.com/playlist/0MXEHATb9AxfBsMd9s1wUp`,apple:`https://music.apple.com/ca/playlist/sasky-mali-engineered/pl.u-JPAZbdqTLB74dyA`,embed:`https://open.spotify.com/embed/playlist/0MXEHATb9AxfBsMd9s1wUp`},br={cover:`art/SaskyMali_GMT_Jpg-scaled.jpg`,ffm:`https://ffm.to/ghetto-motivation-saskymali`,tracks:[`Gbe Wa De Be`,`God's Love Is True`,`Reminder`,`Stay Up (instrumental)`]},xr=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),j=o(((e,t)=>{t.exports=xr()}))();function Sr(){return(0,j.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`18`,height:`18`,"aria-hidden":`true`,children:(0,j.jsx)(`path`,{fill:`currentColor`,d:`M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.7 12 3.7 12 3.7s-7.5 0-9.4.4A3 3 0 0 0 .5 6.2 31 31 0 0 0 0 12a31 31 0 0 0 .5 5.8 3 3 0 0 0 2.1 2.1c1.9.4 9.4.4 9.4.4s7.5 0 9.4-.4a3 3 0 0 0 2.1-2.1A31 31 0 0 0 24 12a31 31 0 0 0-.5-5.8zM9.8 15.5v-7l6.2 3.5-6.2 3.5z`})})}function Cr(){return(0,j.jsxs)(`svg`,{viewBox:`0 0 24 24`,width:`18`,height:`18`,fill:`none`,"aria-hidden":`true`,children:[(0,j.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`5`,stroke:`currentColor`,strokeWidth:`1.75`}),(0,j.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`,stroke:`currentColor`,strokeWidth:`1.75`}),(0,j.jsx)(`circle`,{cx:`17.5`,cy:`6.5`,r:`1`,fill:`currentColor`})]})}var wr=[{href:`mailto:${A.email}`,label:`Email`,icon:(0,j.jsx)(ar,{size:18,strokeWidth:1.75})},{href:`tel:${A.phone.replace(/\s/g,``)}`,label:`Call`,icon:(0,j.jsx)(cr,{size:18,strokeWidth:1.75})},{href:A.youtube,label:`YouTube`,icon:(0,j.jsx)(Sr,{})},{href:A.instagram,label:`Instagram`,icon:(0,j.jsx)(Cr,{})}];function Tr({className:e=``}){return(0,j.jsx)(`ul`,{className:`flex flex-wrap items-center justify-center gap-3 ${e}`,children:wr.map(({href:e,label:t,icon:n})=>(0,j.jsx)(`li`,{children:(0,j.jsx)(`a`,{href:e,target:e.startsWith(`http`)?`_blank`:void 0,rel:e.startsWith(`http`)?`noreferrer`:void 0,"aria-label":t,className:`grid h-11 w-11 place-items-center rounded-full border border-line text-paper transition hover:border-gold hover:text-gold`,children:n})},t))})}var Er=Symbol.for(`@supabase/supabase-js.traceContextExtractor`);function Dr(){return globalThis[Er]}function Or(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function kr(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}var Ar=e=>e?(...t)=>e(...t):(...e)=>
vendor: 3,004 bytes, line 11
11fetch(...e),jr=class extends Error{constructor(e,t=`FunctionsError`,n){super(e),this.name=t,this.context=n}toJSON(){return{name:this.name,message:this.message,context:this.context}}},Mr=class extends jr{constructor(e){super(`Failed to send a request to the Edge Function`,`FunctionsFetchError`,e)}},Nr=class extends jr{constructor(e){super(`Relay Error invoking the Edge Function`,`FunctionsRelayError`,e)}},Pr=class extends jr{constructor(e){super(`Edge Function returned a non-2xx status code`,`FunctionsHttpError`,e)}},Fr;(function(e){e.Any=`any`,e.ApNortheast1=`ap-northeast-1`,e.ApNortheast2=`ap-northeast-2`,e.ApSouth1=`ap-south-1`,e.ApSoutheast1=`ap-southeast-1`,e.ApSoutheast2=`ap-southeast-2`,e.CaCentral1=`ca-central-1`,e.EuCentral1=`eu-central-1`,e.EuWest1=`eu-west-1`,e.EuWest2=`eu-west-2`,e.EuWest3=`eu-west-3`,e.SaEast1=`sa-east-1`,e.UsEast1=`us-east-1`,e.UsWest1=`us-west-1`,e.UsWest2=`us-west-2`})(Fr||={});var Ir=class{constructor(e,{headers:t={},customFetch:n,region:r=Fr.Any}={}){this.url=e,this.headers=t,this.region=r,this.fetch=Ar(n)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return kr(this,arguments,void 0,function*(e,t={}){var n;let r,i,a;try{let{headers:n,method:o,body:s,signal:c,timeout:l}=t,u={},{region:d}=t;d||=this.region;let f=new URL(`${this.url}/${e}`);d&&d!==`any`&&(u[`x-region`]=d,f.searchParams.set(`forceFunctionRegion`,d));let p,m=!!n&&Object.keys(n).some(e=>e.toLowerCase()===`content-type`);s&&!m?typeof Blob<`u`&&s instanceof Blob||s instanceof ArrayBuffer?(u[`Content-Type`]=`application/octet-stream`,p=s):typeof s==`string`?(u[`Content-Type`]=`text/plain`,p=s):typeof FormData<`u`&&s instanceof FormData?p=s:(u[`Content-Type`]=`application/json`,p=JSON.stringify(s)):p=s&&typeof s!=`string`&&!(typeof Blob<`u`&&s instanceof Blob)&&!(s instanceof ArrayBuffer)&&!(typeof FormData<`u`&&s instanceof FormData)?JSON.stringify(s):s;let h=c;l&&(i=new AbortController,r=setTimeout(()=>i.abort(),l),c?(h=i.signal,a=()=>i.abort(),c.addEventListener(`abort`,a)):h=i.signal);let g=yield this.fetch(f.toString(),{method:o||`POST`,headers:Object.assign(Object.assign(Object.assign({},u),this.headers),n),body:p,signal:h}).catch(e=>{throw new Mr(e)}),_=g.headers.get(`x-relay-error`);if(_&&_===`true`)throw new Nr(g);if(!g.ok)throw new Pr(g);let v=(g.headers.get(`Content-Type`)??`text/plain`).split(`;`)[0].trim().toLowerCase(),y;return y=v===`application/json`?yield g.json():v===`application/octet-stream`||v===`application/pdf`?yield g.blob():v===`text/event-stream`?g:v===`multipart/form-data`?yield g.formData():yield g.text(),{data:y,error:null,response:g}}catch(e){return{data:null,error:e,response:e instanceof Pr||e instanceof Nr?e.context:void 0}}finally{r&&clearTimeout(r),a&&((n=t.signal)==null||n.removeEventListener(`abort`,a))}})}},Lr=3,Rr=e=>Math.min(1e3*2**e,3e4),zr=[520,503],Br=[`GET`,`HEAD`,`OPTIONS`],Vr=class extends Error{constructor(e){super(e.message),this.name=`PostgrestError`,this.details=e.details,this.hint=e.hint,this.co
11de=e.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function Hr(e){"@babel/helpers - typeof";return Hr=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Hr(e)}function Ur(e,t){if(Hr(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Hr(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Wr(e){var t=Ur(e,`string`);return Hr(t)==`symbol`?t:t+``}function Gr(e,t,n){return(t=Wr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kr(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 qr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Kr(Object(n),!0).forEach(function(t){Gr(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Jr(e,t){return new Promise(n=>{if(t?.aborted){n();return}let r=setTimeout(()=>{t?.removeEventListener(`abort`,i),n()},e);function i(){clearTimeout(r),n()}t?.addEventListener(`abort`,i)})}function Yr(e,t,n,r){return!(!r||n>=Lr||!Br.includes(e)||!zr.includes(t))}var Xr=class{constructor(e){this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError??!1,this.signal=e.signal,this.isMaybeSingle=e.isMaybeSingle??!1,this.shouldStripNulls=e.shouldStripNulls??!1,this.urlLengthLimit=e.urlLengthLimit??8e3,this.retryEnabled=e.retry??!0,this.fetch=e.fetch?e.fetch:fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get(`Accept`)===`text/csv`)throw Error(`stripNulls() cannot be used with csv()`);return this.shouldStripNulls=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}retry(e){return this.retryEnabled=e,this}then(e,t){var n=this;if(this.schema===void 0||([`GET`,`HEAD`].includes(this.method)?this.headers.set(`Accept-Profile`,this.schema):this.headers.set(`Content-Profile`,this.schema)),this.method!==`GET`&&this.method!==`HEAD`&&this.headers.set(`Content-Type`,`application/json`),this.shouldStripNulls){let e=this.headers.get(`Accept`);e===`application/vnd.pgrst.object+json`?this.headers.set(`Accept`,`application/vnd.pgrst.object+json;nulls=stripped`):(!e||e===`application/json`)&&this.headers.set(`Accept`,`application/vnd.pgrst.array+json;nulls=stripped`)}let r=this.fetch,i=(async()=>{let e=0;for(;;){let t={};n.headers.forEach((e,n)=>{t[n]=e}),e>0&&(t[`X-Retry-Count`]=String(e));let i;try{i=await r(n.url.toString(),{method:n.method,headers:t,body:JSON.stringify(n.body,(e,t)=>typeof t==`bigint`?t.toString():t),signal:n.signal})}catch(t){if(t?.name===`AbortError`||t?.code===`ABORT_ERR`||!Br.includes(n.method))throw t;if(n.retryEnabled&&e<Lr){let t=Rr(e);e++,await Jr(t,n.signal);continue}throw t}if(Yr(n.method,i.status,e,n.retryEnabled)){let t=i.headers?.get(`Retry-After`)??null,r=t===null?Rr(e):Math.max(0,parseInt(t,10)||0)*1e3;await i.text(),e++,await Jr(r,n.signal);continue}return await n.processResponse(i)}})();return this.shouldThrowOnError||(i=i.catch(e=>{let t=``,n=``,r=``,i=e?.cause;if(i){let n=i?.message??``,r=i?.code??``;t=`${e?.name??`FetchError`}: ${e?.message}`,t+=`\n\nCaused by: ${i?.name??`Error`}: ${n}`,r&&(t+=` (${r})`),i?.stack&&(t+=`\n${i.stack}`)}else t=e?.stack??``;let a=this.url.toString().length;return e?.name===`AbortError`||e?.code===`ABORT_ERR`?(r=``,n=`Request was aborted (timeout or manual cancellation)`,a>this.urlLengthLimit&&(n+=`. Note: Your request URL is ${a} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):(i?.name===`HeadersOverflowError`||i?.code===`UND_ERR_HEADERS_OVERFLOW`)&&(r=``,n=`HTTP headers exceeded server limits (typically 16KB)`,a>this.urlLengthLimit&&(n+=`. Your request URL is ${a} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${e?.name??`FetchError`}: ${e?.message}`,details:t,hint:n,code:r},data:null,count:null,status:0,statusText:``}})),i.then(e,t)}async processResponse(e){var t=this;let n=null,r=null,i=null,a=e.status,o=e.statusText;if(e.ok){if(t.method!==`HEAD`){let i=await e.text();if(i!==``){if(t.headers.get(`Accept`)===`text/csv`)r=i;else if(t.headers.get(`Accept`)&&t.headers.get(`Accept`)?.includes(`application/vnd.pgrst.plan+text`))r=i;else try{r=JSON.parse(i)}catch{if(n={message:i},r=null,t.shouldThrowOnError)throw new Vr({message:i,details:``,hint:``,code:``})}}}let s=t.headers.get(`Prefer`)?.match(/count=(exact|planned|estimated)/),c=e.headers.get(`content-range`)?.split(`/`);if(s&&c&&c.length>1&&(i=parseInt(c[1])),t.isMaybeSingle&&Array.isArray(r)){if(r.length>1){if(n={code:`PGRST116`,details:`Results contain ${r.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:`JSON object requested, multiple (or no) rows returned`},r=null,i=null,a=406,o=`Not Acceptable`,t.shouldThrowOnError)throw new Vr(qr(qr({},n),{},{hint:n.hint??``}))}else r=r.length===1?r[0]:null}}else{let i=await e.text();try{n=JSON.parse(i),Array.isArray(n)&&e.status===404&&(r=[],n=null,a=200,o=`OK`)}
vendor: 8,717 bytes, line 11
11catch{e.status===404&&i===``?(a=204,o=`No Content`):n={message:i}}if(n&&t.shouldThrowOnError)throw new Vr(n)}return{success:n===null,error:n,data:r,count:i,status:a,statusText:o}}returns(){return this}overrideTypes(){return this}},Zr=class extends Xr{throwOnError(){return super.throwOnError()}select(e){let t=!1,n=(e??`*`).split(``).map(e=>/\s/.test(e)&&!t?``:(e===`"`&&(t=!t),e)).join(``);return this.url.searchParams.set(`select`,n),this.headers.append(`Prefer`,`return=representation`),this}order(e,{ascending:t=!0,nullsFirst:n,foreignTable:r,referencedTable:i=r}={}){let a=i?`${i}.order`:`order`,o=this.url.searchParams.get(a);return this.url.searchParams.set(a,`${o?`${o},`:``}${e}.${t?`asc`:`desc`}${n===void 0?``:n?`.nullsfirst`:`.nullslast`}`),this}limit(e,{foreignTable:t,referencedTable:n=t}={}){let r=n===void 0?`limit`:`${n}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:n,referencedTable:r=n}={}){let i=r===void 0?`offset`:`${r}.offset`,a=r===void 0?`limit`:`${r}.limit`;return this.url.searchParams.set(i,`${e}`),this.url.searchParams.set(a,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set(`Accept`,`application/vnd.pgrst.object+json`),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set(`Accept`,`text/csv`),this}geojson(){return this.headers.set(`Accept`,`application/geo+json`),this}explain({analyze:e=!1,verbose:t=!1,settings:n=!1,buffers:r=!1,wal:i=!1,format:a=`text`}={}){let o=[e?`analyze`:null,t?`verbose`:null,n?`settings`:null,r?`buffers`:null,i?`wal`:null].filter(Boolean).join(`|`),s=this.headers.get(`Accept`)??`application/json`;return this.headers.set(`Accept`,`application/vnd.pgrst.plan+${a}; for="${s}"; options=${o};`),this}rollback(){return this.headers.append(`Prefer`,`tx=rollback`),this}returns(){return this}maxAffected(e){return this.headers.append(`Prefer`,`handling=strict`),this.headers.append(`Prefer`,`max-affected=${e}`),this}},Qr=RegExp(`[,()]`),$r=class extends Zr{throwOnError(){return super.throwOnError()}eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(`,`)}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(`,`)}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(`,`)}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(`,`)}}`),this}regexMatch(e,t){return this.url.searchParams.append(e,`match.${t}`),this}regexIMatch(e,t){return this.url.searchParams.append(e,`imatch.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}isDistinct(e,t){return this.url.searchParams.append(e,`isdistinct.${t}`),this}in(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&Qr.test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`in.(${n})`),this}notIn(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&Qr.test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`not.in.(${n})`),this}contains(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t==`string`?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(`,`)}}`),this}textSearch(e,t,{config:n,type:r}={}){let i=``;r===`plain`?i=`pl`:r===`phrase`?i=`ph`:r===`websearch`&&(i=`w`);let a=n===void 0?``:`(${n})`;return this.url.searchParams.append(e,`${i}fts${a}.${t}`),this}match(e){return Object.entries(e).filter(([e,t])=>t!==void 0).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(e,t,n){return this.url.searchParams.append(e,`not.${t}.${n}`),this}or(e,{foreignTable:t,referencedTable:n=t}={}){let r=n?`${n}.or`:`or`;return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,n){return this.url.searchParams.append(e,`${t}.${n}`),this}},ei=class{constructor(e,{headers:t={},schema:n,fetch:r,urlLengthLimit:i=8e3,retry:a}){this.url=e,this.headers=new Headers(t),this.schema=n,this.fetch=r,this.urlLengthLimit=i,this.retry=a}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,t){let{head:n=!1,count:r}=t??{},i=n?`HEAD`:`GET`,a=!1,o=(e??`*`).split(``).map(e=>/\s/.test(e)&&!a?``:(e===`"`&&(a=!a),e)).join(``),{url:s,headers:c}=this.cloneRequestState();return s.searchParams.set(`select`,o),r&&c.append(`Prefer`,`count=${r}`),new $r({method:i,url:s,headers:c,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(e,{count:t,defaultToNull:n=!0}={}){let{url:r,headers:i}=this.cloneRequestState();if(t&&i.append(`Prefer`,`count=${t}`),n||i.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);r.searchParams.set(`columns`,e.join(`,`))}}return new $r({method:`POST`,url:r,headers:i,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(e,{onConflict:t,ignoreDuplicates:n=!1,count:r,defaultToNull:i=!0}={}){let{url:a,headers:o}=this.cloneRequestState();if(o.append(`Prefer`,`resolution=${n?`ignore`:`merge`}-duplicates`),t!==void 0&&a.searchParams.set(`on_conflict`,t),r&&o.append(`Prefer`,`count=${r}`),i||o.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);a.searchParams.set(`columns`,e.join(`,`))}}return new $r({method:`POST`,url:a,headers:o,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(e,{count:t}={}){let{url:n,headers:r}=this.cloneRequestState();return t&&r.append(`Prefer`,`count=${t}`),new $r({method:`PATCH`,url:n,headers:r,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:e}={}){let{url:t,headers:n}=this.cloneRequestState();return e&&n.append(`Prefer`,`count=${e}`),new $r({method:`DELETE`,url:t,headers:n,schema:this.schema,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}},ti=class e{constructor(e,{headers:t={},schema:n,fetch:r,timeout:i,urlLengthLimit:a=8e3,retry:o}={}){this.url=e,this.headers=new Headers(t),this.schemaName=n,this.urlLengthLimit=a;let s=r??globalThis.fetch;this.fetch=i!==void 0&&i>0?(e,t)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),i),a=t?.signal;if(a){if(a.aborted)return clearTimeout(r),s(e,t);let i=()=>{clearTimeout(r),n.abort()};return a.addEventListener(`abort`,i,{once:!0}),s(e,qr(qr({},t),{},{signal:n.signal})).finally(()=>{clearTimeout(r),a.removeEventListener(`abort`,i)})}return s(e,qr(qr({},t),{},{signal:n.signal})).finally(()=>clearTimeout(r))}:s,this.retry=o}from(e){if(!e||typeof e!=`string`||e.trim()===``)throw Error(`Invalid relation name: relation must be a non-empty string.`);return new ei(new URL(`${this.url}/${e}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(t){return new e(this.url,{headers:this.headers,schema:t,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(e,t={},{head:n=!1,get:r=!1,count:i}={}){let a,o=new URL(`${this.url}/rpc/${e}`),s,c=e=>typeof e==`object`&&!!e&&(!Array.isArray(e)||e.some(c)),l=n&&Object.values(t).some(c);l?(a=`POST`,s=t):n||r?(a=n?`HEAD`:`GET`,Object.entries(t).filter(([e,t])=>t!==void 0).map(([e,t])=>[e,Array.isArray(t)?`{${t.join(`,`)}}`:`${t}
11`]).forEach(([e,t])=>{o.searchParams.append(e,t)})):(a=`POST`,s=t);let u=new Headers(this.headers);return l?u.set(`Prefer`,i?`count=${i},return=minimal`:`return=minimal`):i&&u.set(`Prefer`,`count=${i}`),new $r({method:a,url:o,headers:u,schema:this.schemaName,body:s,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}},ni=class{constructor(){}static detectEnvironment(){if(typeof WebSocket<`u`)return{type:`native`,wsConstructor:WebSocket};let e=globalThis;if(typeof globalThis<`u`&&e.WebSocket!==void 0)return{type:`native`,wsConstructor:e.WebSocket};let t=typeof global<`u`?global:void 0;if(t&&t.WebSocket!==void 0)return{type:`native`,wsConstructor:t.WebSocket};if(typeof globalThis<`u`&&e.WebSocketPair!==void 0&&globalThis.WebSocket===void 0)return{type:`cloudflare`,error:`Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.`,workaround:`Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime.`};if(typeof globalThis<`u`&&e.EdgeRuntime||typeof navigator<`u`&&navigator.userAgent?.includes(`Vercel-Edge`))return{type:`unsupported`,error:`Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.`,workaround:`Use serverless functions or a different deployment target for WebSocket functionality.`};let n=globalThis.process;if(n){let e=n.versions;if(e&&e.node)return{type:`unsupported`,error:`Node.js detected but native WebSocket not found.`,workaround:`Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option.`}}return{type:`unsupported`,error:`Unknown JavaScript runtime without WebSocket support.`,workaround:`Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation.`}}static getWebSocketConstructor(){let e=this.detectEnvironment();if(e.wsConstructor)return e.wsConstructor;let t=e.error||`WebSocket not supported in this environment.`;throw e.workaround&&(t+=`\n\nSuggested solution: ${e.workaround}`),Error(t)}static isWebSocketSupported(){try{return this.detectEnvironment().type===`native`}catch{return!1}}},ri=`realtime-js/2.112.3`,ii=`1.0.0`,ai=`2.0.0`,oi=ai,si=1e4,ci={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},li={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`,access_token:`access_token`},ui={connecting:`connecting`,open:`open`,closing:`closing`,closed:`closed`},di=class{constructor(e){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT=`broadcast`,this.allowedMetadataKeys=[],this.allowedMetadataKeys=e??[]}encode(e,t){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event==`string`)return t(this._binaryEncodeUserBroadcastPush(e));let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}_binaryEncodeUserBroadcastPush(e){return this._isArrayBuffer(e.payload?.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){let t=e.payload?.payload??new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,t)}_encodeJsonUserBroadcastPush(e){let t=e.payload?.payload??{},n=new TextEncoder().encode(JSON.stringify(t)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,n)}_encodeUserBroadcastPush(e,t,n){let r=new TextEncoder,i=r.encode(e.topic),a=r.encode(e.ref??``),o=r.encode(e.join_ref??``),s=r.encode(e.payload.event),c=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},l=r.encode(Object.keys(c).length===0?``:JSON.stringify(c));if(o.length>255)throw Error(`joinRef length ${o.length} exceeds maximum of 255`);if(a.length>255)throw Error(`ref length ${a.length} exceeds maximum of 255`);if(i.length>255)throw Error(`topic length ${i.length} exceeds maximum of 255`);if(s.length>255)throw Error(`userEvent length ${s.length} exceeds maximum of 255`);if(l.length>255)throw Error(`metadata length ${l.length} exceeds maximum of 255`);let u=this.USER_BROADCAST_PUSH_META_LENGTH+o.length+a.length+i.length+s.length+l.length,d=new ArrayBuffer(this.HEADER_LENGTH+u),f=new DataView(d),p=new Uint8Array(d),m=0;f.setUint8(m++,this.KINDS.userBroadcastPush),f.setUint8(m++,o.length),f.setUint8(m++,a.length),f.setUint8(m++,i.length),f.setUint8(m++,s.length),f.setUint8(m++,l.length),f.setUint8(m++,t),p.set(o,m),m+=o.length,p.set(a,m),m+=a.length,p.set(i,m),m+=i.length,p.set(s,m),m+=s.length,p.set(l,m),m+=l.length;var h=new Uint8Array(d.byteLength+n.byteLength);return h.set(new Uint8Array(d),0),h.set(new Uint8Array(n),d.byteLength),h.buffer}decode(e,t){if(this._isArrayBuffer(e))return t(this._binaryDecode(e));if(typeof e==`string`){let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}return t({})}_binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,t,r)}}_decodeUserBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+4,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=e.slice(s,e.byteLength),f=o===this.JSON_ENCODING?JSON.parse(n.decode(d)):d,p={type:this.BROADCAST_EVENT,event:l,payload:f};return a>0&&(p.meta=JSON.parse(u)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:p}}_isArrayBuffer(e){return e instanceof ArrayBuffer||e?.constructor?.name===`ArrayBuffer`}_pick(e,t){return!e||typeof e!=`object`?{}:Object.fromEntries(Object.entries(e).filter(([e])=>t.includes(e)))}},M;(function(e){e.abstime=`abstime`,e.bool=`bool`,e.date=`date`,e.daterange=`daterange`,e.float4=`float4`,e.float8=`float8`,e.int2=`int2`,e.int4=`int4`,e.int4range=`int4range`,e.int8=`int8`,e.int8range=`int8range`,e.json=`json`,e.jsonb=`jsonb`,e.money=`money`,e.numeric=`numeric`,e.oid=`oid`,e.reltime=`reltime`,e.text=`text`,e.time=`time`,e.timestamp=`timestamp`,e.timestamptz=`timestamptz`,e.timetz=`timetz`,e.tsrange=`tsrange`,e.tstzrange=`tstzrange`})(M||={});var fi=(e,t,n={})=>{let r=n.skipTypes??[];return t?Object.keys(t).reduce((n,i)=>(n[i]=pi(i,e,t,r),n),{}):{}},pi=(e,t,n,r)=>{let i=t.find(t=>t.name===e)?.type,a=n[e];return i&&!r.includes(i)?mi(i,a):hi(a)},mi=(e,t)=>{if(e.charAt(0)===`_`)return yi(t,e.slice(1,e.length));switch(e){case M.bool:return gi(t);case M.float4:case M.float8:case M.int2:case M.int4:case M.int8:case M.numeric:case M.oid:return _i(t);case M.json:case M.jsonb:return vi(t);case M.timestamp:return bi(t);case M.abstime:case M.date:case M.daterange:case M.int4range:case M.int8range:case M.money:case M.reltime:case M.text:case M.time:case M.timestamptz:case M.timetz:case M.tsrange:case M.tstzrange:return hi(t);default:return hi(t)}},hi=e=>e,gi=e=>{switch(e){case`t`:return!0;case`f`:return!1;default:return e}},_i=e=>{if(typeof e==`string`){let t=parseFloat(e);
vendor: 19,243 bytes, lines 11-12
11if(!Number.isNaN(t))return t}return e},vi=e=>{if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e},yi=(e,t)=>{if(typeof e!=`string`)return e;let n=e.length-1,r=e[n];if(e[0]===`{`&&r===`}`){let r,i=e.slice(1,n);try{r=JSON.parse(`[`+i+`]`)}catch{r=i?i.split(`,`):[]}return r.map(e=>mi(t,e))}return e},bi=e=>typeof e==`string`?e.replace(` `,`T`):e,xi=e=>{let t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,`http`),t.pathname=t.pathname.replace(/\/+$/,``).replace(/\/socket\/websocket$/i,``).replace(/\/socket$/i,``).replace(/\/websocket$/i,``),t.pathname===``||t.pathname===`/`?t.pathname=`/api/broadcast`:t.pathname+=`/api/broadcast`,t.href},Si=e=>typeof e==`function`?e:function(){return e},Ci=typeof self<`u`?self:null,wi=typeof window<`u`?window:null,Ti=Ci||wi||globalThis,Ei=`2.0.0`,Di=1e4,Oi=1e3,ki=100,Ai={connecting:0,open:1,closing:2,closed:3},ji={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},Mi={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`},Ni={longpoll:`longpoll`,websocket:`websocket`},Pi={complete:4},Fi=`base64url.bearer.phx.`,Ii=class{constructor(e,t,n,r){this.channel=e,this.event=t,this.payload=n||function(){return{}},this.receivedResp=null,this.timeout=r,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(e){this.timeout=e,this.reset(),this.send()}send(){this.hasReceived(`timeout`)||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(e,t){return this.hasReceived(e)&&t(this.receivedResp.response),this.recHooks.push({status:e,callback:t}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:e,response:t,_ref:n}){this.recHooks.filter(t=>t.status===e).forEach(e=>e.callback(t))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,e=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=e,this.matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger(`timeout`,{})},this.timeout)}hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}trigger(e,t){this.channel.trigger(this.refEvent,{status:e,response:t})}},Li=class{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries+=1,this.callback()},this.timerCalc(this.tries+1))}},Ri=class{constructor(e,t,n){this.state=ji.closed,this.topic=e,this.params=Si(t||{}),this.socket=n,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new Ii(this,Mi.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Li(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive(`ok`,()=>{this.state=ji.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(e=>e.send()),this.pushBuffer=[]}),this.joinPush.receive(`error`,e=>{this.state=ji.errored,this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log(`channel`,`close ${this.topic}`),this.state=ji.closed,this.socket.remove(this)}),this.onError(e=>{this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.isJoining()&&this.joinPush.reset(),this.state=ji.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive(`timeout`,()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`timeout ${this.topic}`,this.joinPush.timeout),new Ii(this,Mi.leave,Si({}),this.timeout).send(),this.state=ji.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(Mi.reply,(e,t)=>{this.trigger(this.replyEventName(t),e)})}join(e=this.timeout){if(this.joinedOnce)throw Error(`tried to join multiple times. 'join' can only be called a single time per channel instance`);return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=ji.closed,this.bindings=[]}onClose(e){this.on(Mi.close,e)}onError(e){return this.on(Mi.error,t=>e(t))}on(e,t){let n=this.bindingRef++;return this.bindings.push({event:e,ref:n,callback:t}),n}off(e,t){this.bindings=this.bindings.filter(n=>n.event!==e||t!==void 0&&t!==n.ref)}canPush(){return this.socket.isConnected()&&this.isJoined()}push(e,t,n=this.timeout){if(t||={},!this.joinedOnce)throw Error(`tried to push '${e}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let r=new Ii(this,e,function(){return t},n);return this.canPush()?r.send():(r.startTimeout(),this.pushBuffer.push(r)),r}leave(e=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=ji.leaving;let t=()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`leave ${this.topic}`),this.trigger(Mi.close,`leave`)},n=new Ii(this,Mi.leave,Si({}),e);return n.receive(`ok`,()=>t()).receive(`timeout`,()=>t()),n.send(),this.canPush()||n.trigger(`ok`,{}),n}onMessage(e,t,n){return t}filterBindings(e,t,n){return!0}isMember(e,t,n,r){return this.topic===e?r&&r!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log(`channel`,`dropping outdated message`,{topic:e,event:t,payload:n,joinRef:r}),!1):!0:!1}joinRef(){return this.joinPush.ref}rejoin(e=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=ji.joining,this.joinPush.resend(e))}trigger(e,t,n,r){let i=this.onMessage(e,t,n,r);if(t&&!i)throw Error(`channel onMessage callbacks must return the payload, modified or unmodified`);let a=this.bindings.filter(r=>r.event===e&&this.filterBindings(r,t,n));for(let e=0;e<a.length;e++)a[e].callback(i,n,r||this.joinRef())}replyEventName(e){return`chan_reply_${e}`}isClosed(){return this.state===ji.closed}isErrored(){return this.state===ji.errored}isJoined(){return this.state===ji.joined}isJoining(){return this.state===ji.joining}isLeaving(){return this.state===ji.leaving}},zi=class{static request(e,t,n,r,i,a,o){if(Ti.XDomainRequest){let n=new Ti.XDomainRequest;return this.xdomainRequest(n,e,t,r,i,a,o)}if(Ti.XMLHttpRequest){let s=new Ti.XMLHttpRequest;return this.xhrRequest(s,e,t,n,r,i,a,o)}if(Ti.fetch&&Ti.AbortController)return this.fetchRequest(e,t,n,r,i,a,o);throw Error(`No suitable XMLHttpRequest implementation found`)}static fetchRequest(e,t,n,r,i,a,o){let s={method:e,headers:n,body:r},c=null;return i&&(c=new AbortController,setTimeout(()=>c.abort(),i),s.signal=c.signal),Ti.fetch(t,s).then(e=>e.text()).then(e=>this.parseJSON(e)).then(e=>o&&o(e)).catch(e=>{e.name===`AbortError`&&a?a():o&&o(null)}),c}static xdomainRequest(e,t,n,r,i,a,o){return e.timeout=i,e.open(t,n),e.onload=()=>{let t=this.parseJSON(e.responseText);o&&o(t)},a&&(e.ontimeout=a),e.onprogress=()=>{},e.send(r),e}static xhrRequest(e,t,n,r,i,a,o,s){e.open(t,n,!0),e.timeout=a;for(let[t,n]of Object.entries(r))e.setRequestHeader(t,n);return e.onerror=()=>s&&s(null),e.onreadystatechange=()=>{e.readyState===Pi.complete&&s&&s(this.parseJSON(e.responseText))},o&&(e.ontimeout=o),e.send(i),e}static parseJSON(e){if(!e||e===``)return null;try{return JSON.parse(e)}catch{return console&&console.log(`failed to parse JSON response`,e),null}}static serialize(e,t){let n=[];for(var r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let i=t?`${t}[${r}]`:r,a=e[r];typeof a==`object`?n.push(this.serialize(a,i)):n.push(encodeURIComponent(i)+`=`+encodeURIComponent(a))}return n.join(`&`)}static appendParams(e,t){return Object.keys(t).length===0?e:`${e}${e.match(/\?/)?`&`:`?`}${this.serialize(t)}`}},N=e=>{let t=``,n=new Uint8Array(e),r=n.byteLength;for(let e=0;e<r;e++)t+=String.fromCharCode(n[e]);return btoa(t)},P=class{constructor(e,t){t&&t.length===2&&t[1].startsWith(Fi)&&(this.authToken=atob(t[1].slice(Fi.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(e),this.readyState=Ai.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(e){return e.replace(`ws://`,`http://`).replace(`wss://`,`https://`).replace(RegExp(`(.*)/`+Ni.websocket),`$1/`+Ni.longpoll)}endpointURL(){return zi.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(e,t,n){this.close(e,t,n),this.readyState=Ai.connecting}ontimeout(){this.onerror(`timeout`),this.closeAndRetry(1005,`timeout`,!1)}isActive(){return this.readyState===Ai.open||this.readyState===Ai.connecting}poll(){let e={Accept:`application/json`};this.authToken&&(e[`X-Phoenix-AuthToken`]=this.authToken),this.ajax(`GET`,e,null,()=>this.ontimeout(),e=>{if(e){var{status:t,token:n,messages:r}=e;if(t===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,`session_gone`,!1);return}this.token=n}else t=0;switch(t){case 200:r.forEach(e=>{setTimeout(()=>this.onmessage({data:e}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=Ai.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,`forbidden`,!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,`internal server error`,500);break;default:throw Error(`unhandled poll status ${t}`)}})}send(e){typeof e!=`string`&&(e=N(e)),this.currentBatch?this.currentBatch.push(e):this.awaitingBatchAck?this.batchBuffer.push(e):(this.currentBatch=[e],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(e,t=0){this.awaitingBatchAck=!0;let n=t+ki,r=e.slice(t,n);this.ajax(`POST`,{"Content-Type":`application/x-ndjson`},r.join(` 12`),()=>this.onerror(`timeout`),t=>{!t||t.status!==200?(this.awaitingBatchAck=!1,this.onerror(t&&t.status),this.closeAndRetry(1011,`internal server error`,!1)):n<e.length?this.batchSend(e,n):this.batchBuffer.length>0?(this.batchSend(this.batchBuffer),this.batchBuffer=[]):this.awaitingBatchAck=!1})}close(e,t,n){for(let e of this.reqs)e.abort();this.readyState=Ai.closed;let r=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:e,reason:t,wasClean:n});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<`u`?this.onclose(new CloseEvent(`close`,r)):this.onclose(r)}ajax(e,t,n,r,i){let a;a=zi.request(e,this.endpointURL(),t,n,this.timeout,()=>{this.reqs.delete(a),r()},e=>{this.reqs.delete(a),this.isActive()&&i(e)}),this.reqs.add(a)}},Bi=class e{constructor(t,n={}){let r=n.events||{state:`presence_state`,diff:`presence_diff`};this.state=Object.create(null),this.pendingDiffs=[],this.channel=t,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(r.state,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.joinRef=this.channel.joinRef(),this.state=e.syncState(this.state,t,n,r),this.pendingDiffs.forEach(t=>{this.state=e.syncDiff(this.state,t,n,r)}),this.pendingDiffs=[],i()}),this.channel.on(r.diff,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(t):(this.state=e.syncDiff(this.state,t,n,r),i())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(t){return e.list(this.state,t)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,t,n,r){let i=this.toNullProtoObj(this.clone(e));t=this.toNullProtoObj(t);let a=Object.create(null),o=Object.create(null);return this.map(i,(e,n)=>{t[e]||(o[e]=n)}),this.map(t,(e,t)=>{let n=i[e];if(n){let r=t.metas.map(e=>e.phx_ref),i=n.metas.map(e=>e.phx_ref),s=t.metas.filter(e=>i.indexOf(e.phx_ref)<0),c=n.metas.filter(e=>r.indexOf(e.phx_ref)<0);s.length>0&&(a[e]=t,a[e].metas=s),c.length>0&&(o[e]=this.clone(n),o[e].metas=c)}else a[e]=t}),this.syncDiff(i,{joins:a,leaves:o},n,r)}static syncDiff(e,t,n,r){e=this.toNullProtoObj(e);let{joins:i,leaves:a}=this.clone(t);return n||=function(){},r||=function(){},this.map(i,(t,r)=>{let i=e[t];if(e[t]=this.clone(r),i){let n=e[t].metas.map(e=>e.phx_ref),r=i.metas.filter(e=>n.indexOf(e.phx_ref)<0);e[t].metas.unshift(...r)}n(t,i,r)}),this.map(a,(t,n)=>{let i=e[t];if(!i)return;let a=n.metas.map(e=>e.phx_ref);i.metas=i.metas.filter(e=>a.indexOf(e.phx_ref)<0),r(t,i,n),i.metas.length===0&&delete e[t]}),e}static list(e,t){return t||=function(e,t){return t},this.map(e,(e,n)=>t(e,n))}static map(e,t){return Object.getOwnPropertyNames(e).map(n=>t(n,e[n]))}static toNullProtoObj(e){if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(n=>{t[n]=e[n]}),t}static clone(e){return JSON.parse(JSON.stringify(e))}},Vi={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(e,t){if(e.payload.constructor===ArrayBuffer)return t(this.binaryEncode(e));{let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}},decode(e,t){if(e.constructor===ArrayBuffer)return t(this.binaryDecode(e));{let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}},binaryEncode(e){let{join_ref:t,ref:n,event:r,topic:i,payload:a}=e,o=new TextEncoder,s=o.encode(t),c=o.encode(n),l=o.encode(i),u=o.encode(r);this.assertFieldSize(s.byteLength,`join_ref`),this.assertFieldSize(c.byteLength,`ref`),this.assertFieldSize(l.byteLength,`topic`),this.assertFieldSize(u.byteLength,`event`);let d=this.META_LENGTH+s.byteLength+c.byteLength+l.byteLength+u.byteLength,f=new ArrayBuffer(this.HEADER_LENGTH+d),p=new Uint8Array(f),m=new DataView(f),h=0;m.setUint8(h++,this.KINDS.push),m.setUint8(h++,s.byteLength),m.setUint8(h++,c.byteLength),m.setUint8(h++,l.byteLength),m.setUint8(h++,u.byteLength),p.set(s,h),h+=s.byteLength,p.set(c,h),h+=c.byteLength,p.set(l,h),h+=l.byteLength,p.set(u,h),h+=u.byteLength;var g=new Uint8Array(f.byteLength+a.byteLength);return g.set(p,0),g.set(new Uint8Array(a),f.byteLength),g.buffer},assertFieldSize(e,t){if(e>255)throw Error(`unable to convert ${t} to binary: must be less than or equal to 255 bytes, but is ${e} bytes`)},binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.push:return this.decodePush(e,t,r);case this.KINDS.reply:return this.decodeReply(e,t,r);case this.KINDS.broadcast:return this.decodeBroadcast(e,t,r)}},decodePush(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=this.HEADER_LENGTH+this.META_LENGTH-1,s=n.decode(e.slice(o,o+r));o+=r;let c=n.decode(e.slice(o,o+i));o+=i;let l=n.decode(e.slice(o,o+a));return o+=a,{join_ref:s,ref:null,topic:c,event:l,payload:e.slice(o,e.byteLength)}},decodeReply(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+this.META_LENGTH,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=n.decode(e.slice(s,s+o));s+=o;let f={status:d,response:e.slice(s,e.byteLength)};return{join_ref:c,ref:l,topic:u,event:Mi.reply,payload:f}},decodeBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=this.HEADER_LENGTH+2,o=n.decode(e.slice(a,a+r));a+=r;let s=n.decode(e.slice(a,a+i));return a+=i,{join_ref:null,ref:null,topic:o,event:s,payload:e.slice(a,e.byteLength)}}},Hi=class{constructor(e,t={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=t.timeout||Di,this.transport=t.transport||Ti.WebSocket||P,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=t.longPollFallbackMs,this.fallbackTimer=null;let n=null;try{n=Ti&&Ti.sessionStorage}catch{}this.sessionStore=t.sessionStorage||n,this.establishedConnections=0,this.defaultEncoder=Vi.encode.bind(Vi),this.defaultDecoder=Vi.decode.bind(Vi),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=t.binaryType||`arraybuffer`,this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport===P?(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder):(this.encode=t.encode||this.defaultEncoder,this.decode=t.decode||this.defaultDecoder);let r=null;wi&&wi.addEventListener&&(wi.addEventListener(`pagehide`,e=>{this.conn&&(this.disconnect(),r=this.connectClock)}),wi.addEventListener(`pageshow`,e=>{r===this.connectClock&&(r=null,this.connect())}),wi.addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=t.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=t.autoSendHeartbeat??!0,this.heartbeatCallback=t.heartbeatCallback??(()=>{}),this.rejoinAfterMs=e=>t.rejoinAfterMs?t.rejoinAfterMs(e):[1e3,2e3,5e3][e-1]||1e4,this.reconnectAfterMs=e=>t.reconnectAfterMs?t.reconnectAfterMs(e):[10,50,100,150,200,250,500,1e3,2e3][e-1]||5e3,this.logger=t.logger||null,!this.logger&&t.debug&&(this.logger=(e,t,n)=>{console.log(`${e}: ${t}`,n)}),this.longpollerTimeout=t.longpollerTimeout||2e4,this.params=Si(t.params||{}),this.endPoint=`${e}/${Ni.websocket}`,this.vsn=t.vsn||Ei,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Li(()=>{if(this.pageHidden){this.log(`Not reconnecting as page is hidden!`),this.teardown();return}this.teardown(async()=>{t.beforeReconnect&&await t.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=t.authToken&&Si(t.authToken)}getLongPollTransport(){return P}replaceTransport(e){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&=(this.conn.close(),null),this.transport=e}protocol(){return location.protocol.match(/^https/)?`wss`:`ws`}endPointURL(){let e=zi.appendParams(zi.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return e.charAt(0)===`/`?e.charAt(1)===`/`?`${this.protocol()}:${e}`:`${this.protocol()}://${location.host}${e}`:e}disconnect(e,t,n){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,e&&e()},t,n)}connect(e){e&&(console&&console.log(`passing params to connect is deprecated. Instead pass :params to the Socket constructor`),this.params=Si(e)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==P?this.connectWithF
vendor: 4,373 bytes, line 12
12allback(P,this.longPollFallbackMs):this.transportConnect())}log(e,t,n){this.logger&&this.logger(e,t,n)}hasLogger(){return this.logger!==null}onOpen(e){let t=this.makeRef();return this.stateChangeCallbacks.open.push([t,e]),t}onClose(e){let t=this.makeRef();return this.stateChangeCallbacks.close.push([t,e]),t}onError(e){let t=this.makeRef();return this.stateChangeCallbacks.error.push([t,e]),t}onMessage(e){let t=this.makeRef();return this.stateChangeCallbacks.message.push([t,e]),t}onHeartbeat(e){this.heartbeatCallback=e}ping(e){if(!this.isConnected())return!1;let t=this.makeRef(),n=Date.now();this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:t});let r=this.onMessage(i=>{i.ref===t&&(this.off([r]),e(Date.now()-n))});return!0}transportName(e){switch(e){case P:return`LongPoll`;default:return e.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let e;this.authToken&&(e=[`phoenix`,`${Fi}${btoa(this.authToken()).replace(/=/g,``)}`]),this.conn=new this.transport(this.endPointURL(),e),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=e=>this.onConnError(e),this.conn.onmessage=e=>this.onConnMessage(e),this.conn.onclose=e=>this.onConnClose(e)}getSession(e){return this.sessionStore&&this.sessionStore.getItem(e)}storeSession(e,t){this.sessionStore&&this.sessionStore.setItem(e,t)}connectWithFallback(e,t=2500){clearTimeout(this.fallbackTimer);let n=!1,r=!0,i,a,o=this.transportName(e),s=t=>{this.log(`transport`,`falling back to ${o}...`,t),this.off([i,a]),r=!1,this.replaceTransport(e),this.transportConnect()};if(this.getSession(`phx:fallback:${o}`))return s(`memorized`);this.fallbackTimer=setTimeout(s,t),a=this.onError(e=>{this.log(`transport`,`error`,e),r&&!n&&(clearTimeout(this.fallbackTimer),s(e))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(n=!0,!r){let t=this.transportName(e);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${t}`,`true`),this.log(`transport`,`established ${t} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(s,t),this.ping(e=>{this.log(`transport`,`connected to primary after`,e),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log(`transport`,`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks(`open`)}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log(`transport`,`heartbeat timeout. Attempting to re-establish connection`);try{this.heartbeatCallback(`timeout`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.triggerChanError(Error(`heartbeat timeout`)),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),Oi,`heartbeat timeout`)}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(e,t,n){if(!this.conn)return e&&e();let r=this.conn;this.waitForBufferDone(r,()=>{t?r.close(t,n||``):r.close(),this.waitForSocketClosed(r,()=>{this.conn===r&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),e&&e()})})}waitForBufferDone(e,t,n=1){if(n===5||!e.bufferedAmount){t();return}setTimeout(()=>{this.waitForBufferDone(e,t,n+1)},150*n)}waitForSocketClosed(e,t,n=1){if(n===5||e.readyState===Ai.closed){t();return}setTimeout(()=>{this.waitForSocketClosed(e,t,n+1)},150*n)}onConnClose(e){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log(`transport`,`close`,e),this.triggerChanError(e),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks(`close`,e)}onConnError(e){this.hasLogger()&&this.log(`transport`,`error`,e);let t=this.transport,n=this.establishedConnections;this.triggerStateCallbacks(`error`,e,t,n),(t===this.transport||n>0)&&this.triggerChanError(e)}
vendor: 9,091 bytes, line 12
12triggerChanError(e){this.channels.forEach(t=>{t.isErrored()||t.isLeaving()||t.isClosed()||t.trigger(Mi.error,e)})}connectionState(){switch(this.conn&&this.conn.readyState){case Ai.connecting:return`connecting`;case Ai.open:return`open`;case Ai.closing:return`closing`;default:return`closed`}}isConnected(){return this.connectionState()===`open`}remove(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter(t=>t!==e)}off(e){for(let t in this.stateChangeCallbacks)this.stateChangeCallbacks[t]=this.stateChangeCallbacks[t].filter(([t])=>e.indexOf(t)===-1)}channel(e,t={}){let n=new Ri(e,t,this);return this.channels.push(n),n}push(e){if(this.hasLogger()){let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;this.log(`push`,`${t} ${n} (${a}, ${i})`,r)}this.isConnected()?this.encode(e,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(e,e=>this.conn.send(e)))}makeRef(){let e=this.ref+1;return this.ref=e===this.ref?0:e,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback(`disconnected`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback(`sent`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}onConnMessage(e){this.decode(e.data,e=>{let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;if(i&&i===this.pendingHeartbeatRef){let e=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(r.status===`ok`?`ok`:`error`,e)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log(`receive`,`${r.status||``} ${t} ${n} ${i&&`(`+i+`)`||``}`.trim(),r);for(let e=0;e<this.channels.length;e++){let o=this.channels[e];o.isMember(t,n,r,a)&&o.trigger(n,r,i,a)}this.triggerStateCallbacks(`message`,e)})}triggerStateCallbacks(e,...t){try{this.stateChangeCallbacks[e].forEach(([n,r])=>{try{r(...t)}catch(t){this.log(`error`,`error in ${e} callback`,t)}})}catch(t){this.log(`error`,`error triggering ${e} callbacks`,t)}}leaveOpenTopic(e){let t=this.channels.find(t=>t.topic===e&&(t.isJoined()||t.isJoining()));t&&(this.hasLogger()&&this.log(`transport`,`leaving duplicate topic "${e}"`),t.leave())}},Ui=class e{constructor(t,n){let r=Ki(n);this.presence=new Bi(t.getChannel(),r),this.presence.onJoin((n,r,i)=>{let a=e.onJoinPayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onLeave((n,r,i)=>{let a=e.onLeavePayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onSync(()=>{t.getChannel().trigger(`presence`,{event:`sync`})})}get state(){return e.transformState(this.presence.state)}static transformState(e){return e=Gi(e),Object.getOwnPropertyNames(e).reduce((t,n)=>{let r=e[n];return t[n]=Wi(r),t},{})}static onJoinPayload(e,t,n){return{event:`join`,key:e,currentPresences:qi(t),newPresences:Wi(n)}}static onLeavePayload(e,t,n){return{event:`leave`,key:e,currentPresences:qi(t),leftPresences:Wi(n)}}};function Wi(e){return e.metas.map(e=>{let t=Object.getOwnPropertyDescriptors(e),n=Object.defineProperties({},t);return n.presence_ref=n.phx_ref,delete n.phx_ref,delete n.phx_ref_prev,n})}function Gi(e){return JSON.parse(JSON.stringify(e))}function Ki(e){return e?.events&&{events:e.events}}function qi(e){return e?.metas?Wi(e):[]}var Ji;(function(e){e.SYNC=`sync`,e.JOIN=`join`,e.LEAVE=`leave`})(Ji||={});var Yi=class{get state(){return this.presenceAdapter.state}constructor(e,t){this.channel=e,this.presenceAdapter=new Ui(this.channel.channelAdapter,t)}};function Xi(e){if(e instanceof Error)return e;if(typeof e==`string`)return Error(e);if(e&&typeof e==`object`){let t=e;if(typeof t.code==`number`){let n=typeof t.reason==`string`&&t.reason?` (${t.reason})`:``;return Error(`socket closed: ${t.code}${n}`,{cause:e})}return Error(`channel error: transport failure`,{cause:e})}return Error(`channel error: connection lost`)}var Zi=class{constructor(e,t,n){let r=Qi(n);this.channel=e.getSocket().channel(t,r),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,t){return this.channel.on(e,t)}off(e,t){this.channel.off(e,t)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,t,n){let r;try{r=this.channel.push(e,t,n)}catch{throw Error(`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>100){let e=this.channel.pushBuffer.shift();e.cancelTimeout(),this.socket.log(`channel`,`discarded push due to buffer overflow: ${e.event}`,e.payload())}return r}updateJoinPayload(e){let t=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},t),e)}canPush(){return this.socket.isConnected()&&this.state===ci.joined}isJoined(){return this.state===ci.joined}isJoining(){return this.state===ci.joining}isClosed(){return this.state===ci.closed}isLeaving(){return this.state===ci.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}};function Qi(e){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},e.config)}}var $i=/[,()"\\]/,ea=e=>$i.test(e)||e!==e.trim(),ta=e=>`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`,na=e=>{let t=e===null?`null`:String(e);return ea(t)?ta(t):t},ra=e=>e===null?`null`:String(e),ia=(e,t)=>{if(e===`in`){let e=Array.isArray(t)?t:[t];if(e.length===0)throw Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(e)).map(e=>na(e)).join(`,`)})`}return e===`is`?`is.${ra(t)}`:`${e}.${na(t)}`},aa=class{constructor(){this.filters=[]}add(e,t,n,r=!1){let i=r?`not.`:``;return this.filters.push(`${e}=${i}${ia(t,n)}`),this}eq(e,t){return this.add(e,`eq`,t)}neq(e,t){return this.add(e,`neq`,t)}gt(e,t){return this.add(e,`gt`,t)}gte(e,t){return this.add(e,`gte`,t)}lt(e,t){return this.add(e,`lt`,t)}lte(e,t){return this.add(e,`lte`,t)}in(e,t){return this.add(e,`in`,t)}like(e,t){return this.add(e,`like`,t)}ilike(e,t){return this.add(e,`ilike`,t)}match(e,t){return this.add(e,`match`,t)}imatch(e,t){return this.add(e,`imatch`,t)}is(e,t){return this.add(e,`is`,t)}isDistinct(e,t){return this.add(e,`isdistinct`,t)}not(e,t,n){return this.add(e,t,n,!0)}build(){return this.filters.join(`,`)}toString(){return this.build()}},oa;(function(e){e.ALL=`*`,e.INSERT=`INSERT`,e.UPDATE=`UPDATE`,e.DELETE=`DELETE`})(oa||={});var sa;(function(e){e.BROADCAST=`broadcast`,e.PRESENCE=`presence`,e.POSTGRES_CHANGES=`postgres_changes`,e.SYSTEM=`system`})(sa||={});var ca;(function(e){e.SUBSCRIBED=`SUBSCRIBED`,e.TIMED_OUT=`TIMED_OUT`,e.CLOSED=`CLOSED`,e.CHANNEL_ERROR=`CHANNEL_ERROR`})(ca||={});var la=class e{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,t={config:{}},n){if(this.topic=e,this.params=t,this.socket=n,this.bindings={},this.subTopic=e.replace(/^realtime:/i,``),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},t.config),this.channelAdapter=new Zi(this.socket.socketAdapter,e,this.params),this.presence=new Yi(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=xi(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&this.params.config?.broadcast?.replay)throw Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(e,t=this.timeout){if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){let{config:{broadcast:n,presence:r,private:i}}=this.params,a=this.bindings.postgres_changes?.map(e=>e.filter)??[],o=!!this.bindings[sa.PRESENCE]&&this.bindings[sa.PRESENCE].length>0||this.params.config.presence?.enabled===!0,s={},c={broadcast:n,presence:Object.assign(Object.assign({},r),{enabled:o}),postgres_changes:a,private:i};this.socket.accessTokenValue&&(s.access_token=this.socket.accessTokenValue),this._onError(t=>{e?.(ca.CHANNEL_ERROR,Xi(t))}),this._onClose(()=>
12e?.(ca.CLOSED)),this.updateJoinPayload(Object.assign({config:c},s)),this._updateFilterMessage(),this.channelAdapter.subscribe(t).receive(`ok`,async({postgres_changes:t})=>{if(this.socket._isManualToken()||this.socket.setAuth(),t===void 0){e?.(ca.SUBSCRIBED);return}this._updatePostgresBindings(t,e)}).receive(`error`,t=>{this.state=ci.errored;let n=Object.values(t).join(`, `)||`error`;e?.(ca.CHANNEL_ERROR,Error(n,{cause:t}))}).receive(`timeout`,()=>{e?.(ca.TIMED_OUT)})}return this}_updatePostgresBindings(t,n){let r=this.bindings.postgres_changes,i=r?.length??0,a=[];for(let o=0;o<i;o++){let i=r[o],{filter:{event:s,schema:c,table:l,filter:u}}=i,d=t&&t[o];if(d&&d.event===s&&e.isFilterValueEqual(d.schema,c)&&e.isFilterValueEqual(d.table,l)&&e.isFilterValueEqual(d.filter,u))a.push(Object.assign(Object.assign({},i),{id:d.id}));else{this.unsubscribe(),this.state=ci.errored,n?.(ca.CHANNEL_ERROR,Error(`mismatch between server and client bindings for postgres changes`));return}}this.bindings.postgres_changes=a,this.state!=ci.errored&&n&&n(ca.SUBSCRIBED)}presenceState(){return this.presence.state}async track(e,t={}){return await this.send({type:`presence`,event:`track`,payload:e},t)}async untrack(e={}){return await this.send({type:`presence`,event:`untrack`},e)}on(e,t,n){let r=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),i=e===sa.PRESENCE||e===sa.POSTGRES_CHANGES;if(r&&i)throw this.socket.log(`channel`,`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`),Error(`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(e,t,n)}async httpSend(e,t,n={}){if(t==null)return Promise.reject(Error(`Payload is required for httpSend()`));let r=t instanceof ArrayBuffer||ArrayBuffer.isView(t),i={apikey:this.socket.apiKey?this.socket.apiKey:``,"Content-Type":r?`application/octet-stream`:`application/json`};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);let a=new URL(this.broadcastEndpointURL);a.pathname+=`/${encodeURIComponent(this.subTopic)}/events/${encodeURIComponent(e)}`,this.private&&a.searchParams.set(`private`,`true`);let o={method:`POST`,headers:i,body:r?t:JSON.stringify(t)},s=await this._fetchWithTimeout(a.toString(),o,n.timeout??this.timeout);if(s.status===202)return{success:!0};if(s.status===404)return Promise.reject(Error(`httpSend() requires Realtime server v2.97.0 or newer; the endpoint returned 404. Update your Supabase CLI to a recent version, or upgrade the Realtime server in your self-hosted setup. See https://github.com/supabase/supabase-js/blob/master/packages/core/realtime-js/migrations/httpsend-server-version.md`));let c=s.statusText;try{let e=await s.json();c=e.error||e.message||c}catch{}return Promise.reject(Error(c))}async send(e,t={}){if(!this.channelAdapter.canPush()&&e.type===`broadcast`){console.warn(`Realtime send() is automatically falling back to REST API. This behavior will be deprecated
12in the future. Please use httpSend() explicitly for REST delivery.`);let{event:n,payload:r}=e,i={apikey:this.socket.apiKey?this.socket.apiKey:``,"Content-Type":`application/json`};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);let a={method:`POST`,headers:i,body:JSON.stringify({messages:[{topic:this.subTopic,event:n,payload:r,private:this.private}]})};try{let e=await this._fetchWithTimeout(this.broadcastEndpointURL,a,t.timeout??this.timeout);return await e.body?.cancel(),e.ok?`ok`:`error`}catch(e){return e instanceof Error&&e.name===`AbortError`?`timed out`:`error`}}return new Promise(n=>{let r=this.channelAdapter.push(e.type,e,t.timeout||this.timeout);e.type===`broadcast`&&!this.params?.config?.broadcast?.ack&&n(`ok`),r.receive(`ok`,()=>n(`ok`)),r.receive(`error`,()=>n(`error`)),r.receive(`timeout`,()=>n(`timed out`))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(t=>{this.channelAdapter.unsubscribe(e).receive(`ok`,()=>t(`ok`)).receive(`timeout`,()=>t(`timed out`)).receive(`error`,()=>t(`error`))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,t,n){let r=new AbortController,i=setTimeout(()=>r.abort(),n),a=await this.socket.fetch(e,Object.assign(Object.assign({},t),{signal:r.signal}));return clearTimeout(i),a}_on(t,n,r){let i=t.toLocaleLowerCase(),a=n?.filter;if((a instanceof aa||typeof a==`object`&&a&&typeof a.build==`function`)&&(n=Object.assign(Object.assign({},n),{filter:a.build()})),i===sa.POSTGRES_CHANGES&&this.bindings[i]?.find(t=>e.isSamePostgresFilter(t.filter,n)))return this.socket.log(`error`,`duplicate \`postgres_changes\` binding for ${this.topic} ignored`,n),this;let o=this.channelAdapter.on(t,r),s={type:i,filter:n,callback:r,ref:o};return this.bindings[i]?this.bindings[i].push(s):this.bindings[i]=[s],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,t,n)=>{let r=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(r,n))return!1;let i=this.bindings[r]?.find(t=>t.ref===e.ref);if(!i)return!0;if([`broadcast`,`presence`,`postgres_changes`].includes(r)){if(`id`in i){let e=i.id,n=i.filter?.event;return e&&t.ids?.includes(e)&&(n===`*`||n?.toLocaleLowerCase()===t.data?.type.toLocaleLowerCase())}{let e=(i?.filter?.event)?.toLocaleLowerCase();return e===`*`||e===(t?.event)?.toLocaleLowerCase()}}return i.type.toLocaleLowerCase()===r})}_notThisChannelEvent(e,t){let{close:n,error:r,leave:i,join:a}=li;return t&&[n,r,i,a].includes(e)&&t!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,t,n)=>{if(typeof t==`object`&&`ids`in t){let e=t.data,{schema:n,table:r,commit_timestamp:i,type:a,errors:o}=e;return Object.assign(Object.assign({},{schema:n,table:r,commit_timestamp:i,eventType:a,new:{},old:{},errors:o}),this._getPayloadRecords(e))}return t})}copyBindings(e){if(this.joinedOnce)throw Error(`cannot copy bindings into joined channel`);for(let t in e.bindings)for(let n of e.bindings[t])this._on(n.type,n.filter,n.callback)}static isFilterValueEqual(e,t){return(e??void 0)===(t??void 0)}static isSamePostgresFilter(t,n){let r=(t?.select)?.join()??void 0,i=(n?.select)?.join()??void 0;return t?.event===n?.event&&e.isFilterValueEqual(t?.schema,n?.schema)&&e.isFilterValueEqual(t?.table,n?.table)&&e.isFilterValueEqual(t?.filter,n?.filter)&&r===i}_getPayloadRecords(e){let t={new:{},old:{}};return(e.type===`INSERT`||e.type===`UPDATE`)&&(t.new=fi(e.columns,e.record)),(e.type===`UPDATE`||e.type===`DELETE`)&&(t.old=fi(e.columns,e.old_record)),t}},ua=class{constructor(e,t){this.socket=new Hi(e,t)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,t,n,r=1e4){return new Promise(i=>{setTimeout(()=>i(`timeout`),r),this.socket.disconnect(()=>{e(),i(`ok`)},t,n)})}push(e){this.socket.push(e)}log(e,t,n){this.socket.log(e,t,n)}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==ui.connecting}isDisconnecting(){return this.socket.connectionState()==ui.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}},da={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},fa=[1e3,2e3,5e3,1e4],pa=1e4;function ma(){let e=new Map;return{get length(){return e.size},clear(){e.clear()},getItem(t){return e.has(t)?e.get(t):null},key(t){return Array.from(e.keys())[t]??null},removeItem(t){e.delete(t)},setItem(t,n){e.set(t,String(n))}}}function ha(){try{if(typeof globalThis<`u`&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return ma()}var ga=` 13 addEventListener("message", (e) => { 14 if (e.data.event === "start") { 15 setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval); 16 } 17 });`,_a=class{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,t){if(this.channels=[],this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint=``,this.headers={},this.params={}
17,this.ref=0,this.serializer=new di,this._manuallySetToken=!1,this._authPromise=null,this._authGeneration=0,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),!t?.params?.apikey)throw Error(`API key is required to connect to Realtime`);this.apiKey=t.params.apikey;let n=this._initializeOptions(t);this.socketAdapter=new ua(e,n),this.httpEndpoint=xi(e),this.fetch=this._resolveFetch(t?.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely(`connect`),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(e){let t=e.message;throw Error(`WebSocket not available: ${t}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,t){return this._cancelPendingDisconnect(),this.isDisconnecting()?`ok`:await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,t)}getChannels(){return this.channels}async removeChannel(e){let t=await e.unsubscribe();return t===`ok`&&e.teardown(),t}async removeAllChannels(){let e=this.channels.map(async e=>{let t=await e.unsubscribe();return e.teardown(),t}),t=await Promise.all(e);return await this.disconnect(),t}log(e,t,n){this.socketAdapter.log(e,t,n)}connectionState(){return this.socketAdapter.connectionState()||ui.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,t={config:{}}){let n=`realtime:${e}`,r=this.getChannels().find(e=>e.topic===n);if(r)return r;{let n=new la(`realtime:${e}`,t,this);return this._cancelPendingDisconnect(),this.channels.push(n),n}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){let t=++this._authGeneration,n=this._performAuth(e,t);t===this._authGeneration&&(this._authPromise=n);try{await n}finally{this._authPromise===n&&(this._authPromise=null)}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(t=>t.topic!==e.topic),this.channels.length===0&&(this.log(`transport`,`no channels remaining, scheduling disconnect`),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log(`transport`,`disconnecting immediately - no channels`),this.disconnect();return}
17this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log(`transport`,`deferred disconnect fired - no channels, disconnecting`),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log(`transport`,`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log(`transport`,`pending disconnect cancelled - channel activity detected`),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(e,t){let n,r=!1;if(e)n=e,r=!0;else if(this.accessToken)try{n=await this.accessToken()}catch(e){this.log(`error`,`Error fetching access token from callback`,e),n=this.accessTokenValue}else n=this.accessTokenValue;t===this._authGeneration&&(this.accessToken?this._manuallySetToken=!1:r&&(this._manuallySetToken=!0),this.accessTokenValue!=n&&(this.accessTokenValue=n,this.channels.forEach(e=>{let t={access_token:n,version:ri};e.updateJoinPayload(t),e.joinedOnce&&e.channelAdapter.isJoined()&&e.channelAdapter.push(li.access_token,{access_token:n})})))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e=`general`){this._isManualToken()||this.setAuth().catch(t=>{this.log(`error`,`Error setting auth in ${e}`,t)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(e=>{this.log(`error`,`error waiting for auth on connect`,e)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(t,n)=>{t!==`disconnected`&&(t==`sent`&&this._setAuthSafely(),e&&e(t,n))}}_startWorkerHeartbeat(){this.workerUrl?this.log(`worker`,`starting worker for from ${this.workerUrl}`):this.log(`worker`,`starting default worker`);let e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=e=>{this.log(`worker`,`worker error`,e.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=e=>{e.data.event===`keepAlive`&&this.sendHeartbeat()},this.workerRef.postMessage({event:`start`,interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&=(this.log(`worker`,`terminating worker`),this.workerRef.terminate(),void 0)}_workerObjectUrl(e){let t;if(e)t=e;else{let e=new Blob([ga],{type:`application/javascript`});t=URL.createObjectURL(e)}return t}_initializeOptions(e){this.worker=e?.worker??!1,this.accessToken=e?.accessToken??null;let t={};t.timeout=e?.timeout??si,t.heartbeatIntervalMs=e?.heartbeatIntervalMs??da.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=e?.disconnectOnEmptyChannelsAfterMs??2*(e?.heartbeatIntervalMs??da.HEARTBEAT_INTERVAL),t.transport=e?.transport??ni.getWebSocketConstructor(),t.params=e?.params,t.logger=e?.logger,t.heartbeatCallback=this._wrapHeartbeatCallback(e?.heartbeatCallback),t.sessionStorage=e?.sessionStorage??ha(),t.reconnectAfterMs=e?.reconnectAfterMs??(e=>fa[e-1]||pa);let n,r,i=e?.vsn??oi;switch(i){case ii:n=(e,t)=>t(JSON.stringify(e)),r=(e,t)=>t(JSON.parse(e));break;case ai:n=this.serializer.encode.bind(this.serializer),r=this.serializer.decode.bind(this.serializer);break;default:throw Error(`Unsupported serializer version: ${t.vsn}`)}if(t.vsn=i,t.encode=e?.encode??n,t.decode=e?.decode??r,t.beforeReconnect=this._reconnectAuth.bind(this),(e?.logLevel||e?.log_level)&&(this.logLevel=e.logLevel||e.log_level,t.params=Object.assign(Object.assign({},t.params),{log_level:this.logLevel})),this.worker){if(typeof window<`u`&&!window.Worker)throw Error(`Web Worker is not supported`);this.workerUrl=e?.workerUrl,t.autoSendHeartbeat=!this.worker}return t}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}
vendor: 4,836 bytes, line 17
17,va=class extends Error{constructor(e,t){super(e),this.name=`IcebergError`,this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType===`CommitStateUnknownException`||[500,502,504].includes(t.status)&&t.icebergType?.includes(`CommitState`)===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function ya(e,t,n){let r=new URL(t,e);if(n)for(let[e,t]of Object.entries(n))t!==void 0&&r.searchParams.set(e,t);return r.toString()}async function ba(e){return!e||e.type===`none`?{}:e.type===`bearer`?{Authorization:`Bearer ${e.token}`}:e.type===`header`?{[e.name]:e.value}:e.type===`custom`?await e.getHeaders():{}}function xa(e){let t=e.fetchImpl??globalThis.fetch;return{async request({method:n,path:r,query:i,body:a,headers:o}){let s=ya(e.baseUrl,r,i),c=await ba(e.auth),l=await t(s,{method:n,headers:{...a?{"Content-Type":`application/json`}:{},...c,...o},body:a?JSON.stringify(a):void 0}),u=await l.text(),d=(l.headers.get(`content-type`)||``).includes(`application/json`),f=d&&u?JSON.parse(u):u;if(!l.ok){let e=d?f:void 0,t=e?.error;throw new va(t?.message??`Request failed with status ${l.status}`,{status:l.status,icebergType:t?.type,icebergCode:t?.code,details:e})}return{status:l.status,headers:l.headers,data:f}}}}function Sa(e){return e.join(`�`)}var Ca=class{constructor(e,t=``){this.client=e,this.prefix=t}async listNamespaces(e){let t=e?{parent:Sa(e.namespace)}:void 0;return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(e=>({namespace:e}))}async createNamespace(e,t){let n={namespace:e.namespace,properties:t?.properties};return(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces`,body:n})).data}async dropNamespace(e){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${Sa(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${Sa(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${Sa(e.namespace)}`}),!0}catch(e){if(e instanceof va&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(e){if(e instanceof va&&e.status===409)return;throw e}}};function wa(e){return e.join(`�`)}var Ta=class{constructor(e,t=``,n){this.client=e,this.prefix=t,this.accessDelegation=n}async listTables(e){return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${wa(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){let n={};return this.accessDelegation&&(n[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${wa(e.namespace)}/tables`,body:t,headers:n})).data.metadata}async updateTable(e,t){let n=await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${wa(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":n.data[`metadata-location`],metadata:n.data.metadata}}async dropTable(e,t){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${wa(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String(t?.purge??!1)}})}async loadTable(e){let t={};return this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${wa(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){let t={};this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation);try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${wa(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(e){if(e instanceof va&&e.status===404)return!1;throw e}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(n){if(n instanceof va&&n.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw n}}},Ea=class{constructor(e){let t=`v1`;e.catalogName&&(t+=`/${e.catalogName}`);let n=e.baseUrl.endsWith(`/`)?e.baseUrl:`${e.baseUrl}/`;this.client=xa({baseUrl:n,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=e.accessDelegation?.join(`,`),this.namespaceOps=new Ca(this.client,t),this.tableOps=new Ta(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}
17async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}};function Da(e){"@babel/helpers - typeof";return Da=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Da(e)}function Oa(e,t){if(Da(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Da(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ka(e){var t=Oa(e,`string`);return Da(t)==`symbol`?t:t+``}function Aa(e,t,n){return(t=ka(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ja(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 F(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ja(Object(n),!0).forEach(function(t){Aa(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ja(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ma=class extends Error{constructor(e,t=`storage`,n,r){super(e),this.__isStorageError=!0,this.namespace=t,this.name=t===`vectors`?`StorageVectorsError`:`StorageError`,this.status=n,this.statusCode=r}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function Na(e){return typeof e==`object`&&!!e&&`__isStorageError`in e}var Pa=class extends Ma{constructor(e,t,n,r=`storage`,i){super(e,r,t,n),this.name=r===`vectors`?`StorageVectorsApiError`:`StorageApiError`,this.status=t,this.statusCode=n,this.code=i}toJSON(){return F(F({},super.toJSON()),{},{code:this.code})}},Fa=class extends Ma{constructor(e,t,n=`storage`){super(e,n),this.name=n===`vectors`?`StorageVectorsUnknownError`:`StorageUnknownError`,this.originalError=t}};function Ia(e,t,n){let r=F({},e),i=t.toLowerCase();for(let e of Object.keys(r))e.toLowerCase()===i&&delete r[e];return r[i]=n,r}function La(e){let t={};for(let[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}var Ra=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),za=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Ba=e=>{if(Array.isArray(e))return e.map(e=>Ba(e));if(typeof e==`function`||e!==Object(e))return e;let t={};return Object.entries(e).forEach(([e,n])=>{let r=e.replace(/([-_][a-z])/gi,e=>e.toUpperCase().replace(/[-_]/g,``));t[r]=Ba(n)}),t},Va=e=>!e||typeof e!=`string`||e.length===0||e.length>100||e.trim()!==e||e.includes(`/`)||e.includes(`\\`)?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),Ha=e=>e.split(`/`).map(encodeURIComponent).join(`/`),Ua=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error;if(typeof t.error==`object`&&t.error!==null){let e=t.error;if(typeof e.message==`string`)return e.message}}return JSON.stringify(e)},Wa=async(e,t,n,r)=>{if(typeof e==`object`&&e&&`json`in e&&typeof e.json==`function`){let n=e,i=parseInt(String(n.status),10);Number.isFinite(i)||(i=500),n.json().then(e=>{let n=e?.statusCode||e?.code||i+``;t(new Pa(Ua(e),i,n,r,e?.code))}).catch(()=>{let e=i+``;t(new Pa(n.statusText||`HTTP ${i} error`,i,e,r))})}else t(new Fa(Ua(e),e,r))},Ga=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};if(e===`GET`||e===`HEAD`||!r)return F(F({},i),n);if(za(r)){let e=t?.headers||{},n;for(let[t,r]of Object.entries(e))t.toLowerCase()===`content-type`&&(n=r);i.headers=Ia(e,`Content-Type`,n??`application/json`),i.body=JSON.stringify(r)}else i.body=r;return t?.duplex&&(i.duplex=t.duplex),F(F({},i),n)};async function Ka(e,t,n,r,i,a,o){return new Promise((s,c)=>{e(n,Ga(t,r,i,a)).then(e=>{if(!e.ok)throw e;if(r?.noResolveJson)return e;if(o===`vectors`){let t=e.headers.get(`content-type`);if(e.headers.get(`content-length`)===`0`||e.status===204||!t||!t.includes(`application/json`))return{}}return e.json()}).then(e=>s(e)).catch(e=>Wa(e,c,r,o))})}function qa(e=`storage`){return{get:async(t,n,r,i)=>Ka(t,`GET`,n,r,i,void 0,e),post:async(t,n,r,i,a)=>Ka(t,`POST`,n,i,a,r,e),put:async(t,n,r,i,a)=>Ka(t,`PUT`,n,i,a,r,e),head:async(t,n,r,i)=>Ka(t,`HEAD`,n,F(F({},r),{},{noResolveJson:!0}),i,void 0,e),remove:async(t,n,r,i,a)=>Ka(t,`DELETE`,n,i,a,r,e)}}var{get:Ja,post:Ya,put:Xa,head:Za,remove:Qa}=qa(`storage`),$a=qa(`vectors`),eo=class{constructor(e,t={},n,r=`storage`){this.shouldThrowOnError=!1,this.url=e,this.headers=La(t),this.fetch=Ra(n),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=Ia(this.headers,e,t),this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(Na(e))return{data:null,error:e};throw e}}},to=Symbol.toStringTag,no=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[to]=`StreamDownloadBuilder`,this.promise=null}
17then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Na(t))return{data:null,error:t};throw t}}},ro=Symbol.toStringTag,io=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[ro]=`BlobDownloadBuilder`,this.promise=null}asStream(){return new no(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Na(t))return{data:null,error:t};throw t}}},ao={limit:100,offset:0,sortBy:{column:`name`,order:`asc`}},oo={cacheControl:`3600`,contentType:`text/plain;charset=UTF-8`,upsert:!1},so=class extends eo{constructor(e,t={},n,r){super(e,t,r,`storage`),this.bucketId=n}async uploadOrUpdate(e,t,n,r){var i=this;return i.handleOperation(async()=>{let a,o=F(F({},oo),r),s=F(F({},i.headers),e===`POST`&&{"x-upsert":String(o.upsert)}),c=o.metadata;if(typeof Blob<`u`&&n instanceof Blob?(a=new FormData,a.append(`cacheControl`,o.cacheControl),c&&a.append(`metadata`,i.encodeMetadata(c)),a.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(a=n,a.has(`cacheControl`)||a.append(`cacheControl`,o.cacheControl),c&&!a.has(`metadata`)&&a.append(`metadata`,i.encodeMetadata(c))):(a=n,s[`cache-control`]=`max-age=${o.cacheControl}`,s[`content-type`]=o.contentType,c&&(s[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&a instanceof ReadableStream||a&&typeof a==`object`&&`pipe`in a&&typeof a.pipe==`function`)&&!o.duplex&&(o.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))s=Ia(s,e,t);let l=i._removeEmptyFolders(t),u=i._getFinalPath(l),d=await(e==`PUT`?Xa:Ya)(i.fetch,`${i.url}/object/${u}`,a,F({headers:s},o?.duplex?{duplex:o.duplex}:{}));return{path:l,id:d.Id,fullPath:d.Key}})}async upload(e,t,n){return this.uploadOrUpdate(`POST`,e,t,n)}async uploadToSignedUrl(e,t,n,r){var i=this;let a=i._removeEmptyFolders(e),o=i._getFinalPath(a),s=new URL(i.url+`/object/upload/sign/${o}`);return s.searchParams.set(`token`,t),i.handleOperation(async()=>{let e,t=F(F({},oo),r),o=F(F({},i.headers),{"x-upsert":String(t.upsert)}),c=t.metadata;if(typeof Blob<`u`&&n instanceof Blob?(e=new FormData,e.append(`cacheControl`,t.cacheControl),c&&e.append(`metadata`,i.encodeMetadata(c)),e.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(e=n,e.has(`cacheControl`)||e.append(`cacheControl`,t.cacheControl),c&&!e.has(`metadata`)&&e.append(`metadata`,i.encodeMetadata(c))):(e=n,o[`cache-control`]=`max-age=${t.cacheControl}`,o[`content-type`]=t.contentType,c&&(o[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&e instanceof ReadableStream||e&&typeof e==`object`&&`pipe`in e&&typeof e.pipe==`function`)&&!t.duplex&&(t.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))o=Ia(o,e,t);return{path:a,fullPath:(await Xa(i.fetch,s.toString(),e,F({headers:o},t?.duplex?{duplex:t.duplex}:{}))).Key}})}async createSignedUploadUrl(e,t){var n=this;return n.handleOperation(async()=>{let r=n._getFinalPath(e),i=F({},n.headers);t?.upsert&&(i[`x-upsert`]=`true`);let a=await Ya(n.fetch,`${n.url}/object/upload/sign/${r}`,{},{headers:i}),o=new URL(n.url+a.url),s=o.searchParams.get(`token`);if(!s)throw new Ma(`No token returned by API`);return{signedUrl:o.toString(),path:e,token:s}})}async update(e,t,n){return this.uploadOrUpdate(`PUT`,e,t,n)}async move(e,t,n){var r=this;return r.handleOperation(async()=>await Ya(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,de
17stinationBucket:n?.destinationBucket},{headers:r.headers}))}async copy(e,t,n){var r=this;return r.handleOperation(async()=>({path:(await Ya(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n?.destinationBucket},{headers:r.headers})).Key}))}async createSignedUrl(e,t,n){var r=this;return r.handleOperation(async()=>{let i=r._getFinalPath(e),a=typeof n?.transform==`object`&&n.transform!==null&&Object.keys(n.transform).length>0,o=await Ya(r.fetch,`${r.url}/object/sign/${i}`,F({expiresIn:t},a?{transform:n.transform}:{}),{headers:r.headers}),s=new URLSearchParams;n?.download&&s.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&s.set(`cacheNonce`,String(n.cacheNonce));let c=s.toString();return{signedUrl:encodeURI(`${r.url}${o.signedURL}${c?`&${c}`:``}`)}})}async createSignedUrls(e,t,n){var r=this;return r.handleOperation(async()=>{let i=await Ya(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:t,paths:e},{headers:r.headers}),a=new URLSearchParams;n?.download&&a.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&a.set(`cacheNonce`,String(n.cacheNonce));let o=a.toString();return i.map(e=>F(F({},e),{},{signedUrl:e.signedURL?encodeURI(`${r.url}${e.signedURL}${o?`&${o}`:``}`):null}))})}download(e,t,n){let r=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image/authenticated`:`object`,i=new URLSearchParams;t?.transform&&this.applyTransformOptsToQuery(i,t.transform),t?.cacheNonce!=null&&i.set(`cacheNonce`,String(t.cacheNonce));let a=i.toString(),o=this._getFinalPath(e);return new io(()=>Ja(this.fetch,`${this.url}/${r}/${o}${a?`?${a}`:``}`,{headers:this.headers,noResolveJson:!0},n),this.shouldThrowOnError)}async info(e){var t=this;let n=t._getFinalPath(e);return t.handleOperation(async()=>Ba(await Ja(t.fetch,`${t.url}/object/info/${n}`,{headers:t.headers})))}async exists(e){var t=this;let n=t._getFinalPath(e);try{return await Za(t.fetch,`${t.url}/object/${n}`,{headers:t.headers}),{data:!0,error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(Na(e)){let t=e instanceof Pa?e.status:e instanceof Fa?e.originalError?.status:void 0;if(t!==void 0&&[400,404].includes(t))return{data:!1,error:e}}throw e}}getPublicUrl(e,t){let n=this._getFinalPath(e),r=new URLSearchParams;t?.download&&r.set(`download`,t.download===!0?``:t.download),t?.transform&&this.applyTransformOptsToQuery(r,t.transform),t?.cacheNonce!=null&&r.set(`cacheNonce`,String(t.cacheNonce));let i=r.toString(),a=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image`:`object`;return{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${n}`)+(i?`?${i}`:``)}}}async remove(e){var t=this;return t.handleOperation(async()=>await Qa(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async purgeCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=Ha(r._getFinalPath(e)),a=new URLSearchParams;t?.transformations&&a.set(`transformations`,`true`);let o=a.toString();return await Qa(r.fetch,`${r.url}/cdn/${i}${o?`?${o}`:``}`,{},{headers:r.headers},n)})}async list(e,t,n){var r=this;return r.handleOperation(async()=>{let i=t?.sortBy?F(F({},ao.sortBy),t.sortBy):ao.sortBy,a=F(F(F({},ao),t),{},{sortBy:i,prefix:e||``});return await Ya(r.fetch,`${r.url}/object/list/${r.bucketId}`,a,{headers:r.headers},n)})}async listV2(e,t){var n=this;return n.handleOperation(async()=>{let r=F({},e);return await Ya(n.fetch,`${n.url}/object/list-v2/${n.bucketId}`,r,{headers:n.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<`u`?Buffer.from(e).toString(`base64`):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,``)}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,``).replace(/\/+/g,`/`)}applyTransformOptsToQuery(e,t){return t.width&&e.set(`width`,t.width.toString()),t.height&&e.set(`height`,t.height.toString()),t.resize&&e.set(`resize`,t.resize),t.format&&e.set(`format`,t.format),t.quality&&e.set(`quality`,t.quality.toString()),e}}
17,co={"X-Client-Info":`storage-js/2.112.3`},lo=class extends eo{constructor(e,t={},n,r){let i=new URL(e);r?.useNewHostname&&/supabase\.(co|in|red)$/.test(i.hostname)&&!i.hostname.includes(`storage.supabase.`)&&(i.hostname=i.hostname.replace(`supabase.`,`storage.supabase.`));let a=i.href.replace(/\/$/,``),o=F(F({},co),t);super(a,o,n,`storage`)}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=t.listBucketOptionsToQueryString(e);return await Ja(t.fetch,`${t.url}/bucket${n}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Ja(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var n=this;return n.handleOperation(async()=>await Ya(n.fetch,`${n.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async updateBucket(e,t){var n=this;return n.handleOperation(async()=>await Xa(n.fetch,`${n.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await Ya(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Qa(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}async purgeBucketCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=new URLSearchParams;t?.transformations&&i.set(`transformations`,`true`);let a=i.toString();return await Qa(r.fetch,`${r.url}/cdn/${Ha(e)}${a?`?${a}`:``}`,{},{headers:r.headers},n)})}listBucketOptionsToQueryString(e){let t={};return e&&(`limit`in e&&(t.limit=String(e.limit)),`offset`in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>0?`?`+new URLSearchParams(t).toString():``}},uo=class extends eo{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=F(F({},co),t);super(r,i,n,`storage`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await Ya(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=new URLSearchParams;e?.limit!==void 0&&n.set(`limit`,e.limit.toString()),e?.offset!==void 0&&n.set(`offset`,e.offset.toString()),e?.sortColumn&&n.set(`sortColumn`,e.sortColumn),e?.sortOrder&&n.set(`sortOrder`,e.sortOrder),e?.search&&n.set(`search`,e.search);let r=n.toString(),i=r?`${t.url}/bucket?${r}`:`${t.url}/bucket`;return await Ja(t.fetch,i,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Qa(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!Va(e))throw new Ma(`Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.`);let n=new Ea({baseUrl:this.url,catalogName:e,auth:{type:`custom`,getHeaders:async()=>t.headers},fetch:this.fetch}),r=this.shouldThrowOnError;return new Proxy(n,{get(e,t){let n=e[t];return typeof n==`function`?async(...t)=>{try{return{data:await n.apply(e,t),error:null}}catch(e){if(r)throw e;return{data:null,error:e}}}:n}})}},fo=class extends eo{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=F(F({},co),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createIndex(e){var t=this;return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var n=this;return n.handleOperation(async()=>await $a.post(n.fetch,`${n.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var n=this;return n.handleOperation(async()=>await $a.post(n.fetch,`${n.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers})||{})}},po=class extends eo{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=F(F({},co),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw Error(`Vector batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw Error(`segmentCount must be between 1 and 16`);if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw Error(`Keys batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},mo=class extends eo{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=F(F({},co),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await $a.post(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},ho=class extends mo{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new go(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,n=this;return t().call(n,e)}async getBucket(e){var t=()=>super.getBucket,n=this;return t().call(n,e)}async listBuckets(e={}){var t=()=>super.listBuckets,n=this;return t().call(n,e)}async deleteBucket(e){var t=()=>super.deleteBucket,n=this;return t().call(n,e)}},go=class extends fo{constructor(e,t,n,r){super(e,t,r),this.vectorBucketName=n}async createIndex(e){var t=()=>super.createIndex,n=this;return t().call(n,F(F({},e),{},{vectorBucketName:n.vectorBucketName}))}
17async listIndexes(e={}){var t=()=>super.listIndexes,n=this;return t().call(n,F(F({},e),{},{vectorBucketName:n.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,n=this;return t().call(n,n.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,n=this;return t().call(n,n.vectorBucketName,e)}index(e){return new _o(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},_o=class extends po{constructor(e,t,n,r,i){super(e,t,i),this.vectorBucketName=n,this.indexName=r}async putVectors(e){var t=()=>super.putVectors,n=this;return t().call(n,F(F({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async getVectors(e){var t=()=>super.getVectors,n=this;return t().call(n,F(F({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,n=this;return t().call(n,F(F({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,n=this;return t().call(n,F(F({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,n=this;return t().call(n,F(F({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}},I=class extends lo{constructor(e,t={},n,r){super(e,t,n,r)}from(e){return new so(this.url,this.headers,e,this.fetch)}get vectors(){return new ho(this.url+`/vector`,{headers:this.headers,fetch:this.fetch})}get analytics(){return new uo(this.url+`/iceberg`,this.headers,this.fetch)}},L=`2.112.3`,R=3e4,vo=3*R,yo=2*R,bo=`http://localhost:9999`,xo=`supabase.auth.token`,So={"X-Client-Info":`gotrue-js/${L}`},Co=`X-Supabase-Api-Version`,wo={"2024-01-01":{timestamp:Date.parse(`2024-01-01T00:00:00.0Z`),name:`2024-01-01`}},To=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,Eo=`sb_flow_id`,Do=class extends Error{constructor(e,t,n){super(e),this.__isAuthError=!0,this.name=`AuthError`,this.status=t,this.code=n}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}};function z(e){return typeof e==`object`&&!!e&&`__isAuthError`in e}var Oo=class extends Do{constructor(e,t,n){super(e,t,n),this.name=`AuthApiError`,this.status=t,this.code=n}};function ko(e){return z(e)&&e.name===`AuthApiError`}var Ao=class extends Do{constructor(e,t){super(e),this.name=`AuthUnknownError`,this.originalError=t}},jo=class extends Do{constructor(e,t,n,r){super(e,n,r),this.name=t,this.status=n}},Mo=class extends jo{constructor(){super(`Auth session missing!`,`AuthSessionMissingError`,400,void 0)}};function No(e){return z(e)&&e.name===`AuthSessionMissingError`}var B=class extends jo{constructor(){super(`Auth session or user missing`,`AuthInvalidToken
17ResponseError`,500,void 0)}},Po=class extends jo{constructor(e){super(e,`AuthInvalidCredentialsError`,400,void 0)}},Fo=class extends jo{constructor(e,t=null){super(e,`AuthImplicitGrantRedirectError`,500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}};function Io(e){return z(e)&&e.name===`AuthImplicitGrantRedirectError`}var Lo=class extends jo{constructor(e,t=null){super(e,`AuthPKCEGrantCodeExchangeError`,500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}},Ro=class extends jo{constructor(){super(`PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.`,`AuthPKCECodeVerifierMissingError`,400,`pkce_code_verifier_not_found`)}},zo=class extends jo{constructor(e,t){super(e,`AuthRetryableFetchError`,t,void 0)}};function Bo(e){return z(e)&&e.name===`AuthRetryableFetchError`}var Vo=class extends jo{constructor(e=`Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)`){super(e,`AuthRefreshDiscardedError`,409,void 0)}};function Ho(e){return z(e)&&e.name===`AuthRefreshDiscardedError`}var Uo=class extends jo{constructor(e,t,n){super(e,`AuthWeakPasswordError`,t,`weak_password`),this.reasons=n}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}},Wo=class extends jo{constructor(e){super(e,`AuthInvalidJwtError`,400,`invalid_jwt`)}},Go=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`.split(``),Ko=` 18\r=`.split(``),qo=(()=>{let e=Array(128);for(let t=0;t<e.length;t+=1)e[t]=-1;for(let t=0;t<Ko.length;t+=1)e[Ko[t].charCodeAt(0)]=-2;for(let t=0;t<Go.length;t+=1)e[Go[t].charCodeAt(0)]=t;return e})();function Jo(e,t,n){if(e!==null)for(t.queue=t.queue<<8|e,t.queuedBits+=8;t.queuedBits>=6;)n(Go[t.queue>>t.queuedBits-6&63]),t.queuedBits-=6;else if(t.queuedBits>0)for(t.queue<<=6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;)n(Go[t.queue>>t.queuedBits-6&63]),t.queuedBits-=6}function Yo(e,t,n){let r=qo[e];if(r>-1)for(t.queue=t.queue<<6|r,t.queuedBits+=6;t.queuedBits>=8;)n(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else if(r===-2)return;else throw Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}function Xo(e){let t=[],n=e=>{t.push(String.fromCodePoint(e))},r={utf8seq:0,codepoint:0},i={queue:0,queuedBits:0},a=e=>{$o(e,r,n)};for(let t=0;t<e.length;t+=1)Yo(e.charCodeAt(t),i,a);return t.join(``)}function Zo(e,t){if(e<=127){t(e);return}if(e<=2047){t(192|e>>6),t(128|e&63);return}if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function Qo(e,t){for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>55295&&r<=56319){let t=(r-55296)*1024&65535;r=(e.charCodeAt(n+1)-56320&65535|t)+65536,n+=1}Zo(r,t)}}function $o(e,t,n){if(t.utf8seq===0){if(e<=127){n(e);return}for(let n=1;n<6;n+=1)if(!(e>>7-n&1)){t.utf8seq=n;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw Error(`Invalid UTF-8 sequence`);--t.utf8seq}else if(t.utf8seq>0){if(e<=127)throw Error(`Invalid UTF-8 sequence`);t.codepoint=t.codepoint<<6|e&63,--t.utf8seq,t.utf8seq===0&&n(t.codepoint)}}function es(e){let t=[],n={queue:0,queuedBits:0},r=e=>{t.push(e)};for(let t=0;t<e.length;t+=1)Yo(e.charCodeAt(t),n,r);return new Uint8Array(t)}function ts(e){let t=[];return Qo(e,e=>t.push(e)),new Uint8Array(t)}function ns(e){let t=[],n={queue:0,queuedBits:0},r=e=>{t.push(e)};return e.forEach(e=>Jo(e,n,r)),Jo(null,n,r),t.join(``)}function rs(e){return Math.round(Date.now()/1e3)+e}function is(){return Symbol(`auth-callback`)}var as=()=>typeof window<`u`&&typeof document<`u`,os={tested:!1,writable:!1},ss=()=>
18{if(!as())return!1;try{if(typeof globalThis.localStorage!=`object`)return!1}catch{return!1}if(os.tested)return os.writable;let e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),os.tested=!0,os.writable=!0}catch{os.tested=!0,os.writable=!1}return os.writable};function cs(e){let t={},n=new URL(e);if(n.hash&&n.hash[0]===`#`)try{new URLSearchParams(n.hash.substring(1)).forEach((e,n)=>{t[n]=e})}catch{}return n.searchParams.forEach((e,n)=>{t[n]=e}),t}var ls=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),us=e=>typeof e==`object`&&!!e&&`status`in e&&`ok`in e&&`json`in e&&typeof e.json==`function`,ds=async(e,t,n)=>{await e.setItem(t,JSON.stringify(n))},fs=async(e,t)=>{let n=await e.getItem(t);if(!n)return null;try{return JSON.parse(n)}catch{return null}},ps=async(e,t)=>{await e.removeItem(t)},ms=class e{constructor(){this.promise=new e.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}};ms.promiseConstructor=Promise;function hs(e){let t=e.split(`.`);if(t.length!==3)throw new Wo(`Invalid JWT structure`);for(let e=0;e<t.length;e++)if(!To.test(t[e]))throw new Wo(`JWT not in base64url format`);return{header:JSON.parse(Xo(t[0])),payload:JSON.parse(Xo(t[1])),signature:es(t[2]),raw:{header:t[0],payload:t[1]}}}async function gs(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}function _s(e,t){return new Promise((n,r)=>{(async()=>{for(let i=0;i<1/0;i++)try{let r=await e(i);if(!t(i,null,r)){n(r);return}}catch(e){if(!t(i,e)){r(e);return}}})()})}function vs(e){return(`0`+e.toString(16)).substr(-2)}function ys(){let e=new Uint32Array(56);if(typeof crypto>`u`){let e=``;for(let t=0;t<56;t++)e+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~`.charAt(Math.floor(Math.random()*66));return e}return crypto.getRandomValues(e),Array.from(e,vs).join(``)}async function bs(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t),r=new Uint8Array(n);return Array.from(r).map(e=>String.fromCharCode(e)).join(``)}async function xs(e){if(!(typeof crypto<`u`&&crypto.subtle!==void 0&&typeof TextEncoder<`u`))return console.warn(`WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256.`),e;let t=await bs(e);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var Ss=/^[a-zA-Z0-9_-]{8,64}$/;function Cs(e){return typeof e==`string`&&Ss.test(e)?e:null}function ws(){if(typeof crypto<`u`&&typeof crypto.getRandomValues==`function`){let e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,vs).join(``)}let e=``;for(let t=0;t<32;t++)e+=Math.floor(Math.random()*16).toString(16);return e}var Ts=(e,t)=>`${e}-flow-${t}-code-verifier`,Es=e=>`${e}-flows-code-verifier`;async function Ds(e,t){let n=await fs(e,Es(t));return Array.isArray(n)?n.filter(e=>Cs(e)!==null):[]}async function Os(e,t,n,r,i){await ds(e,Ts(t,n),r);let a=(await Ds(e,t)).filter(e=>e!==n);for(a.push(n);a.length>5;){let n=a.shift();await ps(e,Ts(t,n)),i?.(n)}await ds(e,Es(t),a),await ds(e,`${t}-code-verifier`,r)}async function ks(e,t,n){if(n){let r=await fs(e,Ts(t,n));return{verifier:typeof r==`string`?r:null,flowId:n}}let r=await fs(e,`${t}-code-verifier`);return{verifier:typeof r==`string`?r:null,flowId:null}}async function As(e,t,n){let r=`${t}-code-verifier`;if(!n){await ps(e,r);return}let i=Ts(t,n),a=await fs(e,i);await ps(e,i);let o=await Ds(e,t),s=o.filter(e=>e!==n);s.length!==o.length&&(s.length>0?await ds(e,Es(t),s):await ps(e,Es(t))),a!=null&&a===await fs(e,r)&&await ps(e,r)}async function js(e,t){let n=await Ds(e,t);for(let r of n)await ps(e,Ts(t,r));await ps(e,Es(t)),await ps(e,`${t}-code-verifier`)}function Ms(e,t){let n=e.indexOf(`#`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n),a=r.indexOf(`?`);if(a!==-1){let e=r.slice(0,a),t=r.slice(a+1).split(`&`).filter(e=>e!==``&&e!==`sb_flow_id`&&!e.startsWith(`sb_flow_id=`));r=t.length>0?`${e}?${t.join(`&`)}`:e}let o=r.includes(`?`)?`&`:`?`;return`${r}${o}${Eo}=${encodeURIComponent(t)}${i}`}async function Ns(e,t,n=!1,r){let i=ys(),a=i;n&&(a+=`/recovery`);let o=ws();await Os(e,t,o,a,r);let s=await xs(i);return[s,i===s?`plain`:`s256`,o]}var Ps=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function Fs(e){let t=e.headers.get(Co);if(!t||!t.match(Ps))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function Is(e){if(!e)throw Error(`Missing exp claim`);if(e<=Math.floor(Date.now()/1e3))throw Error(`JWT has expired`)}function Ls(e){switch(e){case`RS256`:return{name:`RSASSA-PKCS1-v1_5`,hash:{name:`
18SHA-256`}};case`ES256`:return{name:`ECDSA`,namedCurve:`P-256`,hash:{name:`SHA-256`}};default:throw Error(`Invalid alg claim`)}}var Rs=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function zs(e){if(!Rs.test(e))throw Error(`@supabase/auth-js: Expected parameter to be UUID but is not`)}function Bs(e){if(!e.passkey)throw Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function Vs(){return new Proxy({},{get:(e,t)=>{if(t===`__isUserNotAvailableProxy`)return!0;if(typeof t==`symbol`){let e=t.toString();if(e===`Symbol(Symbol.toPrimitive)`||e===`Symbol(Symbol.toStringTag)`||e===`Symbol(util.inspect.custom)`)return}throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${t}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,t)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,t)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function Hs(e,t){return new Proxy(e,{get:(e,n,r)=>{if(n===`__isInsecureUserWarningProxy`)return!0;if(typeof n==`symbol`){let t=n.toString();if(t===`Symbol(Symbol.toPrimitive)`||t===`Symbol(Symbol.toStringTag)`||t===`Symbol(util.inspect.custom)`||t===`Symbol(nodejs.util.inspect.custom)`)return Reflect.get(e,n,r)}return!t.value&&typeof n==`string`&&(console.warn(`Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server.`),t.value=!0),Reflect.get(e,n,r)}})}function Us(e){return JSON.parse(JSON.stringify(e))}var Ws=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error}return JSON.stringify(e)},Gs=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function Ks(e){if(!us(e))throw new zo(Ws(e),0);let t;try{t=await e.json()}catch(t){throw Gs.includes(e.status)?new zo(e.statusText||`HTTP ${e.status}`,e.status):new Ao(Ws(t),t)}if(Gs.includes(e.status))throw new zo(Ws(t),e.status);let n,r=Fs(e);if(r&&r.getTime()>=wo[`2024-01-01`].timestamp&&typeof t==`object`&&t&&typeof t.code==`string`?n=t.code:typeof t==`object`&&t&&typeof t.error_code==`string`&&(n=t.error_code),!n){if(typeof t==`object`&&t&&typeof t.weak_password==`object`&&t.weak_password&&Array.isArray(t.weak_password.reasons)&&t.weak_password.reasons.length&&t.weak_password.reasons.reduce((e,t)=>e&&typeof t==`string`,!0))throw new Uo(Ws(t),e.status,t.weak_password.reasons)}else if(n===`weak_password`)throw new Uo(Ws(t),e.status,t.weak_password?.reasons||[]);else if(n===`session_not_found`)throw new Mo;throw new Oo(Ws(t),e.status||500,n)}var qs=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};return e===`GET`?i:(i.headers=Object.assign({"Content-Type":`application/json;charset=UTF-8`},t?.headers),i.body=JSON.stringify(r),Object.assign(Object.assign({},i),n))};async function V(e,t,n,r){let i=Object.assign({},r?.headers);i[`X-Supabase-Api-Version`]||(i[Co]=wo[`2024-01-01`].name),r?.jwt&&(i.Authorization=`Bearer ${r.jwt}`);let a=r?.query??{};r?.redirectTo&&(a.redirect_to=r.redirectTo);let o=await Js(e,t,n+(Object.keys(a).length?`?`+new URLSearchParams(a).toString():``),{headers:i,noResolveJson:r?.noResolveJson},{},r?.body);return r?.xform?r?.xform(o):{data:Object.assign({},o),error:null}}async function Js(e,t,n,r,i,a){let o=qs(t,r,i,a),s;try{s=await e(n,Object.assign({},o))}catch(e){throw new zo(Ws(e),0)}if(s.ok||await Ks(s),r?.noResolveJson)return s;try{return await s.json()}catch(e){await Ks(e)}}function Ys(e){let t=null;tc(e)&&(t=Object.assign({},e),e.expires_at||(t.expires_at=rs(e.expires_in)));
18let n=e.user??(typeof e?.id==`string`?e:null);return{data:{session:t,user:n},error:null}}function Xs(e){let t=Ys(e);return!t.error&&e.weak_password&&typeof e.weak_password==`object`&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message==`string`&&e.weak_password.reasons.reduce((e,t)=>e&&typeof t==`string`,!0)&&(t.data.weak_password=e.weak_password),t}function Zs(e){return{data:{user:e.user??e},error:null}}function Qs(e){return{data:e,error:null}}function $s(e){let{action_link:t,email_otp:n,hashed_token:r,redirect_to:i,verification_type:a}=e,o=Or(e,[`action_link`,`email_otp`,`hashed_token`,`redirect_to`,`verification_type`]);return{data:{properties:{action_link:t,email_otp:n,hashed_token:r,redirect_to:i,verification_type:a},user:Object.assign({},o)},error:null}}function ec(e){return e}function tc(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}var nc=[`global`,`local`,`others`],rc=class{constructor({url:e=``,headers:t={},fetch:n,experimental:r}){this.url=e,this.headers=t,this.fetch=ls(n),this.experimental=r??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(e,t=nc[0]){if(nc.indexOf(t)<0)throw Error(`@supabase/auth-js: Parameter scope must be one of ${nc.join(`, `)}`);try{return await V(this.fetch,`POST`,`${this.url}/logout?scope=${t}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(e){if(z(e))return{data:null,error:e};throw e}}async inviteUserByEmail(e,t={}){try{return await V(this.fetch,`POST`,`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:Zs})}catch(e){if(z(e))return{data:{user:null},error:e};throw e}}async generateLink(e){try{let{options:t}=e,n=Or(e,[`options`]),r=Object.assign(Object.assign({},n),t);return`newEmail`in n&&(r.new_email=n?.newEmail,delete r.newEmail),await V(this.fetch,`POST`,`${this.url}/admin/generate_link`,{body:r,headers:this.headers,xform:$s,redirectTo:t?.redirectTo})}catch(e){if(z(e))return{data:{properties:null,user:null},error:e};throw e}}async createUser(e){try{return await V(this.fetch,`POST`,`${this.url}/admin/users`,{body:e,headers:this.headers,xform:Zs})}catch(e){if(z(e))return{data:{user:null},error:e};throw e}}async listUsers(e){try{let t={nextPage:null,lastPage:0,total:0},n=await V(this.fetch,`GET`,`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:ec});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>0&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(z(e))return{data:{users:[]},error:e};throw e}}async getUserById(e){zs(e);try{return await V(this.fetch,`GET`,`${this.url}/admin/users/${e}`,{headers:this.headers,xform:Zs})}catch(e){if(z(e))return{data:{user:null},error:e};throw e}}async updateUserById(e,t){zs(e);try{return await V(this.fetch,`PUT`,`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:Zs})}catch(e){if(z(e))return{data:{user:null},error:e};throw e}}async deleteUser(e,t=!1){zs(e);try{return await V(this.fetch,`DELETE`,`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:Zs})}catch(e){if(z(e))return{data:{user:null},error:e};throw e}}async _listFactors(e){zs(e.userId);try{let{data:t,error:n}=await V(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:e=>({data:{factors:e},error:null})});return{data:t,error:n}}catch(e){if(z(e))return{data:null,error:e};throw e}}async _deleteFactor(e){zs(e.userId),zs(e.id);try{return{data:await V(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(e){if(z(e))return{data:null,error:e};throw e}}async _listOAuthClients(e){try{let t={nextPage:null,lastPage:0,total:0},n=await V(this.fetch,`GET`,`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:ec});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>
180&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(z(e))return{data:{clients:[]},error:e};throw e}}async _createOAuthClient(e){try{return await V(this.fetch,`POST`,`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _getOAuthClient(e){try{return await V(this.fetch,`GET`,`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _updateOAuthClient(e,t){try{return await V(this.fetch,`PUT`,`${this.url}/admin/oauth/clients/${e}`,{body:t,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _deleteOAuthClient(e){try{return await V(this.fetch,`DELETE`,`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(z(e))return{data:null,error:e};throw e}}async _regenerateOAuthClientSecret(e){try{return await V(this.fetch,`POST`,`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _listCustomProviders(e){try{let t={};return e?.type&&(t.type=e.type),await V(this.fetch,`GET`,`${this.url}/admin/custom-providers`,{headers:this.headers,query:t,xform:e=>({data:{providers:e?.providers??[]},error:null})})}catch(e){if(z(e))return{data:{providers:[]},error:e};throw e}}async _createCustomProvider(e){try{return await V(this.fetch,`POST`,`${this.url}/admin/custom-providers`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _getCustomProvider(e){try{return await V(this.fetch,`GET`,`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _updateCustomProvider(e,t){try{return await V(this.fetch,`PUT`,`${this.url}/admin/custom-providers/${e}`,{body:t,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _deleteCustomProvider(e){try{return await V(this.fetch,`DELETE`,`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(z(e))return{data:null,error:e};throw e}}async _adminListPasskeys(e){Bs(this.experimental),zs(e.userId);try{return await V(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/passkeys`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _adminDeletePasskey(e){Bs(this.experimental),zs(e.userId),zs(e.passkeyId);try{return await V(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/passkeys/${e.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(z(e))return{data:null,error:e};throw e}}};function ic(e={}){return{getItem:t=>e[t]||null,setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}}globalThis&&ss()&&globalThis.localStorage&&globalThis.localStorage.getItem(`supabase.gotrue-js.locks.debug`);var ac=class extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}};function oc(){if(typeof globalThis!=`object`)try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<`u`&&(self.globalThis=self)}}function sc(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function cc(e){return parseInt(e,16)}function lc(e){let t=new TextEncoder().encode(e);return`0x`+Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``)}function uc(e){let{chainId:t,domain:n,expirationTime:r,issuedAt:i=new Date,nonce:a,notBefore:o,requestId:s,resources:c,scheme:l,uri:u,version:d}=e;if(!Number.isInteger(t))throw Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${t}`);if(!n)throw Error(`@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.`);if(a&&a.length<8)throw Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${a}`);if(!u)throw Error(`@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.`);if(d!==`1`)throw Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${d}`);if(e.statement?.includes(` 19`))throw Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`);let f=sc(e.address),p=`${l?`${l}://${n}`:n} wants you to sign in with your Ethereum account:\n${f}\n\n${e.statement?`${e.statement}\n`:``}`,m=`URI: ${u}\nVersion: ${d}\nChain ID: ${t}${a?`\nNonce: ${a}`:``}\nIssued At: ${i.toISOString()}`;if(r&&(m+=`\nExpiration Time: ${r.toISOString()}`),o&&(m+=`\nNot Before: ${o.toISOString()}`),s&&(m+=`\nRequest ID: ${s}`),c){let e=` 20Resources:`;for(let t of c){if(!t||typeof t!=`string`)throw Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${t}`);e+=`\n- ${t}`}m+=e}return`${p}\n${m}`}
20var H=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),this.__isWebAuthnError=!0,this.name=r??(n instanceof Error?n.name:void 0)??`Unknown Error`,this.code=t}toJSON(){return{name:this.name,message:this.message,code:this.code}}},dc=class extends H{constructor(e,t){super({code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:t,message:e}),this.name=`WebAuthnUnknownError`,this.originalError=t}};function fc({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new H({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new H({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new H({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new H({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new H({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new H({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new H({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new H({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=window.location.hostname;if(!yc(t))return new H({message:`${window.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new H({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new H({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new H({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return new H({message:`a Non-Webauthn related error has occurred`,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e})}function pc({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new H({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new H({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=window.location.hostname;if(!yc(t))return new H({message:`${window.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new H({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`UnknownError`)return new H({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return new H({message:`a Non-Webauthn related error has occurred`,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e})}var mc=new class{createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}};function hc(e){if(!e)throw Error(`Credential creation options are required`);if(typeof PublicKeyCredential<`u`&&`parseCreationOptionsFromJSON`in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON==`function`)return PublicKeyCredential.parseCreationOptionsFromJSON(e);let{challenge:t,user:n,excludeCredentials:r}=e,i=Or(e,[`challenge`,`user`,`excludeCredentials`]),a=es(t).buffer,o=Object.assign(Object.assign({}
20,n),{id:es(n.id).buffer}),s=Object.assign(Object.assign({},i),{challenge:a,user:o});if(r&&r.length>0){s.excludeCredentials=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e];s.excludeCredentials[e]=Object.assign(Object.assign({},t),{id:es(t.id).buffer,type:t.type||`public-key`,transports:t.transports})}}return s}function gc(e){if(!e)throw Error(`Credential request options are required`);if(typeof PublicKeyCredential<`u`&&`parseRequestOptionsFromJSON`in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON==`function`)return PublicKeyCredential.parseRequestOptionsFromJSON(e);let{challenge:t,allowCredentials:n}=e,r=Or(e,[`challenge`,`allowCredentials`]),i=es(t).buffer,a=Object.assign(Object.assign({},r),{challenge:i});if(n&&n.length>0){a.allowCredentials=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e];a.allowCredentials[e]=Object.assign(Object.assign({},t),{id:es(t.id).buffer,type:t.type||`public-key`,transports:t.transports})}}return a}function _c(e){if(`toJSON`in e&&typeof e.toJSON==`function`)return e.toJSON();let t=e;return{id:e.id,rawId:e.id,response:{attestationObject:ns(new Uint8Array(e.response.attestationObject)),clientDataJSON:ns(new Uint8Array(e.response.clientDataJSON))},type:`public-key`,clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:t.authenticatorAttachment??void 0}}function vc(e){if(`toJSON`in e&&typeof e.toJSON==`function`)return e.toJSON();let t=e,n=e.getClientExtensionResults(),r=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:ns(new Uint8Array(r.authenticatorData)),clientDataJSON:ns(new Uint8Array(r.clientDataJSON)),signature:ns(new Uint8Array(r.signature)),userHandle:r.userHandle?ns(new Uint8Array(r.userHandle)):void 0},type:`public-key`,clientExtensionResults:n,authenticatorAttachment:t.authenticatorAttachment??void 0}}function yc(e){return e===`localhost`||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function bc(){return!!(as()&&`PublicKeyCredential`in window&&window.PublicKeyCredential&&`credentials`in navigator&&typeof(navigator==null?void 0:navigator.credentials)?.create==`function`&&typeof(navigator==null?void 0:navigator.credentials)?.get==`function`)}async function xc(e){try{let t=await navigator.credentials.create(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new dc(`Browser returned unexpected credential type`,t)}:{data:null,error:new dc(`Empty credential response`,t)}}catch(t){return{data:null,error:fc({error:t,options:e})}}}async function Sc(e){try{let t=await navigator.credentials.get(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new dc(`Browser returned unexpected credential type`,t)}:{data:null,error:new dc(`Empty credential response`,t)}}catch(t){return{data:null,error:pc({error:t,options:e})}}}var Cc={hints:[`security-key`],authenticatorSelection:{authenticatorAttachment:`cross-platform`,requireResidentKey:!1,userVerification:`preferred`,residentKey:`discouraged`},attestation:`direct`},wc={userVerification:`preferred`,hints:[`security-key`],attestation:`direct`};function Tc(...e){let t=e=>typeof e==`object`&&!!e&&!Array.isArray(e),n=e=>e instanceof ArrayBuffer||ArrayBuffer.isView(e),r={};for(let i of e)if(i)for(let e in i){let a=i[e];if(a!==void 0){if(Array.isArray(a))r[e]=a;else if(n(a))r[e]=a;else if(t(a)){let n=r[e];r[e]=t(n)?Tc(n,a):Tc(a)}else r[e]=a}}return r}function Ec(e,t){return Tc(Cc,e,t||{})}function Dc(e,t){return Tc(wc,e,t||{})}var Oc=class{constructor(e){this.client=e,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:`webauthn`}))}async _challenge({factorId:e,webauthn:t,friendlyName:n,signal:r},i){try{let{data:a,error:o}=await this.client.mfa.challenge({factorId:e,webauthn:t});if(!a)return{data:null,error:o};let s=r??mc.createNewAbortSignal();if(a.webauthn.type===`create`){let{user:e}=a.webauthn.credential_options.publicKey;if(!e.name){let t=n;if(t)e.name=`${e.id}:${t}`;else{let t=(await this.client.getUser()).data.user,n=t?.user_metadata?.name||t?.email||t?.id||`User`;e.name=`${e.id}:${n}`}}e.displayName||=e.name}switch(a.webauthn.type){case`create`:{let{data:t,error:n}=await xc({publicKey:Ec(a.webauthn.credential_options.publicKey,i?.create),signal:s});return t?{data:{factorId:e,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:t}},error:null}:{data:null,error:n}}case`request`:{let t=Dc(a.webauthn.credential_options.publicKey,i?.request),{data:n,error:r}=await Sc(Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:t,signal:s}));return n?{data:{factorId:e,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:n}},error:null}:{data:null,error:r}}}}catch(e){return z(e)?{data:null,error:e}:{data:null,error:new Ao(`Unexpected error in challenge`,e)}}}async _verify({challengeId:e,factorId:t,webauthn:n}){return this.client.mfa.verify({factorId:t,challengeId:e,webauthn:n})}async _authenticate({factorId:e,webauthn:{rpId:t=typeof window<`u`?window.location.hostname:void 0,rpOrigins:n=typeof window<`u`?[window.location.origin]:void 0,signal:r}={}},i){if(!t)return{data:null,error:new Do(`rpId is required for WebAuthn authentication`)};try{if(!bc())return{data:null,error:new Ao(`Browser does not support WebAuthn`,null)};let{data:a,error:o}=await this.challenge({factorId:e,webauthn:{rpId:t,rpOrigins:n},signal:r},{request:i});if(!a)return{data:null,error:o};let{webauthn:s}=a;return this._verify({factorId:e,challengeId:a.challengeId,webauthn:{type:s.type,rpId:t,rpOrigins:n,credential_response:s.credential_response}})}catch(e){return z(e)?{data:null,error:e}:{data:null,error:new Ao(`Unexpected error in authenticate`,e)}}}async _register({friendlyName:e,webauthn:{rpId:t=typeof window<`u`?window.location.hostname:void 0,rpOrigins:n=typeof window<`u`?[window.location.origin]:void 0,signal:r}={}},i){if(!t)return{data:null,error:new Do(`rpId is required for WebAuthn registration`)};try{if(!bc())return{data:null,error:new Ao(`Browser does not support WebAuthn`,null)};let{data:a,error:o}=await this._enroll({friendlyName:e});if(!a)return await this.client.mfa.listFactors().then(t=>t.data?.all.find(t=>t.factor_type===`webauthn`&&t.friendly_name===e&&t.status!==`unverified`)).then(e=>e?this.client.mfa.unenroll({factorId:e?.id}):void 0),{data:null,error:o};let{data:s,error:c}=await this._challenge({factorId:a.id,friendlyName:a.friendly_name,webauthn:{rpId:t,rpOrigins:n},signal:r},{create:i});return s?this._verify({factorId:a.id,challengeId:s.challengeId,webauthn:{rpId:t,rpOrigins:n,type:s.webauthn.type,credential_response:s.webauthn.credential_response}}):{data:null,error:c}}catch(e){return z(e)?{data:null,error:e}:{data:null,error:new Ao(`Unexpected error in register`,e)}}}};oc();var kc={url:bo,storageKey:xo,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:So,flowType:`implicit`,debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},Ac={},jc=class e{get jwks(){return Ac[this.storageKey]?.jwks??{keys:[]}}set jwks(e){Ac[this.storageKey]=Object.assign(Object.assign({},Ac[this.storageKey]),{jwks:e})}get jwks_cached_at(){return Ac[this.storageKey]?.cachedAt??-(2**53-1)}set jwks_cached_at(e){Ac[this.storageKey]=Object.assign(Object.assign({},Ac[this.storageKey]),{cachedAt:e})}constructor(t){var n;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this._pendingInitNotifications=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;let r=Object.assign(Object.assign({},kc),t);
20if(this.storageKey=r.storageKey,this.instanceID=e.nextInstanceID[this.storageKey]??0,e.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!r.debug,typeof r.debug==`function`&&(this.logger=r.debug),this.instanceID>0&&as()){let e=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(e),this.logDebugMessages&&console.trace(e)}if(this.persistSession=r.persistSession,this.autoRefreshToken=r.autoRefreshToken,this.experimental=r.experimental??{},this.admin=new rc({url:r.url,headers:r.headers,fetch:r.fetch,experimental:this.experimental}),this.url=r.url,this.headers=r.headers,this.fetch=ls(r.fetch),this.detectSessionInUrl=r.detectSessionInUrl,this.flowType=r.flowType,this.hasCustomAuthorizationHeader=r.hasCustomAuthorizationHeader,this.throwOnError=r.throwOnError,this.lockAcquireTimeout=r.lockAcquireTimeout,r.lock!=null&&(this.lock=r.lock),this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=-(2**53-1)),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new Oc(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(r.storage?this.storage=r.storage:ss()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=ic(this.memoryStorage)),r.userStorage&&(this.userStorage=r.userStorage)):(this.memoryStorage={},this.storage=ic(this.memoryStorage)),as()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(e){console.error(`Failed to create a new BroadcastChannel, multi-tab state changes will not be available`,e)}(n=this.broadcastChannel)==null||n.addEventListener(`message`,async e=>{this._debug(`received broadcast notification from other tab or client`,e),(e.data.event===`TOKEN_REFRESHED`||e.data.event===`SIGNED_IN`)&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(e.data.event,e.data.session,!1)}catch(e){this._debug(`#broadcastChannel`,`error`,e)}})}r.skipAutoInitialize||this.initialize().catch(e=>{this._debug(`#initialize()`,`error`,e)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${L}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){if(this.initializePromise)return await this.initializePromise;this._pendingInitNotifications=[],this.initializePromise=(async()=>this.lock==null?await this._initialize():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))();let e=await this.initializePromise,t=this._pendingInitNotifications??[];this._pendingInitNotifications=null;for(let e of t)await this._notifyAllSubscribers(e.event,e.session,e.broadcast);return e}async _initialize(){try{let e={},t=`none`;if(as()&&(e=cs(window.location.href),this._isImplicitGrantCallback(e)?t=`implicit`:await this._isPKCECallback(e)&&(t=`pkce`)),as()&&this.detectSessionInUrl&&t!==`none`){let{data:n,error:r}=await this._getSessionFromURL(e,t);if(r){if(this._debug(`#_initialize()`,`error detecting session from URL`,r),Io(r)){let e=r.details?.code;if(e===`identity_already_exists`||e===`identity_not_found`||e===`single_identity_not_deletable`)return{error:r}}return{error:r}}let{session:i,redirectType:a}=n;return this._debug(`#_initialize()`,`detected session in URL`,i,`redirect type`,a),await this._saveSession(i),setTimeout(async()=>{a===`recovery`?await this._notifyAllSubscribers(`PASSWORD_RECOVERY`,i):await this._notifyAllSubscribers(`SIGNED_IN`,i)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(e){return z(e)?this._returnResult({error:e}):this._returnResult({error:new Ao(`Unexpected error during initialization`,e)})}finally{await this._handleVisibilityChange(),this._debug(`#_initialize()`,`end`)}}async signInAnonymously(e){try{let{data:t,error:n}=await V(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{data:e?.options?.data??{},gotrue_meta_security:{captcha_token:e?.options?.captchaToken}},xform:Ys});if(n||!t)return this._returnResult({data:{user:null,session:null},error:n});let r=t.session,i=t.user;return t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(`SIGNED_IN`,r)),this._returnResult({data:{user:i,session:r},error:null})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signUp(e){let t=null;try{let n;if(`email`in e){let{email:r,password:i,options:a}=e,o=null,s=null;this.flowType===`pkce`&&([o,s,t]=await this._getCodeChallengeAndMethod()),n=await V(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(a?.emailRedirectTo,t),body:{email:r,password:i,data:a?.data??{},gotrue_meta_security:{captcha_token:a?.captchaToken}
20,code_challenge:o,code_challenge_method:s},xform:Ys})}else if(`phone`in e){let{phone:t,password:r,options:i}=e;n=await V(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{phone:t,password:r,data:i?.data??{},channel:i?.channel??`sms`,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Ys})}else throw new Po(`You must provide either an email or phone number and a password`);let{data:r,error:i}=n;if(i||!r)return await As(this.storage,this.storageKey,t),this._returnResult({data:{user:null,session:null},error:i});let a=r.session,o=r.user;return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,a)),this._returnResult({data:{user:o,session:a},error:null})}catch(e){if(await As(this.storage,this.storageKey,t),z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithPassword(e){try{let t;if(`email`in e){let{email:n,password:r,options:i}=e;t=await V(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Xs})}else if(`phone`in e){let{phone:n,password:r,options:i}=e;t=await V(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Xs})}else throw new Po(`You must provide either an email or phone number and a password`);let{data:n,error:r}=t;if(r)return this._returnResult({data:{user:null,session:null},error:r});if(!n||!n.session||!n.user){let e=new B;return this._returnResult({data:{user:null,session:null},error:e})}return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers(`SIGNED_IN`,n.session)),this._returnResult({data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:r})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithOAuth(e){return await this._handleProviderSignIn(e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:e.options?.skipBrowserRedirect})}async exchangeCodeForSession(e,t){return await this.initializePromise,this.lock==null?this._exchangeCodeForSession(e,t):this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(e,t))}async signInWithWeb3(e){let{chain:t}=e;switch(t){case`ethereum`:return await this.signInWithEthereum(e);case`solana`:return await this.signInWithSolana(e);default:throw Error(`@supabase/auth-js: Unsupported chain "${t}"`)}}async signInWithEthereum(e){let t,n;if(`message`in e)t=e.message,n=e.signature;else{let{chain:r,wallet:i,statement:a,options:o}=e,s;if(!as()){if(typeof i!=`object`||!o?.url)throw Error(`@supabase/auth-js: Both wallet and url must be specified in non-browser environments.`);s=i}else if(typeof i==`object`)s=i;else{let e=window;if(`ethereum`in e&&typeof e.ethereum==`object`&&`request`in e.ethereum&&typeof e.ethereum.request==`function`)s=e.ethereum;else throw Error(`@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.`)}let c=new URL(o?.url??window.location.href),l=await s.request({method:`eth_requestAccounts`}).then(e=>e).catch(()=>{throw Error(`@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid`)});if(!l||l.length===0)throw Error(`@supabase/auth-js: No accounts available. Please ensure the wallet is connected.`);let u=sc(l[0]),d=o?.signInWithEthereum?.chainId;d||=cc(await s.request({method:`eth_chainId`})),t=uc({domain:c.host,address:u,statement:a,uri:c.href,version:`1`,chainId:d,nonce:o?.signInWithEthereum?.nonce,issuedAt:o?.signInWithEthereum?.issuedAt??new Date,expirationTime:o?.signInWithEthereum?.expirationTime,notBefore:o?.signInWithEthereum?.notBefore,requestId:o?.signInWithEthereum?.requestId,resources:o?.signInWithEthereum?.resources}),n=await s.request({method:`personal_sign`,params:[lc(t),u]})}try{let{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:`ethereum`,message:t,signature:n},e.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}:null),xform:Ys});if(i)throw i;if(!r||!r.session||!r.user){let e=new B;return this._returnResult({data:{user:null,session:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign({},r),error:i})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithSolana(e){let t,n;if(`message`in e)t=e.message,n=e.signature;else{let{chain:r,wallet:i,statement:a,options:o}=e,s;
20if(!as()){if(typeof i!=`object`||!o?.url)throw Error(`@supabase/auth-js: Both wallet and url must be specified in non-browser environments.`);s=i}else if(typeof i==`object`)s=i;else{let e=window;if(`solana`in e&&typeof e.solana==`object`&&(`signIn`in e.solana&&typeof e.solana.signIn==`function`||`signMessage`in e.solana&&typeof e.solana.signMessage==`function`))s=e.solana;else throw Error(`@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.`)}let c=new URL(o?.url??window.location.href);if(`signIn`in s&&s.signIn){let e=await s.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},o?.signInWithSolana),{version:`1`,domain:c.host,uri:c.href}),a?{statement:a}:null)),r;if(Array.isArray(e)&&e[0]&&typeof e[0]==`object`)r=e[0];else if(e&&typeof e==`object`&&`signedMessage`in e&&`signature`in e)r=e;else throw Error(`@supabase/auth-js: Wallet method signIn() returned unrecognized value`);if(`signedMessage`in r&&`signature`in r&&(typeof r.signedMessage==`string`||r.signedMessage instanceof Uint8Array)&&r.signature instanceof Uint8Array)t=typeof r.signedMessage==`string`?r.signedMessage:new TextDecoder().decode(r.signedMessage),n=r.signature;else throw Error(`@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields`)}else{if(!(`signMessage`in s)||typeof s.signMessage!=`function`||!(`publicKey`in s)||typeof s!=`object`||!s.publicKey||!(`toBase58`in s.publicKey)||typeof s.publicKey.toBase58!=`function`)throw Error(`@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API`);t=[`${c.host} wants you to sign in with your Solana account:`,s.publicKey.toBase58(),...a?[``,a,``]:[``],`Version: 1`,`URI: ${c.href}`,`Issued At: ${o?.signInWithSolana?.issuedAt??new Date().toISOString()}`,...o?.signInWithSolana?.notBefore?[`Not Before: ${o.signInWithSolana.notBefore}`]:[],...o?.signInWithSolana?.expirationTime?[`Expiration Time: ${o.signInWithSolana.expirationTime}`]:[],...o?.signInWithSolana?.chainId?[`Chain ID: ${o.signInWithSolana.chainId}`]:[],...o?.signInWithSolana?.nonce?[`Nonce: ${o.signInWithSolana.nonce}`]:[],...o?.signInWithSolana?.requestId?[`Request ID: ${o.signInWithSolana.requestId}`]:[],...o?.signInWithSolana?.resources?.length?[`Resources`,...o.signInWithSolana.resources.map(e=>`- ${e}`)]:[]].join(` 21`);let e=await s.signMessage(new TextEncoder().encode(t),`utf8`);if(!e||!(e instanceof Uint8Array))throw Error(`@supabase/auth-js: Wallet signMessage() API returned an recognized value`);n=e}}try{let{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:`solana`,message:t,signature:ns(n)},e.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}:null),xform:Ys});if(i)throw i;if(!r||!r.session||!r.user){let e=new B;return this._returnResult({data:{user:null,session:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign({},r),error:i})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async _exchangeCodeForSession(e,t){let n=t?.flowId!=null,r=n?Cs(t?.flowId):as()?Cs(cs(window.location.href)[Eo]):null;n&&!r&&this._debug(`#_exchangeCodeForSession()`,`provided flowId is not a valid flow id`,t?.flowId);let{verifier:i,flowId:a}=n&&!r?{verifier:null,flowId:null}:await ks(this.storage,this.storageKey,r),[o,s]=(i??``).split(`/`);try{if(!o&&this.flowType===`pkce`)throw new Ro;let{data:t,error:n}=await V(this.fetch,`POST`,`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:o},xform:Ys});if(await As(this.storage,this.storageKey,a),n)throw n;if(!t||!t.session||!t.user){let e=new B;return this._returnResult({data:{user:null,session:null,redirectType:null},error:e})}return t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(s===`recovery`?`PASSWORD_RECOVERY`:`SIGNED_IN`,t.session)),this._returnResult({data:Object.assign(Object.assign({},t),{redirectType:s??null}),error:n})}catch(e){if(await As(this.storage,this.storageKey,a),z(e))return this._returnResult({data:{user:null,session:null,redirectType:null},error:e});throw e}}async signInWithIdToken(e){try{let{options:t,provider:n,token:r,access_token:i,nonce:a}=e,{data:o,error:s}=await V(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:r,access_token:i,nonce:a,gotrue_meta_security:{captcha_token:t?.captchaToken}},xform:Ys});if(s)return this._returnResult({data:{user:null,session:null},error:s});if(!o||!o.session||!o.user){let e=new B;return this._returnResult({data:{user:null,session:null},error:e})}return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers(`SIGNED_IN`,o.session)),this._returnResult({data:o,error:s})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithOtp(e){let t=null;try{if(`email`in e){let{email:n,options:r}=e,i=null,a=null;this.flowType===`pkce`&&([i,a,t]=await this._getCodeChallengeAndMethod());let{error:o}=await V(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{email:n,data:r?.data??{},create_user:r?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:r?.captchaToken},code_challenge:i,code_challenge_method:a},redirectTo:this._maybeAppendFlowIdToRedirect(r?.emailRedirectTo,t)});return this._returnResult({data:{user:null,session:null},error:o})}if(`phone`in e){let{phone:t,options:n}=e,{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{phone:t,data:n?.data??{},create_user:n?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:n?.captchaToken},channel:n?.channel??`sms`}});return this._returnResult({data:{user:null,session:null,messageId:r?.message_id},error:i})}throw new Po(`You must provide either an email or phone number.`)}catch(e){if(await As(this.storage,this.storageKey,t),z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async verifyOtp(e){try{let t,n;`options`in e&&(t=e.options?.redirectTo,n=e.options?.captchaToken);let{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:n}}),redirectTo:t,xform:Ys});if(i)throw i;if(!r)throw Error(`An error occurred on token verification.`);let a=r.session,o=r.user;return a?.access_token&&(await this._saveSession(a),await this._notifyAllSubscribers(e.type==`recovery`?`PASSWORD_RECOVERY`:`SIGNED_IN`,a)),this._returnResult({data:{user:o,session:a},error:null})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithSSO(e){let t=null;try{let n=null,r=null;this.flowType===`pkce`&&([n,r,t]=await this._getCodeChallengeAndMethod());let i=await V(this.fetch,`POST`,`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},`providerId`in e?{provider_id:e.providerId}:null),`domain`in e?{domain:e.domain}:null),{redirect_to:this._maybeAppendFlowIdToRedirect(e.options?.redirectTo,t)}),e?.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:n,code_challenge_method:r}),headers:this.headers,xform:Qs});return i.data?.url&&as()&&!e.options?.skipBrowserRedirect&&window.location.assign(i.data.url),this._returnResult(i)}catch(e){if(await As(this.storage,this.storageKey,t),z(e))return this._returnResult({data:null,error:e});throw e}}async reauthenticate(){return await this.initializePromise,this.lock==null?await this._reauthenticate():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)throw n;if(!t)throw new Mo;let{error:r}=await V(this.fetch,`GET`,`${this.url}/reauthenticate`,{headers:this.headers,jwt:t.access_token});return this._returnResult({data:{user:null,session:null},error:r})})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){let t=null;try{let n=`${this.url}/resend`;if(`email`in e){let{email:r,type:i,options:a}=e,o=null,s=null;this.flowType===`pkce`&&([o,s,t]=await this._getCodeChallengeAndMethod());let{error:c}=await V(this.fetch,`POST`,n,{headers:this.headers,body:{email:r,type:i,gotrue_meta_security:{captcha_token:a?.captchaToken}
21,code_challenge:o,code_challenge_method:s},redirectTo:this._maybeAppendFlowIdToRedirect(a?.emailRedirectTo,t)});return c&&await As(this.storage,this.storageKey,t),this._returnResult({data:{user:null,session:null},error:c})}if(`phone`in e){let{phone:t,type:r,options:i}=e,{data:a,error:o}=await V(this.fetch,`POST`,n,{headers:this.headers,body:{phone:t,type:r,gotrue_meta_security:{captcha_token:i?.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:a?.message_id},error:o})}throw new Po(`You must provide either an email or phone number and a type`)}catch(e){if(await As(this.storage,this.storageKey,t),z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async getSession(){return await this.initializePromise,this.lock==null?await this._useSession(async e=>e):await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async e=>e))}async _acquireLock(e,t){this._debug(`#_acquireLock`,`begin`,e);try{if(this.lockAcquired){let e=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),n=(async()=>(await e,await t()))();return this.pendingInLock.push((async()=>{try{await n}catch{}})()),n}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug(`#_acquireLock`,`lock acquired for storage key`,this.storageKey);try{this.lockAcquired=!0;let e=t();for(this.pendingInLock.push((async()=>{try{await e}catch{}})()),await e;this.pendingInLock.length;){let e=[...this.pendingInLock];await Promise.all(e),this.pendingInLock.splice(0,e.length)}return await e}finally{this._debug(`#_acquireLock`,`lock released for storage key`,this.storageKey),this.lockAcquired=!1}})}finally{this._debug(`#_acquireLock`,`end`)}}async _useSession(e){this._debug(`#_useSession`,`begin`);try{return await e(await this.__loadSession())}finally{this._debug(`#_useSession`,`end`)}}async __loadSession(){this._debug(`#__loadSession()`,`begin`),this.lock!=null&&!this.lockAcquired&&this._debug(`#__loadSession()`,`used outside of an acquired lock!`,Error().stack);try{let e=null,t=await fs(this.storage,this.storageKey);if(this._debug(`#getSession()`,`session from storage`,t),t!==null&&(this._isValidSession(t)?e=t:(this._debug(`#getSession()`,`session from storage is not valid`),await this._removeSession())),!e)return{data:{session:null},error:null};let n=e.expires_at?e.expires_at*1e3-Date.now()<vo:!1;if(this._debug(`#__loadSession()`,`session has${n?``:` not`} expired`,`expires_at`,e.expires_at),!n){if(this.userStorage){let t=await fs(this.userStorage,this.storageKey+`-user`);t?.user?e.user=t.user:e.user=Vs()}if(this.storage.isServer&&e.user&&!e.user.__isUserNotAvailableProxy){let t={value:this.suppressGetSessionWarning};e.user=Hs(e.user,t),t.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:e},error:null}}let{data:r,error:i}=await this._callRefreshToken(e.refresh_token);if(i){if(e.expires_at&&e.expires_at*1e3>Date.now()){let t=await fs(this.storage,this.storageKey);if(t&&t.refresh_token===e.refresh_token)return this._returnResult({data:{session:e},error:null})}return this._returnResult({data:{session:null},error:i})}return this._returnResult({data:{session:r},error:null})}finally{this._debug(`#__loadSession()`,`end`)}}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;let t;return t=this.lock==null?await this._getUser():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()),t.data.user&&(this.suppressGetSessionWarning=!0),t}async _getUser(e){try{return e?await V(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:e,xform:Zs}):await this._useSession(async e=>{let{data:t,error:n}=e;if(n)throw n;return!t.session?.access_token&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new Mo}:await V(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:t.session?.access_token??void 0,xform:Zs})})}catch(e){if(z(e))return No(e)&&await this._removeSession(),this._returnResult({data:{user:null},error:e});throw e}}async updateUser(e,t={}){return await this.initializePromise,this.lock==null?await this._updateUser(e,t):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(e,t))}async _updateUser(e,t={}){let n=null;try{return await this._useSession(async r=>{let{data:i,error:a}=r;if(a)throw a;if(!i.session)throw new Mo;let o=i.session,s=null,c=null;this.flowType===`pkce`&&e.email!=null&&([s,c,n]=await this._getCodeChallengeAndMethod());let{data:l,error:u}=await V(this.fetch,`PUT`,`${this.url}/user`,{headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(t?.emailRedirectTo,n),body:Object.assign(Object.assign({},e),{code_challenge:s,code_challenge_method:c}),jwt:o.access_token,xform:Zs});if(u)throw u;return o.user=l.user,await this._saveSession(o),await this._notifyAllSubscribers(`USER_UPDATED`,o),this._returnResult({data:{user:o.user},error:null})})}catch(e){if(await As(this.storage,this.storageKey,n),z(e))return this._returnResult({data:{user:null},error:e});throw e}}async setSession(e){return await this.initializePromise,this.lock==null?await this._setSession(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new Mo;let t=Date.now()/1e3,n=t,r=!0,i=null,{payload:a}=hs(e.access_token);if(a.exp&&(n=a.exp,r=n<=t),r){let{data:t,error:n}=await this._callRefreshToken(e.refresh_token);if(n)return this._returnResult({data:{user:null,session:null},error:n});if(!t)return{data:{user:null,session:null},error:null};i=t}else{let{data:r,error:a}=await this._getUser(e.access_token);if(a)return this._returnResult({data:{user:null,session:null},error:a});i={access_token:e.access_token,refresh_token:e.refresh_token,user:r.user,token_type:`bearer`,expires_in:n-t,expires_at:n},await this._saveSession(i),await this._notifyAllSubscribers(`SIGNED_IN`,i)}return this._returnResult({data:{user:i.user,session:i},error:null})}catch(e){if(z(e))return this._returnResult({data:{session:null,user:null},error:e});throw e}}async refreshSession(e){return await this.initializePromise,this.lock==null?await this._refreshSession(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async t=>{if(!e){let{data:n,error:r}=t;if(r)throw r;e=n.session??void 0}if(!e?.refresh_token)throw new Mo;let{data:n,error:r}=await this._callRefreshToken(e.refresh_token);return r?this._returnResult({data:{user:null,session:null},error:r}):n?this._returnResult({data:{user:n.user,session:n},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async _getSessionFromURL(e,t){try{if(!as())throw new Fo(`No browser detected.`);if(e.error||e.error_description||e.error_code)throw new Fo(e.error_description||`Error in URL with unspecified error_description`,{error:e.error||`unspecified_error`,code:e.error_code||`unspecified_code`});switch(t){case`implicit`:if(this.flowType===`pkce`)throw new Lo(`Not a valid PKCE flow url.`);break;case`pkce`:if(this.flowType===`implicit`)throw new Fo(`Not a valid implicit grant flow url.`)}if(t===`pkce`){if(this._debug(`#_initialize()`,`begin`,`is PKCE flow`,!0),!e.code)throw new Lo(`No code detected.`);let{data:t,error:n}
21=await this._exchangeCodeForSession(e.code,{flowId:e[Eo]});if(n)throw n;let r=new URL(window.location.href);return r.searchParams.delete(`code`),r.searchParams.delete(Eo),window.history.replaceState(window.history.state,``,r.toString()),{data:{session:t.session,redirectType:t.redirectType??null},error:null}}let{provider_token:n,provider_refresh_token:r,access_token:i,refresh_token:a,expires_in:o,expires_at:s,token_type:c}=e;if(!i||!o||!a||!c)throw new Fo(`No session defined in URL`);let l=Math.round(Date.now()/1e3),u=parseInt(o),d=l+u;s&&(d=parseInt(s));let f=d-l;f*1e3<=3e4&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${f}s, should have been closer to ${u}s`);let p=d-u;l-p>=120?console.warn(`@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale`,p,d,l):l-p<0&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew`,p,d,l);let{data:m,error:h}=await this._getUser(i);if(h)throw h;let g={provider_token:n,provider_refresh_token:r,access_token:i,expires_in:u,expires_at:d,refresh_token:a,token_type:c,user:m.user};return window.location.hash=``,this._debug(`#_getSessionFromURL()`,`clearing window.location.hash`),this._returnResult({data:{session:g,redirectType:e.type},error:null})}catch(e){if(z(e))return this._returnResult({data:{session:null,redirectType:null},error:e});throw e}}_isImplicitGrantCallback(e){return typeof this.detectSessionInUrl==`function`?this.detectSessionInUrl(new URL(window.location.href),e):!!(e.access_token||e.error||e.error_description||e.error_code)}async _isPKCECallback(e){if(!e.code)return!1;let t=Cs(e[Eo]);return t&&await fs(this.storage,Ts(this.storageKey,t))?!0:!!await fs(this.storage,`${this.storageKey}-code-verifier`)}async signOut(e={scope:`global`}){return await this.initializePromise,this.lock==null?await this._signOut(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:`global`}){return await this._useSession(async t=>{let n=async()=>{await this._removeSession()},{data:r,error:i}=t;if(i&&!No(i))return this._returnResult({error:i});let a=r.session?.access_token;if(a){let{error:t}=await this.admin.signOut(a,e);if(t&&!(ko(t)&&(t.status===404||t.status===401||t.status===403)||No(t)))return e!==`others`&&await n(),this._returnResult({error:t})}return e!==`others`&&await n(),this._returnResult({error:null})})}onAuthStateChange(e){let t=is(),n={id:t,callback:e,unsubscribe:()=>{this._debug(`#unsubscribe()`,`state change callback with id removed`,t),this.stateChangeEmitters.delete(t)}};return this._debug(`#onAuthStateChange()`,`registered callback with id`,t),this.stateChangeEmitters.set(t,n),(async()=>{await this.initializePromise,this.lock==null?await this._emitInitialSession(t):await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(t)})})(),{data:{subscription:n}}}async _emitInitialSession(e){return await this._useSession(async t=>{try{let{data:{session:n},error:r}=t;if(r)throw r;await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,n),this._debug(`INITIAL_SESSION`,`callback id`,e,`session`,n)}catch(t){await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,null),this._debug(`INITIAL_SESSION`,`callback id`,e,`error`,t),No(t)||Bo(t)||ko(t)&&(t.code===`refresh_token_not_found`||t.code===`refresh_token_already_used`||t.code===`session_expired`)?console.warn(t):console.error(t)}})}async resetPasswordForEmail(e,t={}){let n=null,r=null,i=null;this.flowType===`pkce`&&([n,r,i]=await this._getCodeChallengeAndMethod(!0));try{return await V(this.fetch,`POST`,`${this.url}/recover`,{body:{email:e,code_challenge:n,code_challenge_method:r,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(t.redirectTo,i)})}catch(e){if(await As(this.storage,this.storageKey,i),z(e))return this._returnResult({data:null,error:e});throw e}}async getUserIdentities(){try{let{data:e,error:t}=await this.getUser();if(t)throw t;return this._returnResult({data:{identities:e.user.identities??[]},error:null})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async linkIdentity(e){return`token`in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){let t=null;try{let{data:n,error:r}=await this._useSession(async n=>{let{data:r,error:i}=n;if(i)throw i;let{url:a,flowId:o}=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:!0});return t=o,await V(this.fetch,`GET`,a,{headers:this.headers,jwt:r.session?.access_token??void 0})});if(r)throw r;return as()&&!e.options?.skipBrowserRedirect&&window.location.assign(n?.url),this._returnResult({data:{provider:e.provider,url:n?.url,flowId:t},error:null})}catch(n){if(z(n))return this._returnResult({data:{provider:e.provider,url:null,flowId:t},error:n});throw n}}async linkIdentityIdToken(e){return await this._useSession(async t=>{try{let{error:n,data:{session:r}}=t;if(n)throw n;let{options:i,provider:a,token:o,access_token:s,nonce:c}=e,{data:l,error:u}=await V(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:r?.access_token??void 0,body:{provider:a,id_token:o,access_token:s,nonce:c,link_identity:!0,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Ys});return u?this._returnResult({data:{user:null,session:null},error:u}):!l||!l.session||!l.user?this._returnResult({data:{user:null,session:null},error:new B}):(l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers(`USER_UPDATED`,l.session)),this._returnResult({data:l,error:u}))}catch(e){if(await As(this.storage,this.storageKey,null),z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}})}async unlinkIdentity(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)throw r;return await V(this.fetch,`DELETE`,`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:n.session?.access_token??void 0})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _refreshAccessToken(e){let t=`#_refreshAccessToken()`;this._debug(t,`begin`);try{let n=Date.now();return await _s(async n=>(n>0&&await gs(200*2**(n-1)),this._debug(t,`refreshing attempt`,n),await V(this.fetch,`POST`,`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Ys})),(e,t)=>{let r=200*2**e;return t&&Bo(t)&&Date.now()+r-n<3e4})}catch(e){if(this._debug(t,`error`,e),z(e))return this._returnResult({data:{session:null,user:null},error:e});throw e}finally{this._debug(t,`end`)}}_isValidSession(e){return typeof e==`object`&&!!e&&`access_token`in e&&`refresh_token`in e&&`expires_at`in e}async _handleProviderSignIn(e,t){let{url:n,flowId:r}=await this._getUrlForProvider(`${this.url}/authorize`,e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return this._debug(`#_handleProviderSignIn()`,`provider`,e,`options`,t,`url`,n),as()&&!t.skipBrowserRedirect&&window.location.assign(n),{data:{provider:e,url:n,flowId:r},error:null}}async _recoverAndRefresh(){let e=`#_recoverAndRefresh()`;this._debug(e,`begin`);try{let t=await fs(this.storage,this.storageKey);if(t&&this.userStorage){let e=await fs(this.userStorage,this.storageKey+`-user`);!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!e&&(e={user:t.user},await ds(this.userStorage,this.storageKey+`-user`,e)),t.user=e?.user??Vs()}else if(t&&!t.user&&!t.user){let e=await fs(this.storage,this.storageKey+`-user`);e&&e?.user?(t.user=e.user,await ps(this.storage,this.storageKey+`-user`),await ds(this.storage,this.storageKey,t)):t.user=Vs()}if(this._debug(e,`session from storage`,t),!this._isValidSession(t)){this._debug(e,`session is not val
21id`),t!==null&&await this._removeSession();return}let n=(t.expires_at??1/0)*1e3-Date.now()<vo;if(this._debug(e,`session has${n?``:` not`} expired with margin of ${vo}s`),n){if(this.autoRefreshToken&&t.refresh_token){let{error:n}=await this._callRefreshToken(t.refresh_token);n&&(Ho(n)?this._debug(e,`refresh discarded by commit guard`,n):this._debug(e,`refresh failed`,n))}}else if(t.user&&t.user.__isUserNotAvailableProxy===!0)try{let{data:n,error:r}=await this._getUser(t.access_token);!r&&n?.user?(t.user=n.user,await this._saveSession(t),await this._notifyAllSubscribers(`SIGNED_IN`,t)):this._debug(e,`could not get user data, skipping SIGNED_IN notification`)}catch(t){console.error(`Error getting user data:`,t),this._debug(e,`error getting user data, skipping SIGNED_IN notification`,t)}else await this._notifyAllSubscribers(`SIGNED_IN`,t)}catch(t){this._debug(e,`error`,t),Bo(t)?console.warn(t):console.error(t);return}finally{this._debug(e,`end`)}}async _callRefreshToken(e){var t,n;if(!e)throw new Mo;if(this.refreshingDeferred)return this.refreshingDeferred.promise;if(this.lastRefreshFailure&&this.lastRefreshFailure.refreshToken===e&&Date.now()<this.lastRefreshFailure.expiresAt)return this._debug(`#_callRefreshToken()`,`returning cached failure (cooldown active)`),this.lastRefreshFailure.result;let r=`#_callRefreshToken()`;this._debug(r,`begin`);try{this.refreshingDeferred=new ms;let t=await fs(this.storage,this.storageKey),{data:n,error:i}=await this._refreshAccessToken(e);if(i)throw i;if(!n.session)throw new Mo;let a=await fs(this.storage,this.storageKey);if(t!==null&&(a===null||a.refresh_token!==t.refresh_token)){this._debug(r,`commit guard: storage changed since refresh started, discarding rotated tokens`,{startedWith:`present`,nowHolds:a?`replaced`:`cleared`});let e={data:null,error:new Vo};return this.refreshingDeferred.resolve(e),e}let o=this._sessionRemovalEpoch;if(await this._saveSession(n.session),this._sessionRemovalEpoch!==o){this._debug(r,`commit guard (post-save): _removeSession ran during _saveSession, undoing write`),await ps(this.storage,this.storageKey),this.userStorage&&await ps(this.userStorage,this.storageKey+`-user`);let e={data:null,error:new Vo};return this.refreshingDeferred.resolve(e),e}await this._notifyAllSubscribers(`TOKEN_REFRESHED`,n.session);let s={data:n.session,error:null};return this.lastRefreshFailure=null,this.refreshingDeferred.resolve(s),s}catch(i){if(this._debug(r,`error`,i),z(i)){let n={data:null,error:i};if(!Bo(i)){let e=await fs(this.storage,this.storageKey);e?.expires_at&&e.expires_at*1e3>Date.now()?this._debug(r,`proactive refresh failed, access token still valid â preserving session`):await this._removeSession()}return this.lastRefreshFailure={refreshToken:e,result:n,expiresAt:Date.now()+yo},(t=this.refreshingDeferred)==null||t.resolve(n),n}throw(n=this.refreshingDeferred)==null||n.reject(i),i}finally{this.refreshingDeferred=null,this._debug(r,`end`)}}async _notifyAllSubscribers(e,t,n=!0){if(this._pendingInitNotifications!==null&&n){this._pendingInitNotifications.push({event:e,session:t,broadcast:n});return}let r=`#_notifyAllSubscribers(${e})`;this._debug(r,`begin`,t,`broadcast = ${n}`);try{this.broadcastChannel&&n&&this.broadcastChannel.postMessage({event:e,session:t});let r=[],i=Array.from(this.stateChangeEmitters.values()).map(async n=>{try{await n.callback(e,t)}catch(e){r.push(e)}});if(await Promise.all(i),r.length>0){for(let e=0;e<r.length;e+=1)console.error(r[e]);throw r[0]}}finally{this._debug(r,`end`)}}async _saveSession(e){this._debug(`#_saveSession()`,e),this.suppressGetSessionWarning=!0;let t=Object.assign({},e),n=t.user&&t.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!n&&t.user&&await ds(this.userStorage,this.storageKey+`-user`,{user:t.user});let e=Object.assign({},t);delete e.user;let r=Us(e);await ds(this.storage,this.storageKey,r)}else{let e=Us(t);await ds(this.storage,this.storageKey,e)}}async _removeSession(){this._sessionRemovalEpoch+=1,this._debug(`#_removeSession()`),this.lastRefreshFailure=null,this.suppressGetSessionWarning=!1,await ps(this.storage,this.storageKey),await js(this.storage,this.storageKey),await ps(this.storage,this.storageKey+`-user`),this.userStorage&&await ps(this.userStorage,this.storageKey+`-user`),await this._notifyAllSubscribers(`SIGNED_OUT`,null)}_removeVisibilityChangedCallback(){this._debug(`#_removeVisibilityChangedCallback()`);let e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&as()&&window!=null&&window.removeEventListener&&window.removeEventListener(`visibilitychange`,e)}
21catch(e){console.error(`removing visibilitychange callback failed`,e)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug(`#_startAutoRefresh()`);let e=setInterval(()=>this._autoRefreshTokenTick(),R);this.autoRefreshTicker=e,e&&typeof e==`object`&&typeof e.unref==`function`?e.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(e);let t=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=t,t&&typeof t==`object`&&typeof t.unref==`function`?t.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(t)}async _stopAutoRefresh(){this._debug(`#_stopAutoRefresh()`);let e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e);let t=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,t&&clearTimeout(t)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var e;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(e=this.broadcastChannel)==null||e.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug(`#_autoRefreshTokenTick()`,`begin`),this.lock!=null){try{await this._acquireLock(0,async()=>{try{let e=Date.now();try{return await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/R);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${R}ms, refresh threshold is 3 ticks`),r<=3&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}})}catch(e){if(e instanceof ac)this._debug(`auto refresh token tick lock not available`);else throw e}return}if(this.refreshingDeferred!==null){this._debug(`#_autoRefreshTokenTick()`,`refresh already in flight, skipping`);return}try{let e=Date.now();try{await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/R);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${R}ms, refresh threshold is 3 ticks`),r<=3&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}}async _handleVisibilityChange(){if(this._debug(`#_handleVisibilityChange()`),!as()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(e){this._debug(`#visibilityChangedCallback`,`error`,e)}},window==null||window.addEventListener(`visibilitychange`,this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error(`_handleVisibilityChange`,e)}}async _onVisibilityChanged(e){let t=`#_onVisibilityChanged(${e})`;if(this._debug(t,`visibilityState`,document.visibilityState),document.visibilityState===`visible`){if(this.autoRefreshToken&&this._startAutoRefresh(),!e){if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!==`visible`){this._debug(t,`acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting`);return}await this._recoverAndRefresh()});else{if(document.visibilityState!==`visible`){this._debug(t,`visibilityState is no longer visible, skipping recovery`);return}await this._recoverAndRefresh()}}}else document.visibilityState===`hidden`&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,t,n){let r=n?.redirectTo,i=null,a=null,o=null;this.flowType===`pkce`&&([i,a,o]=await this._getCodeChallengeAndMethod(),r=this._maybeAppendFlowIdToRedirect(r,o));let s=[`provider=${encodeURIComponent(t)}`];if(r&&s.push(`redirect_to=${encodeURIComponent(r)}`),n?.scopes&&s.push(`scopes=${encodeURIComponent(n.scopes)}`),i!=null&&a!=null){let e=new URLSearchParams({code_challenge:`${encodeURIComponent(i)}`,code_challenge_method:`${encodeURIComponent(a)}`});s.push(e.toString())}if(n?.queryParams){let e=new URLSearchParams(n.queryParams);s.push(e.toString())}return n?.skipBrowserRedirect&&s.push(`skip_http_redirect=${n.skipBrowserRedirect}`),{url:`${e}?${s.join(`&`)}`,flowId:o}}_maybeAppendFlowIdToRedirect(e,t){return!e||!t||!this.experimental.appendPkceFlowIdToRedirects?e??void 0:Ms(e,t)}async _getCodeChallengeAndMethod(e=!1){return Ns(this.storage,this.storageKey,e,e=>this._debug(`#_getCodeChallengeAndMethod()`,`evicted oldest pending PKCE verifier slot`,e))}async _unenroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;return r?this._returnResult({data:null,error:r}):await V(this.fetch,`DELETE`,`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:n?.session?.access_token})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _enroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType===`phone`?{phone:e.phone}:e.factorType===`totp`?{issuer:e.issuer}:{}),{data:a,error:o}=await V(this.fetch,`POST`,`${this.url}/factors`,{body:i,headers:this.headers,jwt:n?.session?.access_token});return o?this._returnResult({data:null,error:o}):(e.factorType===`totp`&&a.type===`totp`&&a?.totp?.qr_code&&(a.totp.qr_code=`data:image/svg+xml;utf-8,${a.totp.qr_code}`),this._returnResult({data:a,error:null}))})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _verify(e){let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=Object.assign({challenge_id:e.challengeId},`webauthn`in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type===`create`?_c(e.webauthn.credential_response):vc(e.webauthn.credential_response)})}:{code:e.code}),{data:a,error:o}=await V(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/verify`,{body:i,headers:this.headers,jwt:n?.session?.access_token});return o?this._returnResult({data:null,error:o}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+a.expires_in},a)),await this._notifyAllSubscribers(`MFA_CHALLENGE_VERIFIED`,a),this._returnResult({data:a,error:o}))})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _challenge(e){let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=await V(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:n?.session?.access_token});if(i.error)return i;let{data:a}=i;if(a.type!==`webauthn`)return{data:a,error:null};switch(a.webauthn.type){case`create`:return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:hc(a.webauthn.credential_options.publicKey)})})}),error:null};case`request`:return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:gc(a.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _challengeAndVerify(e){let{data:t,error:n}=await this._challenge({factorId:e.factorId});return n?this._returnResult({data:null,error:n}):await this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})}async _listFactors(){let{data:{user:e},error:t}=await this.getUser();if(t)return{data:null,error:t};let n={all:[],phone:[],totp:[],webauthn:[]};for(let t of e?.factors??[])n.all.push(t),t.status===`verified`&&n[t.factor_type].push(t);return{data:n,error:null}}async _getAuthenticatorAssuranceLevel(e){if(e)try{let{payload:t}=hs(e),n=null;t.aal&&(n=t.aal);let r=n,{data:{user:i},error:a}=await this.getUser(e);if(a)return this._returnResult({data:null,error:a});((i?.factors)?.filter(e=>e.status===`verified`)??[]).length>0&&(r=`aal2`);let o=t.amr||[];return{data:{currentLevel:n,nextLevel:r,currentAuthenticationMethods:o},error:null}}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}let{data:{session:t},error:n}
21=await this.getSession();if(n)return this._returnResult({data:null,error:n});if(!t)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};let{payload:r}=hs(t.access_token),i=null;r.aal&&(i=r.aal);let a=i;(t.user.factors?.filter(e=>e.status===`verified`)??[]).length>0&&(a=`aal2`);let o=r.amr||[];return{data:{currentLevel:i,nextLevel:a,currentAuthenticationMethods:o},error:null}}async _getAuthorizationDetails(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?await V(this.fetch,`GET`,`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:n.access_token,xform:e=>({data:e,error:null})}):this._returnResult({data:null,error:new Mo})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _approveAuthorization(e,t){try{return await this._useSession(async n=>{let{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new Mo});let a=await V(this.fetch,`POST`,`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:`approve`},xform:e=>({data:e,error:null})});return a.data&&a.data.redirect_url&&as()&&!t?.skipBrowserRedirect&&window.location.assign(a.data.redirect_url),a})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _denyAuthorization(e,t){try{return await this._useSession(async n=>{let{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new Mo});let a=await V(this.fetch,`POST`,`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:`deny`},xform:e=>({data:e,error:null})});return a.data&&a.data.redirect_url&&as()&&!t?.skipBrowserRedirect&&window.location.assign(a.data.redirect_url),a})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _listOAuthGrants(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;return n?this._returnResult({data:null,error:n}):t?await V(this.fetch,`GET`,`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:t.access_token,xform:e=>({data:e,error:null})}):this._returnResult({data:null,error:new Mo})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?(await V(this.fetch,`DELETE`,`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:n.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new Mo})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async fetchJwk(e,t={keys:[]}){let n=t.keys.find(t=>t.kid===e);if(n)return n;let r=Date.now();if(n=this.jwks.keys.find(t=>t.kid===e),n&&this.jwks_cached_at+6e5>r)return n;let{data:i,error:a}=await V(this.fetch,`GET`,`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(a)throw a;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=r,n=i.keys.find(t=>t.kid===e),!n)?null:n}async getClaims(e,t={}){try{let n=e;if(!n){let{data:e,error:t}
21=await this.getSession();if(t||!e.session)return this._returnResult({data:null,error:t});n=e.session.access_token}let{header:r,payload:i,signature:a,raw:{header:o,payload:s}}=hs(n);if(!t?.allowExpired)try{Is(i.exp)}catch(e){throw new Wo(e instanceof Error?e.message:`JWT validation failed`)}let c=!r.alg||r.alg.startsWith(`HS`)||!r.kid||!(`crypto`in globalThis&&`subtle`in globalThis.crypto)?null:await this.fetchJwk(r.kid,t?.keys?{keys:t.keys}:t?.jwks);if(!c){let{error:e}=await this.getUser(n);if(e)throw e;return{data:{claims:i,header:r,signature:a},error:null}}let l=Ls(r.alg),u=await crypto.subtle.importKey(`jwk`,c,l,!0,[`verify`]);if(!await crypto.subtle.verify(l,u,a,ts(`${o}.${s}`)))throw new Wo(`Invalid JWT signature`);return{data:{claims:i,header:r,signature:a},error:null}}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async signInWithPasskey(e){Bs(this.experimental);try{if(!bc())return this._returnResult({data:null,error:new Ao(`Browser does not support WebAuthn`,null)});let{data:t,error:n}=await this._startPasskeyAuthentication({options:{captchaToken:e?.options?.captchaToken}});if(n||!t)return this._returnResult({data:null,error:n});let{data:r,error:i}=await Sc({publicKey:gc(t.options),signal:e?.options?.signal??mc.createNewAbortSignal()});if(i||!r)return this._returnResult({data:null,error:i??new Ao(`WebAuthn ceremony failed`,null)});let a=vc(r);return this._verifyPasskeyAuthentication({challengeId:t.challenge_id,credential:a})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async registerPasskey(e){Bs(this.experimental);try{if(!bc())return this._returnResult({data:null,error:new Ao(`Browser does not support WebAuthn`,null)});let{data:t,error:n}=await this._startPasskeyRegistration();if(n||!t)return this._returnResult({data:null,error:n});let{data:r,error:i}=await xc({publicKey:hc(t.options),signal:e?.options?.signal??mc.createNewAbortSignal()});if(i||!r)return this._returnResult({data:null,error:i??new Ao(`WebAuthn ceremony failed`,null)});let a=_c(r);return this._verifyPasskeyRegistration({challengeId:t.challenge_id,credential:a})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _startPasskeyRegistration(){Bs(this.experimental);try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return this._returnResult({data:null,error:n});if(!t)return this._returnResult({data:null,error:new Mo});let{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:t.access_token,body:{}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyRegistration(e){Bs(this.experimental);try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new Mo});let{data:i,error:a}=await V(this.fetch,`POST`,`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:n.access_token,body:{challenge_id:e.challengeId,credential:e.credential}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _startPasskeyAuthentication(e){Bs(this.experimental);try{let{data:t,error:n}=await V(this.fetch,`POST`,`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:e?.options?.captchaToken}}});return n?this._returnResult({data:null,error:n}):this._returnResult({data:t,error:null})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyAuthentication(e){Bs(this.experimental);try{let{data:t,error:n}=await V(this.fetch,`POST`,`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:e.challengeId,credential:e.credential},xform:Ys});return n?this._returnResult({data:null,error:n}):(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(`SIGNED_IN`,t.session)),this._returnResult({data:t,error:null}))}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _listPasskeys(){Bs(this.experimental);try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return this._returnResult({data:null,error:n});if(!t)return this._returnResult({data:null,error:new Mo});let{data:r,error:i}=await V(this.fetch,`GET`,`${this.url}/passkeys`,{headers:this.headers,jwt:t.access_token,xform:e=>({data:e,error:null})});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _updatePasskey(e){Bs(this.experimental);try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new Mo});let{data:i,error:a}=await V(this.fetch,`PATCH`,`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:n.access_token,body:{friendly_name:e.friendlyName}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _deletePasskey(e){Bs(this.experimental);try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new Mo});let{error:i}=await V(this.fetch,`DELETE`,`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:n.access_token,noResolveJson:!0});return i?this._returnResult({data:null,error:i}):this._returnResult({data:null,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}};jc.nextInstanceID={};var Mc=jc,Nc=`2.112.3`,Pc=``,Fc;if(typeof Deno<`u`)Pc=`deno`,Fc=Deno.version?.deno;
21else if(typeof document<`u`)Pc=`web`;else if(typeof navigator<`u`&&navigator.product===`ReactNative`)Pc=`react-native`;else{var Ic;Pc=`node`;let e=globalThis.process;Fc=e==null||(Ic=e.version)==null?void 0:Ic.replace(/^v/,``)}var Lc=[`runtime=${Pc}`];Fc&&Lc.push(`runtime-version=${Fc}`);var Rc={headers:{"X-Client-Info":`supabase-js/${Nc}; ${Lc.join(`; `)}`}},U={schema:`public`},zc={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:`implicit`},Bc={},Vc={enabled:!1,respectSamplingDecision:!0};function Hc(e){if(!e||typeof e!=`string`)return null;let t=e.split(`-`);if(t.length!==4)return null;let[n,r,i,a]=t;if(n.length!==2||r.length!==32||i.length!==16||a.length!==2)return null;let o=/^[0-9a-f]+$/i;return!o.test(n)||!o.test(r)||!o.test(i)||!o.test(a)||r===`00000000000000000000000000000000`||i===`0000000000000000`?null:{version:n,traceId:r,parentId:i,traceFlags:a,isSampled:(parseInt(a,16)&1)==1}}function Uc(e,t){if(!e||!t||t.length===0)return!1;let n;if(e instanceof URL)n=e;else try{n=new URL(e)}catch{return!1}for(let e of t)try{if(typeof e==`string`){if(Wc(n.hostname,e))return!0}else if(e instanceof RegExp){if(e.test(n.hostname))return!0}else if(typeof e==`function`&&e(n))return!0}catch{continue}return!1}function Wc(e,t){if(t===e)return!0;if(t.startsWith(`*.`)){let n=t.slice(2);if(e.endsWith(n)&&(e===n||e.endsWith(`.`+n)))return!0}return!1}function Gc(e){let t=[];try{let n=new URL(e);t.push(n.hostname)}catch{}return t.push(`*.supabase.co`,`*.supabase.in`),t.push(`localhost`,`127.0.0.1`,`[::1]`),t}function Kc(e){"@babel/helpers - typeof";return Kc=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Kc(e)}function qc(e,t){if(Kc(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Kc(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Jc(e){var t=qc(e,`string`);return Kc(t)==`symbol`?t:t+``}function Yc(e,t,n){return(t=Jc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xc(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 W(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Xc(Object(n),!0).forEach(function(t){Yc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Zc=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),Qc=()=>Headers,$c=e=>e.startsWith(`sb_publishable_`)||e.startsWith(`sb_secret_`),el=`sb_temp_`,tl=new Set,nl=e=>{if(!e.startsWith(`sb_`)||$c(e)||e.startsWith(el))return;let t=e.match(/^sb_[a-zA-Z0-9]+_/)?.[0]??`unknown`;tl.has(t)||(tl.add(t),console.warn(`@supabase/supabase-js: Unrecognized Supabase API key format. The client will proceed and send this key as-is; if you see authentication errors you may need to upgrade @supabase/supabase-js to a version that recognizes this key type.`))},rl=(e,t,n,r,i,a)=>{let o=Zc(r),s=Qc(),c=i?.enabled===!0,l=i?.respectSamplingDecision!==!1,u=c?Gc(t):null,d=!(a?.omitApiKeyAsBearer&&$c(e));return async(t,r)=>{let i=await n(),a=new s(r?.headers);if(a.has(`apikey`)||a.set(`apikey`,e),!a.has(`Authorization`)){let t=i??(d?e:null);t&&a.set(`Authorization`,`Bearer ${t}`)}if(u){let e=ol(t,u,l);e&&(e.traceparent&&!a.has(`traceparent`)&&a.set(`traceparent`,e.traceparent),e.tracestate&&!a.has(`tracestate`)&&a.set(`tracestate`,e.tracestate),e.baggage&&!a.has(`baggage`)&&a.set(`baggage`,e.baggage))}return o(t,W(W({},r),{},{headers:a}))}},il=!1,al=!1;function ol(e,t,n){let r=Dr();if(!r)return il||(il=!0,console.warn("@supabase/supabase-js: tracePropagation is enabled but the tracing runtime is not loaded, so trace headers will not be attached. Add `import '@supabase/supabase-js/tracing'` at your application entry point (requires the OpenTelemetry API package to be installed). The CDN/UMD build does not support trace propagation.")),null;if(!Uc(typeof e==`string`||e instanceof URL?e:e.url,t))return null;let i=r();if(!i||!i.traceparent){var a;if(i!=null&&(a=i.carrierKeys)!=null&&a.length&&!al){al=!0;let e=i.carrierKeys.includes(`sentry-trace`)?" Sentry detected: set `propagateTraceparent: true` in Sentry.init() to emit it."
21:` Configure your tracing SDK to emit W3C trace context on outgoing requests.`;console.warn(`@supabase/supabase-js: tracePropagation is enabled and a tracing SDK is active, but its propagator wrote [${i.carrierKeys.join(`, `)}] and no W3C traceparent header, so trace headers will not be attached.`+e)}return null}if(n){let e=Hc(i.traceparent);if(e&&!e.isSampled)return{traceparent:i.traceparent}}return i}function sl(e){return typeof e==`boolean`?{enabled:e}:e}function cl(e){return e.endsWith(`/`)?e:e+`/`}function ll(e,t){let{db:n,auth:r,realtime:i,global:a}=e,{db:o,auth:s,realtime:c,global:l}=t,u=sl(e.tracePropagation),d=sl(t.tracePropagation),f={db:W(W({},o),n),auth:W(W({},s),r),realtime:W(W({},c),i),storage:{},global:W(W(W({},l),a),{},{headers:W(W({},l?.headers??{}),a?.headers??{})}),tracePropagation:{enabled:u?.enabled??d?.enabled??!1,respectSamplingDecision:u?.respectSamplingDecision??d?.respectSamplingDecision??!0},accessToken:async()=>``};return e.accessToken?f.accessToken=e.accessToken:delete f.accessToken,f}function ul(e){let t=e?.trim();if(!t)throw Error(`supabaseUrl is required.`);if(!t.match(/^https?:\/\//i))throw Error(`Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.`);try{return new URL(cl(t))}catch{throw Error(`Invalid supabaseUrl: Provided URL is malformed.`)}}var dl=class extends Mc{constructor(e){super(e)}},fl=class{constructor(e,t,n){this.supabaseUrl=e,this.supabaseKey=t;let r=ul(e);if(!t)throw Error(`supabaseKey is required.`);nl(t),this.realtimeUrl=new URL(`realtime/v1`,r),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace(`http`,`ws`),this.authUrl=new URL(`auth/v1`,r),this.storageUrl=new URL(`storage/v1`,r),this.functionsUrl=new URL(`functions/v1`,r);let i=`sb-${r.hostname.split(`.`)[0]}-auth-token`,a={db:U,realtime:Bc,auth:W(W({},zc),{},{storageKey:i}),global:Rc,tracePropagation:Vc},o=ll(n??{},a);this.settings=o,this.storageKey=o.auth.storageKey??``,this.headers=o.global.headers??{},o.accessToken?(this.accessToken=o.accessToken,this.auth=new Proxy({},{get:(e,t)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(t)} is not possible`)}})):this.auth=this._initSupabaseAuthClient(o.auth??{},this.headers,o.global.fetch),this.fetch=rl(t,e,this._getSessionToken.bind(this),o.global.fetch,o.tracePropagation),this.functionsFetch=rl(t,e,this._getSessionToken.bind(this),o.global.fetch,o.tracePropagation,{omitApiKeyAsBearer:!0}),this.realtime=this._initRealtimeClient(W({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},o.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(e=>this.realtime.setAuth(e)).catch(e=>console.warn(`Failed to set initial Realtime auth token:`,e)),this.rest=new ti(new URL(`rest/v1`,r).href,{headers:this.headers,schema:o.db.schema,fetch:this.fetch,timeout:o.db.timeout,urlLengthLimit:o.db.urlLengthLimit,retry:o.db.retry}),this.storage=new I(this.storageUrl.href,this.headers,this.fetch,n?.storage),o.accessToken||this._listenForAuthEvents()}get functions(){return new Ir(this.functionsUrl.href,{headers:this.headers,customFetch:this.functionsFetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,t={},n={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,n)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getSessionToken(){var e=this;if(e.accessToken)return await e.accessToken();let{data:t}=await e.auth.getSession();return t.session?.access_token??null}async _getAccessToken(){var e=this;return await e._getSessionToken()??e.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:i,storageKey:a,flowType:o,lock:s,debug:c,throwOnError:l,experimental:u,lockAcquireTimeout:d,skipAutoInitialize:f},p,m){let h={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new dl({url:this.authUrl.href,headers:W(W({},h),p),storageKey:a,autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:i,flowType:o,lock:s,debug:c,throwOnError:l,experimental:u,fetch:m,lockAcquireTimeout:d,skipAutoInitialize:f,hasCustomAuthorizationHeader:Object.keys(this.headers).some(e=>e.toLowerCase()===`authorization`)})}_initRealtimeClient(e){return new _a(this.realtimeUrl.href,W(W({},e),{},{params:W(W({},{apikey:this.supabaseKey}),e?.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,`CLIENT`,t?.access_token)})}_handleTokenChanged(e,t,n){(e===`TOKEN_REFRESHED`||e===`SIGNED_IN`||e===`INITIAL_SESSION`)&&this.changedAccessToken!==n?(this.changedAccessToken=n,this.realtime.setAuth(n)):e===`SIGNED_OUT`&&(this.realtime.setAuth(),t==`STORAGE`&&this.auth.signOut(),this.changedAccessToken=void 0)}},pl=(e,t,n)=>new fl(e,t,n);function ml(){if(typeof window<`u`||globalThis.Deno!==void 0)return!1;let e=globalThis.process;if(!e)return!1;let t=e.version;if(t==null)return!1;let n=t.match(/^v(\d+)\./);return n?parseInt(n[1],10)<=20:!1}ml()&&console.warn(`â ï¸ Node.js 20 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to N
21ode.js 22 or later. For more information, visit: https://github.com/orgs/supabase/discussions/45715`);var G=pl(`https://wspdkcwuqtofasonrzie.supabase.co`,`sb_publishable_gqPpEvBtf_Wn30hJ3ZDgsg_r_TC_KLJ`,{auth:{persistSession:!0,autoRefreshToken:!0,detectSessionInUrl:!0}}),hl=!!G;function gl(e){return e===`ok`?`/admin`:e===`enroll`?`/admin/mfa`:e===`verify`?`/admin/mfa/verify`:`/admin/login`}async function _l(){if(!G)throw Error(`Supabase is not configured.`);let{data:e}=await G.auth.getSession(),t=e.session?.user;if(!t)return{user:null,admin:!1};let{data:n,error:r}=await G.rpc(`is_admin`);if(r)throw Error(`Admin check failed: ${r.message}`);return{user:t,admin:n===!0}}async function vl(){if(!G)return`anon`;let{user:e,admin:t}=await _l();if(!e||!t)return`anon`;let{data:n}=await G.auth.mfa.getAuthenticatorAssuranceLevel(),{data:r}=await G.auth.mfa.listFactors();return(r?.totp?.filter(e=>e.status===`verified`)??[]).length===0?`enroll`:n?.currentLevel===`aal2`?`ok`:`verify`}async function yl(e,t){if(!G)throw Error(`Supabase is not configured.`);let{data:n,error:r}=await G.auth.signInWithPassword({email:e,password:t});if(r)throw r;let i=n.user?.email??e;try{let{admin:e}=await _l();if(!e)throw await G.auth.signOut(),Error(`Signed in as ${i}, but that account is not marked admin. In the Supabase SQL Editor run:\n\ninsert into public.profiles (id, email, role)\nselect id, email, 'admin' from auth.users\nwhere email = '${i}'\non conflict (id) do update set role = 'admin', email = excluded.email;`)}catch(e){throw e instanceof Error&&e.message.startsWith(`Signed in as`)||await G.auth.signOut(),e}return vl()}async function bl(){G&&await G.auth.signOut()}function xl(){let[e,t]=(0,x.useState)(!1);return(0,x.useEffect)(()=>{if(!G)return;let e=!0,n=()=>{vl().then(n=>{e&&t(n===`ok`)}).catch(()=>{e&&t(!1)})};n();let{data:r}=G.auth.onAuthStateChange(n);return()=>{e=!1,r.subscription.unsubscribe()}},[]),e}var Sl=`art/7b025d53-e81b-4391-ac11-160264f8b699.jpg,art/CELEB-KIDS-info.png-scaled.png,art/CELEB-KIDS-info1.png-scaled.png,art/COL-1080-x-1080.zip-1-scaled.png,art/CREA-1.png-1-scaled.png,art/CREA.png-scaled.png,art/CREAmain.png,art/IMG_5459.jpg,art/logo.png,art/ProtectDaYutes-1-scaled.jpg,art/ProtectDaYutes-scaled.jpg,art/SaskyMali_GLTArtwork-scaled.jpg,art/SaskyMali_GMT_Jpg-scaled.jpg,art/cropped-Screen-Shot-2023-08-05-at-1.42.30-PM-1.png,art/hf_20260531_032237_8189b240-d384-4875-86aa-140687abb7a6-1.jpg,art/hf_20260531_032237_8189b240-d384-4875-86aa-140687abb7a6.jpg,art/update-scaled.png,audio/50-Jiggas.mp3,audio/GLIT_ftMooseMast3.mp3,audio/GLIT_ftMooseMast3_1.mp3,audio/Mooseylion-FUTURISTIC-Visualiser.mp3,audio/No-Relenting.mp3,audio/OJUJU.mp3,audio/OneShot.mp3,audio/Reminder-ft.-1821beatsV4.mp3,audio/STILL-TRAPPING-1.mp3,audio/SaskyMali_ProtectDaYutes.mp3,audio/TRIPS-IN-ABJ.mp3,photos/CCHomepage-1.jpg,photos/CCHomepage-scaled.jpg,photos/CCHomepage2-1-scaled.jpg,photos/CChomepage2-scaled.jpg,photos/DJShot-scaled.jpg,photos/DJshotApril17th-scaled.jpg,photos/DJshotApril1th2-scaled.jpg,photos/IMG_0238_Update-scaled.jpg,photos/IMG_0239-scaled.jpeg,photos/IMG_0679-scaled.jpeg,photos/IMG_2118-Updated-scaled.jpg,photos/IMG_4751-scaled.jpg,photos/IMG_4763-scaled.jpg,photos/IMG_4765-scaled.jpg,photos/IMG_7442-scaled.jpeg,photos/IMG_7443-scaled.jpeg,photos/IMG_7444-scaled.jpeg,photos/IMG_7445-scaled.jpeg,photos/IMG_7483.jpeg,photos/SaskyMali.JPEG`.split(`,`),Cl=`https://wspdkcwuqtofasonrzie.supabase.co`,wl=`media`;function Tl(e){let t=e.split(`/`).pop()??e;return decodeURIComponent(t.split(`?`)[0]).toLowerCase().replace(/-\d+x\d+(?=\.[^.]+$)/,``).replace(/-scaled(?=\.[^.]+$)/,``).replace(/-e\d+(?=\.[^.]+$)/,``)}var El=new Map;for(let e of Sl){let t=Tl(e),n=El.get(t);(!n||e.length<n.length)&&El.set(t,e)}var Dl={"suffrey_suffrey_art.jpg":`art/hf_20260531_032237_8189b240-d384-4875-86aa-140687abb7a6.jpg`,"suffrey_suffrey_art.jpeg":`art/hf_20260531_032237_8189b240-d384-4875-86aa-140687abb7a6.jpg`};function Ol(e){return!hl||!e?e:`${Cl}/storage/v1/object/public/${wl}/${e.replace(/^\/+/,``)}`}function kl(e){if(!e||e.includes(`/storage/v1/render/image/`))return e;let t=e.indexOf(`#`),n=t>
21=0?e.slice(t):``,r=t>=0?e.slice(0,t):e,i=r.indexOf(`?`),a=i>=0?r.slice(i):``,o=i>=0?r.slice(0,i):r;return!/\.webp$/i.test(o)||/-thumb\.webp$/i.test(o)?e:`${o.replace(/\.webp$/i,`-thumb.webp`)}${a}${n}`}function Al(e){let t=decodeURIComponent(e.split(`/`).pop()??e),n=Sl.find(e=>e.split(`/`).pop()?.toLowerCase()===t.toLowerCase());if(n)return n;let r=Tl(t);return Dl[r]??El.get(r)}function jl(e){if(!e)return e;if(/^(art|audio|photos)\//.test(e)){let t=Al(e);return t?Ol(t):hl?Ol(e):e}if(!hl)return e;let t=e.match(/(?:wp-content\/uploads\/\d{4}\/\d{2}\/|\/media\/(?:art|audio|photos)\/)([^/?#]+)/i)?.[1]??(e.includes(`/`)?void 0:e);if(!t)return/^https?:\/\//i.test(e)?e:Ol(e);let n=Al(decodeURIComponent(t));return n?Ol(n):e}function Ml(e){return e.replace(/https?:\/\/[^"'<\s]+/g,e=>/wp-content\/uploads|i0\.wp\.com\/saskymalimusic/i.test(e)?jl(e):e)}function Nl(e,t){return`https://open.spotify.com/embed/${e}/${t}`}function Pl(){let[e,t]=(0,x.useState)(!1),[n,r]=(0,x.useState)(!1),i=xl();return(0,x.useEffect)(()=>{let e=()=>{r(window.scrollY>300)};return window.addEventListener(`scroll`,e),()=>window.removeEventListener(`scroll`,e)},[]),(0,j.jsxs)(`div`,{className:`min-h-screen bg-ink text-paper`,children:[(0,j.jsxs)(`header`,{className:`sticky top-0 z-40 border-b border-line/80 bg-ink/85 backdrop-blur`,children:[(0,j.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-3 px-4 py-2 md:px-8 md:py-2.5`,children:[(0,j.jsxs)(k,{to:`/`,className:`flex min-w-0 items-center gap-2.5 md:gap-3`,onClick:()=>t(!1),children:[(0,j.jsx)(`img`,{src:jl(A.logo),alt:`${A.name} Music`,className:`h-8 w-8 shrink-0 rounded-sm bg-paper object-contain md:h-10 md:w-10`}),(0,j.jsx)(`span`,{className:`truncate font-display text-sm tracking-[0.12em] text-gold md:text-base md:tracking-[0.18em]`,children:A.tagline})]}),(0,j.jsxs)(`nav`,{className:`hidden items-center justify-end gap-6 md:flex lg:gap-8`,children:[hr.map(e=>(0,j.jsx)(Fn,{to:e.to,end:e.to===`/`,className:({isActive:e})=>`text-xs uppercase tracking-[0.16em] lg:text-sm ${e?`text-gold`:`text-muted hover:text-paper`}`,children:e.label},e.to)),i?(0,j.jsx)(Fn,{to:`/admin`,className:({isActive:e})=>`text-xs uppercase tracking-[0.16em] lg:text-sm ${e?`text-gold`:`text-gold/80 hover:text-gold`}`,children:`Admin`}):null]}),(0,j.jsx)(`button`,{type:`button`,className:`md:hidden`,"aria-label":e?`Close menu`:`Open menu`,onClick:()=>t(e=>!e),children:e?(0,j.jsx)(pr,{}):(0,j.jsx)(or,{})})]}),e?(0,j.jsxs)(`nav`,{className:`grid justify-items-start gap-3 border-t border-line px-4 py-4 md:hidden`,children:[hr.map(e=>(0,j.jsx)(Fn,{to:e.to,end:e.to===`/`,onClick:()=>t(!1),className:({isActive:e})=>`text-sm uppercase tracking-[0.16em] ${e?`text-gold`:`text-muted`}`,children:e.label},e.to)),i?(0,j.jsx)(Fn,{to:`/admin`,onClick:()=>t(!1),className:`text-sm uppercase tracking-[0.16em] text-gold`,children:`Admin`}):null]}):null]}),(0,j.jsx)(`main`,{children:(0,j.jsx)(Gt,{})}),(0,j.jsx)(`footer`,{className:`mt-16 border-t border-line`,children:(0,j.jsxs)(`div`,{className:`mx-auto flex max-w-3xl flex-col items-center gap-5 px-4 py-10 text-center text-sm text-muted md:px-5`,children:[(0,j.jsx)(Tr,{}),(0,j.jsxs)(`p`,{children:[`© `,new Date().getFullYear(),` `,A.name,`. Artist · Producer · DJ.`]}),(0,j.jsx)(k,{to:`/subscribe`,children:`Subscribe`})]})}),(0,j.jsx)(`button`,{type:`button`,onClick:()=>{window.scrollTo({top:0,behavior:`smooth`})},className:`fixed bottom-6 right-6 z-50 rounded-full border border-line bg-gold p-3 text-ink shadow-lg transition-all duration-300 hover:scale-105 active:scale-95 ${n?`opacity-100 translate-y-0 pointer-events-auto`:`opacity-0 translate-y-4 pointer-events-none`}`,"aria-label":`Go to top`,children:(0,j.jsx)(ir,{className:`h-5 w-5`})})]})}function Fl({kicker:e,title:t,intro:n}){return(0,j.jsxs)(`header`,{className:`mx-auto max-w-3xl px-4 pb-8 pt-10 text-center md:px-5 md:pb-10 md:pt-14`,children:[e?(0,j.jsx)(`p`,{className:`mb-3 text-[11px] uppercase tracking-[0.28em] text-gold md:text-xs`,children:e}):null,(0,j.jsx)(`h1`,{className:`font-display text-3xl uppercase leading-none break-words md:text-6xl`,children:t}),n?(0,j.jsx)(`p`,{className:`mx-auto mt-4 max-w-2xl text-base text-muted md:mt-5 md:text-lg`,children:n}):null]})}function Il(e){document.title=e}function Ll(){return(0,x.useEffect)(()=>{Il(`About â ${A.name}`)},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:`Bio`,title:`About`,intro:`Uc
21he Osakwe â Afro-fusion artist, producer, and DJ.`}),(0,j.jsxs)(`div`,{className:`mx-auto grid max-w-5xl gap-8 px-4 pb-20 md:grid-cols-2 md:items-start md:gap-12 md:px-5`,children:[(0,j.jsx)(`img`,{src:jl(A.portrait),alt:`Sasky Mali`,className:`h-[28rem] w-full rounded-2xl object-cover object-[50%_18%] md:h-[40rem] md:rounded-3xl`}),(0,j.jsxs)(`div`,{className:`text-left`,children:[(0,j.jsx)(`p`,{className:`text-base leading-relaxed text-paper/90 md:text-lg md:leading-8`,children:`Sasky Mali, real name Uche Osakwe, is a Nigerian-born and raised Afro-fusion artist, music producer, and DJ now based in Toronto. He has been inside the creative process since he was young â writing, producing, composing, and DJing with a sharp ear for detail.`}),(0,j.jsx)(`p`,{className:`mt-5 text-base leading-relaxed text-muted md:mt-6 md:text-lg md:leading-8`,children:`The records sit on the raw questions of the society he grew up in and the city he lives in now. Music is the tool: influence minds, spark change, and reach people who still feel a song in their chest â one beat at a time.`}),(0,j.jsxs)(`div`,{className:`mt-8 flex flex-wrap gap-2`,children:[(0,j.jsx)(k,{to:`/contents`,className:`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink`,children:`Contents`}),(0,j.jsx)(k,{to:`/artiste-catalog`,className:`rounded-full border border-paper/30 px-3.5 py-1.5 text-xs uppercase tracking-[0.14em]`,children:`Catalog`}),(0,j.jsx)(k,{to:`/subscribe`,className:`rounded-full border border-paper/30 px-3.5 py-1.5 text-xs uppercase tracking-[0.14em]`,children:`Subscribe`})]})]})]})]})}function Rl(){let[e,t]=(0,x.useState)(!1);(0,x.useEffect)(()=>{Il(`Bookings â ${A.name}`)},[]);function n(e){e.preventDefault();let n=new FormData(e.currentTarget);if(n.get(`website`))return;let r=[`Name: ${n.get(`name`)??``}`,`Email: ${n.get(`email`)??``}`,`Service: ${n.get(`service`)??``}`,`Date: ${n.get(`date`)??``}`,``,String(n.get(`message`)??``)].join(` 22`),i=`mailto:${A.email}?subject=Booking%20inquiry&body=${encodeURIComponent(r)}`;window.location.href=i,t(!0)}return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:`Work`,title:`Bookings`,intro:`DJ sets, production, features, and live work. Tell me what you need.`}),(0,j.jsxs)(`form`,{onSubmit:n,className:`mx-auto grid max-w-xl gap-4 px-5 pb-20 text-left`,children:[(0,j.jsxs)(`label`,{className:`grid gap-2 text-sm`,children:[`Name`,(0,j.jsx)(`input`,{required:!0,name:`name`,className:`rounded-xl border border-line bg-panel px-4 py-3`})]}),(0,j.jsxs)(`label`,{className:`grid gap-2 text-sm`,children:[`Email`,(0,j.jsx)(`input`,{required:!0,type:`email`,name:`email`,className:`rounded-xl border border-line bg-panel px-4 py-3`})]}),(0,j.jsxs)(`label`,{className:`grid gap-2 text-sm`,children:[`Service`,(0,j.jsxs)(`select`,{name:`service`,className:`rounded-xl border border-line bg-panel px-4 py-3`,children:[(0,j.jsx)(`option`,{children:`DJ set`}),(0,j.jsx)(`option`,{children:`Production`}),(0,j.jsx)(`option`,{children:`Feature / vocal`}),(0,j.jsx)(`option`,{children:`Other`})]})]}),(0,j.jsxs)(`label`,{className:`grid gap-2 text-sm`,children:[`Date / window`,(0,j.jsx)(`input`,{name:`date`,className:`rounded-xl border border-line bg-panel px-4 py-3`})]}),(0,j.jsxs)(`label`,{className:`grid gap-2 text-sm`,children:[(0,j.jsx)(`span`,{className:`sr-only`,children:`Company website`}),(0,j.jsx)(`input`,{name:`website`,tabIndex:-1,autoComplete:`off`,className:`absolute -left-[9999px]`,"aria-hidden":`true`})]}),(0,j.jsxs)(`label`,{className:`grid gap-2 text-sm`,children:[`Details`,(0,j.jsx)(`textarea`,{required:!0,name:`message`,rows:5,className:`rounded-xl border border-line bg-panel px-4 py-3`})]}),(0,j.jsx)(`button`,{type:`submit`,className:`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink`,children:`Send inquiry`}),e?(0,j.jsxs)(`p`,{className:`text-sm text-muted`,children:[`Opens your email app to `,A.email,`. Supabase + Turnstile come next.`]}):null]})]})}function K({kind:e,id:t,title:n,tall:r=!1}){return(0,j.jsx)(`iframe`,{className:`mx-auto w-full max-w-xl rounded-xl border-0 ${r?`h-[352px]`:`h-[152px]`}
22`,src:Nl(e,t),allow:`autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture`,loading:`lazy`,title:n??`Spotify`})}function q(e){return e===`ep`?`album`:e}function J(e){let t=e.trim(),n=t.match(/open\.spotify\.com\/(?:intl-[a-z]+\/)?(track|album|playlist)\/([A-Za-z0-9]+)/i);return n?{kind:n[1].toLowerCase(),id:n[2]}:/^[A-Za-z0-9]{22}$/.test(t)?{kind:`track`,id:t}:null}function Y(e){return e.toLowerCase().replace(/['â]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)}function X(e){return e.spotify_id?{title:e.title,kind:q(e.kind),id:e.spotify_id,ffm:e.ffm_url}:null}async function zl(){if(!G)return vr;let{data:e,error:t}=await G.from(`releases`).select(`title, kind, spotify_id, ffm_url`).eq(`status`,`published`).eq(`catalog`,`artist`).order(`sort_order`);if(t||!e?.length)return vr;let n=e.map(X).filter(e=>!!e);if(!n.length)return vr;let r=new Set(n.map(e=>e.id)),i=vr.filter(e=>!r.has(e.id));return i.length?[...i,...n]:n}async function Bl(){if(!G)return[];let{data:e,error:t}=await G.from(`releases`).select(`id, title, slug, kind, spotify_id, ffm_url, catalog, status, sort_order`).order(`sort_order`);return t||!e?[]:e}function Vl(){let[e,t]=(0,x.useState)(vr);return(0,x.useEffect)(()=>{Il(`Artiste Catalog â ${A.name}`),zl().then(t)},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:`Artist`,title:`Artiste Catalog`,intro:`Latest works first. Spotify is the preferred listen â smart links cover everywhere else.`}),(0,j.jsx)(`div`,{className:`mx-auto grid max-w-3xl gap-8 px-5 pb-20`,children:e.map(e=>(0,j.jsxs)(`article`,{className:`rounded-2xl border border-line bg-panel p-5 text-center`,children:[(0,j.jsxs)(`div`,{className:`mb-4`,children:[(0,j.jsx)(`h2`,{className:`font-display text-2xl uppercase`,children:e.title}),(0,j.jsxs)(`div`,{className:`mt-3 flex flex-wrap justify-center gap-2`,children:[(0,j.jsx)(`a`,{href:`https://open.spotify.com/${e.kind}/${e.id}`,target:`_blank`,rel:`noreferrer`,className:`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink`,children:`Spotify`}),e.ffm?(0,j.jsx)(`a`,{href:e.ffm,className:`rounded-full border border-paper/30 px-3.5 py-1.5 text-xs uppercase tracking-[0.14em]`,target:`_blank`,rel:`noreferrer`,children:`Smart link`}):null]})]}),(0,j.jsx)(K,{kind:e.kind,id:e.id,title:e.title})]},e.id))})]})}var Hl=null;function Ul(e,t){return t?.trim()?t.trim():decodeURIComponent(e.split(`/`).pop()??``).replace(/\.[^.]+$/,``).replace(/^SaskyMali[_-]?/i,``).replace(/_FinalV\d+$/i,``).replace(/[-_]+/g,` `).trim()}function Wl(e){return!Number.isFinite(e)||e<0?`0:00`:`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}function Gl({src:e,title:t}){let n=(0,x.useRef)(null),[r,i]=(0,x.useState)(!1),[a,o]=(0,x.useState)(0),[s,c]=(0,x.useState)(0),l=(0,x.useId)(),u=Ul(e,t);(0,x.useEffect)(()=>{let e=n.current;if(!e)return;let t=()=>o(e.currentTime),r=()=>c(e.duration||0),a=()=>i(!1),s=()=>{Hl!==e&&i(!1)};return e.addEventListener(`timeupdate`,t),e.addEventListener(`loadedmetadata`,r),e.addEventListener(`ended`,a),e.addEventListener(`pause`,s),()=>{e.removeEventListener(`timeupdate`,t),e.removeEventListener(`loadedmetadata`,r),e.removeEventListener(`ended`,a),e.removeEventListener(`pause`,s)}},[e]);function d(){let e=n.current;if(e){if(r){e.pause(),i(!1);return}Hl&&Hl!==e&&Hl.pause(),Hl=e,e.play(),i(!0)}}function f(e){let t=n.current;t&&(t.currentTime=e,o(e))}return(0,j.jsxs)(`figure`,{className:`audio-card`,children:[(0,j.jsx)(`figcaption`,{children:u}),(0,j.jsxs)(`div`,{className:`audio-row`,children:[(0,j.jsx)(`button`,{type:`button`,className:`audio-play`,onClick:d,"aria-label":r?`Pause ${u}`:`Play ${u}`,children:r?(0,j.jsx)(sr,{size:18,fill:`currentColor`}):(0,j.jsx)(lr,{size:18,fill:`currentColor`})}),(0,j.jsxs)(`label`,{className:`audio-slider`,htmlFor:l,children:[(0,j.jsxs)(`span`,{className:`sr-only`,children:[`Seek `,u]}),(0,j.jsx)(`input`,{id:l,type:`range`,min:0,max:s||0,step:.1,value:a,onChange:e=>f(Number(e.target.value))})]}),(0,j.jsxs)(`span`,{className:`audio-time`,children:[Wl(a),` / `,Wl(s)]})]}),(0,j.jsx)(`audio`,{ref:n,src:e,preload:`metadata`})]})}var Kl={bio:`Sasky Mali, real name Uche Osakwe, is a Nigerian-born Afro-fusion artist, producer, and DJ based in Toronto. He has been inside the craft since childhood â writing, producing, and now DJing with the same ear for detail. The music sits on the raw questions of home and the city he lives in now, aimed at a global room of people who still feel records in their chest.`,photo:`photos/DJshotApril1th2-scaled.jpg`,tracks:[{title:`We Covered`,src:`https://saskymalimusic.com/w
22p-content/uploads/2024/12/SaskyMali_WeCovered_FinalV2.mp3`},{title:`Protect Da Yutes (Prod. S.O.S Beatz)`,src:`audio/SaskyMali_ProtectDaYutes.mp3`},{title:`God's Love Is True ft Moosey Lion`,src:`audio/GLIT_ftMooseMast3.mp3`}],photos:[`photos/DJshotApril1th2-scaled.jpg`,`photos/IMG_4763-scaled.jpg`,`photos/DJshotApril17th-scaled.jpg`,`photos/DJShot-scaled.jpg`,`photos/IMG_4751-scaled.jpg`,`photos/IMG_4765-scaled.jpg`],quotes:[{text:`Incredible music style. Catchy and urban, with that dancehall feeling. Approved for broadcast on The Mark & Wayne Show.`,source:`Glacer FM`},{text:`Impeccable production â it sounds like it was made with a lot of love. We'll be sharing this with our readers.`,source:`UpdateCharts`}],press:[{outlet:`Chunedesk`,title:`Sasky Mali releases inspiring Afro-Caribbean single âStick Upâ`,href:`https://chunedesk.com/saski-mali-releases-inspiring-afro-caribbean-single-stick-up`}],achievements:[`100,000+ streams across platforms`,`100+ produced tracks released for Sasky Mali and other artists`,`Campus Heat Awards 2016 â Entertainer of the Year (Alumni) nomination`],live:{id:`WieKBmZabpQ`,title:`Stick Up â live at RISE Open Mic, Toronto`},streaming:`https://ffm.bio/saskymali`};function ql(){return(0,x.useEffect)(()=>{Il(`EPK â ${A.name}`)},[]),(0,j.jsxs)(`article`,{className:`pb-24`,children:[(0,j.jsx)(Fl,{kicker:`One sheet`,title:`Electronic Press Kit`,intro:`Short bio, records, press, and booking contact â written for this site, not a WordPress dump.`}),(0,j.jsxs)(`section`,{className:`mx-auto grid max-w-5xl items-center gap-6 px-4 md:grid-cols-2 md:gap-10 md:px-5`,children:[(0,j.jsx)(`img`,{src:jl(Kl.photo),alt:`Sasky Mali`,className:`h-52 w-full rounded-2xl object-cover md:h-[32rem] md:rounded-3xl`}),(0,j.jsxs)(`div`,{className:`text-left md:text-left`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.28em] text-gold`,children:`Bio`}),(0,j.jsx)(`h2`,{className:`mt-3 font-display text-3xl uppercase md:text-4xl`,children:`Uche Osakwe`}),(0,j.jsx)(`p`,{className:`mt-4 text-base leading-relaxed text-paper/90 md:mt-5 md:text-lg`,children:Kl.bio}),(0,j.jsx)(k,{to:`/about-sasky-mali`,className:`mt-6 inline-block text-sm text-gold`,children:`Full bio â`})]})]}),(0,j.jsxs)(`section`,{className:`mx-auto mt-14 max-w-3xl px-4 text-center md:mt-24 md:px-5`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.28em] text-gold`,children:`Listen`}),(0,j.jsx)(`h2`,{className:`mt-3 font-display text-3xl uppercase md:text-4xl`,children:`Select tracks`}),(0,j.jsx)(`div`,{className:`mt-10 grid gap-5`,children:Kl.tracks.map(e=>(0,j.jsx)(Gl,{src:jl(e.src),title:e.title},e.title))})]}),(0,j.jsxs)(`section`,{className:`mx-auto mt-14 max-w-4xl px-4 text-center md:mt-24 md:px-5`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.28em] text-gold`,children:`Press`}),(0,j.jsx)(`h2`,{className:`mt-3 font-display text-3xl uppercase md:text-4xl`,children:`What theyâre saying`}),(0,j.jsx)(`div`,{className:`mt-8 grid gap-4 md:mt-12 md:grid-cols-2 md:gap-8`,children:Kl.quotes.map(e=>(0,j.jsxs)(`blockquote`,{className:`rounded-2xl border border-line bg-panel px-5 py-7 text-left md:rounded-3xl md:px-8 md:py-10`,children:[(0,j.jsxs)(`p`,{className:`font-display text-xl leading-snug text-paper md:text-2xl`,children:[`â`,e.text,`â`]}),(0,j.jsx)(`cite`,{className:`mt-6 block text-xs not-italic uppercase tracking-[0.2em] text-gold`,children:e.source})]},e.source))})]}),(0,j.jsxs)(`section`,{className:`mx-auto mt-14 max-w-3xl px-4 text-center md:mt-20 md:px-5`,children:[(0,j.jsx)(`h2`,{className:`font-display text-3xl uppercase`,children:`Press releases`}),(0,j.jsx)(`div`,{className:`mt-8 grid gap-4`,children:Kl.press.map(e=>(0,j.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,className:`block rounded-2xl border border-line bg-panel px-5 py-6 text-left transition hover:border-gold md:rounded-3xl md:px-8 md:py-8`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.22em] text-gold`,children:e.outlet}),(0,j.jsx)(`p`,{className:`mt-3 font-display text-2xl uppercase leading-snug`,children:e.title}),(0,j.jsx)(`p`,{className:`mt-3 truncate text-sm text-muted`,children:e.href})]},e.href))})]}),(0,j.jsxs)(`section`,{className:`mx-auto mt-14 max-w-5xl px-4 text-center md:mt-24 md:px-5`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.28em] text-gold`,children:`Gallery`}),(0,j.jsx)(`h2`,{className:`mt-3 font-display text-3xl uppercase md:text-4xl`,children:`Press photos`}),(0,j.jsx)(`div`,{className:`mt-6 grid grid-cols-2 gap-2 md:mt-10 md:grid-cols-3 md:gap-4`,children:Kl.photos.map(e=>(0,j.jsx)(`a`,{href:jl(e),target:`_blank`,rel:`noreferrer`,children:(0,j.jsx)(`img`,{src:jl(e),alt:`Sasky Mali press`,className:`h-36 w-full rounded-xl object-cover md:h-80 md:rounded-2xl`})},e))})]}),(0,j.jsxs)(`section`,{className:`mx-auto mt-14 max-w-3xl px-4 text-center md:mt-24 md:px-5`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.28em] text-gold`,children:`Notes`}),(0,j.jsx)(`h2`,{className:`mt-3 font-display text-3xl uppercase md:text-4xl`,children:`Achievements`}),(0,j.jsx)(`ul`,{className:`mt-6 grid gap-3 text-base text-paper/90 md:mt-10 md:gap-4 md:text-lg`,children:Kl.achievements.map(e=>(0,j.jsx)(`li`,{className:`rounded-2xl border border-line px-4 py-4 md:px-6 md:py-5`,children:e},e))}),(0,j.jsx)(k,{to:`/music-production-catalog`,className:`mt-6 inline-block text-sm text-gold`,children:`Production catalog â`})]}),(0,j.jsxs)(`section`,{className:`mx-auto mt-14 max-w-3xl px-4 text-center md:mt-24 md:px-5`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.28em] text-gold`,children:`Stage`}),(0,j.jsx)(`h2`,{className:`mt-3 font-display text-3xl uppercase md:text-4xl`,children:`Live`}),(0,j.jsx)(`p`,{className:`mt-3 text-sm text-muted`,children:Kl.live.title}),(0,j.jsx)(`div`,{className:`mt-6 overflow-hidden rounded-2xl border border-line md:mt-10 md:rounded-3xl`,children:(0,j.jsx)(`iframe`,{className:`aspect-video w-full max-w-full`,src:`https://www.youtube-nocookie.com/embed/${Kl.live.id}?rel=0`,title:Kl.live.title,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:!0})}),(0,j.jsxs)(`div`,{className:`mt-6 flex flex-wrap justify-center gap-4 text-sm`,children:[(0,j.jsx)(k,{to:`/dj-session-vol-1`,className:`text-gold`,children:`DJ Session Vol. 1`}),(0,j.jsx)(`a`,{href:Kl.streaming,target:`_blank`,rel:`noreferrer`,children:`All streaming links`})]})]}),(0,j.jsxs)(`section`,{className:`mx-auto mt-14 max-w-3xl px-4 text-center md:mt-24 md:px-5`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.28em] text-gold`,children:`Book`}),(0,j.jsx)(`h2`,{className:`mt-3 font-display text-3xl uppercase md:text-4xl`,children:`Contact`}),(0,j.jsx)(Tr,{className:`mt-8`}),(0,j.jsx)(`p`,{className:`mt-4 text-sm text-muted`,children:A.email}),(0,j.jsx)(`p`,{className:`mt-1 text-sm text-muted`,children:A.phone}
22),(0,j.jsx)(k,{to:`/bookings`,className:`mt-8 inline-flex rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink`,children:`Booking form`})]})]})}var Jl=JSON.parse(`[{"title":"Bio","slug":"about-sasky-mali","date":"2023-07-28 06:36:49","html":"<p>Sasky Mali, real name Uche Osakwe, is a Nigerian-born and raised Afro-fusion artist, music producer, and DJ. Currently based in Toronto, Canada, Sasky has been immersed in the creative music process since a young age, finding deep satisfaction in crafting sounds that resonate. With years of experience producing and composing, heâs honed a sharp ear for musical detailâskills that shine through in his DJing, a craft heâs been mastering for over a year. Music is Sasky Maliâs weapon of choice, a tool he wields to influence minds and spark change. His work dives into the raw, deep issues of the society he grew up in and the one he now navigates, blending them into his Afro-fusion sound. Sasky dreams of harnessing this power to connect with a global audience of passionate music lovers, aiming to shift the world for the better, one beat at a time.</p>\\n\\n<figure class=\\"wp-block-image size-large\\">
22<img src=\\"https://saskymalimusic.com/wp-content/uploads/2023/07/B4C05F73-365B-4B06-91C5-B992B7827460-1024x640.jpg\\" alt=\\"\\" class=\\"wp-image-109\\"/></figure>\\n\\n<p>Click on the social media contact buttons at the bottom or <a href=\\"/subscribe/\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">subscribe</a> to follow the growth!</p>\\n\\n<div class=\\"wp-block-group\\">\\n<div class=\\"wp-block-buttons has-custom-font-size has-small-font-size\\">\\n<div class=\\"wp-block-button is-style-outline\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/visuals/\\">Check out music videos</a></div>\\n</div>\\n\\n<div class=\\"wp-block-buttons has-custom-font-size has-small-font-size\\">\\n<div class=\\"wp-block-button is-style-outline\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/artiste-catalog/\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">Artiste Catalog</a></div>\\n</div>\\n\\n<p></p>\\n</div>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/w
22p-content/uploads/2023/07/B4C05F73-365B-4B06-91C5-B992B7827460-1024x640.jpg","https://saskymalimusic.com/wp-content/uploads/2023/07/B4C05F73-365B-4B06-91C5-B992B7827460-1024x640.jpg"]},"excerpt":"Sasky Mali, real name Uche Osakwe, is a Nigerian-born and raised Afro-fusion artist, music producer, and DJ. Currently based in Toronto, Canada, Sasky has been immersed in the creative music process since a young age, f","role":"sasky"},{"title":"Afro Hub by Sasky Mali","slug":"home","date":"2023-07-28 06:35:23","html":"<div class=\\"wp-block-cover alignwide\\" style=\\"margin-top:0;padding-top:5vw;padding-right:5vw;padding-bottom:5vw;padding-left:5vw;min-height:802px\\"><img class=\\"wp-block-cover__image-background wp-image-81\\" alt=\\"A dim shot of two chairs and microphone stands on an empty stage\\" src=\\"https://saskymalimusic.com/wp-content/uploads/2023/07/wn1ch6ferbg.jpg\\" style=\\"object-position:66% 60%\\" data-object-fit=\\"cover\\" data-object-position=\\"66% 60%\\"/><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-gray-background-color has-background-dim\\"></span><div class=\\"wp-block-cover__inner-container\\">\\n\\n<figure class=\\"wp-block-pullquote\\" style=\\"border-width:7px;border-radius:26px;font-size:16px\\"><blockquote><p><strong>âMusic gives a soul to the universe, wings to the mind, flight to the imagination, and life to everything.â</strong></p><cite>- Plato</cite></blockquote></figure>\\n\\n<blockquote class=\\"wp-block-quote\\">\\n<h5 class=\\"wp-block-heading has-text-align-left has-medium-gray-color has-text-color has-link-color\\"> Shots and Artworks by <a href=\\"https://www.lookitskam.com/\\">@look.itskam</a></h5>\\n</blockquote>\\n\\n<div class=\\"wp-block-group\\">\\n<div class=\\"wp-block-jetpack-tiled-gallery aligncenter is-style-columns\\"><div class=\\"has-rounded-corners-10\\"><div class=\\"tiled-gallery__gallery\\"><div class=\\"tiled-gallery__row\\"><div class=\\"tiled-gallery__col\\" style=\\"flex-basis:34.61020%\\"><figure class=\\"tiled-gallery__item\\"><img alt=\\"\\" data-height=\\"2560\\" data-id=\\"757\\" data-link=\\"/home/djshotapril1th2/\\" data-url=\\"https://saskymalimusic.com/w
22p-content/uploads/2025/05/DJshotApril1th2-768x1024.jpg\\" data-width=\\"1920\\" src=\\"https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2025/05/DJshotApril1th2-768x1024.jpg?ssl=1\\" data-amp-layout=\\"responsive\\"/></figure></div><div class=\\"tiled-gallery__col\\" style=\\"flex-basis:30.77959%\\"><figure class=\\"tiled-gallery__item\\"><img alt=\\"\\" data-height=\\"2560\\" data-id=\\"726\\" data-link=\\"/bookings/img_4763/\\" data-url=\\"https://saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-683x1024.jpg\\" data-width=\\"1707\\" src=\\"https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-683x1024.jpg?ssl=1\\" data-amp-layout=\\"responsive\\"/></figure></div><div class=\\"tiled-gallery__col\\" style=\\"flex-basis:34.61020%\\"><figure class=\\"tiled-gallery__item\\"><img alt=\\"\\" data-height=\\"2560\\" data-id=\\"758\\" data-link=\\"/home/djshotapril17th/\\" data-url=\\"https://saskymalimusic.com/wp-content/uploads/2025/05/DJshotApril17th-768x1024.jpg\\" data-width=\\"1920\\" src=\\"https://i0.wp.com/saskymalimusic.com/w
22p-content/uploads/2025/05/DJshotApril17th-768x1024.jpg?ssl=1\\" data-amp-layout=\\"responsive\\"/></figure></div></div></div></div></div>\\n</div>\\n</div></div>\\n\\n<pre class=\\"wp-block-code has-yellow-color has-text-color\\" style=\\"font-size:21px\\"><code>Latest Music</code></pre>\\n\\n<figure class=\\"wp-block-image aligncenter size-large is-resized\\"><a href=\\"https://ffm.to/ghetto-motivation-saskymali\\" target=\\"_blank\\" rel=\\" noreferrer noopener\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/11/SaskyMali_GMT_Jpg-1024x1024.jpg\\" alt=\\"\\" class=\\"wp-image-890\\" style=\\"width:594px;height:auto\\"/></a></figure>\\n\\n<pre class=\\"wp-block-preformatted has-yellow-color has-text-color\\" style=\\"font-size:14px\\">New Music: Ghetto Motivation(EP). Out Now!</pre>\\n\\n<div class=\\"wp-block-columns\\">\\n<div class=\\"wp-block-column\\">\\n<figure class=\\"wp-block-image aligncenter size-large is-resized is-style-rounded\\"><a href=\\"#\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/05/update-1024x1024.png\\" alt=\\"\\" class=\\"wp-image-737\\" style=\\"aspect-ratio:0.6666666666666666;object-fit:cover;width:275px;height:auto\\"/></a><figcaption class=\\"wp-element-caption\\"><strong>EVENTS</strong></figcaption></figure>\\n</div>\\n\\n<div class=\\"wp-block-column\\">\\n<figure class=\\"wp-block-image aligncenter size-large is-resized is-style-rounded\\"><a href=\\"/category/music-releases/\\">
22<img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/05/ProtectDaYutes-1-1024x1024.jpg\\" alt=\\"\\" class=\\"wp-image-761\\" style=\\"aspect-ratio:0.6666666666666666;object-fit:cover;width:273px;height:auto\\"/></a><figcaption class=\\"wp-element-caption\\"><strong>MUSIC RELEASES</strong></figcaption></figure>\\n</div>\\n\\n<div class=\\"wp-block-column\\">\\n<figure class=\\"wp-block-image aligncenter size-large is-resized is-style-rounded\\"><a href=\\"/dj-session-vol-1/\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/04/Sasky.png-1024x1024.png\\" alt=\\"\\" class=\\"wp-image-675\\" style=\\"aspect-ratio:0.6666666666666666;object-fit:cover;width:269px;height:auto\\"/></a><figcaption class=\\"wp-element-caption\\"><strong>DJ MIX</strong></figcaption></figure>\\n</div>\\n</div>\\n\\n<figure class=\\"wp-block-image aligncenter size-large is-resized is-style-rounded\\"><a href=\\"#\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/05/CREAmain-1024x731.png\\" alt=\\"\\" class=\\"wp-image-762\\" style=\\"width:129px;height:auto\\"/></a></figure>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/w
22p-content/uploads/2023/07/wn1ch6ferbg.jpg","https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2025/05/DJshotApril1th2-768x1024.jpg?ssl=1","https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-683x1024.jpg?ssl=1","https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2025/05/DJshotApril17th-768x1024.jpg?ssl=1","https://saskymalimusic.com/wp-content/uploads/2025/11/SaskyMali_GMT_Jpg-1024x1024.jpg","https://saskymalimusic.com/wp-content/uploads/2025/05/update-1024x1024.png","https://saskymalimusic.com/wp-content/uploads/2025/05/ProtectDaYutes-1-1024x1024.jpg","https://saskymalimusic.com/wp-content/uploads/2025/04/Sasky.png-1024x1024.png","https://saskymalimusic.com/wp-content/uploads/2025/05/CREAmain-1024x731.png","https://saskymalimusic.com/wp-content/uploads/2023/07/wn1ch6ferbg.jpg","https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2025/05/DJshotApril1th2-768x1024.jpg?ssl=1","https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-683x1024.jpg?ssl=1","https://i0.wp.com/saskymalimusic.com/w
22p-content/uploads/2025/05/DJshotApril17th-768x1024.jpg?ssl=1","https://saskymalimusic.com/wp-content/uploads/2025/11/SaskyMali_GMT_Jpg-1024x1024.jpg","https://saskymalimusic.com/wp-content/uploads/2025/05/update-1024x1024.png","https://saskymalimusic.com/wp-content/uploads/2025/05/ProtectDaYutes-1-1024x1024.jpg","https://saskymalimusic.com/wp-content/uploads/2025/04/Sasky.png-1024x1024.png","https://saskymalimusic.com/wp-content/uploads/2025/05/CREAmain-1024x731.png"]},"excerpt":"âMusic gives a soul to the universe, wings to the mind, flight to the imagination, and life to everything.â - Plato \\n\\n \\n Shots and Artworks by @look.itskam \\n \\n\\n \\n \\n \\n \\n\\n Latest M","role":"sasky"},{"title":"Artiste Catalog","slug":"artiste-catalog","date":"2023-07-29 21:17:06","html":"<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/track/06nVQOuCiq0VDmssHlAmLh?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe><figcaption class=\\"wp-element-caption\\"><a href=\\"https://ffm.to/stick-up\\">https://ffm.to/stick-up</a></figcaption></figure>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/album/6NwqHK9v31EiuFTcAR9x8x?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe><figcaption class=\\"wp-element-caption\\"><a href=\\"https://ffm.to/afro-piano-soul-tape\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://ffm.to/afro-piano-soul-tape</a></figcaption></figure>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/album/1Kgw7JHmkCRawT08OjgWcr?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe><figcaption class=\\"wp-element-caption\\"><a href=\\"https://ffm.to/persistence\\">https://ffm.to/persistence</a></figcaption></figure>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/album/6xcHGHWQLNKbf9QpUpdmdF?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe><figcaption class=\\"wp-element-caption\\"><a href=\\"https://ffm.to/leotheep\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://ffm.to/leotheep</a></figcaption></figure>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/album/011W58jv6Sn1yVw7voppb4?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe><figcaption class=\\"wp-element-caption\\"><a href=\\"https://ffm.to/feelingblessed\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://ffm.to/feelingblessed</a></figcaption></figure>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/album/5ccOqgpPoFs4jsk2BEIb2h?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe><figcaption class=\\"wp-element-caption\\"><a href=\\"https://ffm.to/been_waiting\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://ffm.to/been_waiting</a></figcaption></figure>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-h
22as-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/album/2miDG1zQgmcsL1lYDBFMvA?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe><figcaption class=\\"wp-element-caption\\"><a href=\\"https://ffm.to/nothingdeykpa\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://ffm.to/nothingdeykpa</a></figcaption></figure>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/album/0e8be9xlSrkHQGZMPDMKH8?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe><figcaption class=\\"wp-element-caption\\"><a href=\\"https://ffm.to/been_waiting\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://ffm.to/been_waiting</a></figcaption></figure>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/album/2xU1EQ67OJ4GGGkChPKlVC?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe><figcaption class=\\"wp-element-caption\\"><a href=\\"https://ffm.to/roadtosuccess\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://ffm.to/roadtosuccess</a></figcaption></figure>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/album/31INl0kitsNkgHGH1TcffA?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe><figcaption class=\\"wp-element-caption\\"><a href=\\"https://ffm.to/lionofgod-saskymali\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://ffm.to/lionofgod-saskymali</a></figcaption></figure>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://ffm.bio/saskymali\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">All streaming platforms</a></div>\\n\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/music-production-catalog/\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">Music Production Catalog</a></div>\\n</div>\\n\\n<p class=\\"has-text-align-right\\"><a href=\\"/\\">Home Page</a></p>","embeds":{"spotify":[{"kind":"track","id":"06nVQOuCiq0VDmssHlAmLh","embed":"https://open.spotify.com/embed/track/06nVQOuCiq0VDmssHlAmLh"},{"kind":"album","id":"6NwqHK9v31EiuFTcAR9x8x","embed":"https://open.spotify.com/embed/album/6NwqHK9v31EiuFTcAR9x8x"},{"kind":"album","id":"1Kgw7JHmkCRawT08OjgWcr","embed":"https://open.spotify.com/embed/album/1Kgw7JHmkCRawT08OjgWcr"},{"kind":"album","id":"6xcHGHWQLNKbf9QpUpdmdF","embed":"https://open.spotify.com/embed/album/6xcHGHWQLNKbf9QpUpdmdF"},{"kind":"album","id":"011W58jv6Sn1yVw7voppb4","embed":"https://open.spotify.com/embed/album/011W58jv6Sn1yVw7voppb4"},{"kind":"album","id":"5ccOqgpPoFs4jsk2BEIb2h","embed":"https://open.spotify.com/embed/album/5ccOqgpPoFs4jsk2BEIb2h"},{"kind":"album","id":"2miDG1zQgmcsL1lYDBFMvA","embed":"https://open.spotify.com/embed/album/2miDG1zQgmcsL1lYDBFMvA"},{"kind":"album","id":"0e8be9xlSrkHQGZMPDMKH8","embed":"https://open.spotify.com/embed/album/0e8be9xlSrkHQGZMPDMKH8"},{"kind":"album","id":"2xU1EQ67OJ4GGGkChPKlVC","embed":"https://open.spotify.com/embed/album/2xU1EQ67OJ4GGGkChPKlVC"},{"kind":"album","id":"31INl0kitsNkgHGH1TcffA","embed":"https://open.spotify.com/embed/album/31INl0kitsNkgHGH1TcffA"}],"youtube":[],"audio":[],"images":[]},"excerpt":"https://ffm.to/stick-up \\n\\n https://ffm.to/afro-piano-soul-tape \\n\\n https://ffm.to/persistence \\n\\n https://ffm.to/leotheep \\n\\n https://ffm.to/feelingblessed \\n\\n https://ffm.to/been_waiting","role":"sasky"},{"title":"Music Production Catalog","slug":"music-production-catalog","date":"2023-07-29 22:13:29","html":"<p>Here is an extensive playlist consisting of various tracks that have been expertly produced, skillfully mixed, and professionally mastered. Sit back, relax, and let the mesmerizing sounds transport you to a world of musical bliss.<
22/p>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/playlist/0MXEHATb9AxfBsMd9s1wUp?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe></figure>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://open.spotify.com/playlist/0MXEHATb9AxfBsMd9s1wUp\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">Spotify Playlist</a></div>\\n\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://music.apple.com/ca/playlist/sasky-mali-engineered/pl.u-JPAZbdqTLB74dyA\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">Apple Music Playlist</a></div>\\n\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/artiste-catalog/\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">Artiste Catalog</a></div>\\n</div>\\n\\n<p class=\\"has-text-align-right\\"><a href=\\"/about-sasky-mali/\\">Learn more about the artiste</a></p>\\n\\n<p class=\\"has-text-align-right\\"><a href=\\"/\\">Home Page</a></p>","embeds":{"spotify":[{"kind":"playlist","id":"0MXEHATb9AxfBsMd9s1wUp","embed":"https://open.spotify.com/embed/playlist/0MXEHATb9AxfBsMd9s1wUp"}],"youtube":[],"audio":[],"images":[]},"excerpt":"Here is an extensive playlist consisting of various tracks that have been expertly produced, skillfully mixed, and professionally mastered. Sit back, relax, and let the mesmerizing sounds transport you to a world of mus","role":"sasky"},{"title":"Subscribe","slug":"subscribe","date":"2023-07-28 07:59:46","html":"<div class=\\"wp-block-ce4wp-subscribe\\"><div class=\\"onSubmission\\" style=\\"display:none\\"><input class=\\"onSubmissionSetting\\" name=\\"onSubmissionSetting\\" type=\\"hidden\\" value=\\"message\\"/><div><h2 class=\\"title\\"></h2><p class=\\"subTitle\\">Thank you for subscribing!</p></div></div><form class=\\"cm-contact-form\\" name=\\"contact-form\\"><input class=\\"list_id\\" name=\\"list_id\\" type=\\"hidden\\"/><h2 class=\\"title\\"></h2> <p class=\\"subTitle\\">Sign up for and stay up to date with events and music releases!</p><div class=\\"inputBlock\\"><label>First name</label><input class=\\"firstName\\" name=\\"first_name\\" type=\\"text\\"/></div><div class=\\"inputBlock\\"><label>Last name</label><input class=\\"lastName\\" name=\\"last_name\\" type=\\"text\\"/></div><div class=\\"inputBlock\\"><label>Email</label><span class=\\"wp-caption-text required-text\\" style=\\"color:#ee0000\\">*</span><input class=\\"email\\" name=\\"email\\" type=\\"email\\" oninvalid=\\"setCustomValidity('Please enter a valid email address')\\" oninput=\\"setCustomValidity('')\\" required/></div><div class=\\"disclaimer\\"><input class=\\"consent_check\\" name=\\"consent_check_d29ac8b1-7cc8-4511-b4be-885a697bcfea\\" id=\\"consent_check_d29ac8b1-7cc8-4511-b4be-885a697bcfea\\" type=\\"checkbox\\"/><label for=\\"consent_check_d29ac8b1-7cc8-4511-b4be-885a697bcfea\\" class=\\"disclaimer-label\\">Can we send you an email from time to time?</label></div><button class=\\"wp-block-button__link submit-button\\" type=\\"submit\\">Subscribe</button></form></div>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":[]},"excerpt":"Thank you for subscribing! Sign up for and stay up to date with events and music releases! First name Last name Email * Can we send you an email from time to time? Subscribe","role":"sasky"},{"title":"VISUALS","slug":"visuals","date":"2023-07-28 17:21:38","html":"<figure class=\\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\\"><div class=\\"wp-block-embed__wrapper\\">\\nhttps://www.youtube.com/@saskymali\\n</div><figcaption class=\\"wp-element-caption\\">Enjoy a variety of videos from the official youtube channel @saskymali </fig
22caption></figure>\\n\\n<p><a href=\\"/subscribe/\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\"><em>Subscribe</em></a></p>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/artiste-catalog/\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">Artiste Catalog</a></div>\\n</div>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":[]},"excerpt":"https://www.youtube.com/@saskymali\\n Enjoy a variety of videos from the official youtube channel @saskymali \\n\\n Subscribe \\n\\n \\n Artiste Catalog","role":"sasky"},{"title":"Sasky Mali EPK","slug":"saskymali-epk","date":"2024-06-13 21:27:49","html":"<div class=\\"wp-block-columns alignwide has-contrast-background-color has-background\\">\\n<div class=\\"wp-block-column is-vertically-aligned-center\\" style=\\"padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\\">\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\">Bio</p>\\n\\n<p class=\\"has-base-color has-text-color\\" style=\\"margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;font-size:14px\\">Sasky Mali, real name Uche Osakwe, is a Christian, Nigerian-born and raised Afro-fusion artist, music producer, and DJ. Currently based in Toronto, Canada, Sasky has been immersed in the creative music process since a young age, finding deep satisfaction in crafting sounds that resonate. With years of experience producing and composing, heâs honed a sharp ear for musical detailâskills that shine through in his DJing, a craft heâs been mastering for over 2 years. Music is Sasky Maliâs weapon of choice, a tool he wields to influence minds and spark change. His work dives into the raw, deep issues of the society he grew up in and the one he now navigates, blending them into his Afro-fusion sound. Sasky dreams of harnessing this power to connect with a global audience of passionate music lovers, aiming to shift the world for the better, one beat at a time.</p>\\n</div>\\n\\n<div class=\\"wp-block-column is-vertically-aligned-center\\">\\n<figure class=\\"wp-block-image size-full\\">
22<img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/05/DJshotApril1th2-scaled.jpg\\" alt=\\"\\" class=\\"wp-image-757\\"/></figure>\\n</div>\\n</div>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\">Music Releases:</p>\\n\\n<div class=\\"wp-block-group has-small-font-size\\">\\n<figure class=\\"wp-block-audio\\"><audio controls src=\\"https://saskymalimusic.com/wp-content/uploads/2024/12/SaskyMali_WeCovered_FinalV2.mp3\\"></audio><figcaption class=\\"wp-element-caption\\">We Covered</figcaption></figure>\\n\\n<figure class=\\"wp-block-audio\\"><audio controls src=\\"https://saskymalimusic.com/wp-content/uploads/2025/07/SaskyMali_ProtectDaYutes.mp3\\"></audio><figcaption class=\\"wp-element-caption\\">Protect Da Yutes (Prod by S.O.S Beatz)</figcaption></figure>\\n\\n<figure class=\\"wp-block-audio\\"><audio controls src=\\"https://saskymalimusic.com/wp-content/uploads/2025/07/GLIT_ftMooseMast3.mp3\\"></audio><figcaption class=\\"wp-element-caption\\">God's Love Is True ft MooseyLion</figcaption></figure>\\n</div>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\">Press Photos</p>\\n\\n<figure class=\\"wp-block-gallery has-nested-images columns-2 is-cropped is-style-columns\\">\\n<figure class=\\"wp-block-image size-full\\">
22<a href=\\"https://saskymalimusic.com/wp-content/uploads/2024/06/1137B3C1-3BF8-43FE-BA3C-5F53B711F63F-scaled.jpg\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2024/06/1137B3C1-3BF8-43FE-BA3C-5F53B711F63F-scaled.jpg\\" alt=\\"\\" class=\\"wp-image-438\\"/></a></figure>\\n\\n<figure class=\\"wp-block-image size-full\\"><a href=\\"https://saskymalimusic.com/wp-content/uploads/2024/12/Artiste-Artwork-scaled.jpg\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2024/12/Artiste-Artwork-scaled.jpg\\" alt=\\"\\" class=\\"wp-image-499\\"/></a></figure>\\n\\n<figure class=\\"wp-block-image size-full\\"><a href=\\"https://saskymalimusic.com/wp-content/uploads/2024/12/IMG_2815-scaled.jpg\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2024/12/IMG_2815-scaled.jpg\\" alt=\\"\\" class=\\"wp-image-500\\"/></a></figure>\\n\\n<figure class=\\"wp-block-image size-full\\"><a href=\\"https://saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-scaled.jpg\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-scaled.jpg\\" alt=\\"\\" class=\\"wp-image-726\\"/></a></figure>\\n</figure>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">Achievements </p>\\n\\n<div class=\\"wp-block-group\\">\\n<p style=\\"font-size:15px\\">Over 100,000 streams across all music streaming platforms</p>\\n\\n<p style=\\"font-size:15px\\">Produced over 100 tracks officially released on streaming platforms for artistes including Sasky Mali. <a href=\\"/music-production-catalog/\\">Production Catalog</a></p>\\n\\n<p style=\\"font-size:15px\\">Nomination: Entertainer of the year (Alumni), Campus heats award 2016. <a href=\\"https://theabuadtimeline.wordpress.com/2016/05/24/the-campus-heat-awards-2016-official-winners-list-freshers-full-school-segment-individual-categories/\\">Link</a></p>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">Reviews</p>\\n</div>\\n\\n<blockquote class=\\"wp-block-quote\\">\\n<p><span style=\\"color: rgb(51, 51, 51); font-family: Montserrat, sans-serif; font-size: 16px; font-weight: 400; text-align: left; background-color: rgb(235, 248, 243);\\">Incredible music style, I listened via the Spotify link you shared. It's catchy and urban but also love the dancehall feeling. I'm sticking up with it. Congratulations, I am the founder of \\"The Mark & ââWayne show\\" on Glacer FM and have decided to approve your track for broadcast on my show </span></p>\\n<cite>- Glacer FM</cite></blockquote>\\n\\n<blockquote class=\\"wp-block-quote\\">\\n<p><span style=\\"color: rgb(51, 51, 51); font-family: Montserrat, sans-serif; font-size: 16px; font-weight: 400; text-align: left; background-color: rgb(235, 248, 243);\\">I love the feeling of listening to a song that was produced with such quality, it seems that in addition to the impeccable production, it was made with a lot of love. In the coming weeks we will post a news story on our website to help reach more people.</span></p>\\n<cite>- UpdateCharts</cite></blockquote>\\n\\n<p>Press Releases:</p>\\n\\n<figure class=\\"wp-block-embed is-type-wp-embed is-provider-chunedesk wp-block-embed-chunedesk\\"><div class=\\"wp-block-embed__wrapper\\">\\nhttps://chunedesk.com/saski-mali-releases-inspiring-afro-caribbean-single-stick-up\\n</div></figure>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\">Live Performance</p>\\n\\n<figure class=\\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\\"><iframe class=\\"yt-embed\\" src=\\"https://www.youtube.com/embed/FS09HQwGihk\\" title=\\"YouTube\\" allow=\\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\\" allowfullscreen loading=\\"lazy\\"></iframe></figure>\\n\\n<div class=\\"wp-block-buttons has-custom-font-size\\" style=\\"font-size:11px\\">\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/dj-session-vol-1/\\">DJ Set</a></div>\\n\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://ffm.bio/saskymali\\">Streaming Links</a></div>\\n</div>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">Contact info:</p>\\n\\n<p style=\\"font-size:14px\\">Phone: +12898305967</p>\\n\\n<p style=\\"font-size:14px\\">
22Email: [email protected]</p>\\n\\n<p class=\\"has-dark-yellow-color has-text-color has-link-color\\" style=\\"font-size:15px\\">Socials at the bottom of the page</p>","embeds":{"spotify":[],"youtube":["FS09HQwGihk"],"audio":["https://saskymalimusic.com/wp-content/uploads/2024/12/SaskyMali_WeCovered_FinalV2.mp3","https://saskymalimusic.com/wp-content/uploads/2025/07/SaskyMali_ProtectDaYutes.mp3","https://saskymalimusic.com/wp-content/uploads/2025/07/GLIT_ftMooseMast3.mp3","https://saskymalimusic.com/wp-content/uploads/2024/12/SaskyMali_WeCovered_FinalV2.mp3","https://saskymalimusic.com/wp-content/uploads/2025/07/SaskyMali_ProtectDaYutes.mp3","https://saskymalimusic.com/wp-content/uploads/2025/07/GLIT_ftMooseMast3.mp3"],"images":["https://saskymalimusic.com/wp-content/uploads/2025/05/DJshotApril1th2-scaled.jpg","https://saskymalimusic.com/wp-content/uploads/2024/06/1137B3C1-3BF8-43FE-BA3C-5F53B711F63F-scaled.jpg","https://saskymalimusic.com/wp-content/uploads/2024/12/Artiste-Artwork-scaled.jpg","https://saskymalimusic.com/w
22p-content/uploads/2024/12/IMG_2815-scaled.jpg","https://saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-scaled.jpg","https://saskymalimusic.com/wp-content/uploads/2025/05/DJshotApril1th2-scaled.jpg","https://saskymalimusic.com/wp-content/uploads/2024/06/1137B3C1-3BF8-43FE-BA3C-5F53B711F63F-scaled.jpg","https://saskymalimusic.com/wp-content/uploads/2024/12/Artiste-Artwork-scaled.jpg","https://saskymalimusic.com/wp-content/uploads/2024/12/IMG_2815-scaled.jpg","https://saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-scaled.jpg"]},"excerpt":"Bio \\n\\n Sasky Mali, real name Uche Osakwe, is a Christian, Nigerian-born and raised Afro-fusion artist, music producer, and DJ. Currently based in Toronto, Canada, Sasky has been immersed in the creative music proces","role":"sasky"},{"title":"BOOKINGS","slug":"bookings","date":"2024-10-08 22:08:20","html":"<p class=\\"has-white-color has-text-color has-link-color has-normal-font-size\\">Kindly fill out the form below and specify the services your require</p>\\n\\n<div class=\\"wp-block-jetpack-contact-form\\" style=\\"padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px\\">\\n\\n</div>\\n\\n<figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\">\\n<figure class=\\"wp-block-image size-large\\">
22<img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-683x1024.jpg\\" alt=\\"\\" class=\\"wp-image-726\\"/></figure>\\n\\n<figure class=\\"wp-block-image size-large\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2024/10/IMG_7353-edited-scaled.jpeg\\" alt=\\"\\" class=\\"wp-image-468\\"/></figure>\\n\\n<figure class=\\"wp-block-image size-large\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/05/DJShot-1024x683.jpg\\" alt=\\"\\" class=\\"wp-image-728\\"/></figure>\\n</figure>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button has-custom-width wp-block-button__width-50\\"><a class=\\"wp-block-button__link has-small-font-size has-custom-font-size wp-element-button\\" href=\\"/about-sasky-mali/\\">More info</a></div>\\n</div>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-683x1024.jpg","https://saskymalimusic.com/wp-content/uploads/2024/10/IMG_7353-edited-scaled.jpeg","https://saskymalimusic.com/w
22p-content/uploads/2025/05/DJShot-1024x683.jpg","https://saskymalimusic.com/wp-content/uploads/2025/05/IMG_4763-683x1024.jpg","https://saskymalimusic.com/wp-content/uploads/2024/10/IMG_7353-edited-scaled.jpeg","https://saskymalimusic.com/wp-content/uploads/2025/05/DJShot-1024x683.jpg"]},"excerpt":"Kindly fill out the form below and specify the services your require \\n\\n \\n\\n \\n\\n \\n \\n\\n \\n\\n \\n \\n\\n \\n More info","role":"sasky"},{"title":"Ghetto Motivation EP","slug":"ghetto-motivation-ep","date":"2025-11-06 22:24:20","html":"<p>Feel the power of <em>Ghetto Motivation</em>, my latest Afro-fusion EP designed to uplift and inspire. This project reflects my deep commitment to creating positive music that fuels resilience. It highlights how faith in God guides every hustler through daily challenges.</p>\\n\\n<p>Start with <strong>Gbe Wa De Be</strong>, a bold track meaning \\"God, take us forward\\" in Yoruba. It pushes listeners to overcome worldly struggles. Next, <strong>God's Love Is True</strong> reinforces staying strong in faith. It reminds us that God's love never wavers, no matter the obstacles. Then, <strong>Reminder</strong> speaks to those facing societal issues like poor governance. It boldly declares we wonât give up because God is with us. Finally, <strong>Stay Up</strong>, an instrumental, introduces my producer/DJ vibes. Its light, energetic tone encourages everyone to stay motivated.</p>\\n\\n<p><em>Ghetto Motivation</em> blends vibrant beats with heartfelt messages. Itâs a call to keep pushing forward with faith. Stream it now and join a movement of inspired hustlers! #GhettoMotivation #FaithAndHustle #AfroFusion</p>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button is-style-fill\\"><a class=\\"wp-block-button__link has-small-font-size has-custom-font-size wp-element-button\\" href=\\"https://ffm.to/ghetto-motivation-saskymali\\" style=\\"border-radius:14px\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">Listen</a></div>\\n</div>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/w
22p-content/uploads/2025/11/SaskyMali_GMT_Jpg-1024x1024.jpg","https://saskymalimusic.com/wp-content/uploads/2025/11/SaskyMali_GMT_Jpg-1024x1024.jpg"]},"excerpt":"Feel the power of Ghetto Motivation , my latest Afro-fusion EP designed to uplift and inspire. This project reflects my deep commitment to creating positive music that fuels resilience. It highlights how faith i","role":"sasky"},{"title":"Moosey Lion Music","slug":"mooseylionmusic","date":"2026-03-18 01:23:04","html":"<figure class=\\"wp-block-image alignright size-large is-resized\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2026/03/IMG_7483-683x1024.jpeg\\" alt=\\"\\" class=\\"wp-image-1012\\" style=\\"aspect-ratio:0.6669949121943214;width:343px;height:auto\\"/></figure>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\">Bio</p>\\n\\n<p style=\\"font-size:16px\\">Mooseylion is an emerging Afro-Real artist whose sound blends Hip-Hop, and Afrobeat to create a distinctive musical identity rooted in storytelling, rhythm, and cultural expression. Originating from Lagos, Nigeria, Mooseylion represents a new generation of artists redefining African music through authenticity, creativity, and community-driven experiences.</p>\\n\\n<p style=\\"font-size:16px\\">Known for his energetic presence and expressive sound, Mooseylion creates music that reflects the realities, ambitions, and creative spirit of young people. His work combines modern production with African musical influence, resulting in a sound that connects with audiences both locally and internationally.</p>\\n\\n<p style=\\"font-size:16px\\">Beyond music, Mooseylion is building a movement centred around creativity, culture, and community engagement. Through live performances, digital content, and collaborative projects, he aims to create immersive experiences that bring people together and inspire a loyal audience around his artistic journey.</p>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\">Music Release</p>\\n\\n<div class=\\"wp-block-group\\">\\n<div class=\\"wp-block-group alignwide\\" style=\\"font-size:0px\\">\\n<figure class=\\"wp-block-audio\\">
22<audio controls src=\\"https://saskymalimusic.com/wp-content/uploads/2026/03/No-Relenting.mp3\\"></audio><figcaption class=\\"wp-element-caption\\">No Relenting</figcaption></figure>\\n\\n<figure class=\\"wp-block-audio\\"><audio controls src=\\"https://saskymalimusic.com/wp-content/uploads/2026/03/OJUJU.mp3\\"></audio><figcaption class=\\"wp-element-caption\\">OJUJU</figcaption></figure>\\n\\n<figure class=\\"wp-block-audio\\"><audio controls src=\\"https://saskymalimusic.com/wp-content/uploads/2026/03/50-Jiggas.mp3\\"></audio><figcaption class=\\"wp-element-caption\\">50 Jiggas</figcaption></figure>\\n</div>\\n</div>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\">Press Photos</p>\\n\\n<div class=\\"wp-block-jetpack-tiled-gallery aligncenter is-style-rectangular\\"><div class=\\"\\"><div class=\\"tiled-gallery__gallery\\"><div class=\\"tiled-gallery__row\\"><div class=\\"tiled-gallery__col\\" style=\\"flex-basis:39.73250%\\"><figure class=\\"tiled-gallery__item\\"><img alt=\\"\\" data-height=\\"2560\\" data-id=\\"991\\" data-link=\\"/?attachment_id=991\\" data-url=\\"https://saskymalimusic.com/w
22p-content/uploads/2026/03/IMG_7442-683x1024.jpeg\\" data-width=\\"1707\\" src=\\"https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2026/03/IMG_7442-683x1024.jpeg?ssl=1\\" data-amp-layout=\\"responsive\\"/></figure></div><div class=\\"tiled-gallery__col\\" style=\\"flex-basis:32.73680%\\"><figure class=\\"tiled-gallery__item\\"><img alt=\\"\\" data-height=\\"2560\\" data-id=\\"990\\" data-link=\\"/?attachment_id=990\\" data-url=\\"https://saskymalimusic.com/wp-content/uploads/2026/03/IMG_7444-563x1024.jpeg\\" data-width=\\"1406\\" src=\\"https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2026/03/IMG_7444-563x1024.jpeg?ssl=1\\" data-amp-layout=\\"responsive\\"/></figure></div><div class=\\"tiled-gallery__col\\" style=\\"flex-basis:27.53070%\\"><figure class=\\"tiled-gallery__item\\"><img alt=\\"\\" data-height=\\"2560\\" data-id=\\"992\\" data-link=\\"/?attachment_id=992\\" data-url=\\"https://saskymalimusic.com/wp-content/uploads/2026/03/IMG_7445-473x1024.jpeg\\" data-width=\\"1182\\" src=\\"https://i0.wp.com/saskymalimusic.com/w
22p-content/uploads/2026/03/IMG_7445-473x1024.jpeg?ssl=1\\" data-amp-layout=\\"responsive\\"/></figure></div></div></div></div></div>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">Achievements</p>\\n\\n<p style=\\"font-size:17px\\">⢠Over 500,000 total streams across digital platforms.<br>⢠Released 26 singles and 5 mixtapes since debuting in 2019.<br>⢠Standout single âNo Relentingâ has surpassed 80,000 streams.<br>⢠Upcoming project Luxury Capsule produced by renowned Nigerian producer Sossick.<br>⢠Featured on MTV Base Africa Official Naija Top Ten Countdown.<br>⢠Music aired on Trace Naija, Silverbird Television, Wazobia TV, and Cool FM Nigeria.<br>⢠Performed at MTN Campus Connect University Tour.<br>⢠Performed at Felabration 2022.<br>⢠Performed at Coca-Cola AfroBeach Rave.<br>⢠Performed at Nigerian Beer Festival.<br>⢠Performed at Nigerian Teen Choice Awards.<br>⢠Performed at Westend Carnival.<br>⢠Featured on Rap Joint Lagos HipHop@50.<br>⢠Featured on Sunday Freestyle hosted by UncleKay.<br>⢠Regular performer at primary schools, secondary schools, and universities.</p>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\">Visualizer</p>\\n\\n<figure class=\\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\\"><iframe class=\\"yt-embed\\" src=\\"https://www.youtube.com/embed/iplVpLPwgQc\\" title=\\"YouTube\\" allow=\\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\\" allowfullscreen loading=\\"lazy\\"></iframe></figure>\\n\\n<div class=\\"wp-block-columns\\">\\n<div class=\\"wp-block-column\\" style=\\"flex-basis:100%\\">\\n<div class=\\"wp-block-group\\">\\n<div class=\\"wp-block-buttons has-custom-font-size\\" style=\\"font-size:12px\\">\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://x.com/mooseylionmusic\\">Twitter</a></div>\\n\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://www.tiktok.com/@mooseylionmusic?\\">TikTok</a></div>\\n\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://www.instagram.com/mooseylionmusic/\\">Instagram</a></div>\\n\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://music.apple.com/ng/artist/mooseylion/1568249623\\">Apple Music</a></div>\\n\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://open.spotify.com/artist/3WI1QojRIGzsgHQZsNfPCa\\">Spotify</a></div>\\n</div>\\n</div>\\n</div>\\n</div>\\n\\n<div class=\\"wp-block-jetpack-contact-form\\">\\n<div>\\n\\n</div>\\n\\n<div class=\\"wp-block-button is-style-outline\\"><button type=\\"submit\\" class=\\"wp-block-button__link has-custom-font-size wp-element-button\\" style=\\"border-top-left-radius:100px;border-top-right-radius:100px;border-bottom-left-radius:100px;border-bottom-right-radius:100px;font-size:24px\\">Submit</button></div>\\n</div>\\n\\n<p></p>","embeds":{"spotify":[],"youtube":["iplVpLPwgQc"],"audio":["https://saskymalimusic.com/w
22p-content/uploads/2026/03/No-Relenting.mp3","https://saskymalimusic.com/wp-content/uploads/2026/03/OJUJU.mp3","https://saskymalimusic.com/wp-content/uploads/2026/03/50-Jiggas.mp3","https://saskymalimusic.com/wp-content/uploads/2026/03/No-Relenting.mp3","https://saskymalimusic.com/wp-content/uploads/2026/03/OJUJU.mp3","https://saskymalimusic.com/wp-content/uploads/2026/03/50-Jiggas.mp3"],"images":["https://saskymalimusic.com/wp-content/uploads/2026/03/IMG_7483-683x1024.jpeg","https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2026/03/IMG_7442-683x1024.jpeg?ssl=1","https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2026/03/IMG_7444-563x1024.jpeg?ssl=1","https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2026/03/IMG_7445-473x1024.jpeg?ssl=1","https://saskymalimusic.com/wp-content/uploads/2026/03/IMG_7483-683x1024.jpeg","https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2026/03/IMG_7442-683x1024.jpeg?ssl=1","https://i0.wp.com/saskymalimusic.com/wp-content/uploads/2026/03/IMG_7444-563x1024.jpeg?ssl=1","https://i0.wp.com/saskymalimusic.com/w
22p-content/uploads/2026/03/IMG_7445-473x1024.jpeg?ssl=1"]},"excerpt":"Bio \\n\\n Mooseylion is an emerging Afro-Real artist whose sound blends Hip-Hop, and Afrobeat to create a distinctive musical identity rooted in storytelling, rhythm, and cultural expression. Originating from Lagos, N","role":"featured_collab"},{"title":"Featured Collaborators","slug":"featured-collaborators","date":"2026-03-18 10:50:41","html":"<p>Welcome to the Featured Artistes section of <strong>Sasky Mali - Afro Hub</strong>. This is your spot for the talented collaborators I've worked with in the Afro-fusion scene.</p>\\n\\n<p>As a Toronto-based Afro-Piano DJ, artiste, and producer, I love shining a light on fresh talent. We create joint productions, features, and shared vibes together.</p>\\n\\n<p>Here you'll find dedicated spotlights. Check out bios, EPKs, music embeds, visuals, and streaming links.</p>\\n\\n<p>From co-productions on tracks to exciting musical crossoversâthese are the artistes bringing energy to the movement. Dive in. Discover new sounds. Connect with the next wave of Afro-Centric creators!</p>\\n\\n<div class=\\"wp-block-media-text is-stacked-on-mobile is-image-fill-element\\" style=\\"grid-template-columns:24% auto\\"><figure class=\\"wp-block-media-text__media\\"><a href=\\"/moosey-lion-music/\\">
22<img src=\\"https://saskymalimusic.com/wp-content/uploads/2026/03/IMG_7443-683x1024.jpeg\\" alt=\\"\\" class=\\"wp-image-970 size-full\\" style=\\"object-position:63% 55%\\"/></a></figure><div class=\\"wp-block-media-text__content\\">\\n<p><a href=\\"/featured-collaborators/moosey-lion\\" type=\\"page\\" id=\\"962\\"><strong><mark style=\\"background-color:rgba(0, 0, 0, 0)\\" class=\\"has-inline-color has-white-color\\">MooseyLion</mark></strong></a></p>\\n</div></div>\\n\\n<p></p>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/wp-content/uploads/2026/03/IMG_7443-683x1024.jpeg","https://saskymalimusic.com/wp-content/uploads/2026/03/IMG_7443-683x1024.jpeg"]},"excerpt":"Welcome to the Featured Artistes section of Sasky Mali - Afro Hub . This is your spot for the talented collaborators I've worked with in the Afro-fusion scene. \\n\\n As a Toronto-based Afro-Piano DJ, artiste, and producer","role":"featured_collab"},{"title":"Assalamu Alaikum Pre-Release Special","slug":"assalamu-special","date":"2026-03-19 11:43:52","html":"<p class=\\"has-text-align-center has-yellow-color has-text-color has-link-color\\" style=\\"font-size:24px\\">Bonus Tracks</p>\\n\\n<figure class=\\"wp-block-audio\\">
22<audio controls src=\\"https://saskymalimusic.com/wp-content/uploads/2026/03/STILL-TRAPPING-1.mp3\\"></audio><figcaption class=\\"wp-element-caption\\"><strong>STILL TRAPPING</strong></figcaption></figure>\\n\\n<figure class=\\"wp-block-audio\\"><audio controls src=\\"https://saskymalimusic.com/wp-content/uploads/2026/03/TRIPS-IN-ABJ.mp3\\"></audio><figcaption class=\\"wp-element-caption\\"><strong>TRIPS IN ABJ</strong></figcaption></figure>\\n\\n<figure class=\\"wp-block-audio\\"><audio controls src=\\"https://saskymalimusic.com/wp-content/uploads/2026/03/OneShot.mp3\\"></audio><figcaption class=\\"wp-element-caption\\"><strong>ONE SHOT</strong></figcaption></figure>\\n\\n<div class=\\"wp-block-jetpack-contact-form\\">\\n<div>\\n\\n</div>\\n\\n<div class=\\"wp-block-button is-style-outline\\"><button type=\\"submit\\" class=\\"wp-block-button__link has-custom-font-size wp-element-button\\" style=\\"border-top-left-radius:100px;border-top-right-radius:100px;border-bottom-left-radius:100px;border-bottom-right-radius:100px;font-size:24px\\">Submit</button></div>\\n</div>","embeds":{"spotify":[],"youtube":[],"audio":["https://saskymalimusic.com/w
22p-content/uploads/2026/03/STILL-TRAPPING-1.mp3","https://saskymalimusic.com/wp-content/uploads/2026/03/TRIPS-IN-ABJ.mp3","https://saskymalimusic.com/wp-content/uploads/2026/03/OneShot.mp3","https://saskymalimusic.com/wp-content/uploads/2026/03/STILL-TRAPPING-1.mp3","https://saskymalimusic.com/wp-content/uploads/2026/03/TRIPS-IN-ABJ.mp3","https://saskymalimusic.com/wp-content/uploads/2026/03/OneShot.mp3"],"images":[]},"excerpt":"Bonus Tracks \\n\\n STILL TRAPPING \\n\\n TRIPS IN ABJ \\n\\n ONE SHOT \\n\\n \\n \\n\\n \\n\\n Submit","role":"featured_collab"}]`),Yl=JSON.parse(`[{"title":"CULTURE - RCKBTTM ft Sasky Mali","slug":"culture-rckbttm-saskymali","date":"2023-08-11 09:12:58","html":"<div class=\\"wp-block-cover is-light\\" style=\\"min-height:606px\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-background-dim\\"></span><img class=\\"wp-block-cover__image-background wp-image-254\\" alt=\\"\\" src=\\"https://saskymalimusic.com/wp-content/uploads/2023/08/02D74358-A529-48D1-8579-C3594F1BEAFE.jpg\\" data-object-fit=\\"cover\\"/><div class=\\"wp-block-cover__inner-container\\">\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://ffm.to/culture_2k23\\">Listen on your favourite Music Platform</a></div>\\n</div>\\n</div></div>\\n\\n<figure class=\\"wp-block-pullquote\\"><blockquote><p>In life<br>Art must be preserved <br>No matter itâs form or nature<br>We all gotta do our part<br>To ensure that technology and AI<br>Works for us <br>And not against us</p><cite>- @Saskymali</cite></blockquote></figure>\\n\\n<p><mark style=\\"background-color:rgba(0, 0, 0, 0)\\" class=\\"has-inline-color has-white-color\\">\\"Culture\\" - Is a track perceived from the current trend of artificial intelligence and art. This track highlights the importance of preserving the true nature of art while we leverage AI, robots and machines.</mark></p>\\n\\n<p>Follow <a href=\\"https://www.instagram.com/tommyrckbttm/\\">@tommyrckbttm</a> Listen, enjoy and share!</p>\\n\\n<p><mark style=\\"background-color:rgba(0, 0, 0, 0)\\" class=\\"has-inline-color has-white-color\\">Spotify Preview</mark></p>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/track/3oYaXS6CyO3n9d2n5syC9t?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe></figure>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/subscribe/\\">Subscribe</a></div>\\n\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/about-sasky-mali/\\">About Sasky Mali</a></div>\\n\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/artiste-catalog/\\">Artiste Catalog</a></div>\\n</div>","embeds":{"spotify":[{"kind":"track","id":"3oYaXS6CyO3n9d2n5syC9t","embed":"https://open.spotify.com/embed/track/3oYaXS6CyO3n9d2n5syC9t"}],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/w
22p-content/uploads/2023/08/02D74358-A529-48D1-8579-C3594F1BEAFE.jpg","https://saskymalimusic.com/wp-content/uploads/2023/08/02D74358-A529-48D1-8579-C3594F1BEAFE.jpg"]},"excerpt":"Listen on your favourite Music Platform \\n \\n \\n\\n In life Art must be preserved\xA0 No matter itâs form or nature We all gotta do our part To ensure that technology and AI Works for us\xA0 And not against us - @Sas","role":"sasky","section":"sasky","category":"release"},{"title":"\\"Futuristic\\" by Moosey Lion","slug":"futuristic-mooseylion","date":"2023-08-17 12:34:07","html":"<figure class=\\"wp-block-image size-large is-style-rounded\\"><a href=\\"https://ffm.to/futuristic-mooseylion\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2023/08/photo-output-998x1024.jpg\\" alt=\\"\\" class=\\"wp-image-268\\"/></a></figure>\\n\\n<p class=\\"has-white-color has-text-color\\">\\"I flooded my wrist, but before I did that, I bought me 6 different lands in 6 different states.\\" These are the first lines from Moosey's latest single \\"Futuristic.\\" On this track MooseyLion is really speaking into the future and invites everyone to join him in this prophetic melody.</p>\\n\\n<p class=\\"has-white-color has-text-color\\">Futuristic is a song that stretches into the horizon of life and takes the listener on this amazing trip.</p>\\n\\n<p class=\\"has-white-color has-text-color\\">Steering away from the more aggressive delivery on tracks like \\"Gbege don burst\\" MooseyLion was on his \\"boss state of mind\\" so \\"we can't deal with him directly\\" he \\"gat people for that.\\" He produced an extremely relaxed laid back flow. The type of flow that gives you the\\"back seat in the limo while the chauffeur drives\\" kind of vibes. Feel me?</p>\\n\\n<p class=\\"has-white-color has-text-color\\">For the first time in a long while, we hear MooseyLion rap about his diamonds, jewelry and Big Booty Lamborghiniâs. But don't get the wrong narrative. This is not another random fake flex song, this is a declaration into the future. MooseyLion sees great things ahead for himself and his listeners.</p>\\n\\n<p class=\\"has-white-color has-text-color\\">The âScarfaceâ production on this track is for the ages. The beat sits comfortably at the back and never distracts the listener from the lyrical and vocal content that leads to a very beautiful and catchy Islamic Chant for the chorus. \\" Assa Assa Assa Assa Walaikum Salam, Assalam Alaikum Walaikum Salamâ</p>\\n\\n<p class=\\"has-white-color has-text-color\\">On the track, MooseyLion advises us not to stare at his diamonds too much, but please, listen to this track as many times as possible. It is a real crack.</p>\\n\\n<p class=\\"has-white-color has-text-color\\">They say music is a drug, well, I guess MooseyLion delivered high quality undiluted white on this record.</p>\\n\\n<p class=\\"has-white-color has-text-color\\">The \\"HipHopu Re\\" fade away sample at the end of the track was the cherry on top.</p>\\n\\n<p class=\\"has-white-color has-text-color\\">To put the quality of the song in perspective, MooseyLion had grown men on their feet chanting along while he performed it at the Rap Joint Lagos HipHop @ 50 event.</p>\\n\\n<p class=\\"has-white-color has-text-color\\">No much talk needed. Go stream \\"Futuristic' on all music platforms now! </p>\\n\\n<p class=\\"has-white-color has-text-color\\">~ Alexander OGV, Hiphopspace</p>\\n\\n<h2 class=\\"wp-block-heading\\">Spotify Preview</h2>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><iframe class=\\"spotify-embed\\" src=\\"https://open.spotify.com/embed/album/4lCpmxuTTIq7khLhyzwlDs?utm_source=generator\\" height=\\"152\\" allow=\\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\\" loading=\\"lazy\\" title=\\"Spotify\\"></iframe></figure>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button has-custom-width wp-block-button__width-75 has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://ffm.to/futuristic-mooseylion\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">Link to All Platforms</a></div>\\n</div>","embeds":{"spotify":[{"kind":"album","id":"4lCpmxuTTIq7khLhyzwlDs","embed":"https://open.spotify.com/embed/album/4lCpmxuTTIq7khLhyzwlDs"}],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/w
22p-content/uploads/2023/08/photo-output-998x1024.jpg","https://saskymalimusic.com/wp-content/uploads/2023/08/photo-output-998x1024.jpg"]},"excerpt":"\\"I flooded my wrist, but before I did that, I bought me 6 different lands in 6 different states.\\" These are the first lines from Moosey's latest single \\"Futuristic.\\" On this track MooseyLion is really speaking in","role":"featured_collab","section":"featured_collab","category":"release"},{"title":"Culture - RCKBTTM ft Sasky Mali [Official Video]","slug":"culture-officialvideo","date":"2023-09-08 12:23:27","html":"<figure class=\\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\\"><iframe class=\\"yt-embed\\" src=\\"https://www.youtube.com/embed/qVi9lkMAL7M\\" title=\\"YouTube\\" allow=\\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\\" allowfullscreen loading=\\"lazy\\"></iframe></figure>\\n\\n<p class=\\"has-white-color has-text-color\\">Theme: AI and Art</p>\\n\\n<p class=\\"has-white-color has-text-color\\">Watch, enjoy and share! The official music video for the song \\"Culture\\" by multi-genre producer and DJ \\"RCKBTTM\\", featuring Afro-Fusion artiste and producer \\"Sasky Mali\\". Lastly the song draws inspiration from a KRSone sample, which sets a powerful tone to the music creation process.</p>\\n\\n<p class=\\"has-medium-gray-color has-text-color\\" style=\\"font-size:16px\\">Credits:</p>\\n\\n<p class=\\"has-medium-gray-color has-text-color\\" style=\\"font-size:16px\\">Visuals shot by: @look.itskam</p>\\n\\n<p class=\\"has-medium-gray-color has-text-color\\" style=\\"font-size:16px\\">Directed by: @look.itskam and RCKBTTM</p>\\n\\n<p class=\\"has-medium-gray-color has-text-color\\" style=\\"font-size:16px\\">Music produced by: RCKBTTM</p>\\n\\n<p class=\\"has-medium-gray-color has-text-color\\" style=\\"font-size:16px\\">Composed by: RCBKTTM and Sasky Mali</p>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\">Culture Audio</a></div>\\n</div>","embeds":{"spotify":[],"youtube":["qVi9lkMAL7M"],"audio":[],"images":[]},"excerpt":"Theme: AI and Art \\n\\n Watch, enjoy and share! The official music video for the song \\"Culture\\" by multi-genre producer and DJ \\"RCKBTTM\\", featuring Afro-Fusion artiste and producer \\"Sasky Mali\\". Lastly the song draws","role":"sasky","section":"sasky","category":"release"},{"title":"41dayinthe6ix Performance","slug":"41dayinthe6ix-2k23","date":"2023-09-15 00:38:58","html":"<figure class=\\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\\"><iframe class=\\"yt-embed\\" src=\\"https://www.youtube.com/embed/FS09HQwGihk\\" title=\\"YouTube\\" allow=\\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\\" allowfullscreen loading=\\"lazy\\"></iframe></figure>\\n\\n<p class=\\"has-white-color has-text-color\\">Thrills and energy all round at the second edition of the musical show \\"#41dayinthe6ix\\" by Michael Onabolu (<a href=\\"https://www.instagram.com/onabolu_inc/\\">@onabolu_Inc</a>) and The collectives! The video was shot by <a href=\\"https://www.instagram.com/bobas.mk/\\">@bobas.mk</a> and <a href=\\"https://www.instagram.com/look.itskam/\\">@look.itskam</a></p>\\n\\n<p class=\\"has-white-color has-text-color\\"> Watch and enjoy! </p>\\n\\n<p>Track list: </p>\\n\\n<p style=\\"font-size:13px\\">Track 1: Back On Ma Feet <a href=\\"https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbURCRVE5YWFTWFZVU1oybHBZQmVYU0h0YlREUXxBQ3Jtc0trajl6dzNIX1RXUnBEQlBsN1k3NEZlVHJMRmdXclVONGtEX0YyT0ZkVmJKQUJFaExoR2pnTm55Rk5LMi1kV1hLMUVfWVktZVJEV1VFTFZRWWhldlhVZDhSVmdKeFVtNjZ0aTdPVHlLSWpITzVSd3hmSQ&q=https%3A%2F%2Fmusic.lnk.to%2Fg5E1fR&v=FS09HQwGihk\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://music.lnk.to/g5E1fR</a> </p>\\n\\n<p style=\\"font-size:13px\\">Track 2: Sa Kiri <a href=\\"https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbWozZHpxNGdKUWcyRHhDVURIcUs1eVZTU0tOd3xBQ3Jtc0tubEVPQlIyMktnOEZxX1Foc2p2dlBuSGdXMWdQMHFYZ3c5Nmx4dzNzNmZ3VW83WmZaYkZhamtPa09lQS1maUc2Q1BkOHFPZ3kwOEUwN2hrdHcxSVNVbVB4RHlRUEtzVWFyMC1LZXBaYjFtb0dxaTNrWQ&q=https%3A%2F%2Fmusic.lnk.to%2FH8WS2G&v=FS09HQwGihk\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://music.lnk.to/H8WS2G</a> </p>\\n\\n<p style=\\"font-size:13px\\">Track 3: Not By Might <a href=\\"https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqazNCLXo1a3ZDZzdLQnpBaXlPTmVMemluaGRud3xBQ3Jtc0trUTM5YnpjWkNhNEFSWDhnOThZTTlwZVFNX2tzdld1OHluYlJMd01sUU56Y0h4MjN0TFJUSVRXZG5ZOVlIdXZ1WWlmcDBnZFVtM3NTSFFKTHJWWEtNTjFjSTZCMHhLNUhPOXJ0ZzMybGdGUU1YbXcxYw&q=https%3A%2F%2Fmusic.lnk.to%2F82vMXv&v=FS09HQwGihk\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://music.lnk.to/82vMXv</a> </p>\\n\\n<p style=\\"font-size:13px\\">Track 4: E Sure 4 Me <a href=\\"https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbnotUUMwamJ2RkRjVnM2dTR0ZVZhdkdPZnhfQXxBQ3Jtc0tsVjRia0hGQ3pKV09ZSHljVURMcUhHdjRpbU8zbFM0cjl5dnRmNzkxMGRuYTZvX1R1Mm5Y
22SzZvcUtnYTFQR28tWUNSRjUzY1BkSWlRR2t6NXlZVFk5cWpYelE4LXpDRWtxeDZTNlJFU2FhMF9xUlFNOA&q=https%3A%2F%2Fmusic.lnk.to%2Fhe9IDM&v=FS09HQwGihk\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">https://music.lnk.to/he9IDM</a></p>\\n\\n<div class=\\"wp-block-buttons has-custom-font-size has-small-font-size\\">\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/artiste-catalog/\\">Artiste catalog</a></div>\\n</div>","embeds":{"spotify":[],"youtube":["FS09HQwGihk"],"audio":[],"images":[]},"excerpt":"Thrills and energy all round at the second edition of the musical show \\"#41dayinthe6ix\\" by Michael Onabolu ( @onabolu_Inc ) and The collectives! The video was shot by @bobas.mk and @look.itskam \\n\\n Watch and e","role":"sasky","section":"sasky","category":"journal"},{"title":"\\"Skanka Omo Werey\\" - General Splash","slug":"skankaomoweyrey","date":"2023-09-22 12:07:26","html":"<figure class=\\"wp-block-image size-large is-style-default\\"><img src=\\"https://saskymalimusic.com/w
22p-content/uploads/2023/09/Skanka-Art-1024x1024.jpg\\" alt=\\"\\" class=\\"wp-image-365\\"/></figure>\\n\\n<p class=\\"has-white-color has-text-color\\">General Splash is a music and fashion icon born and raised in Lagos. After graduating with a bachelors degree in Mass Communication, Splash decides to focus on the music full time. That was when he teamed up with the Lion Movement family. </p>\\n\\n<p class=\\"has-white-color has-text-color\\">In 2018, he dropped WNS(We No Send) produced by Sasky Mali, and that song kickstarted the Afro Ragga sound. Ever since then, he has been consistently dropping series of singles until 2022, when he released âSpace Skankingâ an experimental album that was collaboratively produced by Babs beet and Leone beat. </p>\\n\\n<p class=\\"has-white-color has-text-color\\">After taking a while to drop again, Splash returns with another hit single in 2023 âSkanka Omo Wereyâ. </p>\\n\\n<p class=\\"has-white-color has-text-color\\">Produced by Monstaa.</p>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://linktr.ee/generalsplash\\">Download</a></div>\\n</div>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/w
22p-content/uploads/2023/09/Skanka-Art-1024x1024.jpg","https://saskymalimusic.com/wp-content/uploads/2023/09/Skanka-Art-1024x1024.jpg"]},"excerpt":"General Splash is a music and fashion icon born and raised in Lagos. After graduating with a bachelors degree in Mass Communication, Splash decides to focus on the music full time. That was when he teamed up with t","role":"production","section":"production","category":"release"},{"title":"LOUDER - Matty Waves x Sasky Mali ft AfroFaya","slug":"louder","date":"2024-01-16 06:49:29","html":"<p></p>\\n\\n<figure class=\\"wp-block-image size-full is-resized\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2024/01/74319415-9115-4918-8526-CAB911B94047.jpg\\" alt=\\"\\" class=\\"wp-image-406\\" style=\\"width:968px;height:auto\\"/></figure>\\n\\n<p></p>\\n\\n<p>A smooth blend of afro-beats instrumental, rich afro-fusion vocal texture and Spanish flows. This song was initiated and inspired by <a href=\\"https://www.instagram.com/matty_waves/\\">@matty_waves</a> in collaboration with <a href=\\"/about-sasky-mali/\\">@sasky_mali</a>, featuring <a href=\\"https://www.instagram.com/afrofaya/\\">@afrofaya</a>.</p>\\n\\n<p>Listen and enjoy! </p>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button has-custom-font-size has-small-font-size\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://ffm.to/louder-matty-sasky-afrofaya\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">Link</a></div>\\n</div>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/w
22p-content/uploads/2024/01/74319415-9115-4918-8526-CAB911B94047.jpg","https://saskymalimusic.com/wp-content/uploads/2024/01/74319415-9115-4918-8526-CAB911B94047.jpg"]},"excerpt":"A smooth blend of afro-beats instrumental, rich afro-fusion vocal texture and Spanish flows. This song was initiated and inspired by @matty_waves in collaboration with @sasky_mali , featuring @afrofaya","role":"sasky","section":"sasky","category":"release"},{"title":"New Music: Stick Up by Sasky Mali","slug":"stick-up-sasky-mali","date":"2024-04-26 14:13:34","html":"<p></p>\\n\\n<figure class=\\"wp-block-image size-large\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2024/04/img_0643-1-1024x1024.png\\" alt=\\"\\" class=\\"wp-image-418\\"/></figure>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://ffm.to/stick-up\\" target=\\"_blank\\" rel=\\"noreferrer noopener\\">Listen here</a></div>\\n</div>\\n\\n<p></p>\\n\\n<p>Yo, what's up my music-loving fam! Today, we're diving into the funky and energetic vibes of \\"Stick Up,\\" a song that's got people to its infectious beat.</p>\\n\\n<p>Released today, \\"Stick Up\\" is the latest offering from an artist <strong>Sasky Mali</strong> who's making a splash with his unique blend of Afrobeats and dancehall elements. The track's chorus is a catchy, repetitive chant that sticks in your head like a sticky note on a fridge:</p>\\n\\n<p><mark style=\\"background-color:rgba(0, 0, 0, 0)\\" class=\\"has-inline-color has-white-color\\">\\"Stick up<br>Rude buoy stick up<br>Cos tomorrow ainât promised<br>Tomorrow ainât promised<br>Cos tomorrow ainât promised<br>So me say rude buoy stick up<br>Stick up\\"</mark></p>\\n\\n<p>This anthem is a call to live in a positive light, despite the challenges of life. The chorus's message is simple yet powerful, reminding us that tomorrow isn't guaranteed, so we should make the most of today. It's a theme that resonates with listeners of all ages and backgrounds but most especially the homies in the streets and trenches, making \\"Stick Up\\" a universal jam.</p>\\n\\n<p>The song's verses are filled with clever wordplay and a smooth flow that keeps the energy high and the vibe going. The artist's vocal delivery is confident and charismatic, making it clear that they're here to make an impact on the music world.</p>\\n\\n<p>The production on \\"Stick Up\\" is top-notch, with a beat that's impossible not to dance to and a catchy melody that'll have you humming along in no time. The track's energy is infectious, and it's the perfect addition to any party playlist or workout mix.</p>\\n\\n<p>In conclusion, \\"Stick Up\\" is a must-listen for anyone looking for a fresh and catchy tune that'll get you up and moving. With its combination of Afrobeats and dancehall elements, clever lyrics, and infectious energy, this song is sure to be a hit with fans of all genres. So go ahead, give it a listen, and let the \\"Stick Up\\" anthem become your new go-to jam!</p>\\n\\n<p>Ciao ð¦</p>\\n\\n<p></p>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"/artiste-catalog/\\">Catalog</a></div>\\n</div>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/w
22p-content/uploads/2024/04/img_0643-1-1024x1024.png","https://saskymalimusic.com/wp-content/uploads/2024/04/img_0643-1-1024x1024.png"]},"excerpt":"Listen here \\n \\n\\n \\n\\n Yo, what's up my music-loving fam! Today, we're diving into the funky and energetic vibes of \\"Stick Up,\\" a song that's got people to its infectious beat. \\n\\n Released today, \\"Stick Up\\" i","role":"sasky","section":"sasky","category":"release"},{"title":"ð¤ Ojuju Open Verse Challenge: Show Us What Youâve Got! ð¶","slug":"ojuju-open-verse","date":"2024-12-31 15:56:30","html":"<figure class=\\"wp-block-image size-large\\"><a href=\\"https://ffm.to/bb2meqb\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2024/12/Moosey_lion_Ojuju_-1024x1024.jpg\\" alt=\\"\\" class=\\"wp-image-505\\"/></a></figure>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">Think you can vibe with Mooseylionâs <em>Ojuju</em> and deliver a killer verse? This is your moment to shine! Join the <strong>Ojuju Open Verse Challenge</strong>, impress the crowd, and stand a chance to win BIG cash prizes. </p>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">Letâs break it down:</p>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\"><strong>How to Enter</strong></p>\\n\\n<ol start=\\"1\\" class=\\"wp-block-list\\">\\n<li class=\\"has-white-color has-text-color has-link-color\\"><strong>Download the Beat</strong>: Get the <em>Ojuju</em> instrumental directly by clicking <a href=\\"https://saskymalimusic.com/w
22p-content/uploads/2025/01/Ojuju_Challenge.wav\\">here</a> <audio src=\\"https://saskymalimusic.com/wp-content/uploads/2024/12/OJUJU-FOR-LIVE.wav\\"></audio><audio src=\\"https://saskymalimusic.com/wp-content/uploads/2024/12/OJUJU-FOR-LIVE.wav\\"></audio>. Let the rhythm inspire your creativity.</li>\\n\\n<li class=\\"has-white-color has-text-color has-link-color\\"><strong>Create Your Magic</strong>: Record your hottest bars or melody on the open verse. The more creative, the better!</li>\\n\\n<li class=\\"has-white-color has-text-color has-link-color\\"><strong>Post & Tag</strong>: Upload your entry to <a href=\\"https://www.instagram.com/mooseylionmusic/\\">Instagram</a> or <a href=\\"https://www.tiktok.com/@mooseylionmusic?lang=en\\">TikTok</a>. Use the hashtag <strong>#OjujuOpenVerse</strong> and tag <strong>@mooseylionmusic</strong>.</li>\\n\\n<li class=\\"has-white-color has-text-color has-link-color\\"><strong>Follow the Rules</strong>: Make sure youâre following <strong>@<a href=\\"https://www.instagram.com/mooseylionmusic/\\">mooseylionmusic</a></strong> and <strong><a href=\\"https://www.instagram.com/1800lfrmusic/\\">@1800lfrmusic</a></strong> on social media to qualify.</li>\\n</ol>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\"><strong>Whatâs at Stake?</strong></p>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">ð <strong>First Place</strong>: Win <strong>150,000 Naira</strong> for the most engaged entry (likes, comments, and shares).<br>ð¥ <strong>Second Place</strong>: Earn <strong>100,000 Naira</strong> for the second most engaged entry.</p>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">ð¶ <strong>Deadline</strong>: Submit your entry by <strong>24th January 2025</strong>. Winners will be announced shortly after, so stay tuned to Mooseylionâs pages for updates!</p>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\"><strong>Where to Listen to Ojuju</strong></p>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">Need some inspiration or want to get in the mood? Stream <em>Ojuju</em> now on all major platforms. Click <a href=\\"https://ffm.to/bb2meqb\\">here</a> to listen on <strong>Spotify, Apple Music, Audiomack, Boomplay</strong>, and more. ð§ð¹</p>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\"><strong>Why Participate?</strong></p>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">This is more than a competitionâitâs a chance to showcase your talent, grow your fanbase, and connect with a vibrant music community. Plus, with cash prizes and bragging rights on the line, itâs time to bring your A-game.</p>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">ð¤ <strong>Bring the fire. Drop the bars and melodies. Show the world your talent.</strong> Let the <em>Ojuju Open Verse Challenge</em> begin! ð¹ð¥</p>","embeds":{"spotify":[],"youtube":[],"audio":["https://saskymalimusic.com/w
22p-content/uploads/2024/12/OJUJU-FOR-LIVE.wav","https://saskymalimusic.com/wp-content/uploads/2024/12/OJUJU-FOR-LIVE.wav","https://saskymalimusic.com/wp-content/uploads/2024/12/OJUJU-FOR-LIVE.wav","https://saskymalimusic.com/wp-content/uploads/2024/12/OJUJU-FOR-LIVE.wav"],"images":["https://saskymalimusic.com/wp-content/uploads/2024/12/Moosey_lion_Ojuju_-1024x1024.jpg","https://saskymalimusic.com/wp-content/uploads/2024/12/Moosey_lion_Ojuju_-1024x1024.jpg"]},"excerpt":"Think you can vibe with Mooseylionâs Ojuju and deliver a killer verse? This is your moment to shine! Join the Ojuju Open Verse Challenge , impress the crowd, and stand a chance to win BIG cash prizes. \\n\\n Letâ","role":"sasky","section":"sasky","category":"release"},{"title":"DJ SESSION VOL 1","slug":"dj-session-vol-1","date":"2025-04-15 19:19:51","html":"<figure class=\\"wp-block-image size-large\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/04/Sasky.png-1024x1024.png\\" alt=\\"\\" class=\\"wp-image-675\\"/></figure>\\n\\n<p class=\\"has-white-color has-text-color has-link-color\\">Step into the Creative CTRL with the DJ mix from Sasky Mali. </p>\\n\\n<p>Genre: Amapiano </p>\\n\\n<iframe width=\\"100%\\" height=\\"120\\" src=\\"https://player-widget.mixcloud.com/widget/iframe/?hide_cover=1&autoplay=1&feed=%2FSaskyMali%2Fama-bap-bap-ctrl-sasky-mali-mix-v1-amapiano-mix%2F\\" frameborder=\\"0\\" allow=\\"autoplay\\"></iframe>\\n\\n<p class=\\"has-dark-yellow-color has-text-color has-link-color\\">
22<a href=\\"https://saskymalimusic.com/wp-content/uploads/2025/04/DJ-Sets-Apr-13th-2k25-Mastered.mp3\\">Download Link</a></p>\\n\\n<p></p>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/wp-content/uploads/2025/04/Sasky.png-1024x1024.png","https://saskymalimusic.com/wp-content/uploads/2025/04/Sasky.png-1024x1024.png"]},"excerpt":"Step into the Creative CTRL with the DJ mix from Sasky Mali. \\n\\n Genre: Amapiano \\n\\n \\n\\n Download Link","role":"sasky","section":"sasky","category":"journal"},{"title":"DJ Session VOl 2","slug":"dj-session-vol-2","date":"2025-07-07 10:25:04","html":"<p>Lashish June 13th Full Mix: Enjoy a sweet blend of Afrobeats and Amapiano music. 2hours opening set at the \\"Freakuency\\" night hosted by Dj Frolics. </p>\\n\\n<figure class=\\"wp-block-image aligncenter size-large is-resized\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2025/04/Sasky.png-1024x1024.png\\" alt=\\"\\" class=\\"wp-image-675\\" style=\\"width:642px;height:auto\\"/></figure>\\n\\n<figure class=\\"wp-block-embed is-type-rich is-provider-mixcloud wp-block-embed-mixcloud wp-embed-aspect-21-9 wp-has-aspect-ratio\\"><div class=\\"wp-block-embed__wrapper\\">\\nhttps://www.mixcloud.com/SaskyMali/afro-piano-mix-ctrl-by-sasky-mali/\\n</div></figure>\\n\\n<p>Follow on Mixcloud for more updates and share if you enjoy the rhythm! </p>\\n\\n<p class=\\"has-dark-yellow-color has-text-color has-link-color\\">Check out <a href=\\"/dj-session-vol-1/\\">Vol 1</a></p>\\n\\n<p class=\\"has-yellow-color has-text-color has-link-color\\">Follow on <a href=\\"https://www.tiktok.com/@saskymali\\">TikTok</a></p>","embeds":{"spotify":[],"youtube":[],"audio":[],"images":["https://saskymalimusic.com/w
22p-content/uploads/2025/04/Sasky.png-1024x1024.png","https://saskymalimusic.com/wp-content/uploads/2025/04/Sasky.png-1024x1024.png"]},"excerpt":"Lashish June 13th Full Mix: Enjoy a sweet blend of Afrobeats and Amapiano music. 2hours opening set at the \\"Freakuency\\" night hosted by Dj Frolics. \\n\\n \\n\\n \\nhttps://www.mixcloud.com/SaskyMali/afro-piano-mix-ctrl-by-sa","role":"sasky","section":"sasky","category":"journal"},{"title":"SUFFREY SUFFREY - New Release","slug":"suffrey-suffrey-saskymali","date":"2026-08-06 11:52:39","html":"<figure class=\\"wp-block-image aligncenter size-large is-resized\\"><img src=\\"https://saskymalimusic.com/wp-content/uploads/2026/08/Suffrey_Suffrey_Art-1024x1024.jpeg\\" alt=\\"\\" class=\\"wp-image-1082\\" style=\\"width:548px;height:auto\\"/></figure>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\"><br>In Nigerian Pidgin, <strong>âSUFFREY SUFFREYâ</strong> (also written <em>sufri-sufri</em> or <em>sofri sofri</em>) means <strong>âtake it easy,â âgently,â or âdo things slowly and calmly.â</strong> The doubling adds emphasis, the same way Pidgin likes to stretch a word for extra weight.</p>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\"><br>Thatâs the spirit of this record</p>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\"><br><strong>SUFFREY SUFFREY</strong> is motivational Pidgin rap meets Afro-gospel â a reminder to move with intention, keep faith in Baba God, and hustle smart without breaking yourself in the process. Street wisdom wrapped in melody.</p>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\">Credits: Prod by Lil Wild x HPN, Mixed and Mastered by Sasky Mali, Official Visuals by Jeffrey Benson</p>\\n\\n<p class=\\"has-text-align-center has-white-color has-text-color has-link-color\\"><br>Stream it now</p>\\n\\n<div class=\\"wp-block-buttons\\">\\n<div class=\\"wp-block-button is-style-outline\\"><a class=\\"wp-block-button__link has-midnight-gradient-background has-background has-small-font-size has-custom-font-size wp-element-button\\" style=\\"border-top-left-radius:240px;border-top-right-radius:240px;border-bottom-left-radius:240px;border-bottom-right-radius:240px\\">Link</a></div>\\n</div>\\n\\n<figure class=\\"wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\\"><iframe class=\\"yt-embed\\" src=\\"https://www.youtube.com/embed/AKZacyt2fh0\\" title=\\"YouTube\\" allow=\\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\\" allowfullscreen loading=\\"lazy\\"></iframe></figure>","embeds":{"spotify":[],"youtube":["AKZacyt2fh0"],"audio":[],"images":["https://saskymalimusic.com/w
22p-content/uploads/2026/08/Suffrey_Suffrey_Art-1024x1024.jpeg","https://saskymalimusic.com/wp-content/uploads/2026/08/Suffrey_Suffrey_Art-1024x1024.jpeg"]},"excerpt":"In Nigerian Pidgin, âSUFFREY SUFFREYâ (also written sufri-sufri or sofri sofri ) means âtake it easy,â âgently,â or âdo things slowly and calmly.â The doubling adds emphasis, the same way Pidgin likes to st","role":"sasky","section":"sasky","category":"release"}]`),Xl=Jl,Zl=Yl;function Ql(e){return Xl.find(t=>t.slug===e)}function $l(e){return Zl.find(t=>t.slug===e)}function eu(){return Zl.filter(e=>(e.section??e.role)===`sasky`||(e.section??e.role)===`production`).sort((e,t)=>(t.date??``).localeCompare(e.date??``))}function tu(e){return e.match(/(?:v=|youtu\.be\/|embed\/)([A-Za-z0-9_-]{11})/)?.[1]??null}function nu(e){let t=e.match(/open\.spotify\.com\/(track|album|playlist|episode|artist)\/([A-Za-z0-9]+)/);return t?`https://open.spotify.com/embed/${t[1]}/${t[2]}`:null}function ru(e){let t=e.match(/mixcloud\.com\/([^/?#]+\/[^/?#]+\/?)/i);return t?`https://player-widget.mixcloud.com/widget/iframe/?hide_cover=1&feed=${encodeURIComponent(`/${t[1].replace(/^\/|\/$/g,``)}/`)}`:null}function iu(e){return`<iframe class="yt-embed" src="https://www.youtube-nocookie.com/embed/${e}?rel=0" title="YouTube" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen loading="lazy"></iframe>`}function au(){return`<iframe class="yt-embed" src="https://www.youtube-nocookie.com/embed/videoseries?list=PLSxYFB17dPzW4K2H_qPnr4KVGHgt9ZZlY&rel=0" title="Sasky Mali on YouTube" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen loading="lazy"></iframe>`}function ou(e){return`<iframe class="spotify-embed" src="${e}" height="152" allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy" title="Spotify"></iframe>`}function su(e){return`<iframe class="mixcloud-embed" src="${e}" height="180" loading="lazy" title="Mixcloud"></iframe>`}function cu(e){return`<a class="embed-card" href="${e}" target="_blank" rel="noreferrer">${e.replace(/^https?:\/\//,``).replace(/\/$/,``)}</a>`}function lu(e){let t=tu(e);if(t)return iu(t);let n=nu(e);if(n)return ou(n);let r=ru(e);return r?su(r):/youtube\.com\/@/i.test(e)?au():/^https?:\/\//i.test(e)?cu(e):``}function uu(e,t){return lu(t.trim())||t}function du(e){let t=e.replace(/&/g,`&`);try{return new URL(t).searchParams.get(`q`)??t}catch{return t}}function fu(e){return e.replace(/<p[^>]*>\s*(Track\s+\d+:\s*[^<]+)<a href="([^"]+)"[^>]*>[\s\S]*?<\/a>\s*<\/p>/gi,(e,t,n)=>{let r=du(n);return`<p class="track-line"><span>${t.replace(/ /g,` `).replace(/\s+/g,` `).trim()}</span> <a class="wp-block-button__link wp-element-button" href="${r}" target="_blank" rel="noreferrer">Listen</a></p>`})}function pu(e){let t=e;return t=t.replace(/<p>\s*<\/p>/gi,``),t=t.replace(/\sstyle="[^"]*"/gi,``),t=fu(t),t=t.replace(/<div class="wp-block-embed__wrapper">\s*([\s\S]*?)\s*<\/div>/gi,(e,t)=>uu(e,t)),t=t.replace(/https:\/\/www\.youtube\.com\/embed\//g,`https://www.youtube-nocookie.com/embed/`),t=t.replace(/autoplay=1/g,`autoplay=0`),t=t.replace(/<mark\b[^>]*>/gi,`<span class="lyric">`),t=t.replace(/<\/mark>/gi,`</span>`),t=t.replace(/<div class="wp-block-cover[^"]*"[^>]*>/gi,`<div class="wp-block-cover">`),t=t.replace(/<figure class="wp-block-image[^"]*">[\s\S]*?saskymalimusic\.com\/wp-content\/uploads[\s\S]*?<\/figure>/gi,``),t=t.replace(/<img[^>]+saskymalimusic\.com\/wp-content\/uploads[^>]*>/gi,``),t}var mu=/(<figure class="wp-block-audio">[\s\S]*?<\/figure>|<audio\b[^>]*>\s*<\/audio>)/gi;function hu(e){let t=e.match(/\ssrc="([^"]+)"/i)?.[1];return t?{src:t,title:e.match(/<figcaption[^>]*>([\s\S]*?)<\/figcaption>/i)?.[1]?.replace(/<[^>]+>/g,``)??void 0}:null}function gu({html:e}){let t=pu(Ml(e)).split(mu);return(0,j.jsx)(`div`,{className:`wp-html`,children:t.map((e,t)=>{if(/<audio\b|wp-block-audio/i.test(e)){let n=hu(e);if(n)return(0,j.jsx)(Gl,{src:n.src,title:n.title},`${n.src}-${t}`)}return e.trim()?(0,j.jsx)(`div`,{dangerouslySetInnerHTML:{__html:e}},t):null})})}function _u(){let e=Ql(`mooseylionmusic`),t=Ql(`assalamu-special`),n=$l(`futuristic-mooseylion`);return(0,x.useEffect)(()=>{Il(`Moosey Lion â Featured collaborator â ${A.name}`)},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:`Featured collaborator`,title:`Moosey Lion`,intro:`Artist spotlight, music, and the Assalamu special.`}),(0,j.jsxs)(`div`,{className:`mx-auto grid max-w-3xl gap-16 px-5 pb-20 text-center`,children:[e?(0,j.jsx)(gu,{html:e.html}):null,t?(0,j.jsxs)(`section`,{id:`assalamu`,children:[(0,j.jsx)(`h2`,{className:`mb-6 font-display text-3xl uppercase`,children:`Assalamu Alaikum Pre-Release Special`}),(0,j.jsx)(gu,{html:t.html})]}):null,n?(0,j.jsxs)(`section`,{children:[(0,j.jsx)(`h2`,{className:`mb-6 font-display text-3xl uppercase`,children:n.title}),(0,j.jsx)(gu,{html:n.html})]}):null,(0,j.jsx)(k,{to:`/collabs`,className:`text-gold`,children:`All collabs`})]})]})}function vu(){let e=Ql(`ghetto-motivation-ep`);return(0,x.useEffect)(()=>{Il(`Ghetto Motivation EP â ${A.name}`)},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:`EP`,title:`Ghetto Motivation`}),(0,j.jsxs)(`div`,{className:`mx-auto max-w-3xl px-5 pb-20`,children:[(0,j.jsx)(`a`,{href:br.ffm,target:`_blank`,rel:`noreferrer`,children:(0,j.jsx)(`img`,{src:jl(br.cover),alt:`Ghetto Motivation cover art`,className:`mx-auto mb-8 block w-full max-w-md rounded-2xl`})}),e?(0,j.jsx)(gu,{html:e.html}):null]})]})}function yu(){let e=eu().slice(0,4);return(0,x.useEffect)(()=>{Il(`${A.name} â ${A.tagline}`)},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`section`,{className:`relative min-h-[62svh] overflow-hidden md:min-
22h-[80vh]`,children:[(0,j.jsx)(`img`,{src:jl(_r.image),alt:_r.alt,className:`absolute inset-0 h-full w-full object-cover object-[66%_60%]`}),(0,j.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-t from-ink via-ink/70 to-ink/30`}),(0,j.jsxs)(`div`,{className:`relative mx-auto flex min-h-[62svh] max-w-3xl flex-col items-center justify-end px-4 pb-10 pt-24 text-center md:min-h-[80vh] md:px-5 md:pb-16 md:pt-28`,children:[(0,j.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.32em] text-gold md:text-xs`,children:`Artist · Producer · DJ`}),(0,j.jsx)(`h1`,{className:`mt-4 font-display text-4xl uppercase leading-[0.9] md:text-7xl`,children:`Sasky Mali`}),(0,j.jsxs)(`p`,{className:`mt-6 max-w-xl text-lg text-paper/85`,children:[A.description,` Afro-fusion built to move minds and keep the hustle in key.`]}),(0,j.jsxs)(`div`,{className:`mt-8 flex flex-wrap justify-center gap-3`,children:[(0,j.jsx)(k,{to:`/contents`,className:`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink`,children:`Listen`}),(0,j.jsx)(k,{to:`/bookings`,className:`rounded-full border border-paper/30 px-3.5 py-1.5 text-xs uppercase tracking-[0.14em]`,children:`Bookings`}),(0,j.jsx)(k,{to:`/saskymali-epk`,className:`rounded-full border border-paper/30 px-3.5 py-1.5 text-xs uppercase tracking-[0.14em]`,children:`EPK`})]})]})]}),(0,j.jsx)(`section`,{className:`mx-auto grid max-w-5xl grid-cols-2 gap-2 px-4 py-10 md:grid-cols-3 md:gap-6 md:px-5 md:py-16`,children:_r.portraits.map(e=>(0,j.jsx)(`img`,{src:jl(e),alt:`Sasky Mali`,className:`h-36 w-full rounded-xl object-cover md:h-[28rem] md:rounded-2xl`},e))}),(0,j.jsxs)(`section`,{className:`mx-auto grid max-w-5xl gap-4 px-4 pb-12 text-center md:grid-cols-2 md:gap-12 md:px-5 md:pb-16`,children:[(0,j.jsxs)(`article`,{className:`rounded-2xl border border-line bg-panel p-5 md:rounded-3xl md:p-8`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.24em] text-gold`,children:`Latest EP`}),(0,j.jsx)(`h2`,{className:`mt-3 font-display text-3xl uppercase md:text-4xl`,children:`Ghetto Motivation`}),(0,j.jsx)(`p`,{className:`mt-4 text-muted`,children:`Afro-fusion for faith and hustle â Gbe Wa De Be, God's Love Is True, Reminder, Stay Up.`}),(0,j.jsxs)(`div`,{className:`mt-6 flex justify-center gap-3`,children:[(0,j.jsx)(k,{to:`/ghetto-motivation-ep`,className:`text-gold underline`,children:`Read the story`}),(0,j.jsx)(`a`,{href:br.ffm,target:`_blank`,rel:`noreferrer`,children:`Stream`})]})]}),(0,j.jsxs)(`article`,{className:`rounded-2xl border border-line bg-panel p-5 md:rounded-3xl md:p-8`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.24em] text-gold`,children:`News`}),(0,j.jsx)(`ul`,{className:`mt-5 grid gap-4`,children:e.map(e=>(0,j.jsx)(`li`,{children:(0,j.jsx)(k,{to:`/${e.slug}`,className:`hover:text-gold`,children:e.title})},e.slug))}),(0,j.jsx)(k,{to:`/news`,className:`mt-6 inline-block text-sm text-muted`,children:`All posts â`})]})]})]})}var bu=[{to:`/artiste-catalog`,kicker:`Artist`,title:`Catalog`,copy:`Official Sasky Mali releases.`},{to:`/music-production-catalog`,kicker:`Producer`,title:`Productions`,copy:`Tracks produced, mixed, or mastered.`},{to:`/ghetto-motivation-ep`,kicker:`EP`,title:`Ghetto Motivation`,copy:`Afro-fusion for faith and hustle.`}];function xu(){let[e,t]=(0,x.useState)(vr.slice(0,3));return(0,x.useEffect)(()=>{Il(`Contents â ${A.name}`),zl().then(e=>t(e.slice(0,3)))},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:`Index`,title:`Contents`,intro:`Catalogs, latest work, visuals, and productions.`}),(0,j.jsx)(`div`,{className:`mx-auto grid max-w-5xl gap-4 px-4 pb-10 text-center md:grid-cols-3 md:gap-6 md:px-5`,children:bu.map(e=>(0,j.jsxs)(k,{to:e.to,className:`rounded-2xl border border-line bg-panel p-5 md:p-6`,children:[(0,j.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.22em] text-gold`,children:e.kicker}),(0,j.jsx)(`h2`,{className:`mt-2 font-display text-2xl uppercase md:text-3xl`,children:e.title}),(0,j.jsx)(`p`,{className:`mt-2 text-sm text-muted`,children:e.copy})]},e.to))}),(0,j.jsxs)(`section`,{className:`mx-auto max-w-3xl px-4 py-10 text-center md:px-5`,children:[(0,j.jsx)(`h2`,{className:`font-display text-2xl uppercase`,children:`Latest works`}),(0,j.jsx)(`div`,{className:`mt-8 grid gap-10`,children:e.map(e=>(0,j.jsxs)(`article`,{children:[(0,j.jsx)(`h3`,{className:`mb-4 font-display text-lg uppercase`,children:e.title}),(0,j.jsx)(K,{kind:e.kind,id:e.id,title:e.title}),(0,j.jsxs)(`div`,{className:`mt-4 flex flex-wrap justify-center gap-2`,children:[(0,j.jsx)(`a`,{href:`https://open.spotify.com/${e.kind}/${e.id}`,target:`_blank`,rel:`noreferrer`,className:`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink`,children:`Spotify`}),e.ffm?(0,j.jsx)(`a`,{href:e.ffm,className:`rounded-full border border-paper/30 px-3.5 py-1.5 text-xs uppercase tracking-[0.14em]`,target:`_blank`,rel:`noreferrer`,children:`Smart link`}):null]})]},e.id))})]}),(0,j.jsxs)(`section`,{id:`visuals`,className:`mx-auto max-w-3xl px-4 py-10 text-center md:px-5`,children:[(0,j.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.22em] text-gold`,children:`Film`}),(0,j.jsx)(`h2`,{className:`mt-2 font-display text-2xl uppercase`,children:`Visuals`}),(0,j.jsx)(`p`,{className:`mx-auto mt-4 max-w-xl text-muted`,children:`Official videos and live cuts from the YouTube channel.`}),(0,j.jsx)(`div`,{className:`mt-8 overflow-hidden rounded-2xl border border-line`,children:(0,j.jsx)(`iframe`,{className:`aspect-video w-full max-w-full`,src:`https://www.youtube-nocookie.com/embed/videoseries?list=PLSxYFB17dPzW4K2H_qPnr4KVGHgt9ZZlY&rel=0`,title:`Sasky Mali visuals`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:!0})}),(0,j.jsx)(`a`,{href:A.youtube,className:`mt-6 inline-block text-gold`,target:`_blank`,rel:`noreferrer`,children:`youtube.com/@saskymali`})]}),(0,j.jsxs)(`section`,{className:`mx-auto max-w-3xl px-4 pb-20 pt-6 text-center md:px-5`,children:[(0,j.jsx)(`h2`,{className:`font-display text-2xl uppercase`,children:`Productions`}),(0,j.jsx)(`p`,{className:`mx-auto mt-4 max-w-xl text-base leading-relaxed text-muted`,children:yr.caption}),(0,j.jsx)(`div`,{className:`mt-8`,children:(0,j.jsx)(K,{kind:`playlist`,id:yr.id,title:`Production catalog`})}),(0,j.jsx)(k,{to:`/music-production-catalog`,className:`mt-8 inl
22ine-block rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink`,children:`Production catalog`})]})]})}function Su(e){let t=e.category===`journal`?`journal`:`release`;return{slug:e.slug,title:e.title,excerpt:e.excerpt,html:e.html,date:e.date,section:e.section??e.role??`sasky`,category:t}}function Cu(){return Zl.map(Su)}function wu(e){return e.section===`sasky`||e.section===`production`}function Tu(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`})}function Eu(e){if(!e)return`Undated`;let t=new Date(e).getFullYear();return Number.isNaN(t)?`Undated`:String(t)}function Du(e){let t=[];for(let n of e){let e=Eu(n.date),r=t[t.length-1];r?.year===e?r.posts.push(n):t.push({year:e,posts:[n]})}return t}async function Ou(){if(!G)return Cu().filter(wu);let{data:e,error:t}=await G.from(`posts`).select(`slug, title, excerpt, body_html, published_at, section, category`).eq(`type`,`post`).eq(`status`,`published`).in(`section`,[`sasky`,`production`]).order(`published_at`,{ascending:!1});return t||!e?.length?Cu().filter(wu):e.map(e=>({slug:e.slug,title:e.title,excerpt:e.excerpt??``,html:e.body_html??``,date:e.published_at,section:e.section,category:e.category===`journal`?`journal`:`release`}))}async function ku(e){if(G){let{data:t}=await G.from(`posts`).select(`slug, title, excerpt, body_html, published_at, section, category`).eq(`type`,`post`).eq(`status`,`published`).eq(`slug`,e).maybeSingle();if(t)return{slug:t.slug,title:t.title,excerpt:t.excerpt??``,html:t.body_html??``,date:t.published_at,section:t.section,category:t.category===`journal`?`journal`:`release`}}return Cu().find(t=>t.slug===e)}var Au=[{to:`/artiste-catalog`,kicker:`Artist`,title:`Artiste Catalog`,copy:`Sasky Mali releases â the records the stories are about.`},{to:`/music-production-catalog`,kicker:`Producer`,title:`Production Catalog`,copy:`Tracks produced, mixed, or mastered by Sasky Mali.`}];function ju(){let[e,t]=(0,x.useState)(()=>Cu().filter(wu));return(0,x.useEffect)(()=>{Il(`News â ${A.name}`),Ou().then(t)},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:`Journal`,title:`News`,intro:`Release stories for Sasky Maliâs own music. Other creativesâ drops live on Artspace.`}),(0,j.jsx)(`div`,{className:`mx-auto max-w-3xl px-4 pb-12 md:px-5`,children:Du(e).map(e=>(0,j.jsxs)(`section`,{className:`mb-10`,children:[(0,j.jsx)(`h2`,{className:`mb-4 text-center text-[11px] uppercase tracking-[0.28em] text-gold`,children:e.year}),(0,j.jsx)(`ul`,{className:`grid gap-1`,children:e.posts.map(e=>(0,j.jsx)(`li`,{children:(0,j.jsxs)(k,{to:`/${e.slug}`,className:`flex items-baseline justify-between gap-4 border-b border-line py-3 text-left hover:text-gold`,children:[(0,j.jsx)(`span`,{className:`min-w-0 font-display text-base uppercase leading-snug md:text-lg`,children:e.title}),(0,j.jsx)(`time`,{dateTime:e.date??void 0,className:`shrink-0 text-xs tabular-nums text-muted`,children:Tu(e.date)})]})},e.slug))})]},e.year))}),(0,j.jsx)(`div`,{className:`mx-auto grid max-w-3xl gap-3 px-4 pb-20 pt-6 md:grid-cols-2 md:px-5`,children:Au.map(e=>(0,j.jsxs)(k,{to:e.to,className:`rounded-2xl border border-line bg-panel p-5 text-center md:p-6`,children:[(0,j.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.22em] text-gold`,children:e.kicker}),(0,j.jsx)(`h2`,{className:`mt-2 font-display text-2xl uppercase`,children:e.title}),(0,j.jsx)(`p`,{className:`mt-2 text-sm text-muted`,children:e.copy})]},e.to))})]})}function Mu(){return(0,j.jsxs)(`div`,{className:`mx-auto max-w-xl px-5 py-24 text-center`,children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.24em] text-gold`,children:`404`}),(0,j.jsx)(`h1`,{className:`mt-3 font-display text-5xl uppercase`,children:`Not on this site`}),(0,j.jsx)(`p`,{className:`mt-4 text-muted`,children:`Creative Ctrl and Artspace live elsewhere. This domain is Sasky Mali.`}
22),(0,j.jsx)(k,{to:`/`,className:`mt-8 inline-block text-gold`,children:`Back home`})]})}var Nu={"suffrey-suffrey-saskymali":{artwork:{src:`art/Suffrey_Suffrey_Art.jpg`,href:`https://unitedmasters.com/m/suffrey-suffrey`,alt:`SUFFREY SUFFREY cover art`},html:`<p>In Nigerian Pidgin, <strong>âSUFFREY SUFFREYâ</strong> (also written <em>sufri-sufri</em> or <em>sofri sofri</em>) means <strong>âtake it easy,â âgently,â or âdo things slowly and calmly.â</strong> The doubling adds emphasis, the same way Pidgin likes to stretch a word for extra weight.</p> 23<p>Thatâs the spirit of this record.</p> 24<p><strong>SUFFREY SUFFREY</strong> is motivational Pidgin rap meets Afro-gospel â a reminder to move with intention, keep faith in Baba God, and hustle smart without breaking yourself in the process. Street wisdom wrapped in melody.</p> 25<p>Credits: Prod by Lil Wild x HPN, Mixed and Mastered by Sasky Mali, Official Visuals by Jeffrey Benson</p> 26<p>Stream it now</p> 27<div class="wp-block-buttons"><div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://unitedmasters.com/m/suffrey-suffrey" target="_blank" rel="noreferrer">Stream</a></div></div> 28<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube"><iframe class="yt-embed" src="https://www.youtube-nocookie.com/embed/AKZacyt2fh0?rel=0" title="SUFFREY SUFFREY official video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen loading="lazy"></iframe></figure>`},louder:{spotify:{kind:`track`,id:`5Aheh7dPxw7JuneCMzJ8Tx`},html:`<p>A smooth blend of Afrobeats, Afro-fusion vocals, and Spanish flows. Started by <a href="https://www.instagram.com/matty_waves/">Matty Waves</a>, with <a href="/about-sasky-mali/">Sasky Mali</a>, featuring <a href="https://www.instagram.com/afrofaya/">AfroFaya</a>.</p> 29<p>Listen and enjoy.</p> 30<div class="wp-block-buttons"><div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://ffm.to/louder-matty-sasky-afrofaya" target="_blank" rel="noreferrer">Smart link</a></div></div>`}};function Pu(){let{slug:e}=St(),[t,n]=(0,x.useState)(void 0);if((0,x.useEffect)(()=>{e&&ku(e).then(e=>n(e??null))},[e]),(0,x.useEffect)(()=>{t&&Il(`${t.title} â ${A.name}`)},[t]),t===void 0)return(0,j.jsx)(`p`,{className:`px-4 py-20 text-center text-muted`,children:`Loadingâ¦`});if(!t)return(0,j.jsxs)(`div`,{className:`px-4 py-20 text-center`,children:[(0,j.jsx)(`p`,{children:`That post is not on this site.`}),(0,j.jsx)(k,{to:`/news`,className:`text-gold`,children:`Back to news`})]});let r=Nu[t.slug];return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:t.section===`production`?`Production`:t.category,title:t.title,intro:Tu(t.date)||void 0}),r?.artwork?(0,j.jsx)(`a`,{href:r.artwork.href,target:`_blank`,rel:`noreferrer`,className:`mx-auto mb-8 block w-full max-w-xl px-4 md:mb-10 md:px-5`,children:(0,j.jsx)(`img`,{src:jl(r.artwork.src),alt:r.artwork.alt,className:`w-full rounded-2xl`})}):null,r?.spotify?(0,j.jsx)(`div`,{className:`mx-auto mb-8 w-full max-w-xl px-4 md:mb-10 md:px-5`,children:(0,j.jsx)(K,{kind:r.spotify.kind,id:r.spotify.id,title:t.title})}):null,(0,j.jsx)(`div`,{className:`mx-auto max-w-3xl px-4 pb-12 md:px-5`,children:(0,j.jsx)(gu,{html:r?.html??t.html})}),(0,j.jsxs)(`nav`,{className:`mx-auto mt-10 flex max-w-3xl flex-wrap justify-center gap-4 px-4 pb-20 text-sm md:mt-14 md:px-5`,children:[(0,j.jsx)(k,{to:`/news`,className:`text-gold`,children:`All news`}),(0,j.jsx)(k,{to:`/artiste-catalog`,children:`Artiste catalog`}),(0,j.jsx)(k,{to:`/music-production-catalog`,children:`Production catalog`})]})]})}var Fu=`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink`;function Iu(){return(0,x.useEffect)(()=>{Il(`Productions â ${A.name}`)},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:`Producer`,title:`Music Production Catalog`}),(0,j.jsxs)(`div`,{className:`mx-auto max-w-2xl px-4 pb-28 text-center md:px-5`,children:[(0,j.jsx)(`p`,{className:`mx-auto max-w-xl text-base leading-relaxed text-muted md:text-lg md:leading-8`,children:yr.caption}),(0,j.jsx)(`div`,{className:`mt-12 md:mt-16`,children:(0,j.jsx)(K,{kind:`playlist`,id:yr.id,title:`Production playlist`,tall:!0})}),(0,j.jsxs)(`div`,{className:`mt-10 flex flex-wrap justify-center gap-3 md:mt-12`,children:[(0,j.jsx)(`a`,{href:yr.spotify,target:`_blank`,rel:`noreferrer`,className:Fu,children:`Spotify Playlist`}),(0,j.jsx)(`a`,{href:yr.apple,target:`_blank`,rel:`noreferrer`,className:Fu,children:`Apple Music Playlist`})]}),(0,j.jsx)(`div`,{className:`mt-16 md:mt-20`,children:(0,j.jsx)(k,{to:`/artiste-catalog`,className:Fu,children:`Artiste Catalog`})})]})]})}function Lu(){let[e]=Bn(),[t,n]=(0,x.useState)(!1),[r,i]=(0,x.useState)(``),[a,o]=(0,x.useState)(!1),s=e.get(`confirmed`)===`1`,c=e.get(`unsubscribed`)===`1`,l=e.get(`error`);(0,x.useEffect)(()=>{Il(`Subscribe â ${A.name}`)},[]);async function u(e){e.preventDefault();let t=new FormData(e.currentTarget);if(t.get(`website`))return;if(!G){i(`Subscribe is not connected yet.`);return}i(``),o(!0);let{data:r,error:a}=await G.functions.invoke(`subscribe`,{body:{email:String(t.get(`email`)??``),firstName:String(t.get(`firstName`)??``),website:String(t.get(`website`)??``)}});if(o(!1),a){i(a.message);return}if(r?.error){i(r.error);return}if(r?.already){n(!0),i(``);return}n(!0)}return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:`List`,title:`Subscribe`,intro:`Releases, sessions, and notes â confirm b
30y email so only real inboxes join.`}),s?(0,j.jsx)(`p`,{className:`mx-auto max-w-xl px-5 pb-20 text-center text-gold`,children:`Youâre on the list. New posts will land in your inbox.`}):null,c?(0,j.jsx)(`p`,{className:`mx-auto max-w-xl px-5 pb-20 text-center text-muted`,children:`Youâre unsubscribed. You can join again anytime.`}):null,l?(0,j.jsx)(`p`,{className:`mx-auto max-w-xl px-5 pb-6 text-center text-gold`,children:`That confirm link is missing or expired. Submit the form again.`}):null,!s&&!c?(0,j.jsxs)(`form`,{onSubmit:e=>void u(e),className:`mx-auto grid max-w-xl gap-4 px-5 pb-20 text-left`,children:[(0,j.jsxs)(`label`,{className:`grid gap-2 text-sm`,children:[`First name`,(0,j.jsx)(`input`,{name:`firstName`,className:`rounded-xl border border-line bg-panel px-4 py-3`})]}),(0,j.jsxs)(`label`,{className:`grid gap-2 text-sm`,children:[`Email`,(0,j.jsx)(`input`,{required:!0,type:`email`,name:`email`,className:`rounded-xl border border-line bg-panel px-4 py-3`})]}),(0,j.jsxs)(`label`,{className:`sr-only`,children:[`Website`,(0,j.jsx)(`input`,{name:`website`,tabIndex:-1,autoComplete:`off`})]}),(0,j.jsx)(`button`,{type:`submit`,disabled:a,className:`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink disabled:opacity-60`,children:a?`Sendingâ¦`:`Join the list`}),t?(0,j.jsx)(`p`,{className:`text-sm text-muted`,children:`Check your inbox and confirm the link. If youâre already on the list, youâre all set.`}):null,r?(0,j.jsx)(`p`,{className:`text-sm text-gold`,children:r}):null]}):null]})}function Ru(){return(0,x.useEffect)(()=>{Il(`Collabs â ${A.name}`)},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fl,{kicker:`Together`,title:`Collabs`,intro:`Featured collaborators. Open a name for their page.`}),(0,j.jsx)(`div`,{className:`mx-auto grid max-w-3xl gap-6 px-4 pb-20 md:px-5`,children:gr.map(e=>(0,j.jsxs)(k,{to:e.to,className:`overflow-hidden rounded-2xl border border-line bg-panel text-center`,children:[(0,j.jsx)(`img`,{src:jl(e.image),alt:e.name,className:`h-72 w-full object-cover object-[50%_28%] md:h-[28rem]`}),(0,j.jsxs)(`div`,{className:`p-5 md:p-8`,children:[(0,j.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.22em] text-gold`,children:e.kicker}),(0,j.jsx)(`h2`,{className:`mt-2 font-display text-3xl uppercase`,children:e.name}),(0,j.jsx)(`p`,{className:`mt-3 text-sm text-muted md:text-base`,children:e.copy})]})]},e.to))})]})}var zu=[{to:`/admin`,label:`Home`,end:!0},{to:`/admin/catalog`,label:`Catalog`},{to:`/admin/posts`,label:`Posts`}];function Bu(){let e=vt();return(0,j.jsxs)(`div`,{className:`min-h-screen bg-ink text-paper`,children:[(0,j.jsx)(`header`,{className:`border-b border-line/80`,children:(0,j.jsxs)(`div`,{className:`mx-auto flex max-w-4xl flex-wrap items-center justify-between gap-3 px-4 py-3`,children:[(0,j.jsx)(`p`,{className:`font-display text-sm uppercase tracking-[0.18em] text-gold`,children:`Admin`}),(0,j.jsxs)(`nav`,{className:`flex flex-wrap items-center gap-4 text-xs uppercase tracking-[0.16em]`,children:[zu.map(e=>(0,j.jsx)(Fn,{to:e.to,end:e.end,className:({isActive:e})=>e?`text-gold`:`text-muted hover:text-paper`,children:e.label},e.to)),(0,j.jsx)(k,{to:`/`,className:`text-muted hover:text-paper`,children:`Site`}),(0,j.jsx)(`button`,{type:`button`,className:`text-muted hover:text-paper`,onClick:()=>{bl().then(()=>e(`/admin/login`))},children:`Sign out`})]})]})}),(0,j.jsx)(`main`,{className:`mx-auto max-w-4xl px-4 py-10`,children:(0,j.jsx)(Gt,{})})]})}function Vu(){let[e,t]=(0,x.useState)(G?`loading`:`anon`);return(0,x.useEffect)(()=>{if(!G)return;let e=!0,n=()=>{vl().then(n=>{e&&t(n)})};n();let{data:r}=G.auth.onAuthStateChange(n);return()=>{e=!1,r.subscription.unsubscribe()}},[]),e===`loading`?(0,j.jsx)(`p`,{className:`px-4 py-20 text-center text-muted`,children:`Loadingâ¦`}):e===`ok`?(0,j.jsx)(Bu,{}):(0,j.jsx)(Wt,{to:gl(e),replace:!0})}function Hu(){let[e,t]=(0,x.useState)({mobile:null,desktop:null}),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)(``),o=async()=>{if(!G){a(`Supabase is not configured.`),r(!1);return}r(!0),a(``);try{let{data:e,error:n}=await G.from(`site_audits`).select(`*`).order(`created_at`,{ascending:!1}).limit(10);if(n)a(n.message);else if(e){let n=e.find(e=>e.strategy===`mobile`)||null,r=e.find(e=>e.strategy===`desktop`)||null;t({mobile:n,desktop:r})}}catch(e){a(e.message||`An unexpected error occurred.`)}finally{r(!1)}};(0,x.useEffect)(()=>{o()},[]);let s=e=>e>=90?`text-emerald-400 border-emerald-400/30`:e>=50?`text-amber-400 border-amber-400/30`:`text-rose-400 border-rose-400/30`,c=e.mobile||e.desktop;return(0,j.jsxs)(`div`,{className:`rounded-2xl border border-line bg-panel p-6 text-paper space-y-6`,children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-4`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsxs)(`h2`,{className:`text-xl font-display uppercase flex items-center gap-2`,children:[(0,j.jsx)(rr,{className:`w-5 h-5 text-emerald-400`}),` Site Vitals & SEO`]}),(0,j.jsxs)(`p`,{className:`text-xs text-muted mt-1`,children:[`Last audit:`,` `,c?.created_at?new Date(c.created_at).toLocaleStr
30ing():`Never`]})]}),(0,j.jsxs)(`button`,{type:`button`,onClick:()=>void o(),disabled:n,className:`flex items-center gap-2 bg-ink hover:bg-ink/80 border border-line px-4 py-2 rounded-xl text-xs font-semibold uppercase tracking-wider text-paper transition disabled:opacity-50`,children:[(0,j.jsx)(ur,{className:`w-3.5 h-3.5 ${n?`animate-spin`:``}`}),` `,`Refresh`]})]}),i&&(0,j.jsx)(`p`,{className:`text-sm text-gold bg-ink/30 border border-line/50 p-3 rounded-lg`,children:i}),n?(0,j.jsx)(`div`,{className:`py-12 text-center text-muted text-sm`,children:`Loading audit diagnostics...`}):c?(0,j.jsxs)(`div`,{className:`space-y-6`,children:[(0,j.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-4 gap-4`,children:[{label:`Performance`,score:c.performance_score,icon:mr},{label:`Accessibility`,score:c.accessibility_score,icon:fr},{label:`Best Practices`,score:c.best_practices_score,icon:rr},{label:`SEO`,score:c.seo_score,icon:dr}].map(({label:e,score:t,icon:n})=>(0,j.jsxs)(`div`,{className:`bg-ink/50 border border-line/60 rounded-xl p-4 text-center flex flex-col items-center`,children:[(0,j.jsx)(`div`,{className:`w-14 h-14 rounded-full border flex items-center justify-center text-lg font-bold ${s(t)}`,children:t}),(0,j.jsxs)(`div`,{className:`mt-3 text-[10px] uppercase tracking-[0.15em] text-muted flex items-center gap-1 font-semibold`,children:[(0,j.jsx)(n,{className:`w-3.5 h-3.5`}),` `,e]})]},e))}),(0,j.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-4 gap-3 bg-ink/70 p-4 rounded-xl border border-line/50 text-xs`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`span`,{className:`text-muted block uppercase tracking-wider text-[10px]`,children:`LCP (Max 2.5s)`}),(0,j.jsx)(`span`,{className:`font-semibold text-paper text-sm mt-1 block`,children:c.lcp_value===null?`N/A`:`${c.lcp_value}s`})]}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`span`,{className:`text-muted block uppercase tracking-wider text-[10px]`,children:`FCP (Max 1.8s)`}),(0,j.jsx)(`span`,{className:`font-semibold text-paper text-sm mt-1 block`,children:c.fcp_value===null?`N/A`:`${c.fcp_value}s`})]}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`span`,{className:`text-muted block uppercase tracking-wider text-[10px]`,children:`CLS (Max 0.1)`}),(0,j.jsx)(`span`,{className:`font-semibold text-paper text-sm mt-1 block`,children:c.cls_value===null?`N/A`:c.cls_value})]}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`span`,{className:`text-muted block uppercase tracking-wider text-[10px]`,children:`TBT (Max 200ms)`}),(0,j.jsx)(`span`,{className:`font-semibold text-paper text-sm mt-1 block`,children:c.tbt_value===null?`N/A`:`${c.tbt_value}ms`})]})]})]}):(0,j.jsx)(`div`,{className:`py-12 text-center text-muted text-sm border border-dashed border-line rounded-xl`,children:`No audit records found. Run a script or setup GitHub Action to trigger audits.`})]})}function Uu(){return(0,x.useEffect)(()=>{Il(`Admin â ${A.name}`)},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`h1`,{className:`font-display text-4xl uppercase`,children:`Dashboard`}),(0,j.jsx)(`p`,{className:`mt-3 max-w-xl text-muted`,children:`Publish news posts and add catalog releases. The public site reads this database first.`}),(0,j.jsxs)(`div`,{className:`mt-8 grid gap-4 md:grid-cols-2`,children:[(0,j.jsxs)(k,{to:`/admin/catalog`,className:`rounded-2xl border border-line bg-panel p-6`,children:[(0,j.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.22em] text-gold`,children:`Music`}),(0,j.jsx)(`h2`,{className:`mt-2 font-display text-2xl uppercase`,children:`Catalog`}),(0,j.jsx)(`p`,{className:`mt-2 text-sm text-muted`,children:`Add a Spotify link and smart link. Latest works pick this up.`})]}),(0,j.jsxs)(k,{to:`/admin/posts`,className:`rounded-2xl border border-line bg-panel p-6`,children:[(0,j.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.22em] text-gold`,children:`Journal`}),(0,j.jsx)(`h2`,{className:`mt-2 font-display text-2xl uppercase`,children:`Posts`}),(0,j.jsx)(`p`,{className:`mt-2 text-sm text-muted`,children:`Write a news story, set the date, and publish.`})]})]}),(0,j.jsx)(`div`,{className:`mt-8`,children:(0,j.jsx)(Hu,{})})]})}function Wu(){let e=vt(),[t,n]=(0,x.useState)(``),[r,i]=(0,x.useState)(``),[a,o]=(0,x.useState)(``),[s,c]=(0,x.useState)(!1);(0,x.useEffect)(()=>{Il(`Admin â ${A.name}`),vl().then(t=>{t!==`anon`&&e(gl(t),{replace:!0})})},[e]);async function l(n){n.preventDefault(),o(``),c(!0);try{let n=await yl(t,r);e(gl(n),{replace:!0})}catch(e){o(e instanceof Error?e.message:`Could not sign in.`)}finally{c(!1)}}return(0,j.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-ink px-4 text-paper`,children:(0,j.jsxs)(`form`,{onSubmit:e=>void l(e),className:`w-full max-w-sm rounded-2xl border border-line bg-panel p-6`,children:[(0,j.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.22em] text-gold`,children:`Private`}),(0,j.jsx)(`h1`,{className:`mt-2 font-display text-3xl uppercase`,children:`Admin`}),(0,j.jsx)(`p`,{className:`mt-3 text-sm text-muted`,children:`Sign in with the admin account. First time: scan a QR in your authenticator app. After that: password, then a 6-digit code.`}),(0,j.jsxs)(`label`,{className:`mt-6 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Email`,(0,j.jsx)(`input`,{className:`admin-field mt-1`,type:`email`,autoComplete:`username`,value:t,onChange:e=>n(e.target.value),required:!0})]}),(0,j.jsxs)(`label`,{className:`mt-4 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Password`,(0,j.jsx)(`input`,{className:`admin-field mt-1`,type:`password`,autoComplete:`current-password`,value:r,onChange:e=>i(e.target.value),required:!0})]}),a?(0,j.jsx)(`p`,{className:`mt-4 whitespace-pre-wrap text-sm text-gold`,children:a}):null,(0,j.jsx)(`button`,{type:`submit`,disabled:s,className:`mt-6 w-full rounded-full bg-gold px-3.5 py-2 text-xs font-semibold uppercase tracking-wide text-ink disabled:opacity-60`,children:s?`Signing inâ¦`:`Sign in`}),(0,j.jsx)(k,{to:`/`,className:`mt-4 block text-center text-sm text-muted`,children:`Back to site`})]})})}function Z(){let e=vt(),[t,n]=(0,x.useState)(``),[r,i]=(0,x.useState)(``),[a,o]=(0,x.useState)(``),[s,c]=(0,x.useState)(``),[l,u]=(0,x.useState)(``),[d,f]=(0,x.useState)(!1);(0,x.useEffect)(()=>
30{if(Il(`Set up authenticator â ${A.name}`),!G){e(`/admin/login`,{replace:!0});return}let t=!0;return(async()=>{let r=await vl();if(!t)return;if(r!==`enroll`){e(gl(r),{replace:!0});return}let{data:a}=await G.auth.mfa.listFactors();for(let e of a?.totp??[])e.status!==`verified`&&await G.auth.mfa.unenroll({factorId:e.id});let{data:s,error:c}=await G.auth.mfa.enroll({factorType:`totp`,friendlyName:`Authenticator`});if(t){if(c||!s){u(c?.message??`Could not start authenticator setup.`);return}n(s.id),i(s.totp.qr_code),o(s.totp.secret)}})(),()=>{t=!1}},[e]);async function p(n){if(n.preventDefault(),!(!G||!t)){u(``),f(!0);try{let{data:n,error:r}=await G.auth.mfa.challenge({factorId:t});if(r||!n)throw r??Error(`Could not start verification.`);let{error:i}=await G.auth.mfa.verify({factorId:t,challengeId:n.id,code:s.trim()});if(i)throw i;e(`/admin`,{replace:!0})}catch(e){u(e instanceof Error?e.message:`That code did not match.`)}finally{f(!1)}}}return(0,j.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-ink px-4 py-10 text-paper`,children:(0,j.jsxs)(`form`,{onSubmit:e=>void p(e),className:`w-full max-w-sm rounded-2xl border border-line bg-panel p-6 text-center`,children:[(0,j.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.22em] text-gold`,children:`One-time setup`}),(0,j.jsx)(`h1`,{className:`mt-2 font-display text-3xl uppercase`,children:`Authenticator`}),(0,j.jsx)(`p`,{className:`mt-3 text-sm text-muted`,children:`Open Google Authenticator, Authy, 1Password, or Apple Passwords. Scan the QR, then enter the 6-digit code.`}),r?(0,j.jsx)(`img`,{src:r,alt:`Authenticator QR code`,className:`mx-auto mt-6 h-48 w-48 rounded-xl bg-paper p-2`}):(0,j.jsx)(`p`,{className:`mt-6 text-sm text-muted`,children:`Preparing QR codeâ¦`}),a?(0,j.jsxs)(`p`,{className:`mt-3 break-all text-xs text-muted`,children:[`Or type this key: `,a]}):null,(0,j.jsxs)(`label`,{className:`mt-6 block text-left text-xs uppercase tracking-[0.16em] text-gold`,children:[`6-digit code`,(0,j.jsx)(`input`,{className:`admin-field mt-1 text-center tracking-[0.3em]`,inputMode:`numeric`,autoComplete:`one-time-code`,value:s,onChange:e=>c(e.target.value),required:!0})]}),l?(0,j.jsx)(`p`,{className:`mt-4 text-sm text-gold`,children:l}):null,(0,j.jsx)(`button`,{type:`submit`,disabled:d||!t,className:`mt-6 w-full rounded-full bg-gold px-3.5 py-2 text-xs font-semibold uppercase tracking-wide text-ink disabled:opacity-60`,children:d?`Verifyingâ¦`:`Confirm`}),(0,j.jsx)(`button`,{type:`button`,className:`mt-4 block w-full text-sm text-muted`,onClick:()=>void bl().then(()=>e(`/admin/login`)),children:`Sign out`}),(0,j.jsx)(k,{to:`/`,className:`mt-2 block text-sm text-muted`,children:`Back to site`})]})})}function Gu(){let e=vt(),[t,n]=(0,x.useState)(``),[r,i]=(0,x.useState)(``),[a,o]=(0,x.useState)(``),[s,c]=(0,x.useState)(!1);(0,x.useEffect)(()=>{if(Il(`Authenticator code â ${A.name}`),!G){e(`/admin/login`,{replace:!0});return}let t=!0;return(async()=>{let r=await vl();if(!t)return;if(r!==`verify`){e(gl(r),{replace:!0});return}let{data:i}=await G.auth.mfa.listFactors(),a=i?.totp.find(e=>e.status===`verified`);if(!a){e(`/admin/mfa`,{replace:!0});return}n(a.id)})(),()=>{t=!1}},[e]);async function l(n){if(n.preventDefault(),!(!G||!t)){o(``),c(!0);try{let{data:n,error:i}=await G.auth.mfa.challenge({factorId:t});if(i||!n)throw i??Error(`Could not start verification.`);let{error:a}=await G.auth.mfa.verify({factorId:t,challengeId:n.id,code:r.trim()});if(a)throw a;e(`/admin`,{replace:!0})}catch(e){o(e instanceof Error?e.message:`That code did not match.`)}finally{c(!1)}}}return(0,j.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-ink px-4 text-paper`,children:(0,j.jsxs)(`form`,{onSubmit:e=>void l(e),className:`w-full max-w-sm rounded-2xl border border-line bg-panel p-6`,children:[(0,j.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.22em] text-gold`,children:`Second step`}),(0,j.jsx)(`h1`,{className:`mt-2 font-display text-3xl uppercase`,children:`Authenticator`}),(0,j.jsx)(`p`,{className:`mt-3 text-sm text-muted`,children:`Open your authenticator app and enter the 6-digit code.`}),(0,j.jsxs)(`label`,{className:`mt-6 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`6-digit code`,(0,j.jsx)(`input`,{className:`admin-field mt-1 text-center tracking-[0.3em]`,inputMode:`numeric`,autoComplete:`one-time-code`,value:r,onChange:e=>i(e.target.value),required:!0})]}),a?(0,j.jsx)(`p`,{className:`mt-4 text-sm text-gold`,children:a}):null,(0,j.jsx)(`button`,{type:`submit`,disabled:s||!t,className:`mt-6 w-full rounded-full bg-gold px-3.5 py-2 text-xs font-semibold uppercase tracking-wide text-ink disabled:opacity-60`,children:s?`Verifyingâ¦`:`Verify`}),(0,j.jsx)(`button`,{type:`button`,className:`mt-4 block w-full text-center text-sm text-muted`,onClick:()=>void bl().then(()=>e(`/admin/login`)),children:`Sign out`}),(0,j.jsx)(k,{to:`/`,className:`mt-2 block text-center text-sm text-muted`,children:`Back to site`})]})})}function Ku(){let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(``),[i,a]=(0,x.useState)(!1);async function o(){t(await Bl())}(0,x.useEffect)(()=>{Il(`Catalog admin â ${A.name}`),o()},[]);async function s(){if(!G)return;a(!0),r(``);let e=vr.map((e,t)=>({title:e.title,slug:Y(e.title),kind:e.kind,spotify_id:e.id,ffm_url:e.ffm??null,catalog:`artist`,status:`published`,sort_order:(t+1)*10})),{error:t}=await G.from(`releases`).upsert(e,{onConflict:`slug`});if(a(!1),t){r(t.message);return}r(`Site catalog written to the database.`),await o()}async function c(e){if(!G)return;let{error:t}=await G.from(`releases`).update({status:`archived`}).eq(`id`,e);if(t){r(t.message);return}await o()}async function l(n,i){if(!G)return;let a=e.filter(e=>e.catalog===`artist`),s=e.filter(e=>e.catalog!==`artist`),c=n+i;
30if(c<0||c>=a.length)return;let l=a[n],u=a[c],{error:d}=await G.from(`releases`).update({sort_order:u.sort_order}).eq(`id`,l.id);if(d||await G.from(`releases`).update({sort_order:l.sort_order}).eq(`id`,u.id),d){r(d.message);return}t([...a.map((e,t)=>t===n?{...e,sort_order:u.sort_order}:t===c?{...e,sort_order:l.sort_order}:e),...s].sort((e,t)=>e.sort_order-t.sort_order)),await o()}let u=e.filter(e=>e.catalog===`artist`);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-end justify-between gap-3`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h1`,{className:`font-display text-4xl uppercase`,children:`Catalog`}),(0,j.jsx)(`p`,{className:`mt-2 text-sm text-muted`,children:`Artist catalog, latest first.`})]}),(0,j.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,j.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>void s(),className:`rounded-full border border-paper/30 px-3.5 py-1.5 text-xs uppercase tracking-[0.14em]`,children:`Sync site list`}),(0,j.jsx)(k,{to:`/admin/catalog/new`,className:`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink`,children:`New release`})]})]}),n?(0,j.jsx)(`p`,{className:`mt-4 text-sm text-gold`,children:n}):null,(0,j.jsx)(`ul`,{className:`mt-8 grid gap-2`,children:u.map((e,t)=>(0,j.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-xl border border-line bg-panel px-4 py-3`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`p`,{className:`font-display uppercase`,children:e.title}),(0,j.jsxs)(`p`,{className:`text-xs text-muted`,children:[e.kind,` · `,e.status,e.spotify_id?` · ${e.spotify_id}`:` · no Spotify`]})]}),(0,j.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs uppercase tracking-[0.12em]`,children:[(0,j.jsx)(`button`,{type:`button`,onClick:()=>void l(t,-1),children:`Up`}),(0,j.jsx)(`button`,{type:`button`,onClick:()=>void l(t,1),children:`Down`}),(0,j.jsx)(k,{to:`/admin/catalog/${e.id}`,className:`text-gold`,children:`Edit`}),e.status===`archived`?null:(0,j.jsx)(`button`,{type:`button`,onClick:()=>void c(e.id),children:`Archive`})]})]},e.id))})]})}var qu=[`track`,`album`,`ep`,`playlist`];function Ju(){let{id:e}=St(),t=vt(),n=!e||e===`new`,[r,i]=(0,x.useState)(``),[a,o]=(0,x.useState)(``),[s,c]=(0,x.useState)(`track`),[l,u]=(0,x.useState)(``),[d,f]=(0,x.useState)(``),[p,m]=(0,x.useState)(`published`),[h,g]=(0,x.useState)(10),[_,v]=(0,x.useState)(``),[y,b]=(0,x.useState)(!1);(0,x.useEffect)(()=>{Il(`${n?`New release`:`Edit release`} â ${A.name}`),!(n||!G||!e)&&G.from(`releases`).select(`title, slug, kind, spotify_id, ffm_url, status, sort_order`).eq(`id`,e).maybeSingle().then(({data:e,error:t})=>{if(t||!e){v(t?.message??`Release not found.`);return}i(e.title),o(e.slug??``),c(e.kind),u(e.spotify_id??``),f(e.ffm_url??``),m(e.status),g(e.sort_order)})},[e,n]);function ee(e){i(e),n&&o(Y(e))}async function S(i){if(i.preventDefault(),!G)return;v(``),b(!0);let o=J(l),c=o?.id??(l.trim()||null),u=o?.kind??s,f=Number(h)||10;if(n){let{data:e}=await G.from(`releases`).select(`sort_order`).eq(`catalog`,`artist`).order(`sort_order`).limit(1).maybeSingle();e?.sort_order!=null&&f>=e.sort_order&&(f=e.sort_order-10)}let m={title:r.trim(),slug:a.trim()||Y(r),kind:u,spotify_id:c,ffm_url:d.trim()||null,catalog:`artist`,status:p,sort_order:f},{error:g}=await(n?G.from(`releases`).insert(m):G.from(`releases`).update(m).eq(`id`,e));if(b(!1),g){v(g.message);return}t(`/admin/catalog`)}return(0,j.jsxs)(`form`,{onSubmit:e=>void S(e),className:`max-w-xl`,children:[(0,j.jsx)(`h1`,{className:`font-display text-4xl uppercase`,children:n?`New release`:`Edit release`}),(0,j.jsxs)(`label`,{className:`mt-6 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Title`,(0,j.jsx)(`input`,{className:`admin-field mt-1`,value:r,onChange:e=>ee(e.target.value),required:!0})]}),(0,j.jsxs)(`label`,{className:`mt-4 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Slug`,(0,j.jsx)(`input`,{className:`admin-field mt-1`,value:a,onChange:e=>o(e.target.value)})]}),(0,j.jsxs)(`label`,{className:`mt-4 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Spotify URL or ID`,(0,j.jsx)(`input`,{className:`admin-field mt-1`,value:l,onCh
30ange:e=>u(e.target.value),placeholder:`https://open.spotify.com/track/â¦`})]}),(0,j.jsxs)(`label`,{className:`mt-4 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Kind`,(0,j.jsx)(`select`,{className:`admin-field mt-1`,value:s,onChange:e=>c(e.target.value),children:qu.map(e=>(0,j.jsx)(`option`,{value:e,children:e},e))})]}),(0,j.jsxs)(`label`,{className:`mt-4 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Smart link`,(0,j.jsx)(`input`,{className:`admin-field mt-1`,value:d,onChange:e=>f(e.target.value),placeholder:`https://ffm.to/â¦`})]}),(0,j.jsxs)(`label`,{className:`mt-4 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Status`,(0,j.jsxs)(`select`,{className:`admin-field mt-1`,value:p,onChange:e=>m(e.target.value),children:[(0,j.jsx)(`option`,{value:`published`,children:`published`}),(0,j.jsx)(`option`,{value:`draft`,children:`draft`}),(0,j.jsx)(`option`,{value:`archived`,children:`archived`})]})]}),(0,j.jsxs)(`label`,{className:`mt-4 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Sort order (lower is first)`,(0,j.jsx)(`input`,{className:`admin-field mt-1`,type:`number`,value:h,onChange:e=>g(Number(e.target.value))})]}),_?(0,j.jsx)(`p`,{className:`mt-4 text-sm text-gold`,children:_}):null,(0,j.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-3`,children:[(0,j.jsx)(`button`,{type:`submit`,disabled:y,className:`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink disabled:opacity-60`,children:y?`Savingâ¦`:`Save`}),(0,j.jsx)(k,{to:`/admin/catalog`,className:`text-sm text-muted`,children:`Cancel`})]})]})}function Yu(){let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(``),[i,a]=(0,x.useState)(`all`);async function o(){if(!G)return;let{data:e,error:n}=await G.from(`posts`).select(`id, slug, title, status, section, category, published_at`).eq(`type`,`post`).order(`published_at`,{ascending:!1});if(n){r(n.message);return}t(e??[])}(0,x.useEffect)(()=>{Il(`Posts admin â ${A.name}`),o()},[]);async function s(e){if(!G)return;let{error:t}=await G.from(`posts`).update({status:`archived`}).eq(`id`,e);if(t){r(t.message);return}await o()}return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-end justify-between gap-3`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h1`,{className:`font-display text-4xl uppercase`,children:`Posts`}),(0,j.jsx)(`p`,{className:`mt-2 text-sm text-muted`,children:`News stories, newest first.`})]}),(0,j.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,j.jsxs)(`button`,{type:`button`,onClick:()=>a(i===`draft`?`all`:`draft`),className:`rounded-full px-3.5 py-1.5 text-xs uppercase tracking-[0.14em] ${i===`draft`?`border border-gold text-gold`:`border border-paper/30`}`,children:[`Drafts`,e.some(e=>e.status===`draft`)?` (${e.filter(e=>e.status===`draft`).length})`:``]}),(0,j.jsx)(k,{to:`/admin/posts/new`,className:`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink`,children:`New post`})]})]}),n?(0,j.jsx)(`p`,{className:`mt-4 text-sm text-gold`,children:n}):null,(0,j.jsx)(`ul`,{className:`mt-8 grid gap-2`,children:e.filter(e=>i!==`draft`||e.status===`draft`).map(e=>(0,j.jsxs)(`li`,{className:`rounded-xl border border-line bg-panel px-4 py-3`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`p`,{className:`font-display uppercase`,children:e.title}),(0,j.jsxs)(`p`,{className:`mt-1 text-xs text-muted`,children:[Tu(e.published_at)||`No date`,` · `,e.status,` ·`,` `,e.section]})]}),(0,j.jsxs)(`div`,{className:`mt-3 flex gap-3 text-xs uppercase tracking-[0.12em]`,children:[(0,j.jsx)(k,{to:`/admin/posts/${e.id}`,className:`text-gold`,children:`Edit`}),e.status===`archived`?null:(0,j.jsx)(`button`,{type:`button`,onClick:()=>void s(e.id),children:`Archive`})]})]},e.id))}),i===`draft`&&!e.some(e=>e.status===`draft`)?(0,j.jsx)(`p`,{className:`mt-6 text-sm text-muted`,children:`No drafts right now.`}):null]})}var Xu=[{type:`paragraph`,label:`Text`},{type:`heading`,label:`Heading`},{type:`quote`,label:`Quote`},{type:`image`,label:`Image`},{type:`gallery`,label:`Gallery`},{type:`button`,label:`Button`},{type:`embed`,label:`Embed`}];function Zu(){return crypto.randomUUID()}function Qu(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function $u(e){return(e.textContent??``).replace(/\s+/g,` `).trim()}function ed(e){return e===`heading`||e===`quote`?{id:Zu(),type:e,text:``}:e===`image`?{id:Zu(),type:e,src:``,alt:``,href:``}:e===`gallery`?{id:Zu(),type:e,srcs:[]}:e===`button`?{id:Zu(),type:e,label:`Listen`,href:``}:e===`embed`?{id:Zu(),type:e,url:``}:e===`html`?{id:Zu(),type:e,html:``}:{id:Zu(),type:`paragraph`,text:``}}function td(e){return e.map(e=>{if(e.type===`paragraph`){let t=Qu(e.text).replace(/\n/g,`<br>`);return t?`<p>${t}</p>`:``}if(e.type===`heading`)return e.text?`<h2>${Qu(e.text)}</h2>`:``;if(e.type===`quote`)return e.text?`<blockquote><p>${Qu(e.text)}</p></blockquote>`:``;if(e.type===`image`&&e.src){let t=`<img src="${Qu(e.src)}" alt="${Qu(e.alt)}"/>`;return`<figure class="wp-block-image">${e.href?`<a href="${Qu(e.href)}" target="_blank" rel="noreferrer">${t}</a>`:t}</figure>`}return e.type===`gallery`&&e.srcs.length?`<div class="wp-gallery">${e.srcs.map(e=>`<img src="${Qu(e)}" alt=""/>`).join(``)}</div>`:e.type===`button`&&e.href?`<div class="wp-block-buttons"><div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="${Qu(e.href)}" target="_blank" rel="noreferrer">${Qu(e.label||`Link`)}</a></div></div>`:e.type===`embed`&&e.url?lu(e.url)||`<p><a href="${Qu(e.url)}">${Qu(e.url)}</a></p>`:e.type===`html`?e.html:``}
30).filter(Boolean).join(` 31 32`)}function nd(e){let t=e.tagName.toLowerCase();if(t===`p`){let t=(e.textContent??``).trim();return t?{id:Zu(),type:`paragraph`,text:t}:null}if(t===`h1`||t===`h2`||t===`h3`){let t=$u(e);return t?{id:Zu(),type:`heading`,text:t}:null}if(t===`blockquote`){let t=$u(e);return t?{id:Zu(),type:`quote`,text:t}:null}if(e.querySelector?.(`.wp-block-button__link, .wp-element-button`)){let t=e.querySelector(`a`);if(t?.getAttribute(`href`))return{id:Zu(),type:`button`,label:$u(t)||`Link`,href:t.getAttribute(`href`)??``}}let n=e.querySelector?.(`iframe`)??(t===`iframe`?e:null);if(n){let e=n.getAttribute(`src`)??``;if(e)return{id:Zu(),type:`embed`,url:e}}if(e.classList.contains(`wp-gallery`)){let t=[...e.querySelectorAll(`img`)].map(e=>e.getAttribute(`src`)??``).filter(Boolean);return t.length?{id:Zu(),type:`gallery`,srcs:t}:null}let r=[...e.querySelectorAll(`img`)].map(e=>e.getAttribute(`src`)??``).filter(Boolean);if(r.length>1)return{id:Zu(),type:`gallery`,srcs:r};if(r.length===1){let t=e.querySelector(`a`);return{id:Zu(),type:`image`,src:r[0],alt:e.querySelector(`img`)?.getAttribute(`alt`)??``,href:t?.getAttribute(`href`)??``}}let i=e.outerHTML.trim();return i?{id:Zu(),type:`html`,html:i}:null}function rd(e){if(!e.trim())return[ed(`paragraph`)];let t=new DOMParser().parseFromString(`<div id="root">${e}</div>`,`text/html`).querySelector(`#root`);if(!t)return[{id:Zu(),type:`html`,html:e}];let n=[];for(let e of[...t.children]){let t=nd(e);t&&(Array.isArray(t)?n.push(...t):n.push(t))}if(!n.length){let n=(t.textContent??``).trim();return n?[{id:Zu(),type:`paragraph`,text:n}]:[{id:Zu(),type:`html`,html:e}]}return n}var id={thumbMaxEdge:480,thumbQuality:.75,masterMaxEdge:2048,trackCoverMasterMaxEdge:1600,masterQuality:.85};function ad(e,t,n){let r=Math.max(e,t),i=r>n?n/r:1;return{width:Math.max(1,Math.round(e*i)),height:Math.max(1,Math.round(t*i))}}function od(e,t,n){let{width:r,height:i}=ad(e.width,e.height,t),a=document.createElement(`canvas`);a.width=r,a.height=i;let o=a.getContext(`2d`);if(!o)throw Error(`Could not get canvas context.`);return o.drawImage(e,0,0,r,i),new Promise((e,t)=>{a.toBlob(n=>{n?e(n):t(Error(`Failed to encode WebP.`))},`image/webp`,n)})}async function sd(e,t=id.masterMaxEdge){let n=await createImageBitmap(e);try{return{master:await od(n,t,id.masterQuality),thumb:await od(n,id.thumbMaxEdge,id.thumbQuality)}}finally{n.close()}}var cd=`media`;function ld(e=!1){return`rounded-full px-2.5 py-1 text-[10px] font-semibold uppercase tracking-wide ${e?`bg-gold text-ink`:`border border-paper/25 text-muted`}`}function ud(e){return e.type===`image/svg+xml`||e.name.toLowerCase().endsWith(`.svg`)?!1:e.type.startsWith(`image/`)?!0:/\.(jpe?g|png|webp|gif|bmp|avif)$/i.test(e.name)}function dd(e,t){let n=e.name.replace(/[^\w.-]+/g,`-`)||`file`;return`art/posts/${Date.now()}-${t}-${n}`}function fd(e,t){let n=e.name.replace(/[^\w.-]+/g,`-`).replace(/^\.+/,``).replace(/\.[^.]+$/,``)||`image`;return`art/posts/${Date.now()}-${t}-${n}.webp`}async function pd(e){if(!G)throw Error(`Supabase is not configured.`);let t=[];for(let[n,r]of[...e].entries()){if(!ud(r)){let e=dd(r,n),{error:i}=await G.storage.from(cd).upload(e,r,{upsert:!0});if(i)throw i;t.push(Ol(e));continue}let{master:e,thumb:i}=await sd(r),a=fd(r,n),o=a.replace(/\.webp$/i,`-thumb.webp`),{error:s}=await G.storage.from(cd).upload(a,e,{contentType:`image/webp`,upsert:!0});if(s)throw s;let{error:c}=await G.storage.from(cd).upload(o,i,{contentType:`image/webp`,upsert:!0});if(c)throw c;t.push(Ol(a))}return t}function md({blocks:e,onChange:t}){let n=(0,x.useRef)(null),r=(0,x.useRef)(null);function i(n,r){t(e.map(e=>e.id===n?{...e,...r}:e))}function a(n,r){let i=n+r;if(i<0||i>=e.length)return;let a=[...e],[o]=a.splice(n,1);a.splice(i,0,o),t(a)}function o(n,r){let i=ed(n),a=[...e];a.splice((r??e.length-1)+1,0,i),t(a)}async function s(t){let a=r.current;if(!(!t?.length||!a)){try{let n=await pd(t),r=e.find(e=>e.id===a.id);a.mode===`image`?i(a.id,{src:n[0]}):r?.type===`gallery`&&i(a.id,{srcs:[...r.srcs,...n]})}catch(e){window.alert(e instanceof Error?e.message:`Upload failed.`)}r.current=null,n.current&&(n.current.value=``)}}return(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`p`,{className:`text-xs uppercase tracking-[0.16em] text-gold`,children:`Body`}),(0,j.jsx)(`p`,{className:`mt-1 text-sm text-muted`,children:`Add blocks like WordPress: text, images, gallery, button, or a Spotify / YouTube / Mixcloud link.`}),(0,j.jsx)(`input`,{ref:n,type:`file`,accept:`image/*`,multiple:!0,className:`hidden`,onChange:e=>void s(e.target.files)}),(0,j.jsx)(`div`,{className:`mt-4 grid gap-3`,children:e.map((o,s)=>(0,j.jsxs)(`article`,{className:`rounded-xl border border-line bg-panel p-3`,children:[(0,j.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center justify-between gap-2`,children:[(0,j.jsx)(`span`,{className:`text-[10px] uppercase tracking-[0.18em] text-gold`,children:o.type}),(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[(0,j.jsx)(`button`,{type:`button`,className:ld(),onClick:()=>a(s,-1),children:`Up`}),(0,j.jsx)(`button`,{type:`button`,className:ld(),onClick:()=>a(s,1),children:`Down`}),(0,j.jsx)(`button`,{type:`button`,className:ld(),onClick:()=>t(e.filter(e=>e.id!==o.id)),children:`Remove`})]})]}),o.type===`paragraph`||o.type===`heading`||o.type===`quote`?(0,j.jsx)(`textarea`,{className:`admin-field min-h-24`,value:o.text,placeholder:o.type===`heading`?`Heading`:`Write hereâ¦`,onChange:e=>i(o.id,{text:e.target.value})}):null,o.type===`image`?(0,j.jsxs)(`div`,{className:`grid gap-2`,children:[o.src?(0,j.jsx)(`img`,{src:kl(o.src),alt:``,className:`max-h-48 w-full rounded-lg object-cover`}):null,(0,j.jsx)(`button`,{type:`button`,className:ld(!0),onClick:()=>{r.current={id:o.id,mode:`image`},n.current?.click()},children:`Upload image`}),(0,j.jsx)(`input`,{className:`admin-field`,placeholder:`Optional link when clicked`,value:o.href,onCh
32ange:e=>i(o.id,{href:e.target.value})}),(0,j.jsx)(`input`,{className:`admin-field`,placeholder:`Alt text`,value:o.alt,onChange:e=>i(o.id,{alt:e.target.value})})]}):null,o.type===`gallery`?(0,j.jsxs)(`div`,{className:`grid gap-2`,children:[o.srcs.length?(0,j.jsx)(`div`,{className:`grid grid-cols-3 gap-2`,children:o.srcs.map(e=>(0,j.jsx)(`img`,{src:kl(e),alt:``,className:`h-24 w-full rounded object-cover`},e))}):null,(0,j.jsx)(`button`,{type:`button`,className:ld(!0),onClick:()=>{r.current={id:o.id,mode:`gallery`},n.current?.click()},children:`Add photos`})]}):null,o.type===`button`?(0,j.jsxs)(`div`,{className:`grid gap-2`,children:[(0,j.jsx)(`input`,{className:`admin-field`,placeholder:`Button label`,value:o.label,onChange:e=>i(o.id,{label:e.target.value})}),(0,j.jsx)(`input`,{className:`admin-field`,placeholder:`https://â¦`,value:o.href,onChange:e=>i(o.id,{href:e.target.value})})]}):null,o.type===`embed`?(0,j.jsx)(`input`,{className:`admin-field`,placeholder:`Spotify, YouTube, Mixcloud, or any URL`,value:o.url,onChange:e=>i(o.id,{url:e.target.value})}):null,o.type===`html`?(0,j.jsx)(`textarea`,{className:`admin-field min-h-32 font-mono text-sm`,value:o.html,onChange:e=>i(o.id,{html:e.target.value})}):null]},o.id))}),(0,j.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:Xu.map(e=>(0,j.jsxs)(`button`,{type:`button`,className:ld(),onClick:()=>o(e.type),children:[`+ `,e.label]},e.type))})]})}function hd(e){return e?e.slice(0,10):``}function gd(){let{id:e}=St(),t=vt(),n=!e,[r,i]=(0,x.useState)(``),[a,o]=(0,x.useState)(``),[s,c]=(0,x.useState)(``),[l,u]=(0,x.useState)([ed(`paragraph`)]),[d,f]=(0,x.useState)(`sasky`),[p,m]=(0,x.useState)(`release`),[h,g]=(0,x.useState)(`published`),[_,v]=(0,x.useState)(new Date().toISOString().slice(0,10)),[y,b]=(0,x.useState)(``),[ee,S]=(0,x.useState)(!1),[C,te]=(0,x.useState)(``);(0,x.useEffect)(()=>{Il(`${n?`New post`:`Edit post`} â ${A.name}`),!(n||!G||!e)&&G.from(`posts`).select(`title, slug, excerpt, body_html, section, category, status, published_at`).eq(`id`,e).maybeSingle().then(({data:e,error:t})=>{if(t||!e){b(t?.message??`Post not found.`);return}i(e.title),o(e.slug),c(e.excerpt??``),u(rd(e.body_html??``)),f(e.section),m(e.category),g(e.status),v(hd(e.published_at))})},[e,n]);function ne(e){i(e),n&&o(Y(e))}async function re(i){if(i.preventDefault(),!G)return;b(``),S(!0);let o={type:`post`,title:r.trim(),slug:a.trim()||Y(r),excerpt:s.trim(),body_html:td(l),section:d,category:p,status:h,published_at:h===`published`?new Date(`${_}T12:00:00`).toISOString():null};if(n){let{data:e,error:n}=await G.from(`posts`).insert(o).select(`id`).single();if(S(!1),n||!e){b(n?.message??`Could not save.`);return}t(`/admin/posts/${e.id}`);return}let{error:c}=await G.from(`posts`).update(o).eq(`id`,e);if(S(!1),c){b(c.message);return}t(`/admin/posts`)}return(0,j.jsxs)(`form`,{onSubmit:e=>void re(e),className:`max-w-2xl`,children:[(0,j.jsx)(`h1`,{className:`font-display text-4xl uppercase`,children:n?`New post`:`Edit post`}),(0,j.jsxs)(`label`,{className:`mt-6 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Title`,(0,j.jsx)(`input`,{className:`admin-field mt-1`,value:r,onChange:e=>ne(e.target.value),required:!0})]}),(0,j.jsxs)(`label`,{className:`mt-4 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Slug`,(0,j.jsx)(`input`,{className:`admin-field mt-1`,value:a,onChange:e=>o(e.target.value)})]}),(0,j.jsxs)(`label`,{className:`mt-4 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Date`,(0,j.jsx)(`input`,{className:`admin-field mt-1`,type:`date`,value:_,onChange:e=>v(e.target.value)})]}),(0,j.jsxs)(`div`,{className:`mt-4 grid gap-4 md:grid-cols-3`,children:[(0,j.jsxs)(`label`,{className:`block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Section`,(0,j.jsxs)(`select`,{className:`admin-field mt-1`,value:d,onChange:e=>f(e.target.value),children:[(0,j.jsx)(`option`,{value:`sasky`,children:`sasky`}),(0,j.jsx)(`option`,{value:`production`,children:`production`}),(0,j.jsx)(`option`,{value:`featured_collab`,children:`featured_collab`})]})]}),(0,j.jsxs)(`label`,{className:`block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Category`,(0,j.jsxs)(`select`,{className:`admin-field mt-1`,value:p,onChange:e=>m(e.target.value),children:[(0,j.jsx)(`option`,{value:`release`,children:`release`}),(0,j.jsx)(`option`,{value:`journal`,children:`journal`})]})]}),(0,j.jsxs)(`label`,{className:`block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Status`,(0,j.jsxs)(`select`,{className:`admin-field mt-1`,value:h,onChange:e=>g(e.target.value),children:[(0,j.jsx)(`option`,{value:`published`,children:`published`}),(0,j.jsx)(`option`,{value:`draft`,children:`draft`}),(0,j.jsx)(`option`,{value:`archived`,children:`archived`})]})]})]}),(0,j.jsxs)(`label`,{className:`mt-4 block text-xs uppercase tracking-[0.16em] text-gold`,children:[`Excerpt`,(0,j.jsx)(`textarea`,{className:`admin-field mt-1 min-h-24`,value:s,onChange:e=>c(e.target.value),placeholder:`One or two sentences. This is the teaser â not the full post.`})]}),(0,j.jsx)(`p`,{className:`mt-1 text-sm text-muted`,children:`The excerpt is the short blurb under the title (previews, shares). The full story goes in the body below.`}),(0,j.jsx)(`div`,{className:`mt-6`,children:(0,j.jsx)(md,{blocks:l,onChange:u})}),y?(0,j.jsx)(`p`,{className:`mt-4 text-sm text-gold`,children:y}):null,C?(0,j.jsx)(`p`,{className:`mt-4 text-sm text-muted`,children:C}):null,(0,j.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-3`,children:[(0,j.jsx)(`button`,{type:`submit`,disabled:ee,className:`rounded-full bg-gold px-3.5 py-1.5 text-xs font-semibold uppercase tracking-wide text-ink disabled:opacity-60`,children:ee?`Savingâ¦`:`Save`}
32),!n&&h===`published`?(0,j.jsx)(`button`,{type:`button`,disabled:ee,className:`rounded-full border border-paper/30 px-3.5 py-1.5 text-xs uppercase tracking-[0.14em]`,onClick:()=>{!G||!e||(S(!0),te(``),G.functions.invoke(`notify-post`,{body:{postId:e}}).then(({data:e,error:t})=>{if(S(!1),t){b(t.message);return}if(e?.error){b(e.error);return}b(``),te(`Mailed the list (${e?.sent??0} sent).`)}))},children:`Email the list`}):null,(0,j.jsx)(k,{to:`/admin/posts`,className:`text-sm text-muted`,children:`Cancel`})]})]})}function _d(){let{pathname:e}=ht();return(0,x.useEffect)(()=>{window.scrollTo(0,0)},[e]),null}function vd(){return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(_d,{}),(0,j.jsxs)(qt,{children:[(0,j.jsx)(O,{path:`admin/login`,element:(0,j.jsx)(Wu,{})}),(0,j.jsx)(O,{path:`admin/mfa`,element:(0,j.jsx)(Z,{})}),(0,j.jsx)(O,{path:`admin/mfa/verify`,element:(0,j.jsx)(Gu,{})}),(0,j.jsxs)(O,{path:`admin`,element:(0,j.jsx)(Vu,{}),children:[(0,j.jsx)(O,{index:!0,element:(0,j.jsx)(Uu,{})}),(0,j.jsx)(O,{path:`catalog`,element:(0,j.jsx)(Ku,{})}),(0,j.jsx)(O,{path:`catalog/new`,element:(0,j.jsx)(Ju,{})}),(0,j.jsx)(O,{path:`catalog/:id`,element:(0,j.jsx)(Ju,{})}),(0,j.jsx)(O,{path:`posts`,element:(0,j.jsx)(Yu,{})}),(0,j.jsx)(O,{path:`posts/new`,element:(0,j.jsx)(gd,{})}),(0,j.jsx)(O,{path:`posts/:id`,element:(0,j.jsx)(gd,{})})]}),(0,j.jsxs)(O,{element:(0,j.jsx)(Pl,{}),children:[(0,j.jsx)(O,{index:!0,element:(0,j.jsx)(yu,{})}),(0,j.jsx)(O,{path:`about-sasky-mali`,element:(0,j.jsx)(Ll,{})}),(0,j.jsx)(O,{path:`about`,element:(0,j.jsx)(Wt,{to:`/about-sasky-mali`,replace:!0})}),(0,j.jsx)(O,{path:`contents`,element:(0,j.jsx)(xu,{})}),(0,j.jsx)(O,{path:`music`,element:(0,j.jsx)(Wt,{to:`/contents`,replace:!0})}),(0,j.jsx)(O,{path:`artiste-catalog`,element:(0,j.jsx)(Vl,{})}),(0,j.jsx)(O,{path:`music-production-catalog`,element:(0,j.jsx)(Iu,{})}),(0,j.jsx)(O,{path:`ghetto-motivation-ep`,element:(0,j.jsx)(vu,{})}),(0,j.jsx)(O,{path:`collabs`,element:(0,j.jsx)(Ru,{})}),(0,j.jsx)(O,{path:`visuals`,element:(0,j.jsx)(Wt,{to:`/collabs`,replace:!0})}),(0,j.jsx)(O,{path:`saskymali-epk`,element:(0,j.jsx)(ql,{})}),(0,j.jsx)(O,{path:`bookings`,element:(0,j.jsx)(Rl,{})}),(0,j.jsx)(O,{path:`subscribe`,element:(0,j.jsx)(Lu,{})}),(0,j.jsx)(O,{path:`news`,element:(0,j.jsx)(ju,{})}),(0,j.jsx)(O,{path:`featured-collaborators`,element:(0,j.jsx)(Ru,{})}
32),(0,j.jsx)(O,{path:`featured-collaborators/moosey-lion`,element:(0,j.jsx)(_u,{})}),(0,j.jsx)(O,{path:`mooseylionmusic`,element:(0,j.jsx)(Wt,{to:`/featured-collaborators/moosey-lion`,replace:!0})}),(0,j.jsx)(O,{path:`mooseylionmusic/assalamu-special`,element:(0,j.jsx)(Wt,{to:`/featured-collaborators/moosey-lion#assalamu`,replace:!0})}),(0,j.jsx)(O,{path:`home`,element:(0,j.jsx)(Wt,{to:`/`,replace:!0})}),(0,j.jsx)(O,{path:`creative-ctrl`,element:(0,j.jsx)(Mu,{})}),(0,j.jsx)(O,{path:`creative-ctrl/*`,element:(0,j.jsx)(Mu,{})}),(0,j.jsx)(O,{path:`:slug`,element:(0,j.jsx)(Pu,{})}),(0,j.jsx)(O,{path:`*`,element:(0,j.jsx)(Mu,{})})]})]})]})}(0,Kn.createRoot)(document.getElementById(`root`)).render((0,j.jsx)(x.StrictMode,{children:(0,j.jsx)(Pn,{children:(0,j.jsx)(vd,{})})}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.