@redzone/taunt-logins-ui-react 0.0.12 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +0,0 @@
1
- (function(Z,T){typeof exports=="object"&&typeof module<"u"?T(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],T):(Z=typeof globalThis<"u"?globalThis:Z||self,T(Z["@redzone/taunt-logins-ui-react"]={},Z["react/jsx-runtime"],Z.React))})(this,(function(Z,T,ee){"use strict";const rn="https://res.cloudinary.com/dz0wa3qbj/image/upload/v1760030923/coinbase_kyknjr.png",Gt=({openCoinbase:e,disabled:t=!1})=>{const r=ee.useCallback(()=>{t||(e?e():console.log("Coinbase login not yet implemented"))},[e,t]);return T.jsx("button",{className:`rdz-icon-button ${t?"rdz-icon-button-disabled":""}`,onClick:r,disabled:t,children:T.jsx("img",{src:rn,alt:"Coinbase"})})};function Wt(){return T.jsxs("div",{className:"rzd-loginview",style:{display:"flex",flexDirection:"column",alignItems:"center",gap:20},children:[T.jsx("h1",{children:"Processing..."}),T.jsx("div",{style:{width:"60px",height:"60px",border:"4px solid #009df3",borderTop:"4px solid transparent",borderRadius:"50%",animation:"spin 1s linear infinite"}}),T.jsx("style",{children:`
2
- @keyframes spin {
3
- 0% { transform: rotate(0deg); }
4
- 100% { transform: rotate(360deg); }
5
- }
6
- `}),T.jsx("p",{style:{fontFamily:"Futura PT, sans-serif",fontSize:"1.2em",color:"white"},children:"Please wait while we authenticate you..."})]})}const nn=({className:e,extLoading:t=!1,...r})=>{const{loggedIn:n,isLoading:i}=Me();return T.jsx("div",{className:`rzd-loginview rzd-loginui-complete ${e||""}`,children:t||i?T.jsx(Wt,{}):n?T.jsx(on,{}):T.jsxs(T.Fragment,{children:[T.jsx("h1",{className:"header-login",children:"login"}),T.jsx(Ht,{...r})]})})};function on(){return T.jsxs(T.Fragment,{children:[T.jsx("h1",{children:"Successfully Logged In"}),T.jsx("p",{style:{fontFamily:"Futura PT, sans-serif",fontSize:"1.2em"},children:"You are now logged in!"}),T.jsx(an,{})]})}function an(){const{logout:e}=Me();return T.jsx("button",{onClick:e,className:"rdz-logout-button",type:"button",children:"Logout"})}const gt=ee.createContext({tauntServiceEndpoint:"",isLoading:!1,loggedIn:!1,metamaskLogin:()=>{},otpMagicLogin:()=>{},telegramLogin:()=>{},metaLogin:()=>{},coinbaseLogin:()=>{},logout:()=>{}});function Me(){const e=ee.useContext(gt);if(!e)throw new Error("useTaunt must be used within a TauntProvider");return e}const sn="https://res.cloudinary.com/dz0wa3qbj/image/upload/v1760030925/btn_ioay6n.png",Bt=({onEmail:e})=>{const{otpMagicLogin:t}=Me(),[r,n]=ee.useState(),[i,a]=ee.useState(!1),h=ee.useMemo(()=>{const y=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;return r?.match(y)?r:void 0},[r]),u=()=>{if(!h){a(!0);return}a(!1),e?e(r):t(r)};return T.jsxs("div",{className:"rdz-magic-email-container",children:[i&&T.jsx("div",{className:"rdz-magic-email-error",children:"Please enter a valid email"}),T.jsx("input",{className:"rdz-input",onChange:y=>n(y.target.value?y.target.value:void 0),placeholder:"Email address",type:"email",value:r}),T.jsx("button",{onClick:u,type:"button",className:"rdz-magic-email-button",style:{backgroundImage:`url(${sn})`},children:"LOG IN / SIGN UP"})]})},cn="https://res.cloudinary.com/dz0wa3qbj/image/upload/v1760030923/meta_rhrjov.png",qt=({openMeta:e,disabled:t=!1})=>{const r=ee.useCallback(()=>{t||(e?e():console.log("Meta login not yet implemented"))},[e,t]);return T.jsx("button",{className:`rdz-icon-button ${t?"rdz-icon-button-disabled":""}`,onClick:r,disabled:t,children:T.jsx("img",{src:cn,alt:"Meta"})})},ln="https://res.cloudinary.com/dz0wa3qbj/image/upload/v1760030924/metamask_asjtmi.png",Vt=({openMetamask:e,disabled:t=!1})=>{const{metamaskLogin:r}=Me(),n=ee.useCallback(()=>{t||(e?e():r())},[r,e,t]);return T.jsx("button",{className:`rdz-icon-button ${t?"rdz-icon-button-disabled":""}`,onClick:n,disabled:t,children:T.jsx("img",{src:ln,alt:"MetaMask"})})},un="https://res.cloudinary.com/dz0wa3qbj/image/upload/v1760030924/tel_vcs64d.png",zt=({openTelegram:e,disabled:t=!1})=>{const{telegramLogin:r}=Me(),n=ee.useCallback(()=>{t||(e?e():r())},[r,e,t]);return T.jsx("button",{className:`rdz-icon-button ${t?"rdz-icon-button-disabled":""}`,onClick:n,disabled:t,children:T.jsx("img",{src:un,alt:"Telegram"})})},Ht=({providers:e=["email","metamask","telegram","meta","coinbase"],showEmail:t=!0,showDisabled:r=!1,dividerText:n="Or Sign Up Using",providerGap:i=20,showTerms:a=!1,termsContent:h,privacyContent:u,onTermsClick:y,onPrivacyClick:m,ModalComponent:E,magicEmailProps:p={},coinbaseProps:A={},metamaskProps:P={},metaProps:k={},telegramProps:W={}})=>{const[R,K]=ee.useState(null),B=t||e.includes("email"),q=["coinbase","metamask","meta","telegram"],ne=r?q:q.filter(F=>e.includes(F)),N=ne.length>0,x=()=>{console.log("Terms clicked",{onTermsClick:y,termsContent:!!h}),y?y():h&&K({title:"Terms of Service",content:h})},U=()=>{console.log("Privacy clicked",{onPrivacyClick:m,privacyContent:!!u}),m?m():u&&K({title:"Privacy Policy",content:u})};return T.jsxs(T.Fragment,{children:[B&&T.jsx(Bt,{...p}),B&&N&&T.jsx("p",{className:"rdz-sign-up-text",children:n}),N&&T.jsxs("div",{style:{display:"flex",flexDirection:"row",gap:i,alignItems:"center"},children:[ne.includes("coinbase")&&T.jsx(Gt,{disabled:!e.includes("coinbase"),...A}),ne.includes("metamask")&&T.jsx(Vt,{disabled:!e.includes("metamask"),...P}),ne.includes("meta")&&T.jsx(qt,{disabled:!e.includes("meta"),...k}),ne.includes("telegram")&&T.jsx(zt,{disabled:!e.includes("telegram"),...W})]}),console.log("Terms render check:",{showTerms:a,hasTermsContent:!!h,hasPrivacyContent:!!u,hasTermsClick:!!y,hasPrivacyClick:!!m}),a&&(h||u||y||m)&&T.jsxs("p",{style:{fontFamily:"Futura PT, sans-serif",fontSize:"1.3em"},children:["By connecting you are agreeing to our"," ",(h||y)&&T.jsx("a",{href:"#",onClick:F=>{F.preventDefault(),x()},style:{color:"#0099ff",textDecoration:"none",cursor:"pointer"},children:"Terms of Service"}),(h||y)&&(u||m)&&" and ",(u||m)&&T.jsx("a",{href:"#",onClick:F=>{F.preventDefault(),U()},style:{color:"#0099ff",textDecoration:"none",cursor:"pointer"},children:"Privacy Policy"})]}),R&&E&&T.jsxs(T.Fragment,{children:[console.log("Rendering modal",{modalContent:R,ModalComponent:!!E}),T.jsx(E,{title:R.title,content:R.content,onClose:()=>K(null)})]})]})};function dn({title:e,content:t,onClose:r}){ee.useEffect(()=>{const i=a=>{a.key==="Escape"&&r()};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[r]);const n=i=>{const a=i.split(`
7
- `);return a.map((h,u)=>{const y=h.trim();if(u===0&&y)return T.jsx("h1",{style:{marginTop:0,marginBottom:"20px",fontSize:"28px"},children:y},u);if(y&&y.length<100&&!y.includes(".")&&u<a.length-1&&a[u+1].trim()){const m=a[u+1].trim();if(m&&(m[0]===m[0].toUpperCase()||m.startsWith("We ")))return T.jsx("h3",{style:{marginTop:"24px",marginBottom:"12px",fontSize:"18px",fontWeight:"600"},children:y},u)}return y?T.jsx("p",{style:{marginBottom:"12px"},children:y},u):T.jsx("br",{},u)})};return T.jsx("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.8)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3,padding:"20px"},onClick:r,children:T.jsxs("div",{style:{backgroundColor:"#1a1a1a",borderRadius:"12px",border:"2px solid #009df3",maxWidth:"800px",maxHeight:"80vh",width:"100%",display:"flex",flexDirection:"column",overflow:"hidden"},onClick:i=>i.stopPropagation(),children:[T.jsxs("div",{style:{padding:"20px 24px",borderBottom:"1px solid #009df3",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[T.jsx("h2",{style:{fontFamily:"Futura PT, sans-serif",margin:0,color:"white",fontSize:"24px"},children:e}),T.jsx("button",{onClick:r,style:{background:"transparent",border:"none",color:"white",fontSize:"32px",cursor:"pointer",padding:"0 10px",lineHeight:1},children:"×"})]}),T.jsx("div",{style:{padding:"24px",overflow:"auto",flex:1,fontFamily:"Futura PT, sans-serif",fontSize:"15px",lineHeight:"1.6",color:"white",textAlign:"left"},children:n(t)})]})})}var Te=(e=>(e.MissingApiKey="MISSING_API_KEY",e.ModalNotReady="MODAL_NOT_READY",e.ConnectionLost="CONNECTION_WAS_LOST",e.MalformedResponse="MALFORMED_RESPONSE",e.InvalidArgument="INVALID_ARGUMENT",e.ExtensionNotInitialized="EXTENSION_NOT_INITIALIZED",e.IncompatibleExtensions="INCOMPATIBLE_EXTENSIONS",e))(Te||{}),Pe=(e=>(e.SyncWeb3Method="SYNC_WEB3_METHOD",e.DuplicateIframe="DUPLICATE_IFRAME",e.ReactNativeEndpointConfiguration="REACT_NATIVE_ENDPOINT_CONFIGURATION",e.DeprecationNotice="DEPRECATION_NOTICE",e.ProductAnnouncement="ANNOUNCEMENT",e))(Pe||{}),et=(e=>(e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.MagicLinkFailedVerification=-1e4]="MagicLinkFailedVerification",e[e.MagicLinkExpired=-10001]="MagicLinkExpired",e[e.MagicLinkRateLimited=-10002]="MagicLinkRateLimited",e[e.MagicLinkInvalidRedirectURL=-10006]="MagicLinkInvalidRedirectURL",e[e.UserAlreadyLoggedIn=-10003]="UserAlreadyLoggedIn",e[e.UpdateEmailFailed=-10004]="UpdateEmailFailed",e[e.UserRequestEditEmail=-10005]="UserRequestEditEmail",e[e.InactiveRecipient=-10010]="InactiveRecipient",e[e.AccessDeniedToUser=-10011]="AccessDeniedToUser",e[e.RedirectLoginComplete=-10015]="RedirectLoginComplete",e[e.DpopInvalidated=-10019]="DpopInvalidated",e))(et||{}),we=(e=>(e.PROVIDER="magic_3pw_provider",e.ADDRESS="magic_3pw_address",e.CHAIN_ID="magic_3pw_chainId",e))(we||{}),fn=(e=>(e.WalletConnected="wallet_connected",e.WalletRejected="wallet_rejected",e.Web3ModalSelected="web3modal_selected",e))(fn||{}),M=(e=>(e.LoginWithSms="magic_auth_login_with_sms",e.LoginWithEmailOTP="magic_auth_login_with_email_otp",e.LoginWithMagicLink="magic_auth_login_with_magic_link",e.LoginWithCredential="magic_auth_login_with_credential",e.SetAuthorizationToken="magic_auth_set_authorization_token",e.GetIdToken="magic_auth_get_id_token",e.GenerateIdToken="magic_auth_generate_id_token",e.GetMetadata="magic_auth_get_metadata",e.IsLoggedIn="magic_is_logged_in",e.Logout="magic_auth_logout",e.UpdateEmail="magic_auth_update_email",e.UserSettings="magic_auth_settings",e.UserSettingsTestMode="magic_auth_settings_testing_mode",e.LoginWithSmsTestMode="magic_auth_login_with_sms_testing_mode",e.LoginWithEmailOTPTestMode="magic_auth_login_with_email_otp_testing_mode",e.LoginWithMagicLinkTestMode="magic_login_with_magic_link_testing_mode",e.LoginWithCredentialTestMode="magic_auth_login_with_credential_testing_mode",e.GetIdTokenTestMode="magic_auth_get_id_token_testing_mode",e.GenerateIdTokenTestMode="magic_auth_generate_id_token_testing_mode",e.GetMetadataTestMode="magic_auth_get_metadata_testing_mode",e.IsLoggedInTestMode="magic_auth_is_logged_in_testing_mode",e.LogoutTestMode="magic_auth_logout_testing_mode",e.UpdateEmailTestMode="magic_auth_update_email_testing_mode",e.IntermediaryEvent="magic_intermediary_event",e.RequestAccounts="eth_requestAccounts",e.GetInfo="magic_get_info",e.ShowUI="magic_wallet",e.NFTPurchase="magic_nft_purchase",e.NFTCheckout="magic_nft_checkout",e.NFTTransfer="magic_nft_transfer",e.RequestUserInfoWithUI="mc_request_user_info",e.Disconnect="mc_disconnect",e.RecoverAccount="magic_auth_recover_account",e.RecoverAccountTestMode="magic_auth_recover_account_testing_mode",e.MagicBoxHeartBeat="magic_box_heart_beat",e.AutoConnect="mc_auto_connect",e.Login="mc_login",e.EncryptV1="magic_auth_encrypt_v1",e.DecryptV1="magic_auth_decrypt_v1",e.ShowNFTs="magic_show_nfts",e.ShowOnRamp="magic_show_fiat_onramp",e.ShowSendTokensUI="magic_show_send_tokens_ui",e.ShowAddress="magic_show_address",e.ShowBalances="magic_show_balances",e.SendGaslessTransaction="eth_sendGaslessTransaction",e.RevealPK="magic_reveal_key",e.EnableMFA="magic_auth_enable_mfa_flow",e.DisableMFA="magic_auth_disable_mfa_flow",e.GetMultichainPublicAddress="magic_get_multichain_public_address",e))(M||{}),hn=["magic_intermediary_event","magic_nft_checkout","mc_login"],_e=(e=>(e.MAGIC_HANDLE_RESPONSE="MAGIC_HANDLE_RESPONSE",e.MAGIC_OVERLAY_READY="MAGIC_OVERLAY_READY",e.MAGIC_SHOW_OVERLAY="MAGIC_SHOW_OVERLAY",e.MAGIC_HIDE_OVERLAY="MAGIC_HIDE_OVERLAY",e.MAGIC_HANDLE_EVENT="MAGIC_HANDLE_EVENT",e.MAGIC_MG_BOX_SEND_RECEIPT="MAGIC_MG_BOX_SEND_RECEIPT",e.MAGIC_SEND_PRODUCT_ANNOUNCEMENT="MAGIC_SEND_PRODUCT_ANNOUNCEMENT",e.MAGIC_PONG="MAGIC_PONG",e.MAGIC_POPUP_RESPONSE="MAGIC_POPUP_RESPONSE",e.MAGIC_POPUP_OAUTH_VERIFY_RESPONSE="MAGIC_POPUP_OAUTH_VERIFY_RESPONSE",e))(_e||{}),We=(e=>(e.MAGIC_HANDLE_REQUEST="MAGIC_HANDLE_REQUEST",e.MAGIC_PING="MAGIC_PING",e))(We||{}),pn=(e=>(e.UpdateEmail="update-email",e.MFA="mfa",e.Recovery="recovery",e))(pn||{}),mn=(e=>(e.Retry="retry",e))(mn||{}),gn=(e=>(e.EmailSent="email-sent",e.EmailNotDeliverable="email-not-deliverable",e))(gn||{}),he=(e=>(e.VerifyEmailOtp="verify-email-otp",e.VerifyMFACode="verify-mfa-code",e.LostDevice="lost-device",e.VerifyRecoveryCode="verify-recovery-code",e.Cancel="cancel",e))(he||{}),Be=(e=>(e.VerifySmsOtp="verify-sms-otp",e.Cancel="cancel",e.Retry="retry",e))(Be||{}),vn=(e=>(e.SmsOTPSent="sms-otp-sent",e.InvalidSmsOtp="invalid-sms-otp",e.ExpiredSmsOtp="expired-sms-otp",e))(vn||{}),yn=(e=>(e.EmailOTPSent="email-otp-sent",e.InvalidEmailOtp="invalid-email-otp",e.InvalidMfaOtp="invalid-mfa-otp",e.ExpiredEmailOtp="expired-email-otp",e.MfaSentHandle="mfa-sent-handle",e.RecoveryCodeSentHandle="recovery-code-sent-handle",e.InvalidRecoveryCode="invalid-recovery-code",e.RecoveryCodeSuccess="recovery-code-success",e.LoginThrottled="login-throttled",e))(yn||{}),vt=(e=>(e.Retry="device-retry",e))(vt||{}),En=(e=>(e.DeviceApproved="device-approved",e.DeviceNeedsApproval="device-needs-approval",e.DeviceVerificationLinkExpired="device-verification-link-expired",e.DeviceVerificationEmailSent="device-verification-email-sent",e))(En||{}),pe=(e=>(e.Retry="Recency/auth-factor-retry",e.Cancel="Recency/auth-factor-verification-cancel",e.VerifyEmailOtp="Recency/auth-factor-verify-email-otp",e.VerifyMFACode="Recency/verify-mfa-code",e))(pe||{}),wn=(e=>(e.PrimaryAuthFactorNeedsVerification="Recency/auth-factor-needs-verification",e.PrimaryAuthFactorVerified="Recency/auth-factor-verified",e.InvalidEmailOtp="Recency/auth-factor-invalid-email-otp",e.EmailExpired="Recency/auth-factor-verification-email-expired",e.EmailSent="Recency/auth-factor-verification-email-sent",e.EmailNotDeliverable="Recency/auth-factor-verification-email-not-deliverable",e))(wn||{}),ue=(e=>(e.RetryWithNewEmail="UpdateEmail/retry-with-new-email",e.Cancel="UpdateEmail/new-email-verification-cancel",e.VerifyEmailOtp="UpdateEmail/new-email-verify-otp",e))(ue||{}),_n=(e=>(e.NewAuthFactorNeedsVerification="UpdateEmail/new-email-needs-verification",e.EmailUpdated="UpdateEmail/email-updated",e.InvalidEmailOtp="UpdateEmail/new-email-invalid-email-otp",e.EmailExpired="UpdateEmail/new-email-verification-email-expired",e.EmailSent="UpdateEmail/new-email-verification-email-sent",e.EmailNotDeliverable="UpdateEmail/new-email-verification-email-not-deliverable",e.InvalidEmail="UpdateEmail/new-email-invalid",e.EmailAlreadyExists="UpdateEmail/new-email-already-exists",e))(_n||{}),In=(e=>(e.IDTokenCreated="Auth/id-token-created",e))(In||{}),bn=(e=>(e.Cancel="Farcaster/cancel",e))(bn||{}),Sn=(e=>(e.MFASecretGenerated="mfa-secret-generated",e.InvalidMFAOtp="invalid-mfa-otp",e.MFARecoveryCodes="mfa-recovery-codes",e))(Sn||{}),qe=(e=>(e.VerifyMFACode="verify-mfa-code",e.Cancel="cancel-mfa-setup",e))(qe||{}),Nn=(e=>(e.MFACodeRequested="mfa-code-requested",e.InvalidMFAOtp="invalid-mfa-otp",e.InvalidRecoveryCode="invalid-recovery-code",e))(Nn||{}),Le=(e=>(e.VerifyMFACode="verify-mfa-code",e.LostDevice="lost-device",e.Cancel="cancel-mfa-disable",e))(Le||{}),An=(e=>(e.Harmony="HARMONY",e))(An||{}),Xt=(e=>(e.ClosedByUser="closed-by-user",e))(Xt||{}),Kt=(e=>(e.ClosedByUser="closed-by-user-on-received",e))(Kt||{}),On=(e=>(e.EnterNewPhoneNumber="enter-new-phone-number",e.EnterOtpCode="enter-otp-code",e.RecoveryFactorAlreadyExists="recovery-factor-already-exists",e.MalformedPhoneNumber="malformed-phone-number",e.InvalidOtpCode="invalid-otp-code",e.RecoveryFactorUpdated="recovery-factor-updated",e.RecoveryFactorDeleted="recovery-factor-deleted",e))(On||{}),ye=(e=>(e.SendNewPhoneNumber="send-new-phone-number",e.SendOtpCode="send-otp-code",e.Cancel="cancel",e.StartEditPhoneNumber="start-edit-phone-number",e))(ye||{}),Rn=(e=>(e.PhoneNumber="phone_number",e))(Rn||{}),Tn=(e=>(e.SmsOtpSent="sms-otp-sent",e.LoginThrottled="login-throttled",e.InvalidSmsOtp="invalid-sms-otp",e.SmsVerified="sms-verified",e.AccountRecovered="account-recovered",e.UpdateEmailRequired="update-email-required",e))(Tn||{}),Ee=(e=>(e.Cancel="cancel",e.VerifyOtp="verify-otp-code",e.ResendSms="resend-sms-otp",e.UpdateEmail="update-email",e))(Ee||{}),Ve=(e=>(e.Success="nft-checkout-success",e.Failure="nft-checkout-failure",e.Initiated="nft-checkout-initiated",e.Disconnect="disconnect",e))(Ve||{}),Ln=(e=>(e.WalletInfoFetched="Wallet/wallet-info-fetched",e))(Ln||{}),Cn=(e=>(e.CloseMagicWindow="close-magic-window",e))(Cn||{}),$n=Object.create,yt=Object.defineProperty,Mn=Object.getOwnPropertyDescriptor,Pn=Object.getOwnPropertyNames,kn=Object.getPrototypeOf,Dn=Object.prototype.hasOwnProperty,Un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),jn=(e,t)=>{for(var r in t)yt(e,r,{get:t[r],enumerable:!0})},xn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Pn(t))!Dn.call(e,i)&&i!==r&&yt(e,i,{get:()=>t[i],enumerable:!(n=Mn(t,i))||n.enumerable});return e},Fn=(e,t,r)=>(r=e!=null?$n(kn(e)):{},xn(!e||!e.__esModule?yt(r,"default",{value:e,enumerable:!0}):r,e)),Gn=Un((e,t)=>{var r=Object.prototype.hasOwnProperty,n="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(n=!1));function a(m,E,p){this.fn=m,this.context=E,this.once=p||!1}function h(m,E,p,A,P){if(typeof p!="function")throw new TypeError("The listener must be a function");var k=new a(p,A||m,P),W=n?n+E:E;return m._events[W]?m._events[W].fn?m._events[W]=[m._events[W],k]:m._events[W].push(k):(m._events[W]=k,m._eventsCount++),m}function u(m,E){--m._eventsCount===0?m._events=new i:delete m._events[E]}function y(){this._events=new i,this._eventsCount=0}y.prototype.eventNames=function(){var m=[],E,p;if(this._eventsCount===0)return m;for(p in E=this._events)r.call(E,p)&&m.push(n?p.slice(1):p);return Object.getOwnPropertySymbols?m.concat(Object.getOwnPropertySymbols(E)):m},y.prototype.listeners=function(m){var E=n?n+m:m,p=this._events[E];if(!p)return[];if(p.fn)return[p.fn];for(var A=0,P=p.length,k=new Array(P);A<P;A++)k[A]=p[A].fn;return k},y.prototype.listenerCount=function(m){var E=n?n+m:m,p=this._events[E];return p?p.fn?1:p.length:0},y.prototype.emit=function(m,E,p,A,P,k){var W=n?n+m:m;if(!this._events[W])return!1;var R=this._events[W],K=arguments.length,B,q;if(R.fn){switch(R.once&&this.removeListener(m,R.fn,void 0,!0),K){case 1:return R.fn.call(R.context),!0;case 2:return R.fn.call(R.context,E),!0;case 3:return R.fn.call(R.context,E,p),!0;case 4:return R.fn.call(R.context,E,p,A),!0;case 5:return R.fn.call(R.context,E,p,A,P),!0;case 6:return R.fn.call(R.context,E,p,A,P,k),!0}for(q=1,B=new Array(K-1);q<K;q++)B[q-1]=arguments[q];R.fn.apply(R.context,B)}else{var ne=R.length,N;for(q=0;q<ne;q++)switch(R[q].once&&this.removeListener(m,R[q].fn,void 0,!0),K){case 1:R[q].fn.call(R[q].context);break;case 2:R[q].fn.call(R[q].context,E);break;case 3:R[q].fn.call(R[q].context,E,p);break;case 4:R[q].fn.call(R[q].context,E,p,A);break;default:if(!B)for(N=1,B=new Array(K-1);N<K;N++)B[N-1]=arguments[N];R[q].fn.apply(R[q].context,B)}}return!0},y.prototype.on=function(m,E,p){return h(this,m,E,p,!1)},y.prototype.once=function(m,E,p){return h(this,m,E,p,!0)},y.prototype.removeListener=function(m,E,p,A){var P=n?n+m:m;if(!this._events[P])return this;if(!E)return u(this,P),this;var k=this._events[P];if(k.fn)k.fn===E&&(!A||k.once)&&(!p||k.context===p)&&u(this,P);else{for(var W=0,R=[],K=k.length;W<K;W++)(k[W].fn!==E||A&&!k[W].once||p&&k[W].context!==p)&&R.push(k[W]);R.length?this._events[P]=R.length===1?R[0]:R:u(this,P)}return this},y.prototype.removeAllListeners=function(m){var E;return m?(E=n?n+m:m,this._events[E]&&u(this,E)):(this._events=new i,this._eventsCount=0),this},y.prototype.off=y.prototype.removeListener,y.prototype.addListener=y.prototype.on,y.prefixed=n,y.EventEmitter=y,typeof t<"u"&&(t.exports=y)});function Wn(e){let t={exports:{}};return e(t,t.exports),t.exports}var Bn=Number.MAX_SAFE_INTEGER||9007199254740991,Et={MAX_LENGTH:256,MAX_SAFE_INTEGER:Bn,MAX_SAFE_COMPONENT_LENGTH:16},qn=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{},V=qn,ze=Wn(function(e,t){let{MAX_SAFE_COMPONENT_LENGTH:r}=Et,n=(t=e.exports={}).re=[],i=t.src=[],a=t.t={},h=0,u=(y,m,E)=>{let p=h++;V(p,m),a[y]=p,i[p]=m,n[p]=new RegExp(m,E?"g":void 0)};u("NUMERICIDENTIFIER","0|[1-9]\\d*"),u("NUMERICIDENTIFIERLOOSE","[0-9]+"),u("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),u("MAINVERSION",`(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})`),u("MAINVERSIONLOOSE",`(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})`),u("PRERELEASEIDENTIFIER",`(?:${i[a.NUMERICIDENTIFIER]}|${i[a.NONNUMERICIDENTIFIER]})`),u("PRERELEASEIDENTIFIERLOOSE",`(?:${i[a.NUMERICIDENTIFIERLOOSE]}|${i[a.NONNUMERICIDENTIFIER]})`),u("PRERELEASE",`(?:-(${i[a.PRERELEASEIDENTIFIER]}(?:\\.${i[a.PRERELEASEIDENTIFIER]})*))`),u("PRERELEASELOOSE",`(?:-?(${i[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[a.PRERELEASEIDENTIFIERLOOSE]})*))`),u("BUILDIDENTIFIER","[0-9A-Za-z-]+"),u("BUILD",`(?:\\+(${i[a.BUILDIDENTIFIER]}(?:\\.${i[a.BUILDIDENTIFIER]})*))`),u("FULLPLAIN",`v?${i[a.MAINVERSION]}${i[a.PRERELEASE]}?${i[a.BUILD]}?`),u("FULL",`^${i[a.FULLPLAIN]}$`),u("LOOSEPLAIN",`[v=\\s]*${i[a.MAINVERSIONLOOSE]}${i[a.PRERELEASELOOSE]}?${i[a.BUILD]}?`),u("LOOSE",`^${i[a.LOOSEPLAIN]}$`),u("GTLT","((?:<|>)?=?)"),u("XRANGEIDENTIFIERLOOSE",`${i[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),u("XRANGEIDENTIFIER",`${i[a.NUMERICIDENTIFIER]}|x|X|\\*`),u("XRANGEPLAIN",`[v=\\s]*(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:${i[a.PRERELEASE]})?${i[a.BUILD]}?)?)?`),u("XRANGEPLAINLOOSE",`[v=\\s]*(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:${i[a.PRERELEASELOOSE]})?${i[a.BUILD]}?)?)?`),u("XRANGE",`^${i[a.GTLT]}\\s*${i[a.XRANGEPLAIN]}$`),u("XRANGELOOSE",`^${i[a.GTLT]}\\s*${i[a.XRANGEPLAINLOOSE]}$`),u("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),u("COERCERTL",i[a.COERCE],!0),u("LONETILDE","(?:~>?)"),u("TILDETRIM",`(\\s*)${i[a.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",u("TILDE",`^${i[a.LONETILDE]}${i[a.XRANGEPLAIN]}$`),u("TILDELOOSE",`^${i[a.LONETILDE]}${i[a.XRANGEPLAINLOOSE]}$`),u("LONECARET","(?:\\^)"),u("CARETTRIM",`(\\s*)${i[a.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",u("CARET",`^${i[a.LONECARET]}${i[a.XRANGEPLAIN]}$`),u("CARETLOOSE",`^${i[a.LONECARET]}${i[a.XRANGEPLAINLOOSE]}$`),u("COMPARATORLOOSE",`^${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]})$|^$`),u("COMPARATOR",`^${i[a.GTLT]}\\s*(${i[a.FULLPLAIN]})$|^$`),u("COMPARATORTRIM",`(\\s*)${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]}|${i[a.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",u("HYPHENRANGE",`^\\s*(${i[a.XRANGEPLAIN]})\\s+-\\s+(${i[a.XRANGEPLAIN]})\\s*$`),u("HYPHENRANGELOOSE",`^\\s*(${i[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[a.XRANGEPLAINLOOSE]})\\s*$`),u("STAR","(<|>)?=?\\s*\\*"),u("GTE0","^\\s*>=\\s*0.0.0\\s*$"),u("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}),Yt=/^[0-9]+$/,Vn=(e,t)=>{let r=Yt.test(e),n=Yt.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e<t?-1:1},zn={compareIdentifiers:Vn},{MAX_LENGTH:Jt,MAX_SAFE_INTEGER:tt}=Et,{re:Qt,t:Zt}=ze,{compareIdentifiers:He}=zn,Ie=class ve{constructor(t,r){if(r&&typeof r=="object"||(r={loose:!!r,includePrerelease:!1}),t instanceof ve){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid Version: ${t}`);if(t.length>Jt)throw new TypeError(`version is longer than ${Jt} characters`);V("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=t.trim().match(r.loose?Qt[Zt.LOOSE]:Qt[Zt.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>tt||this.major<0)throw new TypeError("Invalid major version");if(this.minor>tt||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>tt||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){let a=+i;if(a>=0&&a<tt)return a}return i}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(V("SemVer.compare",this.version,this.options,t),!(t instanceof ve)){if(typeof t=="string"&&t===this.version)return 0;t=new ve(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof ve||(t=new ve(t,this.options)),He(this.major,t.major)||He(this.minor,t.minor)||He(this.patch,t.patch)}comparePre(t){if(t instanceof ve||(t=new ve(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let n=this.prerelease[r],i=t.prerelease[r];if(V("prerelease compare",r,n,i),n===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(n===void 0)return-1;if(n!==i)return He(n,i)}while(++r)}compareBuild(t){t instanceof ve||(t=new ve(t,this.options));let r=0;do{let n=this.build[r],i=t.build[r];if(V("prerelease compare",r,n,i),n===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(n===void 0)return-1;if(n!==i)return He(n,i)}while(++r)}inc(t,r){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r),this.inc("pre",r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r),this.inc("pre",r);break;case"major":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let n=this.prerelease.length;for(;--n>=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);n===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${t}`)}return this.format(),this.raw=this.version,this}},Hn=(e,t,r)=>new Ie(e,r).compare(new Ie(t,r)),ke=Hn,Xn=(e,t,r)=>ke(e,t,r)===0,Kn=Xn,Yn=(e,t,r)=>ke(e,t,r)!==0,Jn=Yn,Qn=(e,t,r)=>ke(e,t,r)>0,Zn=Qn,eo=(e,t,r)=>ke(e,t,r)>=0,to=eo,ro=(e,t,r)=>ke(e,t,r)<0,no=ro,oo=(e,t,r)=>ke(e,t,r)<=0,io=oo,ao=(e,t,r,n)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return Kn(e,r,n);case"!=":return Jn(e,r,n);case">":return Zn(e,r,n);case">=":return to(e,r,n);case"<":return no(e,r,n);case"<=":return io(e,r,n);default:throw new TypeError(`Invalid operator: ${t}`)}},wt=ao,Xe=Symbol("SemVer ANY"),_t=class Ft{static get ANY(){return Xe}constructor(t,r){if(r&&typeof r=="object"||(r={loose:!!r,includePrerelease:!1}),t instanceof Ft){if(t.loose===!!r.loose)return t;t=t.value}V("comparator",t,r),this.options=r,this.loose=!!r.loose,this.parse(t),this.semver===Xe?this.value="":this.value=this.operator+this.semver.version,V("comp",this)}parse(t){let r=this.options.loose?er[tr.COMPARATORLOOSE]:er[tr.COMPARATOR],n=t.match(r);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new Ie(n[2],this.options.loose):this.semver=Xe}toString(){return this.value}test(t){if(V("Comparator.test",t,this.options.loose),this.semver===Xe||t===Xe)return!0;if(typeof t=="string")try{t=new Ie(t,this.options)}catch{return!1}return wt(t,this.operator,this.semver,this.options)}intersects(t,r){if(!(t instanceof Ft))throw new TypeError("a Comparator is required");if(r&&typeof r=="object"||(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""||new It(t.value,r).test(this.value);if(t.operator==="")return t.value===""||new It(this.value,r).test(t.semver);let n=!(this.operator!==">="&&this.operator!==">"||t.operator!==">="&&t.operator!==">"),i=!(this.operator!=="<="&&this.operator!=="<"||t.operator!=="<="&&t.operator!=="<"),a=this.semver.version===t.semver.version,h=!(this.operator!==">="&&this.operator!=="<="||t.operator!==">="&&t.operator!=="<="),u=wt(this.semver,"<",t.semver,r)&&(this.operator===">="||this.operator===">")&&(t.operator==="<="||t.operator==="<"),y=wt(this.semver,">",t.semver,r)&&(this.operator==="<="||this.operator==="<")&&(t.operator===">="||t.operator===">");return n||i||a&&h||u||y}},{re:er,t:tr}=ze,It=class pt{constructor(t,r){if(r&&typeof r=="object"||(r={loose:!!r,includePrerelease:!1}),t instanceof pt)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new pt(t.raw,r);if(t instanceof _t)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t,this.set=t.split(/\s*\|\|\s*/).map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${t}`);this.format()}format(){return this.range=this.set.map(t=>t.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(t){let{loose:r}=this.options;t=t.trim();let n=r?oe[re.HYPHENRANGELOOSE]:oe[re.HYPHENRANGE];t=t.replace(n,wo(this.options.includePrerelease)),V("hyphen replace",t),t=t.replace(oe[re.COMPARATORTRIM],so),V("comparator trim",t,oe[re.COMPARATORTRIM]),t=(t=(t=t.replace(oe[re.TILDETRIM],co)).replace(oe[re.CARETTRIM],lo)).split(/\s+/).join(" ");let i=r?oe[re.COMPARATORLOOSE]:oe[re.COMPARATOR];return t.split(" ").map(a=>uo(a,this.options)).join(" ").split(/\s+/).map(a=>Eo(a,this.options)).filter(this.options.loose?a=>!!a.match(i):()=>!0).map(a=>new _t(a,this.options))}intersects(t,r){if(!(t instanceof pt))throw new TypeError("a Range is required");return this.set.some(n=>rr(n,r)&&t.set.some(i=>rr(i,r)&&n.every(a=>i.every(h=>a.intersects(h,r)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new Ie(t,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(_o(this.set[r],t,this.options))return!0;return!1}},{re:oe,t:re,comparatorTrimReplace:so,tildeTrimReplace:co,caretTrimReplace:lo}=ze,rr=(e,t)=>{let r=!0,n=e.slice(),i=n.pop();for(;r&&n.length;)r=n.every(a=>i.intersects(a,t)),i=n.pop();return r},uo=(e,t)=>(V("comp",e,t),e=po(e,t),V("caret",e),e=fo(e,t),V("tildes",e),e=go(e,t),V("xrange",e),e=yo(e,t),V("stars",e),e),ae=e=>!e||e.toLowerCase()==="x"||e==="*",fo=(e,t)=>e.trim().split(/\s+/).map(r=>ho(r,t)).join(" "),ho=(e,t)=>{let r=t.loose?oe[re.TILDELOOSE]:oe[re.TILDE];return e.replace(r,(n,i,a,h,u)=>{let y;return V("tilde",e,n,i,a,h,u),ae(i)?y="":ae(a)?y=`>=${i}.0.0 <${+i+1}.0.0-0`:ae(h)?y=`>=${i}.${a}.0 <${i}.${+a+1}.0-0`:u?(V("replaceTilde pr",u),y=`>=${i}.${a}.${h}-${u} <${i}.${+a+1}.0-0`):y=`>=${i}.${a}.${h} <${i}.${+a+1}.0-0`,V("tilde return",y),y})},po=(e,t)=>e.trim().split(/\s+/).map(r=>mo(r,t)).join(" "),mo=(e,t)=>{V("caret",e,t);let r=t.loose?oe[re.CARETLOOSE]:oe[re.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,(i,a,h,u,y)=>{let m;return V("caret",e,i,a,h,u,y),ae(a)?m="":ae(h)?m=`>=${a}.0.0${n} <${+a+1}.0.0-0`:ae(u)?m=a==="0"?`>=${a}.${h}.0${n} <${a}.${+h+1}.0-0`:`>=${a}.${h}.0${n} <${+a+1}.0.0-0`:y?(V("replaceCaret pr",y),m=a==="0"?h==="0"?`>=${a}.${h}.${u}-${y} <${a}.${h}.${+u+1}-0`:`>=${a}.${h}.${u}-${y} <${a}.${+h+1}.0-0`:`>=${a}.${h}.${u}-${y} <${+a+1}.0.0-0`):(V("no pr"),m=a==="0"?h==="0"?`>=${a}.${h}.${u}${n} <${a}.${h}.${+u+1}-0`:`>=${a}.${h}.${u}${n} <${a}.${+h+1}.0-0`:`>=${a}.${h}.${u} <${+a+1}.0.0-0`),V("caret return",m),m})},go=(e,t)=>(V("replaceXRanges",e,t),e.split(/\s+/).map(r=>vo(r,t)).join(" ")),vo=(e,t)=>{e=e.trim();let r=t.loose?oe[re.XRANGELOOSE]:oe[re.XRANGE];return e.replace(r,(n,i,a,h,u,y)=>{V("xRange",e,n,i,a,h,u,y);let m=ae(a),E=m||ae(h),p=E||ae(u),A=p;return i==="="&&A&&(i=""),y=t.includePrerelease?"-0":"",m?n=i===">"||i==="<"?"<0.0.0-0":"*":i&&A?(E&&(h=0),u=0,i===">"?(i=">=",E?(a=+a+1,h=0,u=0):(h=+h+1,u=0)):i==="<="&&(i="<",E?a=+a+1:h=+h+1),i==="<"&&(y="-0"),n=`${i+a}.${h}.${u}${y}`):E?n=`>=${a}.0.0${y} <${+a+1}.0.0-0`:p&&(n=`>=${a}.${h}.0${y} <${a}.${+h+1}.0-0`),V("xRange return",n),n})},yo=(e,t)=>(V("replaceStars",e,t),e.trim().replace(oe[re.STAR],"")),Eo=(e,t)=>(V("replaceGTE0",e,t),e.trim().replace(oe[t.includePrerelease?re.GTE0PRE:re.GTE0],"")),wo=e=>(t,r,n,i,a,h,u,y,m,E,p,A,P)=>`${r=ae(n)?"":ae(i)?`>=${n}.0.0${e?"-0":""}`:ae(a)?`>=${n}.${i}.0${e?"-0":""}`:h?`>=${r}`:`>=${r}${e?"-0":""}`} ${y=ae(m)?"":ae(E)?`<${+m+1}.0.0-0`:ae(p)?`<${m}.${+E+1}.0-0`:A?`<=${m}.${E}.${p}-${A}`:e?`<${m}.${E}.${+p+1}-0`:`<=${y}`}`.trim(),_o=(e,t,r)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let n=0;n<e.length;n++)if(V(e[n].semver),e[n].semver!==_t.ANY&&e[n].semver.prerelease.length>0){let i=e[n].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0},Io=(e,t,r)=>{try{t=new It(t,r)}catch{return!1}return t.test(e)},{MAX_LENGTH:bo}=Et,{re:nr,t:or}=ze,So=(e,t)=>{if(t&&typeof t=="object"||(t={loose:!!t,includePrerelease:!1}),e instanceof Ie)return e;if(typeof e!="string"||e.length>bo||!(t.loose?nr[or.LOOSE]:nr[or.FULL]).test(e))return null;try{return new Ie(e,t)}catch{return null}},No=So,{re:rt,t:nt}=ze,Ao=(e,t)=>{if(e instanceof Ie)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;let r=null;if((t=t||{}).rtl){let n;for(;(n=rt[nt.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&n.index+n[0].length===r.index+r[0].length||(r=n),rt[nt.COERCERTL].lastIndex=n.index+n[1].length+n[2].length;rt[nt.COERCERTL].lastIndex=-1}else r=e.match(rt[nt.COERCE]);return r===null?null:No(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)};function Oo(e){return String.fromCharCode(parseInt(e.slice(1),16))}function Ro(e){return`%${`00${e.charCodeAt(0).toString(16)}`.slice(-2)}`}function To(e){return btoa(encodeURIComponent(e).replace(/%[0-9A-F]{2}/g,Oo))}function Lo(e){return decodeURIComponent(Array.from(atob(e),Ro).join(""))}function ir(e){return To(JSON.stringify(e))}function Co(e){return JSON.parse(Lo(e))}function Ke(e){return typeof e>"u"}function $o(e){return e===null}function ar(e){return $o(e)||Ke(e)}function Mo(e){return ar(e)?!1:!Ke(e.jsonrpc)&&!Ke(e.id)&&(!Ke(e.result)||!Ke(e.error))}function Po(e){return ar(e)?!1:typeof e=="number"&&Object.values(et).includes(e)}function ot(e){if(!e)return!0;for(let t in e)if(Object.hasOwnProperty.call(e,t))return!1;return!0}var X={};function ko(e,t){return Object.assign(X,t),e}var Do={"magic-sdk":"magic-sdk","@magic-sdk/react-native":"magic-sdk-rn","@magic-sdk/react-native-bare":"magic-sdk-rn-bare","@magic-sdk/react-native-expo":"magic-sdk-rn-expo"},De=class Qr extends Error{constructor(t,r){super(`Magic SDK Error: [${t}] ${r}`),this.code=t,this.rawMessage=r,Object.setPrototypeOf(this,Qr.prototype)}__proto__=Error},bt=class Zr extends Error{__proto__=Error;code;rawMessage;data;constructor(t){super();let r=Number(t?.code);this.rawMessage=t?.message||"Internal error",this.code=Po(r)?r:et.InternalError,this.message=`Magic RPC Error: [${this.code}] ${this.rawMessage}`,this.data=t?.data||void 0,Object.setPrototypeOf(this,Zr.prototype)}},Ye=class{constructor(e,t){this.code=e,this.rawMessage=t,this.message=`Magic SDK Warning: [${e}] ${t}`}message;log(){console.warn(this.message)}},Uo=class en extends Error{constructor(t,r,n,i){super(`Magic Extension Error (${t.name}): [${r}] ${n}`),this.code=r,this.rawMessage=n,this.data=i,Object.setPrototypeOf(this,en.prototype)}__proto__=Error},sr=class{constructor(e,t,r){this.code=t,this.rawMessage=r,this.message=`Magic Extension Warning (${e.name}): [${t}] ${r}`}message;log(){console.warn(this.message)}};function jo(){return new De(Te.MissingApiKey,"Please provide an API key that you acquired from the Magic developer dashboard.")}function cr(){return new De(Te.ModalNotReady,"Modal is not ready")}function xo(){return new De(Te.MalformedResponse,"Response from the Magic iframe is malformed.")}function Fo(e){return new De(Te.ExtensionNotInitialized,`Extensions must be initialized with a Magic SDK instance before \`Extension.${e}\` can be accessed. Do not invoke \`Extension.${e}\` inside an extension constructor.`)}function Go(e){let t=`Some extensions are incompatible with \`${X.sdkName}@${X.version}\`:`;return e.filter(r=>typeof r.compat<"u"&&r.compat!==null).forEach(r=>{let n=r.compat[X.sdkName];typeof n=="string"?t+=`
8
- - Extension \`${r.name}\` supports version(s) \`${n}\``:n||(t+=`
9
- - Extension \`${r.name}\` does not support ${X.platform} environments.`)}),new De(Te.IncompatibleExtensions,t)}function Wo(e){let t=r=>{let n=r+1,i=n%10,a=n%100;return i===1&&a!==11?`${n}st`:i===2&&a!==12?`${n}nd`:i===3&&a!==13?`${n}rd`:`${n}th`};return new De(Te.InvalidArgument,`Invalid ${t(e.argument)} argument given to \`${e.procedure}\`.
10
- Expected: \`${e.expected}\`
11
- Received: \`${e.received}\``)}function Bo(){return new Ye(Pe.DuplicateIframe,"Duplicate iframes found.")}function qo(){return new Ye(Pe.SyncWeb3Method,"Non-async web3 methods are deprecated in web3 > 1.0 and are not supported by the Magic web3 provider. Please use an async method instead.")}function Vo(){return new Ye(Pe.ReactNativeEndpointConfiguration,`CUSTOM DOMAINS ARE NOT SUPPORTED WHEN USING MAGIC SDK WITH REACT NATIVE! The \`endpoint\` parameter SHOULD NOT be provided. The Magic \`<iframe>\` is automatically wrapped by a WebView pointed at \`${X.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function zo(e){let{method:t,removalVersions:r,useInstead:n}=e,i=r[X.sdkName],a=n?` Use \`${n}\` instead.`:"",h=`\`${t}\` will be removed from \`${X.sdkName}\` in version \`${i}\`.${a}`;return new Ye(Pe.DeprecationNotice,h)}function*Ho(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var Xo=Ho();function lr(){return Xo.next().value}var ur={};jn(ur,{clear:()=>Ko,getItem:()=>de,iterate:()=>dr,key:()=>Jo,keys:()=>Qo,length:()=>Yo,removeItem:()=>Ue,setItem:()=>Se});var it;function be(e){return async(...t)=>(it||(it=await X.configureStorage()),await it.ready(),it[e](...t))}var de=be("getItem"),Se=be("setItem"),Ue=be("removeItem"),Ko=be("clear"),Yo=be("length"),Jo=be("key"),Qo=be("keys"),dr=be("iterate");function Zo(){let e=window.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&191|128;let t="";return t+=e[0].toString(16),t+=e[1].toString(16),t+=e[2].toString(16),t+=e[3].toString(16),t+="-",t+=e[4].toString(16),t+=e[5].toString(16),t+="-",t+=e[6].toString(16),t+=e[7].toString(16),t+="-",t+=e[8].toString(16),t+=e[9].toString(16),t+="-",t+=e[10].toString(16),t+=e[11].toString(16),t+=e[12].toString(16),t+=e[13].toString(16),t+=e[14].toString(16),t+=e[15].toString(16),t}var St="STORE_KEY_PRIVATE_KEY",at="STORE_KEY_PUBLIC_JWK",fr="ECDSA",ei="P-256",ti={name:fr,namedCurve:ei};function st(){let e=typeof window<"u"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function ri(){Ue(at),Ue(St)}async function ni(){let e=await oi();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=await de(St);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let n={iat:Math.floor(new Date().getTime()/1e3),jti:Zo()},i={protected:hr(JSON.stringify({typ:"dpop+jwt",alg:"ES256",jwk:e})),claims:hr(JSON.stringify(n))},a=ai(`${i.protected}.${i.claims}`),h={name:fr,hash:{name:"SHA-256"}},u=ci(new Uint8Array(await t.sign(h,r,a)));return`${i.protected}.${i.claims}.${u}`}async function oi(){if(!st()){console.info("webcrypto is not supported");return}return await de(at)||await ii(),de(at)}async function ii(){let{subtle:e}=window.crypto,t=await e.generateKey(ti,!1,["sign"]),r=await e.exportKey("jwk",t.publicKey);await Se(St,t.privateKey),await Se(at,r)}function hr(e){return pr(si(e))}function ai(e){return new TextEncoder().encode(e)}function pr(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function si(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function ci(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),pr(t)}var mr=Symbol("Payload pre-processed by Magic SDK");function gr(e){return Object.defineProperty(e,mr,{value:!0,enumerable:!1}),e}function li(e){return!!e[mr]}function ct(e){return li(e)||(e.jsonrpc=e.jsonrpc??"2.0",e.id=lr(),e.method=e.method??"noop",e.params=e.params??[],gr(e)),e}function G(e,t=[]){return gr({params:t,method:e,jsonrpc:"2.0",id:lr()})}var vr=class tn{_jsonrpc;_id;_result;_error;constructor(t){t instanceof tn?(this._jsonrpc=t.payload.jsonrpc,this._id=t.payload.id,this._result=t.payload.result,this._error=t.payload.error):Mo(t)?(this._jsonrpc=t.jsonrpc,this._id=t.id,this._result=t.result,this._error=t.error):(this._jsonrpc=t.jsonrpc,this._id=t.id,this._result=void 0,this._error=void 0)}applyError(t){return this._error=t,this}applyResult(t){return this._result=t,this}get hasError(){return this._error?.code===et.DpopInvalidated&&ri(),typeof this._error<"u"&&this._error!==null}get hasResult(){return typeof this._result<"u"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}},ui=Fn(Gn()),di=class extends ui.default{};function yr(){let e=new di;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...n)=>(e[t].apply(e,n),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var Er=Symbol("isPromiEvent");function fi(e){return!!e[Er]}function ge(e){let t=wr(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:n}=yr(),i=Symbol("Promise.then"),a=Symbol("Promise.catch"),h=Symbol("Promise.finally"),u=(E,p)=>(...A)=>{let P=p[E].apply(p,A);return y(P)},y=E=>Object.assign(E,{[Er]:!0,[i]:E[i]||E.then,[a]:E[a]||E.catch,[h]:E[h]||E.finally,then:u(i,E),catch:u(a,E),finally:u(h,E),on:n("on",E),once:n("once",E),addListener:n("addListener",E),off:n("off",E),removeListener:n("removeListener",E),removeAllListeners:n("removeAllListeners",E),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),m=y(t.then(E=>(m.emit("done",E),m.emit("settled"),E),E=>{throw m.emit("error",E),m.emit("settled"),E}));return m.on(Kt.ClosedByUser,()=>{m.emit(Xt.ClosedByUser)}),m}function wr(e){return new Promise((t,r)=>{let n=e(t,r);Promise.resolve(n).catch(r)})}var Ne=class{constructor(t){this.sdk=t}get overlay(){return this.sdk.overlay}request(t){if(this.sdk.thirdPartyWallets.isConnected&&!hn.includes(t.method))return ge((a,h)=>{this.sdk.thirdPartyWallets.requestOverride(t).then(a).catch(h)});let r=this.overlay.post(We.MAGIC_HANDLE_REQUEST,ct(t)),n=ge((a,h)=>{r.then(u=>{if(i(),u.hasError)h(new bt(u.payload.error));else if(u.hasResult)a(u.payload.result);else throw xo()}).catch(u=>{i(),h(u)})}),i=this.overlay.on(_e.MAGIC_HANDLE_EVENT,a=>{let{response:h}=a.data;if(h.id===t.id&&h.result?.event){let{event:u,params:y=[]}=h.result;n.emit(u,...y)}});return n}createIntermediaryEvent(t,r){return n=>{let i=G(M.IntermediaryEvent,[{payloadId:r,eventType:t,args:n}]);this.request(i)}}};function hi(e,t){let[r]=e.split(".").map(Number);return r>=t}var pi={"magic-sdk":"v18.0.0","@magic-sdk/react-native":"v14.0.0","@magic-sdk/react-native-bare":"v19.0.0","@magic-sdk/react-native-expo":"v19.0.0"},mi=class extends Ne{loginWithMagicLink(t){let r=X.sdkName==="@magic-sdk/react-native"||X.sdkName==="@magic-sdk/react-native-bare"||X.sdkName==="@magic-sdk/react-native-expo";if(r&&hi(X.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utilize a passcode method like loginWithSMS or loginWithEmailOTP instead.");r&&zo({method:"auth.loginWithMagicLink()",removalVersions:pi,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:n,showUI:i=!0,redirectURI:a,overrides:h,lifespan:u}=t,y=G(this.sdk.testMode?M.LoginWithMagicLinkTestMode:M.LoginWithMagicLink,[{email:n,showUI:i,redirectURI:a,overrides:h,lifespan:u}]);return this.request(y)}loginWithSMS(t){let{phoneNumber:r,showUI:n=!0,lifespan:i}=t,a=G(this.sdk.testMode?M.LoginWithSmsTestMode:M.LoginWithSms,[{phoneNumber:r,showUI:n,lifespan:i}]),h=this.request(a);return!n&&h&&(h.on(Be.VerifySmsOtp,u=>{this.createIntermediaryEvent(Be.VerifySmsOtp,a.id)(u)}),h.on(Be.Cancel,()=>{this.createIntermediaryEvent(Be.Cancel,a.id)()})),h}loginWithEmailOTP(t){let{email:r,showUI:n,deviceCheckUI:i,overrides:a,lifespan:h}=t,u=G(this.sdk.testMode?M.LoginWithEmailOTPTestMode:M.LoginWithEmailOTP,[{email:r,showUI:n,deviceCheckUI:i,overrides:a,lifespan:h}]),y=this.request(u);return!i&&y&&y.on(vt.Retry,()=>{this.createIntermediaryEvent(vt.Retry,u.id)()}),!n&&y&&(y.on(he.VerifyEmailOtp,m=>{this.createIntermediaryEvent(he.VerifyEmailOtp,u.id)(m)}),y.on(he.VerifyMFACode,m=>{this.createIntermediaryEvent(he.VerifyMFACode,u.id)(m)}),y.on(he.LostDevice,()=>{this.createIntermediaryEvent(he.LostDevice,u.id)()}),y.on(he.VerifyRecoveryCode,m=>{this.createIntermediaryEvent(he.VerifyRecoveryCode,u.id)(m)}),y.on(he.Cancel,()=>{this.createIntermediaryEvent(he.Cancel,u.id)()})),y}loginWithCredential(t){let{credentialOrQueryString:r,lifespan:n}=t||{},i=r??"";if(!r&&X.platform==="web"){i=window.location.search;let h=window.location.origin+window.location.pathname;window.history.replaceState(null,"",h)}let a=G(this.sdk.testMode?M.LoginWithCredentialTestMode:M.LoginWithCredential,[i,n]);return this.request(a)}setAuthorizationToken(t){let r=G(M.SetAuthorizationToken,[{jwt:t}]);return this.request(r)}updateEmailWithUI(t){let{email:r,showUI:n=!0}=t,i=G(this.sdk.testMode?M.UpdateEmailTestMode:M.UpdateEmail,[{email:r,showUI:n}]),a=this.request(i);return n||(a.on(pe.Retry,()=>{this.createIntermediaryEvent(pe.Retry,i.id)()}),a.on(pe.Cancel,()=>{this.createIntermediaryEvent(pe.Cancel,i.id)()}),a.on(pe.VerifyEmailOtp,h=>{this.createIntermediaryEvent(pe.VerifyEmailOtp,i.id)(h)}),a.on(pe.VerifyMFACode,h=>{this.createIntermediaryEvent(pe.VerifyMFACode,i.id)(h)}),a.on(ue.RetryWithNewEmail,h=>{this.createIntermediaryEvent(ue.RetryWithNewEmail,i.id)(h)}),a.on(ue.Cancel,()=>{this.createIntermediaryEvent(ue.Cancel,i.id)()}),a.on(ue.VerifyEmailOtp,h=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,i.id)(h)})),a}},Nt="ds",At="ek",Ot="iv",Rt="AES-GCM",gi=256;async function _r(){let e=[];await dr((t,r,n)=>{r.startsWith(`${Nt}_`)&&e.push(r)});for(let t of e)await Ue(t)}function Ir(e){let t="",r=new Uint8Array(e),n=r.byteLength;for(let i=0;i<n;i++)t+=String.fromCharCode(r[i]);return window.btoa(t)}function br(e){let t=window.atob(e),r=t.length,n=new Uint8Array(r);for(let i=0;i<r;i++)n[i]=t.charCodeAt(i);return n.buffer}async function vi(){if(!st()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return await de(Ot)||e.getRandomValues(new Uint8Array(12))}async function yi(){if(!st()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return await de(At)||await e.generateKey({name:Rt,length:gi},!1,["encrypt","decrypt"])}async function Ei(e,t){let r=await vi(),n=await yi();if(!r||!n||!e)return;let i=br(e),{subtle:a}=window.crypto,h=await a.encrypt({name:Rt,iv:r},n,i),u=Ir(h);await Se(`${Nt}_${t}`,u),await Se(At,n),await Se(Ot,r)}async function wi(e){let t=await de(`${Nt}_${e}`),r=await de(Ot),n=await de(At);if(!r||!t||!n||!st())return;let{subtle:i}=window.crypto,a=await i.decrypt({name:Rt,iv:r},n,br(t));return Ir(a)}function lt(e,t){return t?new URL(e,t):new URL(e)}var _i=class extends Ne{getIdToken(t){let r=G(this.sdk.testMode?M.GetIdTokenTestMode:M.GetIdToken,[t]);return this.request(r)}generateIdToken(t){let r=G(this.sdk.testMode?M.GenerateIdTokenTestMode:M.GenerateIdToken,[t]);return this.request(r)}getInfo(){let t=G(M.GetInfo,[]);return this.request(t)}isLoggedIn(){return ge(async(t,r)=>{try{let n=!1;this.sdk.useStorageCache&&(n=await de(this.localForageIsLoggedInKey)==="true",n&&t(!0));let i=G(this.sdk.testMode?M.IsLoggedInTestMode:M.IsLoggedIn),a=await this.request(i);this.sdk.useStorageCache&&(a?Se(this.localForageIsLoggedInKey,!0):Ue(this.localForageIsLoggedInKey),n&&!a&&this.emitUserLoggedOut(!0)),t(a)}catch(n){r(n)}})}logout(){return Ue(this.localForageIsLoggedInKey),_r(),ge(async(t,r)=>{try{let n=G(this.sdk.testMode?M.LogoutTestMode:M.Logout),i=await this.request(n);this.sdk.useStorageCache&&this.emitUserLoggedOut(i),t(i)}catch(n){r(n)}})}requestInfoWithUI(t){let r=G(M.RequestUserInfoWithUI,t?[t]:[]);return this.request(r)}showSettings(t){let{showUI:r=!0}=t||{},n=G(this.sdk.testMode?M.UserSettingsTestMode:M.UserSettings,[t]),i=this.request(n);return!r&&i&&(i.on(ye.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(ye.SendNewPhoneNumber,n.id)(a)}),i.on(ye.SendOtpCode,a=>{this.createIntermediaryEvent(ye.SendOtpCode,n.id)(a)}),i.on(ye.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(ye.StartEditPhoneNumber,n.id)()}),i.on(ye.Cancel,()=>{this.createIntermediaryEvent(ye.Cancel,n.id)()}),i.on(pe.VerifyEmailOtp,a=>{this.createIntermediaryEvent(pe.VerifyEmailOtp,n.id)(a)})),i}recoverAccount(t){let{email:r,showUI:n}=t,i=G(this.sdk.testMode?M.RecoverAccountTestMode:M.RecoverAccount,[{email:r,showUI:n}]),a=this.request(i);return!n&&a&&(a.on(Ee.Cancel,()=>{this.createIntermediaryEvent(Ee.Cancel,i.id)()}),a.on(Ee.ResendSms,()=>{this.createIntermediaryEvent(Ee.ResendSms,i.id)()}),a.on(Ee.VerifyOtp,h=>{this.createIntermediaryEvent(Ee.VerifyOtp,i.id)(h)}),a.on(Ee.UpdateEmail,h=>{this.createIntermediaryEvent(Ee.UpdateEmail,i.id)(h)}),a.on(ue.Cancel,()=>{this.createIntermediaryEvent(ue.Cancel,i.id)()}),a.on(ue.RetryWithNewEmail,h=>{this.createIntermediaryEvent(ue.RetryWithNewEmail,i.id)(h)}),a.on(ue.VerifyEmailOtp,h=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,i.id)(h)})),a}revealPrivateKey(){let t=G(M.RevealPK);return this.request(t)}onUserLoggedOut(t){this.userLoggedOutCallbacks.push(t)}enableMFA(t){let{showUI:r=!0}=t,n=G(M.EnableMFA,[{showUI:r}]),i=this.request(n);return!r&&i&&(i.on(qe.VerifyMFACode,a=>{this.createIntermediaryEvent(qe.VerifyMFACode,n.id)(a)}),i.on(qe.Cancel,()=>{this.createIntermediaryEvent(qe.Cancel,n.id)()})),i}disableMFA(t){let{showUI:r=!0}=t,n=G(M.DisableMFA,[{showUI:r}]),i=this.request(n);return!r&&i&&(i.on(Le.VerifyMFACode,a=>{this.createIntermediaryEvent(Le.VerifyMFACode,n.id)(a)}),i.on(Le.LostDevice,a=>{this.createIntermediaryEvent(Le.LostDevice,n.id)(a)}),i.on(Le.Cancel,()=>{this.createIntermediaryEvent(Le.Cancel,n.id)()})),i}emitUserLoggedOut(t){this.userLoggedOutCallbacks.forEach(r=>{r(t)})}localForageIsLoggedInKey="magic_auth_is_logged_in";userLoggedOutCallbacks=[]},Ii=class extends Ne{connectWithUI(e){let t=ge(async(r,n)=>{try{let i=G(M.Login,[{enabledWallets:this.sdk.thirdPartyWallets.enabledWallets,...e}]),a=this.request(i);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:u,callback:y})=>{a.on(u,()=>y(i.id))}),a.on("id-token-created",u=>{t.emit("id-token-created",u)});let h=await a;h.error&&n(h),r(h)}catch(i){n(i)}});return t}showUI(e){return this.request(G(M.ShowUI,[e]))}showAddress(){return this.request(G(M.ShowAddress))}showSendTokensUI(){return this.request(G(M.ShowSendTokensUI))}showOnRamp(){return this.request(G(M.ShowOnRamp))}showNFTs(){return this.request(G(M.ShowNFTs))}showBalances(){return this.request(G(M.ShowBalances))}sendGaslessTransaction(e,t){return this.request(G(M.SendGaslessTransaction,[e,t]))}},bi=class extends Ne{eventListeners=[];enabledWallets={};isConnected=!1;resetThirdPartyWalletState(){localStorage.removeItem(we.PROVIDER),localStorage.removeItem(we.ADDRESS),localStorage.removeItem(we.CHAIN_ID),this.isConnected=!1}requestOverride(e){if(e.method===M.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===M.GetInfo)return this.getInfo(e);if(e.method===M.IsLoggedIn)return this.isLoggedIn(e);if(e.method===M.Logout)return this.logout(e);switch(localStorage.getItem(we.PROVIDER)){case"web3modal":return this.web3modalRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(we.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(we.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(we.PROVIDER);switch(this.resetThirdPartyWalletState(),t){case"web3modal":return this.web3modalLogout();default:return super.request(e)}}web3modalRequest(e){return ge((t,r)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(r)})}web3modalIsLoggedIn(){return ge(e=>{let t=this.sdk.web3modal.modal.getStatus();if(t==="connected"&&e(!0),t==="disconnected"&&(this.resetThirdPartyWalletState(),e(!1)),t==="reconnecting"){let r=this.sdk.web3modal.modal.subscribeProvider(({status:n})=>{n==="connected"&&(r(),e(!0)),n==="disconnected"&&(r(),this.resetThirdPartyWalletState(),e(!1))})}})}formatWeb3modalGetInfoResponse(){let e=this.sdk.web3modal.modal.getWalletInfo()?.name,t=this.sdk.web3modal.modal.getAddress();return{publicAddress:t,email:null,issuer:`did:ethr:${t}`,phoneNumber:null,isMfaEnabled:!1,recoveryFactors:[],walletType:e||"web3modal",firstLoginAt:null}}web3modalGetInfo(){return ge((e,t)=>{let r=this.sdk.web3modal.modal.getStatus();if(r==="connected"&&e(this.formatWeb3modalGetInfoResponse()),r==="disconnected"&&(this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access.")),r==="reconnecting"){let n=this.sdk.web3modal.modal.subscribeProvider(({status:i})=>{i==="connected"&&(n(),e(this.formatWeb3modalGetInfoResponse())),i==="disconnected"&&(n(),this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access."))})}})}web3modalLogout(){return ge(async e=>{try{await this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)})}},{createBoundEmitterMethod:ut,createChainingEmitterMethod:je}=yr(),Si=class extends Ne{isMagic=!0;sendAsync(e,t){if(!t)throw Wo({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(We.MAGIC_HANDLE_REQUEST,e.map(r=>{let n=ct(r);return this.prefixPayloadMethodForTestMode(n),n})).then(r=>{t(null,r.map(n=>({...n.payload,error:n.hasError?new bt(n.payload.error):null})))});else{let r=ct(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(We.MAGIC_HANDLE_REQUEST,r).then(n=>{t(n.hasError?new bt(n.payload.error):null,n.payload)})}}send(e,t){if(typeof e=="string"){let n=G(e,Array.isArray(t)?t:[]);return this.request(n)}if(Array.isArray(e)||t){this.sendAsync(e,t);return}let r=qo();return r.log(),new vr(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=G(M.Login);return this.request(e)}request(e){return this.prefixPayloadMethodForTestMode(e),super.request(e)}prefixPayloadMethodForTestMode(e){let t="testMode/eth/";this.sdk.testMode&&(e.method=`${t}${e.method}`)}on=je("on",this);once=je("once",this);addListener=je("addListener",this);off=je("off",this);removeListener=je("removeListener",this);removeAllListeners=je("removeAllListeners",this);emit=ut("emit");eventNames=ut("eventNames");listeners=ut("listeners");listenerCount=ut("listenerCount")},Ni=class extends Ne{purchase(e){let t=G(M.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=G(M.NFTCheckout,[{...e,walletProvider:t?"web3modal":"magic"}]),n=this.request(r);return t&&(n.on(Ve.Initiated,async i=>{try{let a=await this.request({method:"eth_sendTransaction",params:[i]});this.createIntermediaryEvent(Ve.Success,r.id)(a)}catch{this.createIntermediaryEvent(Ve.Failure,r.id)()}}),n.on(Ve.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),n.emit("disconnect")})),n}transfer(e){let t=G(M.NFTTransfer,[e]);return this.request(t)}};function Sr(e){return e.compat&&e.compat[X.sdkName]!=null?typeof e.compat[X.sdkName]=="string"?Io(Ao(X.version),e.compat[X.sdkName]):!!e.compat[X.sdkName]:!0}function Ai(e,t,r){return!t&&!r?`${e}_eth_mainnet`:r?`${e}_${JSON.stringify(r)}`:t?typeof t=="string"?`${e}_eth_${t}`:`${e}_${t.rpcUrl}_${t.chainId}_${t.chainType}`:`${e}_unknown`}function Oi(e){let t=e?.extensions??[],r={},n=[];if(Array.isArray(t)?t.forEach(i=>{Sr(i)?(i.init(this),i.name&&(this[i.name]=i),ot(i.config)||(r[i.name]=i.config)):n.push(i)}):Object.keys(t).forEach(i=>{if(Sr(t[i])){t[i].init(this);let a=t[i];this[i]=a,ot(a.config)||(r[t[i].name]=a.config)}else n.push(t[i])}),n.length)throw Go(n);return r}var Ri=class mt{constructor(t,r){if(this.apiKey=t,!t)throw jo();X.platform==="react-native"&&r?.endpoint&&Vo().log();let{defaultEndpoint:n,version:i}=X;this.testMode=!!r?.testMode,this.useStorageCache=!!r?.useStorageCache,this.endpoint=lt(r?.endpoint??n).origin,this.auth=new mi(this),this.user=new _i(this),this.wallet=new Ii(this),this.nft=new Ni(this),this.thirdPartyWallets=new bi(this),this.rpcProvider=new Si(this);let a=Oi.call(this,r);this.parameters=ir({API_KEY:this.apiKey,DOMAIN_ORIGIN:typeof window<"u"&&window?.location?window?.location.origin:"",ETH_NETWORK:r?.network,host:lt(this.endpoint).host,sdk:Do[X.sdkName],version:i,ext:ot(a)?void 0:a,locale:r?.locale||"en_US",authConfig:r?.authConfig?{...r.authConfig}:void 0,...X.bundleId?{bundleId:X.bundleId}:{},meta:r?.meta}),this.networkHash=Ai(this.apiKey,r?.network,ot(a)?void 0:a),r?.deferPreload||this.preload()}static __overlays__=new Map;endpoint;parameters;networkHash;testMode;useStorageCache;auth;user;wallet;nft;thirdPartyWallets;rpcProvider;get overlay(){if(!mt.__overlays__.has(this.parameters)){let t=new X.ViewController(this.endpoint,this.parameters,this.networkHash);t.init(),mt.__overlays__.set(this.parameters,t)}return mt.__overlays__.get(this.parameters)}async preload(){await this.overlay.waitForReady()}};function Ti(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function Li(e,t){let r=t.data.response?.id,n=Ti(e,r);if(r&&n){let i=new vr(n).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:r,response:i}}return{}}async function Ci(e,t,r){let n=await de("rt"),i;if(X.platform==="web")try{i=await de("jwt")??await ni()}catch(u){console.error("webcrypto error",u)}let a={msgType:e,payload:t};i&&(a.jwt=i),i&&n&&(a.rt=n);let h=await wi(r);return h&&(a.deviceShare=h),a}async function $i(e){e.data.rt&&await Se("rt",e.data.rt)}function Mi(e,t){let r=null;return function(...n){r&&clearTimeout(r),r=setTimeout(()=>{e(...n)},t)}}var Pi=1e3,Nr=60*Pi,Ar=5*Nr,ki=60*Nr,Di=class{constructor(e,t,r){this.endpoint=e,this.parameters=t,this.networkHash=r,this.listen()}isReadyForRequest=!1;messageHandlers=new Set;isConnectedToInternet=!0;lastPongTime=null;heartbeatIntervalTimer=null;heartbeatDebounce=Mi(()=>{this.endpoint==="https://auth.magic.link/"&&this.heartBeatCheck()},ki);async post(e,t){return wr(async(r,n)=>{if(!this.isConnectedToInternet){let m=cr();n(m)}await this.checkRelayerExistsInDOM()||(this.isReadyForRequest=!1,await this.reloadRelayer()),this.isReadyForRequest||await this.waitForReady();let i=[],a=Array.isArray(t)?t.map(m=>m.id):[],h=await Ci(`${e}-${this.parameters}`,t,this.networkHash);await this._post(h);let u=m=>E=>{let{id:p,response:A}=Li(t,E);if($i(E),A?.payload.error?.message==="User denied account access.")_r();else if(E.data.deviceShare){let{deviceShare:P}=E.data;Ei(P,this.networkHash)}p&&A&&Array.isArray(t)&&a.includes(p)?(i.push(A),i.length===t.length&&(m(),r(i))):p&&A&&!Array.isArray(t)&&p===t.id&&(m(),r(A))},y=this.on(_e.MAGIC_HANDLE_RESPONSE,u(()=>y()))})}on(e,t){let r=t.bind(window),n=i=>{i.data.msgType===`${e}-${this.parameters}`&&r(i)};return this.messageHandlers.add(n),()=>this.messageHandlers.delete(n)}waitForReady(){return new Promise(e=>{let t=this.on(_e.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()})})}listen(){this.on(_e.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(_e.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(_e.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new Ye(Pe.ProductAnnouncement,e.data.response.result.product_announcement).log()})}heartBeatCheck(){let e=!0,t=async()=>{let r={msgType:`${We.MAGIC_PING}-${this.parameters}`,payload:[]};await this._post(r)};this.heartbeatIntervalTimer=setInterval(async()=>{if(this.lastPongTime){if(Date.now()-this.lastPongTime>Ar*2){this.reloadRelayer(),e=!0;return}}else if(!e){this.reloadRelayer(),e=!0;return}await t(),e=!1},Ar)}stopHeartBeat(){this.heartbeatDebounce(),this.lastPongTime=null,this.heartbeatIntervalTimer&&(clearInterval(this.heartbeatIntervalTimer),this.heartbeatIntervalTimer=null)}},Or=["request","overlay","sdk"];function Ui(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Ne.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var ji=class extends Ne{compat;__sdk_access_field_descriptors__=new Map;__is_initialized__=!1;utils={createPromiEvent:ge,isPromiEvent:fi,encodeJSON:ir,decodeJSON:Co,createJsonRpcRequestPayload:G,standardizeJsonRpcRequestPayload:ct,storage:ur};constructor(){super(void 0);let e=[this,...Ui(this)];Or.forEach(t=>{let r=e.map(h=>Object.getOwnPropertyDescriptor(h,t)),n=r.findIndex(h=>!!h),i=n>0,a=r[n];a&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:a,isPrototypeField:i}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw Fo(t)}}))})}init(e){this.__is_initialized__||(Or.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:r,isPrototypeField:n}=this.__sdk_access_field_descriptors__.get(t);n?delete this[t]:Object.defineProperty(this,t,r)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:r,useInstead:n}=e,i=n?` Use \`${n}\` instead.`:"",a=`\`${t}\` will be removed from this Extension in version \`${r}\`.${i}`;return new sr(this,"DEPRECATION_NOTICE",a)}createWarning(e,t){return new sr(this,e,t)}createError(e,t,r){return new Uo(this,e,t,r)}},xi=class extends ji{},Fi=class{static Internal=xi},Gi=(e=>(e.Start="magic_oauth_login_with_redirect_start",e.Verify="magic_oauth_login_with_redirect_verify",e.Popup="magic_oauth_login_with_popup",e.VerifyTelegramData="magic_oauth_verify_telegram_data",e))(Gi||{}),Wi=(e=>(e.InvalidRequest="invalid_request",e.InvalidClient="invalid_client",e.InvalidScope="invalid_scope",e.InvalidGrant="invalid_grant",e.UnauthorizedClient="unauthorized_client",e.UnsupportedResponseType="unsupported_response_type",e.UnsupportedGrantType="unsupported_grant_type",e.UnsupportedTokenType="unsupported_token_type",e.AccessDenied="access_denied",e.ServerError="server_error",e.TemporarilyUnavailable="temporarily_unavailable",e))(Wi||{}),Bi=class extends Fi.Internal{name="oauth2";config={};compat={"magic-sdk":">=2.4.6","@magic-sdk/react-native":!1,"@magic-sdk/react-native-bare":!1,"@magic-sdk/react-native-expo":!1};constructor(){super(),this.seamlessTelegramLogin()}loginWithRedirect(e){return this.utils.createPromiEvent(async(t,r)=>{let n=this.utils.createJsonRpcRequestPayload("magic_oauth_login_with_redirect_start",[{...e,apiKey:this.sdk.apiKey,platform:"web"}]),i=await this.request(n),a=i,h=i;if(h.error&&r(this.createError(h.error,h.error_description??"An error occurred.",{errorURI:h.error_uri,provider:h.provider})),a?.oauthAuthoriationURI){let u=a.useMagicServerCallback?new URL(a.oauthAuthoriationURI,this.sdk.endpoint).href:a.oauthAuthoriationURI;a?.shouldReturnURI?t(u):window.location.href=u}t(null)})}getRedirectResult(e){let t=e.optionalQueryString||window.location.search,r=window.location.origin+window.location.pathname;return window.history.replaceState(null,"",r),qi.call(this,e,t)}loginWithPopup(e){let t=this.utils.createJsonRpcRequestPayload("magic_oauth_login_with_popup",[{...e,apiKey:this.sdk.apiKey,platform:"web"}]);return this.request(t)}seamlessTelegramLogin(){try{if(!window.location.hash.toString().includes("#tgWebAppData"))return;let e=document.createElement("script");e.src="https://telegram.org/js/telegram-web-app.js",document.head.prepend(e),e.onload=async()=>{try{let t=window.Telegram?.WebApp.initData,r=this.utils.createJsonRpcRequestPayload("magic_oauth_verify_telegram_data",[{userData:t,isMiniApp:!0}]);await this.request(r)}catch(t){console.log("Error while verifying telegram data",t)}}}catch(e){console.log("Error while loading telegram-web-app script",e)}}};function qi(e,t){return this.utils.createPromiEvent(async(r,n)=>{let i=this.utils.createJsonRpcRequestPayload("magic_oauth_login_with_redirect_verify",[{authorizationResponseParams:t,magicApiKey:this.sdk.apiKey,platform:"web",...e}]),a=await this.request(i),h=a,u=a;u.error&&n(this.createError(u.error,u.error_description??"An error occurred.",{errorURI:u.error_uri,provider:u.provider})),r(h)})}var Vi=Object.create,Rr=Object.defineProperty,zi=Object.getOwnPropertyDescriptor,Hi=Object.getOwnPropertyNames,Xi=Object.getPrototypeOf,Ki=Object.prototype.hasOwnProperty,dt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Tr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Yi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Hi(t))!Ki.call(e,i)&&i!==r&&Rr(e,i,{get:()=>t[i],enumerable:!(n=zi(t,i))||n.enumerable});return e},Lr=(e,t,r)=>(r=e!=null?Vi(Xi(e)):{},Yi(!e||!e.__esModule?Rr(r,"default",{value:e,enumerable:!0}):r,e)),Ji=Tr((e,t)=>{(function(r){if(typeof e=="object"&&typeof t<"u")t.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var n;typeof window<"u"?n=window:typeof global<"u"?n=global:typeof self<"u"?n=self:n=this,n.localforage=r()}})(function(){return(function r(n,i,a){function h(m,E){if(!i[m]){if(!n[m]){var p=typeof dt=="function"&&dt;if(!E&&p)return p(m,!0);if(u)return u(m,!0);var A=new Error("Cannot find module '"+m+"'");throw A.code="MODULE_NOT_FOUND",A}var P=i[m]={exports:{}};n[m][0].call(P.exports,function(k){var W=n[m][1][k];return h(W||k)},P,P.exports,r,n,i,a)}return i[m].exports}for(var u=typeof dt=="function"&&dt,y=0;y<a.length;y++)h(a[y]);return h})({1:[function(r,n,i){(function(a){var h=a.MutationObserver||a.WebKitMutationObserver,u;if(h){var y=0,m=new h(k),E=a.document.createTextNode("");m.observe(E,{characterData:!0}),u=function(){E.data=y=++y%2}}else if(!a.setImmediate&&typeof a.MessageChannel<"u"){var p=new a.MessageChannel;p.port1.onmessage=k,u=function(){p.port2.postMessage(0)}}else"document"in a&&"onreadystatechange"in a.document.createElement("script")?u=function(){var R=a.document.createElement("script");R.onreadystatechange=function(){k(),R.onreadystatechange=null,R.parentNode.removeChild(R),R=null},a.document.documentElement.appendChild(R)}:u=function(){setTimeout(k,0)};var A,P=[];function k(){A=!0;for(var R,K,B=P.length;B;){for(K=P,P=[],R=-1;++R<B;)K[R]();B=P.length}A=!1}n.exports=W;function W(R){P.push(R)===1&&!A&&u()}}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}],2:[function(r,n,i){var a=r(1);function h(){}var u={},y=["REJECTED"],m=["FULFILLED"],E=["PENDING"];n.exports=p;function p(N){if(typeof N!="function")throw new TypeError("resolver must be a function");this.state=E,this.queue=[],this.outcome=void 0,N!==h&&W(this,N)}p.prototype.catch=function(N){return this.then(null,N)},p.prototype.then=function(N,x){if(typeof N!="function"&&this.state===m||typeof x!="function"&&this.state===y)return this;var U=new this.constructor(h);if(this.state!==E){var F=this.state===m?N:x;P(U,F,this.outcome)}else this.queue.push(new A(U,N,x));return U};function A(N,x,U){this.promise=N,typeof x=="function"&&(this.onFulfilled=x,this.callFulfilled=this.otherCallFulfilled),typeof U=="function"&&(this.onRejected=U,this.callRejected=this.otherCallRejected)}A.prototype.callFulfilled=function(N){u.resolve(this.promise,N)},A.prototype.otherCallFulfilled=function(N){P(this.promise,this.onFulfilled,N)},A.prototype.callRejected=function(N){u.reject(this.promise,N)},A.prototype.otherCallRejected=function(N){P(this.promise,this.onRejected,N)};function P(N,x,U){a(function(){var F;try{F=x(U)}catch(te){return u.reject(N,te)}F===N?u.reject(N,new TypeError("Cannot resolve promise with itself")):u.resolve(N,F)})}u.resolve=function(N,x){var U=R(k,x);if(U.status==="error")return u.reject(N,U.value);var F=U.value;if(F)W(N,F);else{N.state=m,N.outcome=x;for(var te=-1,se=N.queue.length;++te<se;)N.queue[te].callFulfilled(x)}return N},u.reject=function(N,x){N.state=y,N.outcome=x;for(var U=-1,F=N.queue.length;++U<F;)N.queue[U].callRejected(x);return N};function k(N){var x=N&&N.then;if(N&&(typeof N=="object"||typeof N=="function")&&typeof x=="function")return function(){x.apply(N,arguments)}}function W(N,x){var U=!1;function F(le){U||(U=!0,u.reject(N,le))}function te(le){U||(U=!0,u.resolve(N,le))}function se(){x(te,F)}var ce=R(se);ce.status==="error"&&F(ce.value)}function R(N,x){var U={};try{U.value=N(x),U.status="success"}catch(F){U.status="error",U.value=F}return U}p.resolve=K;function K(N){return N instanceof this?N:u.resolve(new this(h),N)}p.reject=B;function B(N){var x=new this(h);return u.reject(x,N)}p.all=q;function q(N){var x=this;if(Object.prototype.toString.call(N)!=="[object Array]")return this.reject(new TypeError("must be an array"));var U=N.length,F=!1;if(!U)return this.resolve([]);for(var te=new Array(U),se=0,ce=-1,le=new this(h);++ce<U;)me(N[ce],ce);return le;function me(Ce,xe){x.resolve(Ce).then(Je,function(Ae){F||(F=!0,u.reject(le,Ae))});function Je(Ae){te[xe]=Ae,++se===U&&!F&&(F=!0,u.resolve(le,te))}}}p.race=ne;function ne(N){var x=this;if(Object.prototype.toString.call(N)!=="[object Array]")return this.reject(new TypeError("must be an array"));var U=N.length,F=!1;if(!U)return this.resolve([]);for(var te=-1,se=new this(h);++te<U;)ce(N[te]);return se;function ce(le){x.resolve(le).then(function(me){F||(F=!0,u.resolve(se,me))},function(me){F||(F=!0,u.reject(se,me))})}}},{1:1}],3:[function(r,n,i){(function(a){typeof a.Promise!="function"&&(a.Promise=r(2))}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{2:2}],4:[function(r,n,i){var a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};function h(o,s){if(!(o instanceof s))throw new TypeError("Cannot call a class as a function")}function u(){try{if(typeof indexedDB<"u")return indexedDB;if(typeof webkitIndexedDB<"u")return webkitIndexedDB;if(typeof mozIndexedDB<"u")return mozIndexedDB;if(typeof OIndexedDB<"u")return OIndexedDB;if(typeof msIndexedDB<"u")return msIndexedDB}catch{return}}var y=u();function m(){try{if(!y||!y.open)return!1;var o=typeof openDatabase<"u"&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),s=typeof fetch=="function"&&fetch.toString().indexOf("[native code")!==-1;return(!o||s)&&typeof indexedDB<"u"&&typeof IDBKeyRange<"u"}catch{return!1}}function E(o,s){o=o||[],s=s||{};try{return new Blob(o,s)}catch(f){if(f.name!=="TypeError")throw f;for(var c=typeof BlobBuilder<"u"?BlobBuilder:typeof MSBlobBuilder<"u"?MSBlobBuilder:typeof MozBlobBuilder<"u"?MozBlobBuilder:WebKitBlobBuilder,d=new c,l=0;l<o.length;l+=1)d.append(o[l]);return d.getBlob(s.type)}}typeof Promise>"u"&&r(3);var p=Promise;function A(o,s){s&&o.then(function(c){s(null,c)},function(c){s(c)})}function P(o,s,c){typeof s=="function"&&o.then(s),typeof c=="function"&&o.catch(c)}function k(o){return typeof o!="string"&&(console.warn(o+" used as a key, but it is not a string."),o=String(o)),o}function W(){if(arguments.length&&typeof arguments[arguments.length-1]=="function")return arguments[arguments.length-1]}var R="local-forage-detect-blob-support",K=void 0,B={},q=Object.prototype.toString,ne="readonly",N="readwrite";function x(o){for(var s=o.length,c=new ArrayBuffer(s),d=new Uint8Array(c),l=0;l<s;l++)d[l]=o.charCodeAt(l);return c}function U(o){return new p(function(s){var c=o.transaction(R,N),d=E([""]);c.objectStore(R).put(d,"key"),c.onabort=function(l){l.preventDefault(),l.stopPropagation(),s(!1)},c.oncomplete=function(){var l=navigator.userAgent.match(/Chrome\/(\d+)/),f=navigator.userAgent.match(/Edge\//);s(f||!l||parseInt(l[1],10)>=43)}}).catch(function(){return!1})}function F(o){return typeof K=="boolean"?p.resolve(K):U(o).then(function(s){return K=s,K})}function te(o){var s=B[o.name],c={};c.promise=new p(function(d,l){c.resolve=d,c.reject=l}),s.deferredOperations.push(c),s.dbReady?s.dbReady=s.dbReady.then(function(){return c.promise}):s.dbReady=c.promise}function se(o){var s=B[o.name],c=s.deferredOperations.pop();if(c)return c.resolve(),c.promise}function ce(o,s){var c=B[o.name],d=c.deferredOperations.pop();if(d)return d.reject(s),d.promise}function le(o,s){return new p(function(c,d){if(B[o.name]=B[o.name]||$(),o.db)if(s)te(o),o.db.close();else return c(o.db);var l=[o.name];s&&l.push(o.version);var f=y.open.apply(y,l);s&&(f.onupgradeneeded=function(v){var w=f.result;try{w.createObjectStore(o.storeName),v.oldVersion<=1&&w.createObjectStore(R)}catch(S){if(S.name==="ConstraintError")console.warn('The database "'+o.name+'" has been upgraded from version '+v.oldVersion+" to version "+v.newVersion+', but the storage "'+o.storeName+'" already exists.');else throw S}}),f.onerror=function(v){v.preventDefault(),d(f.error)},f.onsuccess=function(){var v=f.result;v.onversionchange=function(w){w.target.close()},c(v),se(o)}})}function me(o){return le(o,!1)}function Ce(o){return le(o,!0)}function xe(o,s){if(!o.db)return!0;var c=!o.db.objectStoreNames.contains(o.storeName),d=o.version<o.db.version,l=o.version>o.db.version;if(d&&(o.version!==s&&console.warn('The database "'+o.name+`" can't be downgraded from version `+o.db.version+" to version "+o.version+"."),o.version=o.db.version),l||c){if(c){var f=o.db.version+1;f>o.version&&(o.version=f)}return!0}return!1}function Je(o){return new p(function(s,c){var d=new FileReader;d.onerror=c,d.onloadend=function(l){var f=btoa(l.target.result||"");s({__local_forage_encoded_blob:!0,data:f,type:o.type})},d.readAsBinaryString(o)})}function Ae(o){var s=x(atob(o.data));return E([s],{type:o.type})}function g(o){return o&&o.__local_forage_encoded_blob}function _(o){var s=this,c=s._initReady().then(function(){var d=B[s._dbInfo.name];if(d&&d.dbReady)return d.dbReady});return P(c,o,o),c}function O(o){te(o);for(var s=B[o.name],c=s.forages,d=0;d<c.length;d++){var l=c[d];l._dbInfo.db&&(l._dbInfo.db.close(),l._dbInfo.db=null)}return o.db=null,me(o).then(function(f){return o.db=f,xe(o)?Ce(o):f}).then(function(f){o.db=s.db=f;for(var v=0;v<c.length;v++)c[v]._dbInfo.db=f}).catch(function(f){throw ce(o,f),f})}function L(o,s,c,d){d===void 0&&(d=1);try{var l=o.db.transaction(o.storeName,s);c(null,l)}catch(f){if(d>0&&(!o.db||f.name==="InvalidStateError"||f.name==="NotFoundError"))return p.resolve().then(function(){if(!o.db||f.name==="NotFoundError"&&!o.db.objectStoreNames.contains(o.storeName)&&o.version<=o.db.version)return o.db&&(o.version=o.db.version+1),Ce(o)}).then(function(){return O(o).then(function(){L(o,s,c,d-1)})}).catch(c);c(f)}}function $(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function D(o){var s=this,c={db:null};if(o)for(var d in o)c[d]=o[d];var l=B[c.name];l||(l=$(),B[c.name]=l),l.forages.push(s),s._initReady||(s._initReady=s.ready,s.ready=_);var f=[];function v(){return p.resolve()}for(var w=0;w<l.forages.length;w++){var S=l.forages[w];S!==s&&f.push(S._initReady().catch(v))}var b=l.forages.slice(0);return p.all(f).then(function(){return c.db=l.db,me(c)}).then(function(I){return c.db=I,xe(c,s._defaultConfig.version)?Ce(c):I}).then(function(I){c.db=l.db=I,s._dbInfo=c;for(var C=0;C<b.length;C++){var j=b[C];j!==s&&(j._dbInfo.db=c.db,j._dbInfo.version=c.version)}})}function Y(o,s){var c=this;o=k(o);var d=new p(function(l,f){c.ready().then(function(){L(c._dbInfo,ne,function(v,w){if(v)return f(v);try{var S=w.objectStore(c._dbInfo.storeName),b=S.get(o);b.onsuccess=function(){var I=b.result;I===void 0&&(I=null),g(I)&&(I=Ae(I)),l(I)},b.onerror=function(){f(b.error)}}catch(I){f(I)}})}).catch(f)});return A(d,s),d}function ie(o,s){var c=this,d=new p(function(l,f){c.ready().then(function(){L(c._dbInfo,ne,function(v,w){if(v)return f(v);try{var S=w.objectStore(c._dbInfo.storeName),b=S.openCursor(),I=1;b.onsuccess=function(){var C=b.result;if(C){var j=C.value;g(j)&&(j=Ae(j));var H=o(j,C.key,I++);H!==void 0?l(H):C.continue()}else l()},b.onerror=function(){f(b.error)}}catch(C){f(C)}})}).catch(f)});return A(d,s),d}function Fe(o,s,c){var d=this;o=k(o);var l=new p(function(f,v){var w;d.ready().then(function(){return w=d._dbInfo,q.call(s)==="[object Blob]"?F(w.db).then(function(S){return S?s:Je(s)}):s}).then(function(S){L(d._dbInfo,N,function(b,I){if(b)return v(b);try{var C=I.objectStore(d._dbInfo.storeName);S===null&&(S=void 0);var j=C.put(S,o);I.oncomplete=function(){S===void 0&&(S=null),f(S)},I.onabort=I.onerror=function(){var H=j.error?j.error:j.transaction.error;v(H)}}catch(H){v(H)}})}).catch(v)});return A(l,c),l}function $e(o,s){var c=this;o=k(o);var d=new p(function(l,f){c.ready().then(function(){L(c._dbInfo,N,function(v,w){if(v)return f(v);try{var S=w.objectStore(c._dbInfo.storeName),b=S.delete(o);w.oncomplete=function(){l()},w.onerror=function(){f(b.error)},w.onabort=function(){var I=b.error?b.error:b.transaction.error;f(I)}}catch(I){f(I)}})}).catch(f)});return A(d,s),d}function Qe(o){var s=this,c=new p(function(d,l){s.ready().then(function(){L(s._dbInfo,N,function(f,v){if(f)return l(f);try{var w=v.objectStore(s._dbInfo.storeName),S=w.clear();v.oncomplete=function(){d()},v.onabort=v.onerror=function(){var b=S.error?S.error:S.transaction.error;l(b)}}catch(b){l(b)}})}).catch(l)});return A(c,o),c}function fa(o){var s=this,c=new p(function(d,l){s.ready().then(function(){L(s._dbInfo,ne,function(f,v){if(f)return l(f);try{var w=v.objectStore(s._dbInfo.storeName),S=w.count();S.onsuccess=function(){d(S.result)},S.onerror=function(){l(S.error)}}catch(b){l(b)}})}).catch(l)});return A(c,o),c}function ha(o,s){var c=this,d=new p(function(l,f){if(o<0){l(null);return}c.ready().then(function(){L(c._dbInfo,ne,function(v,w){if(v)return f(v);try{var S=w.objectStore(c._dbInfo.storeName),b=!1,I=S.openKeyCursor();I.onsuccess=function(){var C=I.result;if(!C){l(null);return}o===0||b?l(C.key):(b=!0,C.advance(o))},I.onerror=function(){f(I.error)}}catch(C){f(C)}})}).catch(f)});return A(d,s),d}function pa(o){var s=this,c=new p(function(d,l){s.ready().then(function(){L(s._dbInfo,ne,function(f,v){if(f)return l(f);try{var w=v.objectStore(s._dbInfo.storeName),S=w.openKeyCursor(),b=[];S.onsuccess=function(){var I=S.result;if(!I){d(b);return}b.push(I.key),I.continue()},S.onerror=function(){l(S.error)}}catch(I){l(I)}})}).catch(l)});return A(c,o),c}function ma(o,s){s=W.apply(this,arguments);var c=this.config();o=typeof o!="function"&&o||{},o.name||(o.name=o.name||c.name,o.storeName=o.storeName||c.storeName);var d=this,l;if(!o.name)l=p.reject("Invalid arguments");else{var f=o.name===c.name&&d._dbInfo.db,v=f?p.resolve(d._dbInfo.db):me(o).then(function(w){var S=B[o.name],b=S.forages;S.db=w;for(var I=0;I<b.length;I++)b[I]._dbInfo.db=w;return w});o.storeName?l=v.then(function(w){if(w.objectStoreNames.contains(o.storeName)){var S=w.version+1;te(o);var b=B[o.name],I=b.forages;w.close();for(var C=0;C<I.length;C++){var j=I[C];j._dbInfo.db=null,j._dbInfo.version=S}var H=new p(function(z,Q){var J=y.open(o.name,S);J.onerror=function(fe){var jt=J.result;jt.close(),Q(fe)},J.onupgradeneeded=function(){var fe=J.result;fe.deleteObjectStore(o.storeName)},J.onsuccess=function(){var fe=J.result;fe.close(),z(fe)}});return H.then(function(z){b.db=z;for(var Q=0;Q<I.length;Q++){var J=I[Q];J._dbInfo.db=z,se(J._dbInfo)}}).catch(function(z){throw(ce(o,z)||p.resolve()).catch(function(){}),z})}}):l=v.then(function(w){te(o);var S=B[o.name],b=S.forages;w.close();for(var I=0;I<b.length;I++){var C=b[I];C._dbInfo.db=null}var j=new p(function(H,z){var Q=y.deleteDatabase(o.name);Q.onerror=function(){var J=Q.result;J&&J.close(),z(Q.error)},Q.onblocked=function(){console.warn('dropInstance blocked for database "'+o.name+'" until all open connections are closed')},Q.onsuccess=function(){var J=Q.result;J&&J.close(),H(J)}});return j.then(function(H){S.db=H;for(var z=0;z<b.length;z++){var Q=b[z];se(Q._dbInfo)}}).catch(function(H){throw(ce(o,H)||p.resolve()).catch(function(){}),H})})}return A(l,s),l}var ga={_driver:"asyncStorage",_initStorage:D,_support:m(),iterate:ie,getItem:Y,setItem:Fe,removeItem:$e,clear:Qe,length:fa,key:ha,keys:pa,dropInstance:ma};function va(){return typeof openDatabase=="function"}var Oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ya="~~local_forage_type~",Mr=/^~~local_forage_type~([^~]+)~/,ft="__lfsc__:",Ct=ft.length,$t="arbf",Mt="blob",Pr="si08",kr="ui08",Dr="uic8",Ur="si16",jr="si32",xr="ur16",Fr="ui32",Gr="fl32",Wr="fl64",Br=Ct+$t.length,qr=Object.prototype.toString;function Vr(o){var s=o.length*.75,c=o.length,d,l=0,f,v,w,S;o[o.length-1]==="="&&(s--,o[o.length-2]==="="&&s--);var b=new ArrayBuffer(s),I=new Uint8Array(b);for(d=0;d<c;d+=4)f=Oe.indexOf(o[d]),v=Oe.indexOf(o[d+1]),w=Oe.indexOf(o[d+2]),S=Oe.indexOf(o[d+3]),I[l++]=f<<2|v>>4,I[l++]=(v&15)<<4|w>>2,I[l++]=(w&3)<<6|S&63;return b}function Pt(o){var s=new Uint8Array(o),c="",d;for(d=0;d<s.length;d+=3)c+=Oe[s[d]>>2],c+=Oe[(s[d]&3)<<4|s[d+1]>>4],c+=Oe[(s[d+1]&15)<<2|s[d+2]>>6],c+=Oe[s[d+2]&63];return s.length%3===2?c=c.substring(0,c.length-1)+"=":s.length%3===1&&(c=c.substring(0,c.length-2)+"=="),c}function Ea(o,s){var c="";if(o&&(c=qr.call(o)),o&&(c==="[object ArrayBuffer]"||o.buffer&&qr.call(o.buffer)==="[object ArrayBuffer]")){var d,l=ft;o instanceof ArrayBuffer?(d=o,l+=$t):(d=o.buffer,c==="[object Int8Array]"?l+=Pr:c==="[object Uint8Array]"?l+=kr:c==="[object Uint8ClampedArray]"?l+=Dr:c==="[object Int16Array]"?l+=Ur:c==="[object Uint16Array]"?l+=xr:c==="[object Int32Array]"?l+=jr:c==="[object Uint32Array]"?l+=Fr:c==="[object Float32Array]"?l+=Gr:c==="[object Float64Array]"?l+=Wr:s(new Error("Failed to get type for BinaryArray"))),s(l+Pt(d))}else if(c==="[object Blob]"){var f=new FileReader;f.onload=function(){var v=ya+o.type+"~"+Pt(this.result);s(ft+Mt+v)},f.readAsArrayBuffer(o)}else try{s(JSON.stringify(o))}catch(v){console.error("Couldn't convert value into a JSON string: ",o),s(null,v)}}function wa(o){if(o.substring(0,Ct)!==ft)return JSON.parse(o);var s=o.substring(Br),c=o.substring(Ct,Br),d;if(c===Mt&&Mr.test(s)){var l=s.match(Mr);d=l[1],s=s.substring(l[0].length)}var f=Vr(s);switch(c){case $t:return f;case Mt:return E([f],{type:d});case Pr:return new Int8Array(f);case kr:return new Uint8Array(f);case Dr:return new Uint8ClampedArray(f);case Ur:return new Int16Array(f);case xr:return new Uint16Array(f);case jr:return new Int32Array(f);case Fr:return new Uint32Array(f);case Gr:return new Float32Array(f);case Wr:return new Float64Array(f);default:throw new Error("Unkown type: "+c)}}var kt={serialize:Ea,deserialize:wa,stringToBuffer:Vr,bufferToString:Pt};function zr(o,s,c,d){o.executeSql("CREATE TABLE IF NOT EXISTS "+s.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],c,d)}function _a(o){var s=this,c={db:null};if(o)for(var d in o)c[d]=typeof o[d]!="string"?o[d].toString():o[d];var l=new p(function(f,v){try{c.db=openDatabase(c.name,String(c.version),c.description,c.size)}catch(w){return v(w)}c.db.transaction(function(w){zr(w,c,function(){s._dbInfo=c,f()},function(S,b){v(b)})},v)});return c.serializer=kt,l}function Re(o,s,c,d,l,f){o.executeSql(c,d,l,function(v,w){w.code===w.SYNTAX_ERR?v.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[s.storeName],function(S,b){b.rows.length?f(S,w):zr(S,s,function(){S.executeSql(c,d,l,f)},f)},f):f(v,w)},f)}function Ia(o,s){var c=this;o=k(o);var d=new p(function(l,f){c.ready().then(function(){var v=c._dbInfo;v.db.transaction(function(w){Re(w,v,"SELECT * FROM "+v.storeName+" WHERE key = ? LIMIT 1",[o],function(S,b){var I=b.rows.length?b.rows.item(0).value:null;I&&(I=v.serializer.deserialize(I)),l(I)},function(S,b){f(b)})})}).catch(f)});return A(d,s),d}function ba(o,s){var c=this,d=new p(function(l,f){c.ready().then(function(){var v=c._dbInfo;v.db.transaction(function(w){Re(w,v,"SELECT * FROM "+v.storeName,[],function(S,b){for(var I=b.rows,C=I.length,j=0;j<C;j++){var H=I.item(j),z=H.value;if(z&&(z=v.serializer.deserialize(z)),z=o(z,H.key,j+1),z!==void 0){l(z);return}}l()},function(S,b){f(b)})})}).catch(f)});return A(d,s),d}function Hr(o,s,c,d){var l=this;o=k(o);var f=new p(function(v,w){l.ready().then(function(){s===void 0&&(s=null);var S=s,b=l._dbInfo;b.serializer.serialize(s,function(I,C){C?w(C):b.db.transaction(function(j){Re(j,b,"INSERT OR REPLACE INTO "+b.storeName+" (key, value) VALUES (?, ?)",[o,I],function(){v(S)},function(H,z){w(z)})},function(j){if(j.code===j.QUOTA_ERR){if(d>0){v(Hr.apply(l,[o,S,c,d-1]));return}w(j)}})})}).catch(w)});return A(f,c),f}function Sa(o,s,c){return Hr.apply(this,[o,s,c,1])}function Na(o,s){var c=this;o=k(o);var d=new p(function(l,f){c.ready().then(function(){var v=c._dbInfo;v.db.transaction(function(w){Re(w,v,"DELETE FROM "+v.storeName+" WHERE key = ?",[o],function(){l()},function(S,b){f(b)})})}).catch(f)});return A(d,s),d}function Aa(o){var s=this,c=new p(function(d,l){s.ready().then(function(){var f=s._dbInfo;f.db.transaction(function(v){Re(v,f,"DELETE FROM "+f.storeName,[],function(){d()},function(w,S){l(S)})})}).catch(l)});return A(c,o),c}function Oa(o){var s=this,c=new p(function(d,l){s.ready().then(function(){var f=s._dbInfo;f.db.transaction(function(v){Re(v,f,"SELECT COUNT(key) as c FROM "+f.storeName,[],function(w,S){var b=S.rows.item(0).c;d(b)},function(w,S){l(S)})})}).catch(l)});return A(c,o),c}function Ra(o,s){var c=this,d=new p(function(l,f){c.ready().then(function(){var v=c._dbInfo;v.db.transaction(function(w){Re(w,v,"SELECT key FROM "+v.storeName+" WHERE id = ? LIMIT 1",[o+1],function(S,b){var I=b.rows.length?b.rows.item(0).key:null;l(I)},function(S,b){f(b)})})}).catch(f)});return A(d,s),d}function Ta(o){var s=this,c=new p(function(d,l){s.ready().then(function(){var f=s._dbInfo;f.db.transaction(function(v){Re(v,f,"SELECT key FROM "+f.storeName,[],function(w,S){for(var b=[],I=0;I<S.rows.length;I++)b.push(S.rows.item(I).key);d(b)},function(w,S){l(S)})})}).catch(l)});return A(c,o),c}function La(o){return new p(function(s,c){o.transaction(function(d){d.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",[],function(l,f){for(var v=[],w=0;w<f.rows.length;w++)v.push(f.rows.item(w).name);s({db:o,storeNames:v})},function(l,f){c(f)})},function(d){c(d)})})}function Ca(o,s){s=W.apply(this,arguments);var c=this.config();o=typeof o!="function"&&o||{},o.name||(o.name=o.name||c.name,o.storeName=o.storeName||c.storeName);var d=this,l;return o.name?l=new p(function(f){var v;o.name===c.name?v=d._dbInfo.db:v=openDatabase(o.name,"","",0),o.storeName?f({db:v,storeNames:[o.storeName]}):f(La(v))}).then(function(f){return new p(function(v,w){f.db.transaction(function(S){function b(H){return new p(function(z,Q){S.executeSql("DROP TABLE IF EXISTS "+H,[],function(){z()},function(J,fe){Q(fe)})})}for(var I=[],C=0,j=f.storeNames.length;C<j;C++)I.push(b(f.storeNames[C]));p.all(I).then(function(){v()}).catch(function(H){w(H)})},function(S){w(S)})})}):l=p.reject("Invalid arguments"),A(l,s),l}var $a={_driver:"webSQLStorage",_initStorage:_a,_support:va(),iterate:ba,getItem:Ia,setItem:Sa,removeItem:Na,clear:Aa,length:Oa,key:Ra,keys:Ta,dropInstance:Ca};function Ma(){try{return typeof localStorage<"u"&&"setItem"in localStorage&&!!localStorage.setItem}catch{return!1}}function Xr(o,s){var c=o.name+"/";return o.storeName!==s.storeName&&(c+=o.storeName+"/"),c}function Pa(){var o="_localforage_support_test";try{return localStorage.setItem(o,!0),localStorage.removeItem(o),!1}catch{return!0}}function ka(){return!Pa()||localStorage.length>0}function Da(o){var s=this,c={};if(o)for(var d in o)c[d]=o[d];return c.keyPrefix=Xr(o,s._defaultConfig),ka()?(s._dbInfo=c,c.serializer=kt,p.resolve()):p.reject()}function Ua(o){var s=this,c=s.ready().then(function(){for(var d=s._dbInfo.keyPrefix,l=localStorage.length-1;l>=0;l--){var f=localStorage.key(l);f.indexOf(d)===0&&localStorage.removeItem(f)}});return A(c,o),c}function ja(o,s){var c=this;o=k(o);var d=c.ready().then(function(){var l=c._dbInfo,f=localStorage.getItem(l.keyPrefix+o);return f&&(f=l.serializer.deserialize(f)),f});return A(d,s),d}function xa(o,s){var c=this,d=c.ready().then(function(){for(var l=c._dbInfo,f=l.keyPrefix,v=f.length,w=localStorage.length,S=1,b=0;b<w;b++){var I=localStorage.key(b);if(I.indexOf(f)===0){var C=localStorage.getItem(I);if(C&&(C=l.serializer.deserialize(C)),C=o(C,I.substring(v),S++),C!==void 0)return C}}});return A(d,s),d}function Fa(o,s){var c=this,d=c.ready().then(function(){var l=c._dbInfo,f;try{f=localStorage.key(o)}catch{f=null}return f&&(f=f.substring(l.keyPrefix.length)),f});return A(d,s),d}function Ga(o){var s=this,c=s.ready().then(function(){for(var d=s._dbInfo,l=localStorage.length,f=[],v=0;v<l;v++){var w=localStorage.key(v);w.indexOf(d.keyPrefix)===0&&f.push(w.substring(d.keyPrefix.length))}return f});return A(c,o),c}function Wa(o){var s=this,c=s.keys().then(function(d){return d.length});return A(c,o),c}function Ba(o,s){var c=this;o=k(o);var d=c.ready().then(function(){var l=c._dbInfo;localStorage.removeItem(l.keyPrefix+o)});return A(d,s),d}function qa(o,s,c){var d=this;o=k(o);var l=d.ready().then(function(){s===void 0&&(s=null);var f=s;return new p(function(v,w){var S=d._dbInfo;S.serializer.serialize(s,function(b,I){if(I)w(I);else try{localStorage.setItem(S.keyPrefix+o,b),v(f)}catch(C){(C.name==="QuotaExceededError"||C.name==="NS_ERROR_DOM_QUOTA_REACHED")&&w(C),w(C)}})})});return A(l,c),l}function Va(o,s){if(s=W.apply(this,arguments),o=typeof o!="function"&&o||{},!o.name){var c=this.config();o.name=o.name||c.name,o.storeName=o.storeName||c.storeName}var d=this,l;return o.name?l=new p(function(f){o.storeName?f(Xr(o,d._defaultConfig)):f(o.name+"/")}).then(function(f){for(var v=localStorage.length-1;v>=0;v--){var w=localStorage.key(v);w.indexOf(f)===0&&localStorage.removeItem(w)}}):l=p.reject("Invalid arguments"),A(l,s),l}var za={_driver:"localStorageWrapper",_initStorage:Da,_support:Ma(),iterate:xa,getItem:ja,setItem:qa,removeItem:Ba,clear:Ua,length:Wa,key:Fa,keys:Ga,dropInstance:Va},Ha=function(o,s){return o===s||typeof o=="number"&&typeof s=="number"&&isNaN(o)&&isNaN(s)},Xa=function(o,s){for(var c=o.length,d=0;d<c;){if(Ha(o[d],s))return!0;d++}return!1},Kr=Array.isArray||function(o){return Object.prototype.toString.call(o)==="[object Array]"},Ze={},Yr={},Ge={INDEXEDDB:ga,WEBSQL:$a,LOCALSTORAGE:za},Ka=[Ge.INDEXEDDB._driver,Ge.WEBSQL._driver,Ge.LOCALSTORAGE._driver],ht=["dropInstance"],Dt=["clear","getItem","iterate","key","keys","length","removeItem","setItem"].concat(ht),Ya={description:"",driver:Ka.slice(),name:"localforage",size:4980736,storeName:"keyvaluepairs",version:1};function Ja(o,s){o[s]=function(){var c=arguments;return o.ready().then(function(){return o[s].apply(o,c)})}}function Ut(){for(var o=1;o<arguments.length;o++){var s=arguments[o];if(s)for(var c in s)s.hasOwnProperty(c)&&(Kr(s[c])?arguments[0][c]=s[c].slice():arguments[0][c]=s[c])}return arguments[0]}var Qa=(function(){function o(s){h(this,o);for(var c in Ge)if(Ge.hasOwnProperty(c)){var d=Ge[c],l=d._driver;this[c]=l,Ze[l]||this.defineDriver(d)}this._defaultConfig=Ut({},Ya),this._config=Ut({},this._defaultConfig,s),this._driverSet=null,this._initDriver=null,this._ready=!1,this._dbInfo=null,this._wrapLibraryMethodsWithReady(),this.setDriver(this._config.driver).catch(function(){})}return o.prototype.config=function(s){if((typeof s>"u"?"undefined":a(s))==="object"){if(this._ready)return new Error("Can't call config() after localforage has been used.");for(var c in s){if(c==="storeName"&&(s[c]=s[c].replace(/\W/g,"_")),c==="version"&&typeof s[c]!="number")return new Error("Database version must be a number.");this._config[c]=s[c]}return"driver"in s&&s.driver?this.setDriver(this._config.driver):!0}else return typeof s=="string"?this._config[s]:this._config},o.prototype.defineDriver=function(s,c,d){var l=new p(function(f,v){try{var w=s._driver,S=new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!s._driver){v(S);return}for(var b=Dt.concat("_initStorage"),I=0,C=b.length;I<C;I++){var j=b[I],H=!Xa(ht,j);if((H||s[j])&&typeof s[j]!="function"){v(S);return}}var z=function(){for(var J=function(es){return function(){var ts=new Error("Method "+es+" is not implemented by the current driver"),Jr=p.reject(ts);return A(Jr,arguments[arguments.length-1]),Jr}},fe=0,jt=ht.length;fe<jt;fe++){var xt=ht[fe];s[xt]||(s[xt]=J(xt))}};z();var Q=function(J){Ze[w]&&console.info("Redefining LocalForage driver: "+w),Ze[w]=s,Yr[w]=J,f()};"_support"in s?s._support&&typeof s._support=="function"?s._support().then(Q,v):Q(!!s._support):Q(!0)}catch(J){v(J)}});return P(l,c,d),l},o.prototype.driver=function(){return this._driver||null},o.prototype.getDriver=function(s,c,d){var l=Ze[s]?p.resolve(Ze[s]):p.reject(new Error("Driver not found."));return P(l,c,d),l},o.prototype.getSerializer=function(s){var c=p.resolve(kt);return P(c,s),c},o.prototype.ready=function(s){var c=this,d=c._driverSet.then(function(){return c._ready===null&&(c._ready=c._initDriver()),c._ready});return P(d,s,s),d},o.prototype.setDriver=function(s,c,d){var l=this;Kr(s)||(s=[s]);var f=this._getSupportedDrivers(s);function v(){l._config.driver=l.driver()}function w(I){return l._extend(I),v(),l._ready=l._initStorage(l._config),l._ready}function S(I){return function(){var C=0;function j(){for(;C<I.length;){var H=I[C];return C++,l._dbInfo=null,l._ready=null,l.getDriver(H).then(w).catch(j)}v();var z=new Error("No available storage method found.");return l._driverSet=p.reject(z),l._driverSet}return j()}}var b=this._driverSet!==null?this._driverSet.catch(function(){return p.resolve()}):p.resolve();return this._driverSet=b.then(function(){var I=f[0];return l._dbInfo=null,l._ready=null,l.getDriver(I).then(function(C){l._driver=C._driver,v(),l._wrapLibraryMethodsWithReady(),l._initDriver=S(f)})}).catch(function(){v();var I=new Error("No available storage method found.");return l._driverSet=p.reject(I),l._driverSet}),P(this._driverSet,c,d),this._driverSet},o.prototype.supports=function(s){return!!Yr[s]},o.prototype._extend=function(s){Ut(this,s)},o.prototype._getSupportedDrivers=function(s){for(var c=[],d=0,l=s.length;d<l;d++){var f=s[d];this.supports(f)&&c.push(f)}return c},o.prototype._wrapLibraryMethodsWithReady=function(){for(var s=0,c=Dt.length;s<c;s++)Ja(this,Dt[s])},o.prototype.createInstance=function(s){return new o(s)},o})(),Za=new Qa;n.exports=Za},{3:3}]},{},[4])(4)})}),Qi=Tr((e,t)=>{(function(r,n){typeof e=="object"&&typeof t<"u"?n(e):typeof define=="function"&&define.amd?define("localforage-driver-memory",["exports"],n):n(r.LocalforageDriverMemory={})})(typeof self<"u"?self:e,function(r){var n="localforage-driver-memory";function i(g){var _=typeof Symbol=="function"&&g[Symbol.iterator],O=0;return _?_.call(g):{next:function(){return g&&O>=g.length&&(g=void 0),{value:g&&g[O++],done:!g}}}}function a(g,_){g=g||[],_=_||{};try{return new Blob(g,_)}catch(D){if(D.name!=="TypeError")throw D;for(var O=typeof BlobBuilder<"u"?BlobBuilder:typeof MSBlobBuilder<"u"?MSBlobBuilder:typeof MozBlobBuilder<"u"?MozBlobBuilder:WebKitBlobBuilder,L=new O,$=0;$<g.length;$+=1)L.append(g[$]);return L.getBlob(_.type)}}var h=/^~~local_forage_type~([^~]+)~/,u=9,y=u+4,m=Object.prototype.toString;function E(g){var _=g.length*.75,O=g.length;g[g.length-1]==="="&&(_--,g[g.length-2]==="="&&_--);for(var L=new ArrayBuffer(_),$=new Uint8Array(L),D=0,Y=0;D<O;D+=4){var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(g[D]),Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(g[D+1]),$e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(g[D+2]),Qe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(g[D+3]);$[Y++]=ie<<2|Fe>>4,$[Y++]=(Fe&15)<<4|$e>>2,$[Y++]=($e&3)<<6|Qe&63}return L}function p(g){for(var _=new Uint8Array(g),O="",L=0;L<_.length;L+=3)O+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[_[L]>>2],O+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(_[L]&3)<<4|_[L+1]>>4],O+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(_[L+1]&15)<<2|_[L+2]>>6],O+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[_[L+2]&63];return _.length%3===2?O=O.substring(0,O.length-1)+"=":_.length%3===1&&(O=O.substring(0,O.length-2)+"=="),O}function A(g,_){var O="";if(g&&(O=m.call(g)),g&&(O==="[object ArrayBuffer]"||g.buffer&&m.call(g.buffer)==="[object ArrayBuffer]")){var L=void 0,$="__lfsc__:";g instanceof ArrayBuffer?(L=g,$+="arbf"):(L=g.buffer,O==="[object Int8Array]"?$+="si08":O==="[object Uint8Array]"?$+="ui08":O==="[object Uint8ClampedArray]"?$+="uic8":O==="[object Int16Array]"?$+="si16":O==="[object Uint16Array]"?$+="ur16":O==="[object Int32Array]"?$+="si32":O==="[object Uint32Array]"?$+="ui32":O==="[object Float32Array]"?$+="fl32":O==="[object Float64Array]"?$+="fl64":_(new Error("Failed to get type for BinaryArray"))),_($+p(L))}else if(O==="[object Blob]"){var D=new FileReader;D.onload=function(){var Y="~~local_forage_type~"+g.type+"~"+p(this.result);_("__lfsc__:blob"+Y)},D.readAsArrayBuffer(g)}else try{_(JSON.stringify(g))}catch(Y){console.error("Couldn't convert value into a JSON string: ",g),_(null,Y)}}function P(g){if(g.substring(0,u)!=="__lfsc__:")return JSON.parse(g);var _=g.substring(y),O=g.substring(u,y),L;if(O==="blob"&&h.test(_)){var $=_.match(h);L=$[1],_=_.substring($[0].length)}var D=E(_);switch(O){case"arbf":return D;case"blob":return a([D],{type:L});case"si08":return new Int8Array(D);case"ui08":return new Uint8Array(D);case"uic8":return new Uint8ClampedArray(D);case"si16":return new Int16Array(D);case"ur16":return new Uint16Array(D);case"si32":return new Int32Array(D);case"ui32":return new Uint32Array(D);case"fl32":return new Float32Array(D);case"fl64":return new Float64Array(D);default:throw new Error("Unkown type: "+O)}}function k(g){var _,O;if(g===null||typeof g!="object"||"isActiveClone"in g)return g;var L=g instanceof Date?new Date(g):g.constructor();try{for(var $=i(Object.keys(g)),D=$.next();!D.done;D=$.next()){var Y=D.value;Object.prototype.hasOwnProperty.call(g,Y)&&(g.isActiveClone=null,L[Y]=k(g[Y]),delete g.isActiveClone)}}catch(ie){_={error:ie}}finally{try{D&&!D.done&&(O=$.return)&&O.call($)}finally{if(_)throw _.error}}return L}function W(g,_){return(g.name||_.name)+"/"+(g.storeName||_.storeName)+"/"}function R(g,_){_&&g.then(function(O){_(null,O)},function(O){_(O)})}function K(){for(var g=[],_=0;_<arguments.length;_++)g[_]=arguments[_];if(arguments.length&&typeof arguments[arguments.length-1]=="function")return arguments[arguments.length-1]}function B(g,_){var O=this;if(_=K.apply(this,arguments),g=typeof g!="function"&&g||{},!g.name){var L=this.config();g.name=g.name||L.name,g.storeName=g.storeName||L.storeName}var $;return g.name?$=new Promise(function(D){g.storeName?D(W(g,O._defaultConfig)):D(g.name+"/")}):$=Promise.reject("Invalid arguments"),{promise:$,callback:_}}function q(g){return typeof g!="string"&&(console.warn(g+" used as a key, but it is not a string."),g=String(g)),g}var ne={bufferToString:p,deserialize:P,serialize:A,stringToBuffer:E},N={},x=(function(){function g(_){this.kp=_,this.data={}}return g.resolve=function(_){return N[_]||(N[_]=new g(_)),N[_]},g.prototype.clear=function(){this.data={}},g.prototype.drop=function(){this.clear(),delete N[this.kp]},g.prototype.get=function(_){return this.data[_]},g.prototype.key=function(_){return this.keys()[_]},g.prototype.keys=function(){return Object.keys(this.data)},g.prototype.rm=function(_){delete this.data[_]},g.prototype.set=function(_,O){this.data[_]=O},g})();function U(g){var _=g?k(g):{},O=W(_,this._defaultConfig),L=x.resolve(O);return this._dbInfo=_,this._dbInfo.serializer=ne,this._dbInfo.keyPrefix=O,this._dbInfo.mStore=L,Promise.resolve()}function F(g){var _=this,O=this.ready().then(function(){_._dbInfo.mStore.clear()});return R(O,g),O}function te(g,_){var O=B.apply(this,arguments),L=O.promise,$=O.callback,D=L.then(function(Y){x.resolve(Y).drop()});return R(D,$),L}function se(g,_){var O=this;g=q(g);var L=this.ready().then(function(){var $=O._dbInfo.mStore.get(g);return $==null?null:O._dbInfo.serializer.deserialize($)});return R(L,_),L}function ce(g,_){var O=this,L=this.ready().then(function(){for(var $=O._dbInfo.mStore,D=$.keys(),Y=0;Y<D.length;Y++){var ie=$.get(D[Y]);if(ie&&(ie=O._dbInfo.serializer.deserialize(ie)),ie=g(ie,D[Y],Y+1),ie!==void 0)return ie}});return R(L,_),L}function le(g,_){var O=this,L=this.ready().then(function(){var $;try{$=O._dbInfo.mStore.key(g),$===void 0&&($=null)}catch{$=null}return $});return R(L,_),L}function me(g){var _=this,O=this.ready().then(function(){return _._dbInfo.mStore.keys()});return R(O,g),O}function Ce(g){var _=this.keys().then(function(O){return O.length});return R(_,g),_}function xe(g,_){var O=this;g=q(g);var L=this.ready().then(function(){O._dbInfo.mStore.rm(g)});return R(L,_),L}function Je(g,_,O){var L=this;g=q(g);var $=this.ready().then(function(){_===void 0&&(_=null);var D=_;return new Promise(function(Y,ie){L._dbInfo.serializer.serialize(_,function(Fe,$e){if($e)ie($e);else try{L._dbInfo.mStore.set(g,Fe),Y(D)}catch(Qe){ie(Qe)}})})});return R($,O),$}var Ae=!0;r._support=Ae,r._driver=n,r._initStorage=U,r.clear=F,r.dropInstance=te,r.getItem=se,r.iterate=ce,r.key=le,r.keys=me,r.length=Ce,r.removeItem=xe,r.setItem=Je,Object.defineProperty(r,"__esModule",{value:!0})})}),Tt=Lr(Ji()),Cr=Lr(Qi()),Zi={display:"none",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",opacity:"0",zIndex:"-1"};function ea(e){for(let[t,r]of Object.entries(Zi))e.style[t]=r}function ta(e){return!![].slice.call(document.querySelectorAll(".magic-iframe")).find(t=>t.src.includes(e))}var ra=class extends Di{activeElement=null;iframe;relayerSrc=lt(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href;init(){this.test="hello",this.iframe=new Promise(e=>{let t=()=>{if(ta(encodeURIComponent(this.parameters)))Bo().log();else{let r=document.createElement("iframe");r.classList.add("magic-iframe"),r.dataset.magicIframeLabel=lt(this.endpoint).host,r.title="Secure Modal",r.src=this.relayerSrc,r.allow="clipboard-read; clipboard-write",ea(r),document.body.appendChild(r),e(r)}};["loaded","interactive","complete"].includes(document.readyState)?t():window.addEventListener("load",t,!1)}),this.iframe.then(e=>{e instanceof HTMLIFrameElement&&e.addEventListener("load",async()=>{this.heartbeatDebounce()})}),window.addEventListener("message",e=>{if(e.origin===this.endpoint&&e.data.msgType&&(e.data.msgType.includes(_e.MAGIC_PONG)&&(this.lastPongTime=Date.now()),e.data&&this.messageHandlers.size)){e.data.response=e.data.response??{},this.stopHeartBeat();for(let t of this.messageHandlers.values())t(e)}}),window.addEventListener("beforeunload",()=>{this.stopHeartBeat()})}async showOverlay(){let e=await this.iframe;e.style.display="block",e.style.zIndex="2147483647",e.style.opacity="1",this.activeElement=document.activeElement,e.focus()}async hideOverlay(){let e=await this.iframe;e.style.display="none",e.style.zIndex="-1",e.style.opacity="0",this.activeElement?.focus&&this.activeElement.focus(),this.activeElement=null}async _post(e){let t=await this.iframe;if(t&&t.contentWindow)t.contentWindow.postMessage(e,this.endpoint);else throw cr()}async checkRelayerExistsInDOM(){let e=await this.iframe;return!e||!e.contentWindow?!1:!![].slice.call(document.querySelectorAll(".magic-iframe")).find(t=>t.src.includes(encodeURIComponent(this.parameters)))}async reloadRelayer(){let e=await this.iframe;if(this.stopHeartBeat(),!e){this.init(),console.warn("Magic SDK: Modal lost, re-initiating");return}if(!e.contentWindow){document.body.appendChild(e),console.warn("Magic SDK: Modal did not append in the iframe, re-initiating");return}e&&(e.src=this.relayerSrc)}},na=ko(Ri,{platform:"web",sdkName:"magic-sdk",version:"30.0.0",defaultEndpoint:"https://auth.magic.link/",ViewController:ra,configureStorage:async()=>{let e=Tt.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return await e.defineDriver(Cr),await e.setDriver([Tt.default.INDEXEDDB,Tt.default.LOCALSTORAGE,Cr._driver]),e}});class Lt{constructor(t,r=this){this.endpoint=t,this.api=r}async stdPGET(t,r,n,i={}){const a=await fetch(this.endpoint+r,{method:t,headers:{"Content-Type":"application/json",Accept:"application/json",...i},body:n?JSON.stringify(n):null,credentials:"include"});return this.withResp(a)}async withResp(t){if(!t.ok){const r=await t.json().catch(()=>({})),n=new Error("Network response was not ok");throw Object.assign(n,{response:t,data:r}),n}return t.json().then(r=>({data:r,response:t}))}async post(t,r={}){return this.stdPGET("POST",t,r)}async get(t,r={}){return this.stdPGET("GET",t,void 0,r)}async loginWithMagicDid(t){const{data:r}=await this.api.post("/v1/auth/login/did",{did:t});return r}async loginWithWeb3WalletSignature(t){const{data:r}=await this.api.post("/v1/auth/login/signature",t);return r}async loginExtWithWeb3WalletSignature(t){const{data:r}=await this.api.post("/v1/auth/login/ext-signature",t);return r}async logout(t){await this.api.post("/v1/auth/logout",{accessToken:t}),await this.writePlayerEvent("player_logged_out")}async getLoggedInUser(t){const{data:r}=await this.api.get("/v1/auth/me",{Authorization:`Bearer ${t}`});return r}async writePlayerEvent(t,r=null,n=!0){return console.log("writePlayerEvent",{eventName:t,eventData:r,retryIfLoginNeeded:n}),Promise.resolve()}}const oa={rpcUrl:"https://polygon-rpc.com",chainId:137},$r=e=>new na(e,{network:oa,extensions:[new Bi]});function ia(e,t){return $r(e).auth.loginWithEmailOTP({email:t})}function aa(e){return $r(e).oauth2.loginWithPopup({provider:"telegram"})}async function sa(e,t){const r=new Lt(e);try{let n=await aa(t);const i=n;if(i.error)throw new Error(`No ID token returned ${i.error}`);return n=n,console.log("Magic telegram login",{result:n}),r.loginWithMagicDid(n.magic.idToken)}catch(n){throw console.error("Magic login error:",n),n}}async function ca(e,t,r){const n=new Lt(e);try{const i=await ia(t,r);if(!i)throw new Error("No DID returned");return console.log("Magic email OTP login",{did:i}),n.loginWithMagicDid(i)}catch(i){throw console.error("Magic login error:",i),i}}async function la(e,t){if(t=t||window.ethereum,!t)throw new Error("MetaMask provider not found");const r=await t.request({method:"eth_requestAccounts"});if(!r.length)throw new Error("No accounts returned");console.log("MetaMask",{accounts:r});const n=r[0],i=`${e}/v1/auth`,a=new Uint32Array(3),h=crypto.getRandomValues(a).toString(),u=await fetch(`${i}/nonce/login`,{method:"POST",body:JSON.stringify({walletAddress:n,clientNonce:h}),headers:{"Content-Type":"application/json"}}).then(E=>E.text()),y=`Sign this message with your wallet to connect to Taunt Battleworld ::: ${JSON.stringify({clientNonce:h,serverNonce:u})}`;let m;try{m=await t.request({method:"personal_sign",params:[y,n]})}catch{throw new Error("User denied message signature")}if(!m)throw new Error("No signature returned");return{walletAddress:n,message:y,signature:m}}async function ua(e,t){const r=new Lt(e),{walletAddress:n,message:i,signature:a}=await la(e,t);return r.loginWithWeb3WalletSignature({walletAddress:n,message:i,signature:a})}const da=({children:e,tauntServiceEndpoint:t,magicKey:r})=>{const[n,i]=ee.useState(),[a,h]=ee.useState(!1),u=ee.useCallback(P=>{if(!r)throw new Error("magicKey is required for OTP login");h(!0),ca(t,r,P).then(i).finally(()=>h(!1))},[t,r]),y=ee.useCallback(()=>{h(!0),ua(t).then(i).finally(()=>h(!1))},[t]),m=ee.useCallback(()=>{if(!r)throw new Error("magicKey is required for Telegram login");h(!0),sa(t,r).then(i).finally(()=>h(!1))},[t,r]),E=ee.useCallback(()=>{h(!0),console.log("Meta login not yet implemented"),setTimeout(()=>h(!1),1e3)},[]),p=ee.useCallback(()=>{h(!0),console.log("Coinbase login not yet implemented"),setTimeout(()=>h(!1),1e3)},[]),A=ee.useCallback(()=>{i(void 0)},[]);return t?T.jsx(gt.Provider,{value:{tauntServiceEndpoint:t,isLoading:a,loggedIn:!!n,deets:n,otpMagicLogin:u,metamaskLogin:y,telegramLogin:m,metaLogin:E,coinbaseLogin:p,logout:A},children:e}):T.jsx("div",{children:"tauntServiceEndpoint is required"})};Z.CoinbaseButton=Gt,Z.LoadingView=Wt,Z.LoginUIComplete=nn,Z.LoginView=Ht,Z.MagicEmailInput=Bt,Z.MetaButton=qt,Z.MetaMaskButton=Vt,Z.ModalView=dn,Z.TauntContext=gt,Z.TauntProvider=da,Z.TelegramButton=zt,Z.useTaunt=Me,Object.defineProperty(Z,Symbol.toStringTag,{value:"Module"})}));
12
- //# sourceMappingURL=taunt-logins-ui-react.umd.cjs.map