PageSourceSearch

https://igaming.news/assets/index-Cfkm3YIa.js

js igaming.news collected 2026-09-24 20:05:59 UTC 957,248 bytes, 248 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/routes-BIkCJ4TU.js","assets/jsx-runtime-DGeXAQPT.js","assets/invariant-WCYHqTv3.js","assets/createServerFn-fnRUiaqG.js","assets/redirect-DCb_aIiF.js","assets/qss-CuvTgpZA.js","assets/link-BRnjDgmA.js","assets/react-dom-CjSgKWLk.js","assets/useStore-Cpj56lg6.js","assets/with-selector-DHk_9EaN.js","assets/useRouter-Bb1v-zLe.js","assets/useServerFn-Bt9yqIra.js","assets/createLucideIcon-BXgXaX_A.js","assets/arrow-up-right-C0Mhex-s.js","assets/headphones-cdnq8trC.js","assets/mail-myd86Bst.js","assets/mic-BDSK9LWT.js","assets/play-B5RV6l1y.js","assets/JobsSection-PSnRT_zZ.js","assets/briefcase-CojA_KjC.js","assets/building-2-BlCGAzBI.js","assets/clock-CFizobxr.js","assets/map-pin-vBNbbvBu.js","assets/SectionHeading-CBELA57p.js","assets/video-CIlzvjL5.js","assets/game-tiger-C3wZeNg0.js","assets/AdSlot-BMfKaxDe.js","assets/sanitize-html-R59xNZ7n.js","assets/ads-DUbbbgX8.js","assets/articles-D4KVsD-F.js","assets/CategoryColumns-cnHeCO5k.js","assets/SubscribeCTA-BBVDVWNk.js","assets/check-dpp5lH6_.js","assets/loader-circle-R_6V8jlg.js","assets/newsletter.functions-BK8zXr5M.js","assets/auth-middleware-JDjVgB0Q.js","assets/route-BVkMqlzQ.js","assets/admin-DqgYXwEK.js","assets/advertise-DqR8nK3U.js","assets/earth-BEUK_hqX.js","assets/newspaper-BmLM5Y43.js","assets/users-CC2-fAJm.js","assets/allstreams-43zGELXn.js","assets/external-link-B0Yq3eIs.js","assets/star-DLRtZZ_l.js","assets/allstreams-2PAPJUmC.js","assets/auth-Dv4oEYh-.js","assets/brasil-qjFFpCTo.js","assets/contact-CzAf66lr.js","assets/send-Bfcq9G-G.js","assets/corrections-policy-Cs6idfAv.js","assets/directory-0sm-P9DF.js","assets/editorial-policy-BW5kmoFu.js","assets/ethics-policy-ytDRqMgU.js","assets/import-status-p05vaU6J.js","assets/import-status-Bf4H3AOc.js","assets/import-status-DIWKmQUp.js","assets/join-D5fDFp5R.js","assets/meet-the-team-DmHz8OjG.js","assets/meet-the-team-SzKVT2Pe.js","assets/meet-the-team-dRSWwUVl.js","assets/useSuspenseQuery-SniaZd5l.js","assets/useBaseQuery-DxYuC5xd.js","assets/QueryClientProvider-CYztdoPE.js","assets/twitter-CcFTFK3Q.js","assets/news-feed-DUv8X7J7.js","assets/ownership-disclosure-BnNJB1Ah.js","assets/people-DL0fkyHO.js","assets/podcasts-Co8SXGSC.js","assets/podcasts-axij4X06.js","assets/podcasts-jvrbxB80.js","assets/sponsored-content-policy-28syO1MX.js","assets/subscribe-2trbBrEz.js","assets/sparkles-_DrhnKoQ.js","assets/trending-up-DSB0jUfK.js","assets/top-reads-BPonxZ-I.js","assets/members-qY1suTYE.js","assets/shopping-bag-DSSTfuj1.js","assets/admin.index-DbA9ekqJ.js","assets/admin._id-C0SiF3do.js","assets/blocks-Dk4x14aw.js","assets/ArticleEditor-ipFqXq5n.js","assets/slug-CbfKDeXW.js","assets/webp-DLx4m74b.js","assets/admin.ads-DaeMdWKe.js","assets/useMutation-8171iIJi.js","assets/admin.allstreams-BDLZRml6.js","assets/admin.messages-BqjOD0j4.js","assets/admin.new-CTEr6cfL.js","assets/admin.subscribers-xjxjT32p.js","assets/admin.takeovers-BT3bnv5q.js","assets/admin.team-NQQu32TR.js","assets/affiliate-programs.index-CaAEC53u.js","assets/percent-BKz9qGRB.js","assets/affiliate-programs._slug-D7oMf1oZ.js","assets/affiliate-programs._slug-cEmBhYH2.js","assets/shield-check-CYyjWvXT.js","assets/authors._slug-h__drA-P.js","assets/authors._slug-CClixMhz.js","assets/authors-o3_2vHnx.js","assets/blog.index-CqAeb87n.js","assets/blog.index-BQ2MxxhE.js","assets/blog.index-jvrbxB80.js","assets/category._category-DUCmdx7g.js","assets/events.index-CcexHcBT.js","assets/calendar-days-CWWofmYT.js","assets/events._slug-CEXcqmJO.js","assets/events._slug-DdoBfC26.js","assets/arrow-left-JphuH7FB.js","assets/geo._geo-BHJUm0fq.js","assets/geo._geo-DmBHg-MV.js","assets/geo._geo-BQl5FcsS.js","assets/jobs.index-BztdVKTp.js","assets/jobs._slug-PlTX4-tz.js","assets/circle-check-DJgqQZtF.js","assets/jobs._slug-Cv98HEBG.js","assets/payment-processors.index-CTtUqXlc.js","assets/credit-card-DdrSDHuJ.js","assets/timer-Bvpt-Ycx.js","assets/payment-processors._slug-CeChjAg6.js","assets/payment-processors._slug-a_uD8Dwr.js","assets/calendar-clock-BUp6EL9T.js","assets/policies._slug-Co0WGBYa.js","assets/studios.index-CCp36cWd.js","assets/studios._slug-D_10LIv4.js","assets/studios._slug-CexZcTj5.js","assets/videos.index-CEjqP2Hv.js","assets/videos.index-DOxvgCbC.js","assets/videos.index-jvrbxB80.js","assets/members.index-BEbB5j4e.js","assets/stripe-C6v5S0af.js","assets/entitlements.functions-D0SR1dz4.js","assets/benefits-Dr6yUls0.js","assets/members.account-93gJfCq5.js","assets/members.basket-BpLZlI57.js","assets/checkout.functions-ieD30OZs.js","assets/members.benefits-D2FTbarm.js","assets/members.orders-D1_3eGM_.js","assets/members.publish-BRfMJIxm.js","assets/members.receipts-C4wjEocj.js","assets/members.thank-you-H2rbFT8r.js","assets/blog._date._slug-CEijVXHG.js","assets/ArticleAudio-B3A3gIkD.js","assets/blog._date._slug-DwZ-F-67.js","assets/blog._date._slug-CxJp6bIO.js","assets/news._date._slug-D6565RDK.js","assets/video._date._slug-sN-qNTIU.js","assets/video._date._slug-DDRib7SJ.js","assets/video._date._slug-CZKfyTsy.js"])))=>i.map(i=>d[i]);
2import{n as e,r as t,t as n}from"./jsx-runtime-DGeXAQPT.js";import{n as r,t as i}from"./invariant-WCYHqTv3.js";import{t as a}from"./react-dom-CjSgKWLk.js";import{i as o,n as s,r as c,t as l}from"./createServerFn-fnRUiaqG.js";import{A as u,B as d,C as f,D as p,E as m,F as h,I as g,L as _,M as v,N as y,O as b,P as x,R as ee,S,T as C,_ as te,b as ne,c as re,f as ie,g as ae,h as oe,i as 
vendor: 15,785 bytes, lines 2-9
2se,j as ce,k as le,l as ue,n as w,p as T,r as de,s as fe,t as pe,u as me,v as E,w as D,x as he,y as ge,z as _e}from"./useStore-Cpj56lg6.js";import{a as ve,i as ye,r as be,t as xe}from"./redirect-DCb_aIiF.js";import{n as Se,t as Ce}from"./qss-CuvTgpZA.js";import{n as we,r as Te,t as Ee}from"./matchContext-whOrqr4q.js";import{t as De}from"./link-BRnjDgmA.js";import{n as Oe,t as ke}from"./useRouter-Bb1v-zLe.js";import{n as Ae,t as je}from"./auth-middleware-JDjVgB0Q.js";import{a as Me,b as Ne,c as Pe,d as Fe,f as Ie,g as Le,h as Re,i as ze,l as Be,m as Ve,o as He,p as Ue,r as We,s as Ge,t as Ke,u as qe,x as Je,y as Ye}from"./useBaseQuery-DxYuC5xd.js";import{t as Xe}from"./QueryClientProvider-CYztdoPE.js";import{t as Ze}from"./createLucideIcon-BXgXaX_A.js";import{t as Qe}from"./shield-check-CYyjWvXT.js";import{a as $e,i as et,n as tt,o as nt,r as rt,t as it}from"./game-tiger-C3wZeNg0.js";var at=e((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,ee||(ee=!0,ie());else{var t=n(l);t!==null&&se(x,t.startTime-e)}}var ee=!1,S=-1,C=5,te=-1;function ne(){return g?!0:!(e.unstable_now()-te<C)}function re(){if(g=!1,ee){var t=e.unstable_now();te=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(S),S=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ne());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&se(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?ie():ee=!1}}}var ie;if(typeof y==`function`)ie=function(){y(re)};else if(typeof MessageChannel<`u`){var ae=new MessageChannel,oe=ae.port2;ae.port1.onmessage=re,ie=function(){oe.postMessage(null)}}else ie=function(){_(re,0)};function se(t,n){S=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):C=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(S),S=-1):h=!0,se(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ee||(ee=!0,ie()))),r},e.unstable_shouldYield=ne,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ot=e(((e,t)=>{t.exports=at()})),st=e((e=>{var t=ot(),n=r(),i=a();function o(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function s(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function c(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function l(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function u(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function d(e){if(c(e)!==e)throw Error(o(188))}function f(e){var t=e.alternate;if(!t){if(t=c(e),t===null)throw Error(o(188));return t===e?e:null}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var a=i.alternate;if(a===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===n)return d(i),e;if(a===r)return d(i),t;a=a.sibling}throw Error(o(188))}if(n.return!==r.return)n=i,r=a;else{for(var s=!1,l=i.child;l;){if(l===n){s=!0,n=i,r=a;break}if(l===r){s=!0,r=i,n=a;break}l=l.sibling}if(!s){for(l=a.child;l;){if(l===n){s=!0,n=a,r=i;break}if(l===r){s=!0,r=a,n=i;break}l=l.sibling}if(!s)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(n.tag!==3)throw Error(o(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,h=Symbol.for(`react.element`),g=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),v=Symbol.for(`react.fragment`),y=Symbol.for(`react.strict_mode`),b=Symbol.for(`react.profiler`),x=Symbol.for(`react.consumer`),ee=Symbol.for(`react.context`),S=Symbol.for(`react.forward_ref`),C=Symbol.for(`react.suspense`),te=Symbol.for(`react.suspense_list`),ne=Symbol.for(`react.memo`),re=Symbol.for(`react.lazy`),ie=Symbol.for(`react.activity`),ae=Symbol.for(`react.memo_cache_sentinel`),oe=Symbol.iterator;function se(e){return typeof e!=`object`||!e?null:(e=oe&&e[oe]||e[`@@iterator`],typeof e==`function`?e:null)}var ce=Symbol.for(`react.client.reference`);function le(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ce?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case v:return`Fragment`;case b:return`Profiler`;case y:return`StrictMode`;case C:return`Suspense`;case te:return`SuspenseList`;case ie:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case _:return`Portal`;case ee:return e.displayName||`Context`;case x:return(e._context.displayName||`Context`)+`.Consumer`;case S:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ne:return t=e.displayName||null,t===null?le(e.type)||`Memo`:t;case re:t=e._payload,e=e._init;try{return le(e(t))}catch{}}return null}var ue=Array.isArray,w=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,T=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,de={pending:!1,data:null,method:null,action:null},fe=[],pe=-1;function me(e){return{current:e}}function E(e){0>pe||(e.current=fe[pe],fe[pe]=null,pe--)}function D(e,t){pe++,fe[pe]=e.current,e.current=t}var he=me(null),ge=me(null),_e=me(null),ve=me(null);function ye(e,t){switch(D(_e,t),D(ge,e),D(he,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?$d(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=$d(t),e=ef(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}E(he),D(he,e)}function be(){E(he),E(ge),E(_e)}function xe(e){e.memoizedState!==null&&D(ve,e);var t=he.current,n=ef(t,e.type);t!==n&&(D(ge,e),D(he,n))}function Se(e){ge.current===e&&(E(he),E(ge)),ve.current===e&&(E(ve),up._currentValue=de)}var Ce,we;function Te(e){if(Ce===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Ce=t&&t[1]||``,we=-1<e.stack.indexOf(`
3    at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4`+Ce+e+we}var Ee=!1;function De(e,t){if(!e||Ee)return``;Ee=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
5`),l=s.split(`
6`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`
7`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Ee=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Te(n):``}function Oe(e,t){switch(e.tag){case 26:case 27:case 5:return Te(e.type);case 16:return Te(`Lazy`);case 13:return e.child!==t&&t!==null?Te(`Suspense Fallback`):Te(`Suspense`);case 19:return Te(`SuspenseList`);case 0:case 15:return De(e.type,!1);case 11:return De(e.type.render,!1);case 1:return De(e.type,!0);case 31:return Te(`Activity`);default:return``}}function ke(e){try{var t=``,n=null;do t+=Oe(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
8Error generating stack: `+e.message+`
9`+e.stack}}var Ae=Object.prototype.hasOwnProperty,je=t.unstable_scheduleCallback,Me=t.unstable_cancelCallback,Ne=t.unstable_shouldYield,Pe=t.unstable_requestPaint,Fe=t.unstable_now,Ie=t.unstable_getCurrentPriorityLevel,Le=t.unstable_ImmediatePriority,Re=t.unstable_UserBlockingPriority,ze=t.unstable_NormalPriority,Be=t.unstable_LowPriority,Ve=t.unstable_IdlePriority,He=t.log,Ue=t.unstable_setDisableYieldValue,We=null,Ge=null;function Ke(e){if(typeof He==`function`&&Ue(e),Ge&&typeof Ge.setStrictMode==`function`)try{Ge.setStrictMode(We,e)}catch{}}var qe=Math.clz32?Math.clz32:Xe,Je=Math.log,Ye=Math.LN2;function Xe(e){return e>>>=0,e===0?32:31-(Je(e)/Ye|0)|0}var Ze=256,Qe=262144,$e=4194304;function et(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function tt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=et(n))):i=et(o):i=et(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=et(n))):i=et(o)):i=et(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function nt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function rt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function it(){var e=$e;return $e<<=1,!($e&62914560)&&($e=4194304),e}function at(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function st(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ct(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-qe(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&lt(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function lt(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-qe(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function ut(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-qe(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function dt(e,t){var n=t&-t;return n=n&42?1:ft(n),(n&(e.suspendedLanes|t))===0?n:0}function ft(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pt(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function mt(){var e=T.p;return e===0?(e=window.event,e===void 0?32:Ep(e.type)):e}function ht(e,t){var n=T.p;try{return T.p=e,t()}finally{T.p=n}}var gt=Math.random().toString(36).slice(2),_t=`__reactFiber$`+gt,vt=`__reactProps$`+gt,yt=`__reactContainer$`+gt,bt=`__reactEvents$`+gt,xt=`__reactListeners$`+gt,St=`__reactHandles$`+gt,Ct=`__reactResources$`+gt,wt=`__reactMarker$`+gt;function Tt(e){delete e[_t],delete e[vt],delete e[bt],delete e[xt],delete e[St]}function Et(e){var t=e[_t];if(t)return t;for(var n=e.parentNode;n;){if(t=n[yt]||n[_t]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Cf(e);e!==null;){if(n=e[_t])return n;e=Cf(e)}return t}e=n,n=e.parentNode}return null}function Dt(e){if(e=e[_t]||e[yt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Ot(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(o(33))}function kt(e){var t=e[Ct];return t||=e[Ct]={hoistableStyles:new Map,hoistableScripts:new Map},t}function At(e){e[wt]=!0}var jt=new Set,Mt={};function Nt(e,t){Pt(e,t),Pt(e+`Capture`,t)}function Pt(e,t){for(Mt[e]=t,e=0;e<t.length;e++)jt.add(t[e])}var Ft=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u
9037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),It={},Lt={};function Rt(e){return Ae.call(Lt,e)?!0:Ae.call(It,e)?!1:Ft.test(e)?Lt[e]=!0:(It[e]=!0,!1)}function zt(e,t,n){if(Rt(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function Bt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Vt(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function Ht(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Ut(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Wt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Gt(e){if(!e._valueTracker){var t=Ut(e)?`checked`:`value`;e._valueTracker=Wt(e,t,``+e[t])}}function Kt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Ut(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function qt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Jt=/[\n"\\]/g;function Yt(e){return e.replace(Jt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Xt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Ht(t)):e.value!==``+Ht(t)&&(e.value=``+Ht(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Qt(e,o,Ht(n)):Qt(e,o,Ht(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Ht(s):e.removeAttribute(`name`)}function Zt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Gt(e);return}n=n==null?``:``+Ht(n),t=t==null?n:``+Ht(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Gt(e)}function Qt(e,t,n){t===`number`&&qt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function $t(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Ht(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function en(e,t,n){if(t!=null&&(t=``+Ht(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Ht(n)}function tn(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(o(92));if(ue(r)){if(1<r.length)throw Error(o(93));r=r[0]}n=r}n??=``,t=n}
vendor: 9,501 bytes, line 9
9n=Ht(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Gt(e)}function nn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var rn=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function an(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||rn.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function on(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(o(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var i in t)r=t[i],t.hasOwnProperty(i)&&n[i]!==r&&an(e,i,r)}else for(var a in t)t.hasOwnProperty(a)&&an(e,a,t[a])}function sn(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var cn=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),ln=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function un(e){return ln.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function dn(){}var fn=null;function pn(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var mn=null,hn=null;function gn(e){var t=Dt(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Xt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Yt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[vt]||null;if(!i)throw Error(o(90));Xt(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&Kt(r)}break a;case`textarea`:en(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&$t(e,!!n.multiple,t,!1)}}}var _n=!1;function vn(e,t,n){if(_n)return e(t,n);_n=!0;try{return e(t)}finally{if(_n=!1,(mn!==null||hn!==null)&&(Nu(),mn&&(t=mn,e=hn,hn=mn=null,gn(t),e)))for(t=0;t<e.length;t++)gn(e[t])}}function yn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[vt]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(o(231,t,typeof n));return n}var bn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),xn=!1;if(bn)try{var Sn={};Object.defineProperty(Sn,"passive",{get:function(){xn=!0}}),window.addEventListener(`test`,Sn,Sn),window.removeEventListener(`test`,Sn,Sn)}catch{xn=!1}var Cn=null,wn=null,Tn=null;function En(){if(Tn)return Tn;var e,t=wn,n=t.length,r,i=`value`in Cn?Cn.value:Cn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return Tn=i.slice(e,1<r?1-r:void 0)}function Dn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function On(){return!0}function kn(){return!1}function An(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?On:kn,this.isPropagationStopped=kn,this}return m(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=On)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=On)},persist:function(){},isPersistent:On}),t}var jn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Mn=An(jn),Nn=m({},jn,{view:0,detail:0}),Pn=An(Nn),Fn,In,Ln,O=m({},Nn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==Ln&&(Ln&&e.type===`mousemove`?(Fn=e.screenX-Ln.screenX,In=e.screenY-Ln.screenY):In=Fn=0,Ln=e),Fn)},movementY:function(e){return`movementY`in e?e.movementY:In}}),k=An(O),Rn=An(m({},O,{dataTransfer:0})),zn=An(m({},Nn,{relatedTarget:0})),Bn=An(m({},jn,{animationName:0,elapsedTime:0,pseudoElement:0})),Vn=An(m({},jn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Hn=An(m({},jn,{data:0})),Un={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Wn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F
95`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Gn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Kn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Gn[e])?!!t[e]:!1}function qn(){return Kn}var Jn=An(m({},Nn,{key:function(e){if(e.key){var t=Un[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=Dn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Wn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qn,charCode:function(e){return e.type===`keypress`?Dn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?Dn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Yn=An(m({},O,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Xn=An(m({},Nn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qn})),Zn=An(m({},jn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Qn=An(m({},O,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),$n=An(m({},jn,{newState:0,oldState:0})),er=[9,13,27,32],tr=bn&&`CompositionEvent`in window,nr=null;bn&&`documentMode`in document&&(nr=document.documentMode);var rr=bn&&`TextEvent`in window&&!nr,ir=bn&&(!tr||nr&&8<nr&&11>=nr),ar=` `,or=!1;function sr(e,t){switch(e){case`keyup`:return er.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function cr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var lr=!1;function ur(e,t){switch(e){case`compositionend`:return cr(t);case`keypress`:return t.which===32?(or=!0,ar):null;case`textInput`:return e=t.data,e===ar&&or?null:e;default:return null}}function dr(e,t){if(lr)return e===`compositionend`||!tr&&sr(e,t)?(e=En(),Tn=wn=Cn=null,lr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return ir&&t.locale!==`ko`?null:t.data;default:return null}}var fr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!fr[e.type]:t===`textarea`}function mr(e,t,n,r){mn?hn?hn.push(r):hn=[r]:mn=r,t=Ld(t,`onChange`),0<t.length&&(n=new Mn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var hr=null,gr=null;function _r(e){Ad(e,0)}function vr(e){if(Kt(Ot(e)))return e}function yr(e,t){if(e===`change`)return t}var br=!1;if(bn){var xr;if(bn){var Sr=`oninput`in document;if(!Sr){var A=document.createElement(`div`);A.setAttribute(`oninput`,`return;`),Sr=typeof A.oninput==`function`}xr=Sr}else xr=!1;br=xr&&(!document.documentMode||9<document.documentMode)}function Cr(){hr&&(hr.detachEvent(`onpropertychange`,j),gr=hr=null)}function j(e){if(e.propertyName===`value`&&vr(gr)){var t=[];mr(t,gr,e,pn(e)),vn(_r,t)}}function wr(e,t,n){e===`focusin`?(Cr(),hr=t,gr=n,hr.attachEvent(`onpropertychange`,j)):e===`focusout`&&Cr()}function Tr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return vr(gr)}function Er(e,t){if(e===`click`)return vr(t)}function Dr(e,t){if(e===`input`||e===`change`)return vr(t)}function Or(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var kr=typeof Object.is==`function`?Object.is:Or;function Ar(e,t){if(kr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Ae.call(t,i)||!kr(e[i],t[i]))return!1}return!0}function jr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Mr(e,t){var n=jr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=jr(n)}}function Nr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Nr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Pr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=qt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=qt(e.document)}return t}function Fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Ir=bn&&`documentMode`in document&&11>=document.documentMode,Lr=null,Rr=null,zr=null,Br=!1;function Vr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Br||Lr==null||Lr!==qt(r)||(r=Lr,`selectionStart`in r&&Fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focu
vendor: 118,381 bytes, lines 9-10
9sNode:r.focusNode,focusOffset:r.focusOffset}),zr&&Ar(zr,r)||(zr=r,r=Ld(Rr,`onSelect`),0<r.length&&(t=new Mn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Lr)))}function Hr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Ur={animationend:Hr(`Animation`,`AnimationEnd`),animationiteration:Hr(`Animation`,`AnimationIteration`),animationstart:Hr(`Animation`,`AnimationStart`),transitionrun:Hr(`Transition`,`TransitionRun`),transitionstart:Hr(`Transition`,`TransitionStart`),transitioncancel:Hr(`Transition`,`TransitionCancel`),transitionend:Hr(`Transition`,`TransitionEnd`)},Wr={},Gr={};bn&&(Gr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Ur.animationend.animation,delete Ur.animationiteration.animation,delete Ur.animationstart.animation),`TransitionEvent`in window||delete Ur.transitionend.transition);function Kr(e){if(Wr[e])return Wr[e];if(!Ur[e])return e;var t=Ur[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Gr)return Wr[e]=t[n];return e}var qr=Kr(`animationend`),Jr=Kr(`animationiteration`),Yr=Kr(`animationstart`),Xr=Kr(`transitionrun`),Zr=Kr(`transitionstart`),Qr=Kr(`transitioncancel`),$r=Kr(`transitionend`),ei=new Map,ti=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);ti.push(`scrollEnd`);function ni(e,t){ei.set(e,t),Nt(t,[e])}var ri=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ii=[],ai=0,oi=0;function si(){for(var e=ai,t=oi=ai=0;t<e;){var n=ii[t];ii[t++]=null;var r=ii[t];ii[t++]=null;var i=ii[t];ii[t++]=null;var a=ii[t];if(ii[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&di(n,i,a)}}function ci(e,t,n,r){ii[ai++]=e,ii[ai++]=t,ii[ai++]=n,ii[ai++]=r,oi|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function li(e,t,n,r){return ci(e,t,n,r),fi(e)}function ui(e,t){return ci(e,null,null,t),fi(e)}function di(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-qe(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function fi(e){if(50<wu)throw wu=0,Tu=null,Error(o(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var pi={};function mi(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function hi(e,t,n,r){return new mi(e,t,n,r)}function gi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function _i(e,t){var n=e.alternate;return n===null?(n=hi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function vi(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function yi(e,t,n,r,i,a){var s=0;if(r=e,typeof e==`function`)gi(e)&&(s=1);else if(typeof e==`string`)s=tp(e,n,he.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case ie:return e=hi(31,n,t,i),e.elementType=ie,e.lanes=a,e;case v:return bi(n.children,i,a,t);case y:s=8,i|=24;break;case b:return e=hi(12,n,t,i|2),e.elementType=b,e.lanes=a,e;case C:return e=hi(13,n,t,i),e.elementType=C,e.lanes=a,e;case te:return e=hi(19,n,t,i),e.elementType=te,e.lanes=a,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case ee:s=10;break a;case x:s=9;break a;case S:s=11;break a;case ne:s=14;break a;case re:s=16,r=null;break a}s=29,n=Error(o(130,e===null?`null`:typeof e,``)),r=null}return t=hi(s,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function bi(e,t,n,r){return e=hi(7,e,r,t),e.lanes=n,e}function xi(e,t,n){return e=hi(6,e,null,t),e.lanes=n,e}function Si(e){var t=hi(18,null,null,0);return t.stateNode=e,t}function Ci(e,t,n){return t=hi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var wi=new WeakMap;function Ti(e,t){if(typeof e==`object`&&e){var n=wi.get(e);return n===void 0?(t={value:e,source:t,stack:ke(t)},wi.set(e,t),t):n}return{value:e,source:t,stack:ke(t)}}var Ei=[],Di=0,Oi=null,ki=0,Ai=[],ji=0,Mi=null,Ni=1,Pi=``;function Fi(e,t){Ei[Di++]=ki,Ei[Di++]=Oi,Oi=e,ki=t}function Ii(e,t,n){Ai[ji++]=Ni,Ai[ji++]=Pi,Ai[ji++]=Mi,Mi=e;var r=Ni;e=Pi;var i=32-qe(r)-1;r&=~(1<<i),n+=1;var a=32-qe(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Ni=1<<32-qe(t)+i|n<<i|r,Pi=a+e}else Ni=1<<a|n<<i|r,Pi=e}function Li(e){e.return!==null&&(Fi(e,1),Ii(e,1,0))}function Ri(e){for(;e===Oi;)Oi=Ei[--Di],Ei[Di]=null,ki=Ei[--Di],Ei[Di]=null;for(;e===Mi;)Mi=Ai[--ji],Ai[ji]=null,Pi=Ai[--ji],Ai[ji]=null,Ni=Ai[--ji],Ai[ji]=null}function zi(e,t){Ai[ji++]=Ni,Ai[ji++]=Pi,Ai[ji++]=Mi,Ni=t.id,Pi=t.overflow,Mi=e}var Bi=null,Vi=null,M=!1,Hi=null,Ui=!1,Wi=Error(o(519));function Gi(e){throw Zi(Ti(Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Wi}function Ki(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[_t]=e,t[vt]=r,n){case`dialog`:V(`cancel`,t),V(`close`,t);break;case`iframe`:case`object`:case`embed`:V(`load`,t);break;case`video`:case`audio`:for(n=0;n<Od.length;n++)V(Od[n],t);break;case`source`:V(`error`,t);break;case`img`:case`image`:case`link`:V(`error`,t),V(`load`,t);break;case`details`:V(`toggle`,t);break;case`input`:V(`invalid`,t),Zt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:V(`invalid`,t);break;case`textarea`:V(`invalid`,t),tn(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Ud(t.textContent,n)?(r.popover!=null&&(V(`beforetoggle`,t),V(`toggle`,t)),r.onScroll!=null&&V(`scroll`,t),r.onScrollEnd!=null&&V(`scrollend`,t),r.onClick!=null&&(t.onclick=dn),t=!0):t=!1,t||Gi(e,!0)}function qi(e){for(Bi=e.return;Bi;)switch(Bi.tag){case 5:case 31:case 13:Ui=!1;return;case 27:case 3:Ui=!0;return;default:Bi=Bi.return}}function Ji(e){if(e!==Bi)return!1;if(!M)return qi(e),M=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||tf(e.type,e.memoizedProps)),n=!n),n&&Vi&&Gi(e),qi(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(o(317));Vi=Sf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(o(317));Vi=Sf(e)}else t===27?(t=Vi,uf(e.type)?(e=xf,xf=null,Vi=e):Vi=t):Vi=Bi?bf(e.stateNode.nextSibling):null;return!0}function Yi(){Vi=Bi=null,M=!1}function Xi(){var e=Hi;return e!==null&&(uu===null?uu=e:uu.push.apply(uu,e),Hi=null),e}function Zi(e){Hi===null?Hi=[e]:Hi.push(e)}var Qi=me(null),$i=null,ea=null;function ta(e,t,n){D(Qi,t._currentValue),t._currentValue=n}function na(e){e._currentValue=Qi.current,E(Qi)}function ra(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function ia(e,t,n,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var a=i.dependencies;if(a!==null){var s=i.child;a=a.firstContext;a:for(;a!==null;){var c=a;a=i;for(var l=0;l<t.length;l++)if(c.context===t[l]){a.lanes|=n,c=a.alternate,c!==null&&(c.lanes|=n),ra(a.return,n,e),r||(s=null);break a}a=c.next}}else if(i.tag===18){if(s=i.return,s===null)throw Error(o(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),ra(s,n,e),s=null}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===e){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}}function aa(e,t,n,r){e=null;for(var i=t,a=!1;i!==null;){if(!a){if(i.flags&524288)a=!0;else if(i.flags&262144)break}if(i.tag===10){var s=i.alternate;if(s===null)throw Error(o(387));if(s=s.memoizedProps,s!==null){var c=i.type;kr(i.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(i===ve.current){if(s=i.alternate,s===null)throw Error(o(387));s.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e===null?e=[up]:e.push(up))}i=i.return}e!==null&&ia(t,e,n,r),t.flags|=262144}function oa(e){for(e=e.firstContext;e!==null;){if(!kr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function sa(e){$i=e,ea=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function ca(e){return ua($i,e)}function la(e,t){return $i===null&&sa(e),ua(e,t)}function ua(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},ea===null){if(e===null)throw Error(o(308));ea=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ea=ea.next=t;return n}var da=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},fa=t.unstable_scheduleCallback,pa=t.unstable_NormalPriority,ma={$$typeof:ee,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ha(){return{controller:new da,data:new Map,refCount:0}}function ga(e){e.refCount--,e.refCount===0&&fa(pa,function(){e.controller.abort()})}var _a=null,va=0,ya=0,ba=null;function xa(e,t){if(_a===null){var n=_a=[];va=0,ya=B(),ba={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return va++,t.then(Sa,Sa),t}function Sa(){if(--va===0&&_a!==null){ba!==null&&(ba.status=`fulfilled`);var e=_a;_a=null,ya=0,ba=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Ca(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var wa=w.S;w.S=function(e,t){pu=Fe(),typeof t==`object`&&t&&typeof t.then==`function`&&xa(e,t),wa!==null&&wa(e,t)};var Ta=me(null);function Ea(){var e=Ta.current;return e===null?Yl.pooledCache:e}function Da(e,t){t===null?D(Ta,Ta.current):D(Ta,t.pool)}function Oa(){var e=Ea();return e===null?null:{parent:ma._currentValue,pool:e}}var ka=Error(o(460)),Aa=Error(o(474)),ja=Error(o(542)),Ma={then:function(){}};function Na(e){return e=e.status,e===`fulfilled`||e===`rejected`}function Pa(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(dn,dn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ra(e),e;default:if(typeof t.status==`string`)t.then(dn,dn);else{if(e=Yl,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ra(e),e}throw Ia=t,ka}}function Fa(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Ia=e,ka):e}}var Ia=null;function La(){if(Ia===null)throw Error(o(459));var e=Ia;return Ia=null,e}function Ra(e){if(e===ka||e===ja)throw Error(o(483))}var za=null,Ba=0;function Va(e){var t=Ba;return Ba+=1,za===null&&(za=[]),Pa(za,e,t)}function Ha(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ua(e,t){throw t.$$typeof===h?Error(o(525)):(e=Object.prototype.toString.call(t),Error(o(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Wa(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function i(e,t){return e=_i(e,t),e.index=0,e.sibling=null,e}function a(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=xi(n,e.mode,r),t.return=e,t):(t=i(t,n),t.return=e,t)}function l(e,t,n,r){var a=n.type;return a===v?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===a||typeof a==`object`&&a&&a.$$typeof===re&&Fa(a)===t.type)?(t=i(t,n.props),Ha(t,n),t.return=e,t):(t=yi(n.type,n.key,n.props,null,e.mode,r),Ha(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Ci(n,e.mode,r),t.return=e,t):(t=i(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,a){return t===null||t.tag!==7?(t=bi(n,e.mode,r,a),t.return=e,t):(t=i(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=xi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case g:return n=yi(t.type,t.key,t.props,null,e.mode,n),Ha(n,t),n.return=e,n;case _:return t=Ci(t,e.mode,n),t.return=e,t;case re:return t=Fa(t),f(e,t,n)}if(ue(t)||se(t))return t=bi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Va(t),n);if(t.$$typeof===ee)return f(e,la(e,t),n);Ua(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case g:return n.key===i?l(e,t,n,r):null;case _:return n.key===i?u(e,t,n,r):null;case re:return n=Fa(n),p(e,t,n,r)}if(ue(n)||se(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Va(n),r);if(n.$$typeof===ee)return p(e,t,la(e,n),r);Ua(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case g:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case _:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case re:return r=Fa(r),m(e,t,n,r,i)}if(ue(r)||se(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Va(r),i);if(r.$$typeof===ee)return m(e,t,n,la(t,r),i);Ua(t,r)}return null}function h(i,o,s,c){for(var l=null,u=null,d=o,h=o=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),o=a(_,o,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),M&&Fi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(o=a(d,o,h),u===null?l=d:u.sibling=d,u=d);return M&&Fi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),o=a(g,o,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),M&&Fi(i,h),l}function y(i,s,c,l){if(c==null)throw Error(o(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=a(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),M&&Fi(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=a(v,s,g),d===null?u=v:d.sibling=v,d=v);return M&&Fi(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=a(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),M&&Fi(i,g),u}function b(e,r,a,c){if(typeof a==`object`&&a&&a.type===v&&a.key===null&&(a=a.props.children),typeof a==`object`&&a){switch(a.$$typeof){case g:a:{for(var l=a.key;r!==null;){if(r.key===l){if(l=a.type,l===v){if(r.tag===7){n(e,r.sibling),c=i(r,a.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===re&&Fa(l)===r.type){n(e,r.sibling),c=i(r,a.props),Ha(c,a),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}a.type===v?(c=bi(a.props.children,e.mode,c,a.key),c.return=e,e=c):(c=yi(a.type,a.key,a.props,null,e.mode,c),Ha(c,a),c.return=e,e=c)}return s(e);case _:a:{for(l=a.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),c=i(r,a.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=Ci(a,e.mode,c),c.return=e,e=c}return s(e);case re:return a=Fa(a),b(e,r,a,c)}if(ue(a))return h(e,r,a,c);if(se(a)){if(l=se(a),typeof l!=`function`)throw Error(o(150));return a=l.call(a),y(e,r,a,c)}if(typeof a.then==`function`)return b(e,r,Va(a),c);if(a.$$typeof===ee)return b(e,r,la(e,a),c);Ua(e,a)}return typeof a==`string`&&a!==``||typeof a==`number`||typeof a==`bigint`?(a=``+a,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,a),c.return=e,e=c):(n(e,r),c=xi(a,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ba=0;var i=b(e,t,n,r);return za=null,i}catch(t){if(t===ka||t===ja)throw t;var a=hi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ga=Wa(!0),Ka=Wa(!1),qa=!1;function Ja(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ya(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Xa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Jl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=fi(e),di(e,null,n),t}return ci(e,r,t,n),fi(e)}function Qa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ut(e,n)}}function $a(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var eo=!1;function to(){if(eo){var e=ba;if(e!==null)throw e}}function no(e,t,n,r){eo=!1;var i=e.updateQueue;qa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Xl&f)===f:(r&f)===f){f!==0&&f===ya&&(eo=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:qa=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),iu|=o,e.lanes=o,e.memoizedState=d}}function ro(e,t){if(typeof e!=`function`)throw Error(o(191,e));e.call(t)}function io(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ro(n[e],t)}var ao=me(null),oo=me(0);function N(e,t){e=nu,D(oo,e),D(ao,t),nu=e|t.baseLanes}function so(){D(oo,nu),D(ao,ao.current)}function co(){nu=oo.current,E(ao),E(oo)}var lo=me(null),uo=null;function fo(e){var t=e.alternate;D(_o,_o.current&1),D(lo,e),uo===null&&(t===null||ao.current!==null||t.memoizedState!==null)&&(uo=e)}function po(e){D(_o,_o.current),D(lo,e),uo===null&&(uo=e)}function mo(e){e.tag===22?(D(_o,_o.current),D(lo,e),uo===null&&(uo=e)):ho(e)}function ho(){D(_o,_o.current),D(lo,lo.current)}function go(e){E(lo),uo===e&&(uo=null),E(_o)}var _o=me(0);function vo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||_f(n)||vf(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var yo=0,P=null,bo=null,xo=null,So=!1,Co=!1,wo=!1,To=0,Eo=0,Do=null,Oo=0;function ko(){throw Error(o(321))}function Ao(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!kr(e[n],t[n]))return!1;return!0}function jo(e,t,n,r,i,a){return yo=a,P=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,w.H=e===null||e.memoizedState===null?qs:Js,wo=!1,a=n(r,i),wo=!1,Co&&(a=No(t,n,r,i)),Mo(e),a}function Mo(e){w.H=Ks;var t=bo!==null&&bo.next!==null;if(yo=0,xo=bo=P=null,So=!1,Eo=0,Do=null,t)throw Error(o(300));e===null||dc||(e=e.dependencies,e!==null&&oa(e)&&(dc=!0))}function No(e,t,n,r){P=e;var i=0;do{if(Co&&(Do=null),Eo=0,Co=!1,25<=i)throw Error(o(301));if(i+=1,xo=bo=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}w.H=Ys,a=t(n,r)}while(Co);return a}function Po(){var e=w.H,t=e.useState()[0];return t=typeof t.then==`function`?Vo(t):t,e=e.useState()[0],(bo===null?null:bo.memoizedState)!==e&&(P.flags|=1024),t}function Fo(){var e=To!==0;return To=0,e}function Io(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Lo(e){if(So){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}So=!1}yo=0,xo=bo=P=null,Co=!1,Eo=To=0,Do=null}function Ro(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return xo===null?P.memoizedState=xo=e:xo=xo.next=e,xo}function zo(){if(bo===null){var e=P.alternate;e=e===null?null:e.memoizedState}else e=bo.next;var t=xo===null?P.memoizedState:xo.next;if(t!==null)xo=t,bo=e;else{if(e===null)throw P.alternate===null?Error(o(467)):Error(o(310));bo=e,e={memoizedState:bo.memoizedState,baseState:bo.baseState,baseQueue:bo.baseQueue,queue:bo.queue,next:null},xo===null?P.memoizedState=xo=e:xo=xo.next=e}return xo}function Bo(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Vo(e){var t=Eo;return Eo+=1,Do===null&&(Do=[]),e=Pa(Do,e,t),t=P,(xo===null?t.memoizedState:xo.next)===null&&(t=t.alternate,w.H=t===null||t.memoizedState===null?qs:Js),e}function Ho(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Vo(e);if(e.$$typeof===ee)return ca(e)}throw Error(o(438,String(e)))}function Uo(e){var t=null,n=P.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=P.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=Bo(),P.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=ae;return t.index++,n}function Wo(e,t){return typeof t==`function`?t(e):t}function Go(e){return Ko(zo(),bo,e)}function Ko(e,t,n){var r=e.queue;if(r===null)throw Error(o(311));r.lastRenderedReducer=n;var i=e.baseQueue,a=r.pending;if(a!==null){if(i!==null){var s=i.next;i.next=a.next,a.next=s}t.baseQueue=i=a,r.pending=null}if(a=e.baseState,i===null)e.memoizedState=a;else{t=i.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(yo&f)===f:(Xl&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===ya&&(d=!0);else if((yo&p)===p){u=u.next,p===ya&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=a):l=l.next=f,P.lanes|=p,iu|=p;f=u.action,wo&&n(a,f),a=u.hasEagerState?u.eagerState:n(a,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=a):l=l.next=p,P.lanes|=f,iu|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=a:l.next=c,!kr(a,e.memoizedState)&&(dc=!0,d&&(n=ba,n!==null)))throw n;e.memoizedState=a,e.baseState=s,e.baseQueue=l,r.lastRenderedState=a}return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function qo(e){var t=zo(),n=t.queue;if(n===null)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,a=t.memoizedState;if(i!==null){n.pending=null;var s=i=i.next;do a=e(a,s.action),s=s.next;while(s!==i);kr(a,t.memoizedState)||(dc=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function Jo(e,t,n){var r=P,i=zo(),a=M;if(a){if(n===void 0)throw Error(o(407));n=n()}else n=t();var s=!kr((bo||i).memoizedState,n);if(s&&(i.memoizedState=n,dc=!0),i=i.queue,vs(Zo.bind(null,r,i,e),[e]),i.getSnapshot!==t||s||xo!==null&&xo.memoizedState.tag&1){if(r.flags|=2048,ps(9,{destroy:void 0},Xo.bind(null,r,i,n,t),null),Yl===null)throw Error(o(349));a||yo&127||Yo(r,t,n)}return n}function Yo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=P.updateQueue,t===null?(t=Bo(),P.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Xo(e,t,n,r){t.value=n,t.getSnapshot=r,Qo(t)&&$o(e)}function Zo(e,t,n){return n(function(){Qo(t)&&$o(e)})}function Qo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!kr(e,n)}catch{return!0}}function $o(e){var t=ui(e,2);t!==null&&Ou(t,e,2)}function es(e){var t=Ro();if(typeof e==`function`){var n=e;if(e=n(),wo){Ke(!0);try{n()}finally{Ke(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:e},t}function ts(e,t,n,r){return e.baseState=n,Ko(e,bo,typeof r==`function`?r:Wo)}function ns(e,t,n,r,i){if(Us(e))throw Error(o(485));if(e=t.action,e!==null){var a={payload:i,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){a.listeners.push(e)}};w.T===null?a.isTransition=!1:n(!0),r(a),n=t.pending,n===null?(a.next=t.pending=a,rs(t,a)):(a.next=n.next,t.pending=n.next=a)}}function rs(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=w.T,o={};w.T=o;try{var s=n(i,r),c=w.S;c!==null&&c(o,s),is(e,t,s)}catch(n){as(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),w.T=a}}else try{a=n(i,r),is(e,t,a)}catch(n){as(e,t,n)}}function is(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){F(e,t,n)},function(n){return as(e,t,n)}):F(e,t,n)}function F(e,t,n){t.status=`fulfilled`,t.value=n,os(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,rs(e,n)))}function as(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,os(t),t=t.next;while(t!==r)}e.action=null}function os(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function ss(e,t){return t}function cs(e,t){if(M){var n=Yl.formState;if(n!==null){a:{var r=P;if(M){if(Vi){b:{for(var i=Vi,a=Ui;i.nodeType!==8;){if(!a){i=null;break b}if(i=bf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){Vi=bf(i.nextSibling),r=i.data===`F!`;break a}}Gi(r)}r=!1}r&&(t=n[0])}}return n=Ro(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ss,lastRenderedState:t},n.queue=r,n=Bs.bind(null,P,r),r.dispatch=n,r=es(!1),a=Hs.bind(null,P,!1,r.queue),r=Ro(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=ns.bind(null,P,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function ls(e){return us(zo(),bo,e)}function us(e,t,n){if(t=Ko(e,t,ss)[0],e=Go(Wo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Vo(t)}catch(e){throw e===ka?ja:e}else r=t;t=zo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(P.flags|=2048,ps(9,{destroy:void 0},ds.bind(null,i,n),null)),[r,a,e]}function ds(e,t){e.action=t}function fs(e){var t=zo(),n=bo;if(n!==null)return us(t,n,e);zo(),t=t.memoizedState,n=zo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ps(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=P.updateQueue,t===null&&(t=Bo(),P.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ms(){return zo().memoizedState}function hs(e,t,n,r){var i=Ro();P.flags|=e,i.memoizedState=ps(1|t,{destroy:void 0},n,r===void 0?null:r)}function gs(e,t,n,r){var i=zo();r=r===void 0?null:r;var a=i.memoizedState.inst;bo!==null&&r!==null&&Ao(r,bo.memoizedState.deps)?i.memoizedState=ps(t,a,n,r):(P.flags|=e,i.memoizedState=ps(1|t,a,n,r))}function _s(e,t){hs(8390656,8,e,t)}function vs(e,t){gs(2048,8,e,t)}function ys(e){P.flags|=4;var t=P.updateQueue;if(t===null)t=Bo(),P.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function bs(e){var t=zo().memoizedState;return ys({ref:t,nextImpl:e}),function(){if(Jl&2)throw Error(o(440));return t.impl.apply(void 0,arguments)}}function xs(e,t){return gs(4,2,e,t)}function Ss(e,t){return gs(4,4,e,t)}function Cs(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ws(e,t,n){n=n==null?null:n.concat([e]),gs(4,4,Cs.bind(null,t,e),n)}function Ts(){}function Es(e,t){var n=zo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&Ao(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ds(e,t){var n=zo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&Ao(t,r[1]))return r[0];if(r=e(),wo){Ke(!0);try{e()}finally{Ke(!1)}}return n.memoizedState=[r,t],r}function Os(e,t,n){return n===void 0||yo&1073741824&&!(Xl&261930)?e.memoizedState=t:(e.memoizedState=n,e=Du(),P.lanes|=e,iu|=e,n)}function ks(e,t,n,r){return kr(n,t)?n:ao.current===null?!(yo&42)||yo&1073741824&&!(Xl&261930)?(dc=!0,e.memoizedState=n):(e=Du(),P.lanes|=e,iu|=e,t):(e=Os(e,n,r),kr(e,t)||(dc=!0),e)}function As(e,t,n,r,i){var a=T.p;T.p=a!==0&&8>a?a:8;var o=w.T,s={};w.T=s,Hs(e,!1,t,n);try{var c=i(),l=w.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Vs(e,t,Ca(c,r),Eu(e)):Vs(e,t,r,Eu(e))}catch(n){Vs(e,t,{then:function(){},status:`rejected`,reason:n},Eu())}finally{T.p=a,o!==null&&s.types!==null&&(o.types=s.types),w.T=o}}function js(){}function Ms(e,t,n,r){if(e.tag!==5)throw Error(o(476));var i=Ns(e).queue;As(e,i,t,de,n===null?js:function(){return Ps(e),n(r)})}function Ns(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:de,baseState:de,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:de},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ps(e){var t=Ns(e);t.next===null&&(t=e.alternate.memoizedState),Vs(e,t.next.queue,{},Eu())}function Fs(){return ca(up)}function Is(){return zo().memoizedState}function Ls(){return zo().memoizedState}function Rs(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Eu();e=Xa(n);var r=Za(t,e,n);r!==null&&(Ou(r,t,n),Qa(r,t,n)),t={cache:ha()},e.payload=t;return}t=t.return}}function zs(e,t,n){var r=Eu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Us(e)?Ws(t,n):(n=li(e,t,n,r),n!==null&&(Ou(n,e,r),Gs(n,t,r)))}function Bs(e,t,n){Vs(e,t,n,Eu())}function Vs(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Us(e))Ws(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,kr(s,o))return ci(e,t,i,0),Yl===null&&si(),!1}catch{}if(n=li(e,t,i,r),n!==null)return Ou(n,e,r),Gs(n,t,r),!0}return!1}function Hs(e,t,n,r){if(r={lane:2,revertLane:B(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Us(e)){if(t)throw Error(o(479))}else t=li(e,n,r,2),t!==null&&Ou(t,e,2)}function Us(e){var t=e.alternate;return e===P||t!==null&&t===P}function Ws(e,t){Co=So=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Gs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ut(e,n)}}var Ks={readContext:ca,use:Ho,useCallback:ko,useContext:ko,useEffect:ko,useImperativeHandle:ko,useLayoutEffect:ko,useInsertionEffect:ko,useMemo:ko,useReducer:ko,useRef:ko,useState:ko,useDebugValue:ko,useDeferredValue:ko,useTransition:ko,useSyncExternalStore:ko,useId:ko,useHostTransitionStatus:ko,useFormState:ko,useActionState:ko,useOptimistic:ko,useMemoCache:ko,useCacheRefresh:ko};Ks.useEffectEvent=ko;var qs={readContext:ca,use:Ho,useCallback:function(e,t){return Ro().memoizedState=[e,t===void 0?null:t],e},useContext:ca,useEffect:_s,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),hs(4194308,4,Cs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return hs(4194308,4,e,t)},useInsertionEffect:function(e,t){hs(4,2,e,t)},useMemo:function(e,t){var n=Ro();t=t===void 0?null:t;var r=e();if(wo){Ke(!0);try{e()}finally{Ke(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Ro();if(n!==void 0){var i=n(t);if(wo){Ke(!0);try{n(t)}finally{Ke(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=zs.bind(null,P,e),[r.memoizedState,e]},useRef:function(e){var t=Ro();return e={current:e},t.memoizedState=e},useState:function(e){e=es(e);var t=e.queue,n=Bs.bind(null,P,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Ts,useDeferredValue:function(e,t){return Os(Ro(),e,t)},useTransition:function(){var e=es(!1);return e=As.bind(null,P,e.queue,!0,!1),Ro().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=P,i=Ro();if(M){if(n===void 0)throw Error(o(407));n=n()}else{if(n=t(),Yl===null)throw Error(o(349));Xl&127||Yo(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,_s(Zo.bind(null,r,a,e),[e]),r.flags|=2048,ps(9,{destroy:void 0},Xo.bind(null,r,a,n,t),null),n},useId:function(){var e=Ro(),t=Yl.identifierPrefix;if(M){var n=Pi,r=Ni;n=(r&~(1<<32-qe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=To++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=Oo++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:Fs,useFormState:cs,useActionState:cs,useOptimistic:function(e){var t=Ro();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Hs.bind(null,P,!0,n),n.dispatch=t,[e,t]},useMemoCache:Uo,useCacheRefresh:function(){return Ro().memoizedState=Rs.bind(null,P)},useEffectEvent:function(e){var t=Ro(),n={impl:e};return t.memoizedState=n,function(){if(Jl&2)throw Error(o(440));return n.impl.apply(void 0,arguments)}}},Js={readContext:ca,use:Ho,useCallback:Es,useContext:ca,useEffect:vs,useImperativeHandle:ws,useInsertionEffect:xs,useLayoutEffect:Ss,useMemo:Ds,useReducer:Go,useRef:ms,useState:function(){return Go(Wo)},useDebugValue:Ts,useDeferredValue:function(e,t){return ks(zo(),bo.memoizedState,e,t)},useTransition:function(){var e=Go(Wo)[0],t=zo().memoizedState;return[typeof e==`boolean`?e:Vo(e),t]},useSyncExternalStore:Jo,useId:Is,useHostTransitionStatus:Fs,useFormState:ls,useActionState:ls,useOptimistic:function(e,t){return ts(zo(),bo,e,t)},useMemoCache:Uo,useCacheRefresh:Ls};Js.useEffectEvent=bs;var Ys={readContext:ca,use:Ho,useCallback:Es,useContext:ca,useEffect:vs,useImperativeHandle:ws,useInsertionEffect:xs,useLayoutEffect:Ss,useMemo:Ds,useReducer:qo,useRef:ms,useState:function(){return qo(Wo)},useDebugValue:Ts,useDeferredValue:function(e,t){var n=zo();return bo===null?Os(n,e,t):ks(n,bo.memoizedState,e,t)},useTransition:function(){var e=qo(Wo)[0],t=zo().memoizedState;return[typeof e==`boolean`?e:Vo(e),t]},useSyncExternalStore:Jo,useId:Is,useHostTransitionStatus:Fs,useFormState:fs,useActionState:fs,useOptimistic:function(e,t){var n=zo();return bo===null?(n.baseState=e,[e,n.queue.dispatch]):ts(n,bo,e,t)},useMemoCache:Uo,useCacheRefresh:Ls};Ys.useEffectEvent=bs;function Xs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:m({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Zs={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Eu(),i=Xa(r);i.payload=t,n!=null&&(i.callback=n),t=Za(e,i,r),t!==null&&(Ou(t,e,r),Qa(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Eu(),i=Xa(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Za(e,i,r),t!==null&&(Ou(t,e,r),Qa(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Eu(),r=Xa(n);r.tag=2,t!=null&&(r.callback=t),t=Za(e,r,n),t!==null&&(Ou(t,e,n),Qa(t,e,n))}};function Qs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Ar(n,r)||!Ar(i,a):!0}function $s(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Zs.enqueueReplaceState(t,t.state,null)}function ec(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=m({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function tc(e){ri(e)}function nc(e){console.error(e)}function rc(e){ri(e)}function ic(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function ac(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function oc(e,t,n){return n=Xa(n),n.tag=3,n.payload={element:null},n.callback=function(){ic(e,t)},n}function sc(e){return e=Xa(e),e.tag=3,e}function cc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){ac(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){ac(t,n,r),typeof i!=`function`&&(gu===null?gu=new Set([this]):gu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function lc(e,t,n,r,i){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&aa(t,n,i,!0),n=lo.current,n!==null){switch(n.tag){case 31:case 13:return uo===null?Bu():n.alternate===null&&ru===0&&(ru=3),n.flags&=-257,n.flags|=65536,n.lanes=i,r===Ma?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),R(e,r,i)),!1;case 22:return n.flags|=65536,r===Ma?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),R(e,r,i)),!1}throw Error(o(435,n.tag))}return R(e,r,i),Bu(),!1}if(M)return t=lo.current,t===null?(r!==Wi&&(t=Error(o(423),{cause:r}),Zi(Ti(t,n))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=Ti(r,n),i=oc(e.stateNode,r,i),$a(e,i),ru!==4&&(ru=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Wi&&(e=Error(o(422),{cause:r}),Zi(Ti(e,n)))),!1;var a=Error(o(520),{cause:r});if(a=Ti(a,n),lu===null?lu=[a]:lu.push(a),ru!==4&&(ru=2),t===null)return!0;r=Ti(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=oc(n.stateNode,r,e),$a(n,e),!1;case 1:if(t=n.type,a=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||a!==null&&typeof a.componentDidCatch==`function`&&(gu===null||!gu.has(a))))return n.flags|=65536,i&=-i,n.lanes|=i,i=sc(i),cc(i,e,n,r),$a(n,i),!1}n=n.return}while(n!==null);return!1}var uc=Error(o(461)),dc=!1;function fc(e,t,n,r){t.child=e===null?Ka(t,null,n,r):Ga(t,e.child,n,r)}function pc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return sa(t),r=jo(e,t,n,o,a,i),s=Fo(),e!==null&&!dc?(Io(e,t,i),Ic(e,t,i)):(M&&s&&Li(t),t.flags|=1,fc(e,t,r,i),t.child)}function mc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!gi(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,hc(e,t,a,r,i)):(e=yi(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Lc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?Ar:n,n(o,r)&&e.ref===t.ref)return Ic(e,t,i)}return t.flags|=1,e=_i(a,r),e.ref=t.ref,e.return=t,t.child=e}function hc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Ar(a,r)&&e.ref===t.ref)if(dc=!1,t.pendingProps=r=a,Lc(e,i))e.flags&131072&&(dc=!0);else return t.lanes=e.lanes,Ic(e,t,i)}return Cc(e,t,n,r,i)}function gc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return vc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Da(t,a===null?null:a.cachePool),a===null?so():N(t,a),mo(t);else return r=t.lanes=536870912,vc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Da(t,null),so(),ho(t)):(Da(t,a.cachePool),N(t,a),ho(t),t.memoizedState=null);return fc(e,t,i,n),t.child}function _c(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function vc(e,t,n,r,i){var a=Ea();return a=a===null?null:{parent:ma._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Da(t,null),so(),mo(t),e!==null&&aa(e,t,r,!0),t.childLanes=i,null}function yc(e,t){return t=jc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function bc(e,t,n){return Ga(t,e.child,null,n),e=yc(t,t.pendingProps),e.flags|=2,go(t),t.memoizedState=null,e}function xc(e,t,n){var r=t.pendingProps,i=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(M){if(r.mode===`hidden`)return e=yc(t,r),t.lanes=536870912,_c(null,e);if(po(t),(e=Vi)?(e=gf(e,Ui),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Mi===null?null:{id:Ni,overflow:Pi},retryLane:536870912,hydrationErrors:null},n=Si(e),n.return=t,t.child=n,Bi=t,Vi=null)):e=null,e===null)throw Gi(t);return t.lanes=536870912,null}return yc(t,r)}var a=e.memoizedState;if(a!==null){var s=a.dehydrated;if(po(t),i)if(t.flags&256)t.flags&=-257,t=bc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(o(558));else if(dc||aa(e,t,n,!1),i=(n&e.childLanes)!==0,dc||i){if(r=Yl,r!==null&&(s=dt(r,n),s!==0&&s!==a.retryLane))throw a.retryLane=s,ui(e,s),Ou(r,e,s),uc;Bu(),t=bc(e,t,n)}else e=a.treeContext,Vi=bf(s.nextSibling),Bi=t,M=!0,Hi=null,Ui=!1,e!==null&&zi(t,e),t=yc(t,r),t.flags|=4096;return t}return e=_i(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Sc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(o(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Cc(e,t,n,r,i){return sa(t),n=jo(e,t,n,r,void 0,i),r=Fo(),e!==null&&!dc?(Io(e,t,i),Ic(e,t,i)):(M&&r&&Li(t),t.flags|=1,fc(e,t,n,i),t.child)}function wc(e,t,n,r,i,a){return sa(t),t.updateQueue=null,n=No(t,r,n,i),Mo(e),r=Fo(),e!==null&&!dc?(Io(e,t,a),Ic(e,t,a)):(M&&r&&Li(t),t.flags|=1,fc(e,t,n,a),t.child)}function Tc(e,t,n,r,i){if(sa(t),t.stateNode===null){var a=pi,o=n.contextType;typeof o==`object`&&o&&(a=ca(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Zs,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Ja(t),o=n.contextType,a.context=typeof o==`object`&&o?ca(o):pi,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Xs(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Zs.enqueueReplaceState(a,a.state,null),no(t,r,a,i),to(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=ec(n,s);a.props=c;var l=a.context,u=n.contextType;o=pi,typeof u==`object`&&u&&(o=ca(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&$s(t,a,r,o),qa=!1;var f=t.memoizedState;a.state=f,no(t,r,a,i),to(),l=t.memoizedState,s||f!==l||qa?(typeof d==`function`&&(Xs(t,n,d,r),l=t.memoizedState),(c=qa||Qs(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Ya(e,t),o=t.memoizedProps,u=ec(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=pi,typeof l==`object`&&l&&(c=ca(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&$s(t,a,r,c),qa=!1,f=t.memoizedState,a.state=f,no(t,r,a,i),to();var p=t.memoizedState;o!==d||f!==p||qa||e!==null&&e.dependencies!==null&&oa(e.dependencies)?(typeof s==`function`&&(Xs(t,n,s,r),p=t.memoizedState),(u=qa||Qs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&oa(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,Sc(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Ga(t,e.child,null,i),t.child=Ga(t,null,n,i)):fc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Ic(e,t,i),e}function I(e,t,n,r){return Yi(),t.flags|=256,fc(e,t,n,r),t.child}var Ec={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Dc(e){return{baseLanes:e,cachePool:Oa()}}function Oc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=su),e}function kc(e,t,n){var r=t.pendingProps,i=!1,a=(t.flags&128)!=0,s;if((s=a)||(s=e!==null&&e.memoizedState===null?!1:(_o.current&2)!=0),s&&(i=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(M){if(i?fo(t):ho(t),(e=Vi)?(e=gf(e,Ui),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Mi===null?null:{id:Ni,overflow:Pi},retryLane:536870912,hydrationErrors:null},n=Si(e),n.return=t,t.child=n,Bi=t,Vi=null)):e=null,e===null)throw Gi(t);return vf(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,i?(ho(t),i=t.mode,c=jc({mode:`hidden`,children:c},i),r=bi(r,i,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=Dc(n),r.childLanes=Oc(e,s,n),t.memoizedState=Ec,_c(null,r)):(fo(t),Ac(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(a)t.flags&256?(fo(t),t.flags&=-257,t=Mc(e,t,n)):t.memoizedState===null?(ho(t),c=r.fallback,i=t.mode,r=jc({mode:`visible`,children:r.children},i),c=bi(c,i,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ga(t,e.child,null,n),r=t.child,r.memoizedState=Dc(n),r.childLanes=Oc(e,s,n),t.memoizedState=Ec,t=_c(null,r)):(ho(t),t.child=e.child,t.flags|=128,t=null);else if(fo(t),vf(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(o(419)),r.stack=``,r.digest=s,Zi({value:r,source:null,stack:null}),t=Mc(e,t,n)}else if(dc||aa(e,t,n,!1),s=(n&e.childLanes)!==0,dc||s){if(s=Yl,s!==null&&(r=dt(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,ui(e,r),Ou(s,e,r),uc;_f(c)||Bu(),t=Mc(e,t,n)}else _f(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Vi=bf(c.nextSibling),Bi=t,M=!0,Hi=null,Ui=!1,e!==null&&zi(t,e),t=Ac(t,r.children),t.flags|=4096);return t}return i?(ho(t),c=r.fallback,i=t.mode,l=e.child,u=l.sibling,r=_i(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=bi(c,i,n,null),c.flags|=2):c=_i(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,_c(null,r),r=t.child,c=e.child.memoizedState,c===null?c=Dc(n):(i=c.cachePool,i===null?i=Oa():(l=ma._currentValue,i=i.parent===l?i:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:i}),r.memoizedState=c,r.childLanes=Oc(e,s,n),t.memoizedState=Ec,_c(e.child,r)):(fo(t),n=e.child,e=n.sibling,n=_i(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function Ac(e,t){return t=jc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function jc(e,t){return e=hi(22,e,null,t),e.lanes=0,e}function Mc(e,t,n){return Ga(t,e.child,null,n),e=Ac(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ra(e.return,t,n)}function Pc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Fc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=_o.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,D(_o,o),fc(e,t,r,n),r=M?ki:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nc(e,n,t);else if(e.tag===19)Nc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&vo(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Pc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&vo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Pc(t,!0,n,null,a,r);break;case`together`:Pc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Ic(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),iu|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(aa(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(o(153));if(t.child!==null){for(e=t.child,n=_i(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=_i(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Lc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&oa(e))):!0}function Rc(e,t,n){switch(t.tag){case 3:ye(t,t.stateNode.containerInfo),ta(t,ma,e.memoizedState.cache),Yi();break;case 27:case 5:xe(t);break;case 4:ye(t,t.stateNode.containerInfo);break;case 10:ta(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,po(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(fo(t),e=Ic(e,t,n),e===null?null:e.sibling):kc(e,t,n):(fo(t),t.flags|=128,null);fo(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(aa(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Fc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),D(_o,_o.current),r)break;return null;case 22:return t.lanes=0,gc(e,t,n,t.pendingProps);case 24:ta(t,ma,e.memoizedState.cache)}return Ic(e,t,n)}function zc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)dc=!0;else{if(!Lc(e,n)&&!(t.flags&128))return dc=!1,Rc(e,t,n);dc=!!(e.flags&131072)}else dc=!1,M&&t.flags&1048576&&Ii(t,ki,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Fa(t.elementType),t.type=e,typeof e==`function`)gi(e)?(r=ec(e,r),t.tag=1,t=Tc(null,t,e,r,n)):(t.tag=0,t=Cc(null,t,e,r,n));else{if(e!=null){var i=e.$$typeof;if(i===S){t.tag=11,t=pc(null,t,e,r,n);break a}else if(i===ne){t.tag=14,t=mc(null,t,e,r,n);break a}}throw t=le(e)||e,Error(o(306,t,``))}}return t;case 0:return Cc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=ec(r,t.pendingProps),Tc(e,t,r,i,n);case 3:a:{if(ye(t,t.stateNode.containerInfo),e===null)throw Error(o(387));r=t.pendingProps;var a=t.memoizedState;i=a.element,Ya(e,t),no(t,r,null,n);var s=t.memoizedState;if(r=s.cache,ta(t,ma,r),r!==a.cache&&ia(t,[ma],n,!0),to(),r=s.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=I(e,t,r,n);break a}else if(r!==i){i=Ti(Error(o(424)),t),Zi(i),t=I(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(Vi=bf(e.firstChild),Bi=t,M=!0,Hi=null,Ui=!0,n=Ka(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Yi(),r===i){t=Ic(e,t,n);break a}fc(e,t,r,n)}t=t.child}return t;case 26:return Sc(e,t),e===null?(n=Vf(t.type,null,t.pendingProps,null))?t.memoizedState=n:M||(n=t.type,e=t.pendingProps,r=Qd(_e.current).createElement(n),r[_t]=t,r[vt]=e,Kd(r,n,e),At(r),t.stateNode=r):t.memoizedState=Vf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return xe(t),e===null&&M&&(r=t.stateNode=wf(t.type,t.pendingProps,_e.current),Bi=t,Ui=!0,i=Vi,uf(t.type)?(xf=i,Vi=bf(r.firstChild)):Vi=i),fc(e,t,t.pendingProps.children,n),Sc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&M&&((i=r=Vi)&&(r=mf(r,t.type,t.pendingProps,Ui),r===null?i=!1:(t.stateNode=r,Bi=t,Vi=bf(r.firstChild),Ui=!1,i=!0)),i||Gi(t)),xe(t),i=t.type,a=t.pendingProps,s=e===null?null:e.memoizedProps,r=a.children,tf(i,a)?r=null:s!==null&&tf(i,s)&&(t.flags|=32),t.memoizedState!==null&&(i=jo(e,t,Po,null,null,n),up._currentValue=i),Sc(e,t),fc(e,t,r,n),t.child;case 6:return e===null&&M&&((e=n=Vi)&&(n=hf(n,t.pendingProps,Ui),n===null?e=!1:(t.stateNode=n,Bi=t,Vi=null,e=!0)),e||Gi(t)),null;case 13:return kc(e,t,n);case 4:return ye(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ga(t,null,r,n):fc(e,t,r,n),t.child;case 11:return pc(e,t,t.type,t.pendingProps,n);case 7:return fc(e,t,t.pendingProps,n),t.child;case 8:return fc(e,t,t.pendingProps.children,n),t.child;case 12:return fc(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,ta(t,t.type,r.value),fc(e,t,r.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,sa(t),i=ca(i),r=r(i),t.flags|=1,fc(e,t,r,n),t.child;case 14:return mc(e,t,t.type,t.pendingProps,n);case 15:return hc(e,t,t.type,t.pendingProps,n);case 19:return Fc(e,t,n);case 31:return xc(e,t,n);case 22:return gc(e,t,n,t.pendingProps);case 24:return sa(t),r=ca(ma),e===null?(i=Ea(),i===null&&(i=Yl,a=ha(),i.pooledCache=a,a.refCount++,a!==null&&(i.pooledCacheLanes|=n),i=a),t.memoizedState={parent:r,cache:i},Ja(t),ta(t,ma,i)):((e.lanes&n)!==0&&(Ya(e,t),no(t,null,null,n),to()),i=e.memoizedState,a=t.memoizedState,i.parent===r?(r=a.cache,ta(t,ma,r),r!==i.cache&&ia(t,[ma],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),ta(t,ma,r))),fc(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function Bc(e){e.flags|=4}function Vc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(Lu())e.flags|=8192;else throw Ia=Ma,Aa}else e.flags&=-16777217}function Hc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!np(t))if(Lu())e.flags|=8192;else throw Ia=Ma,Aa}function Uc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:it(),e.lanes|=t,cu|=t)}function Wc(e,t){if(!M)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Gc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Kc(e,t,n){var r=t.pendingProps;switch(Ri(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Gc(t),null;case 1:return Gc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),na(ma),be(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ji(t)?Bc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Xi())),Gc(t),null;case 26:var i=t.type,a=t.memoizedState;return e===null?(Bc(t),a===null?(Gc(t),Vc(t,i,null,r,n)):(Gc(t),Hc(t,a))):a?a===e.memoizedState?(Gc(t),t.flags&=-16777217):(Bc(t),Gc(t),Hc(t,a)):(e=e.memoizedProps,e!==r&&Bc(t),Gc(t),Vc(t,i,e,r,n)),null;case 27:if(Se(t),n=_e.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Bc(t);else{if(!r){if(t.stateNode===null)throw Error(o(166));return Gc(t),null}e=he.current,Ji(t)?Ki(t,e):(e=wf(i,r,n),t.stateNode=e,Bc(t))}return Gc(t),null;case 5:if(Se(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Bc(t);else{if(!r){if(t.stateNode===null)throw Error(o(166));return Gc(t),null}if(a=he.current,Ji(t))Ki(t,a);else{var s=Qd(_e.current);switch(a){case 1:a=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case 2:a=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;default:switch(i){case`svg`:a=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case`math`:a=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;case`script`:a=s.createElement(`div`),a.innerHTML=`<script><\/script>`,a=a.removeChild(a.firstChild);break;case`select`:a=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}a[_t]=t,a[vt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)a.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=a;a:switch(Kd(a,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Bc(t)}}return Gc(t),Vc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Bc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(o(166));if(e=_e.current,Ji(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Bi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[_t]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Ud(e.nodeValue,n)),e||Gi(t,!0)}else e=Qd(e).createTextNode(r),e[_t]=t,t.stateNode=e}return Gc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ji(t),n!==null){if(e===null){if(!r)throw Error(o(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(o(557));e[_t]=t}else Yi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Gc(t),e=!1}else n=Xi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(go(t),t):(go(t),null);if(t.flags&128)throw Error(o(558))}return Gc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Ji(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(o(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(o(317));i[_t]=t}else Yi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Gc(t),i=!1}else i=Xi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(go(t),t):(go(t),null)}return go(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Uc(t,t.updateQueue),Gc(t),null);case 4:return be(),e===null&&Nd(t.stateNode.containerInfo),Gc(t),null;case 10:return na(t.type),Gc(t),null;case 19:if(E(_o),r=t.memoizedState,r===null)return Gc(t),null;if(i=(t.flags&128)!=0,a=r.rendering,a===null)if(i)Wc(r,!1);else{if(ru!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(a=vo(e),a!==null){for(t.flags|=128,Wc(r,!1),e=a.updateQueue,t.updateQueue=e,Uc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)vi(n,e),n=n.sibling;return D(_o,_o.current&1|2),M&&Fi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Fe()>mu&&(t.flags|=128,i=!0,Wc(r,!1),t.lanes=4194304)}else{if(!i)if(e=vo(a),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Uc(t,e),Wc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!a.alternate&&!M)return Gc(t),null}else 2*Fe()-r.renderingStartTime>mu&&n!==536870912&&(t.flags|=128,i=!0,Wc(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e===null?t.child=a:e.sibling=a,r.last=a)}return r.tail===null?(Gc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Fe(),e.sibling=null,n=_o.current,D(_o,i?n&1|2:n&1),M&&Fi(t,r.treeForkCount),e);case 22:case 23:return go(t),co(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Gc(t),t.subtreeFlags&6&&(t.flags|=8192)):Gc(t),n=t.updateQueue,n!==null&&Uc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&E(Ta),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),na(ma),Gc(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function qc(e,t){switch(Ri(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return na(ma),be(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Se(t),null;case 31:if(t.memoizedState!==null){if(go(t),t.alternate===null)throw Error(o(340));Yi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(go(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Yi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return E(_o),null;case 4:return be(),null;case 10:return na(t.type),null;case 22:case 23:return go(t),co(),e!==null&&E(Ta),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return na(ma),null;case 25:return null;default:return null}}function Jc(e,t){switch(Ri(t),t.tag){case 3:na(ma),be();break;case 26:case 27:case 5:Se(t);break;case 4:be();break;case 31:t.memoizedState!==null&&go(t);break;case 13:go(t);break;case 19:E(_o);break;case 10:na(t.type);break;case 22:case 23:go(t),co(),e!==null&&E(Ta);break;case 24:na(ma)}}function Yc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){id(t,t.return,e)}}function Xc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){id(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){id(t,t.return,e)}}function Zc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{io(t,n)}catch(t){id(e,e.return,t)}}}function Qc(e,t,n){n.props=ec(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){id(e,t,n)}}function $c(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){id(e,t,n)}}function el(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){id(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){id(e,t,n)}else n.current=null}function tl(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){id(e,e.return,t)}}function nl(e,t,n){try{var r=e.stateNode;qd(r,e.type,n,t),r[vt]=t}catch(t){id(e,e.return,t)}}function rl(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&uf(e.type)||e.tag===4}function il(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||rl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&uf(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function al(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=dn));else if(r!==4&&(r===27&&uf(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(al(e,t,n),e=e.sibling;e!==null;)al(e,t,n),e=e.sibling}function ol(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&uf(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ol(e,t,n),e=e.sibling;e!==null;)ol(e,t,n),e=e.sibling}function sl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Kd(t,r,n),t[_t]=e,t[vt]=n}catch(t){id(e,e.return,t)}}var cl=!1,ll=!1,ul=!1,dl=typeof WeakSet==`function`?WeakSet:Set,fl=null;function pl(e,t){if(e=e.containerInfo,Xd=yp,e=Pr(e),Fr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==a||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===a&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(Zd={focusedElem:e,selectionRange:n},yp=!1,fl=t;fl!==null;)if(t=fl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,fl=e;else for(;fl!==null;){switch(t=fl,a=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)i=e[n],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&a!==null){e=void 0,n=t,i=a.memoizedProps,a=a.memoizedState,r=n.stateNode;try{var h=ec(n.type,i);e=r.getSnapshotBeforeUpdate(h,a),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){id(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)pf(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:pf(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(o(163))}if(e=t.sibling,e!==null){e.return=t.return,fl=e;break}fl=t.return}}function ml(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:kl(e,n),r&4&&Yc(5,n);break;case 1:if(kl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){id(n,n.return,e)}else{var i=ec(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){id(n,n.return,e)}}r&64&&Zc(n),r&512&&$c(n,n.return);break;case 3:if(kl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{io(e,t)}catch(e){id(n,n.return,e)}}break;case 27:t===null&&r&4&&sl(n);case 26:case 5:kl(e,n),t===null&&r&4&&tl(n),r&512&&$c(n,n.return);break;case 12:kl(e,n);break;case 31:kl(e,n),r&4&&bl(e,n);break;case 13:kl(e,n),r&4&&xl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=sd.bind(null,n),yf(e,n))));break;case 22:if(r=n.memoizedState!==null||cl,!r){t=t!==null&&t.memoizedState!==null||ll,i=cl;var a=ll;cl=r,(ll=t)&&!a?jl(e,n,(n.subtreeFlags&8772)!=0):kl(e,n),cl=i,ll=a}break;case 30:break;default:kl(e,n)}}function hl(e){var t=e.alternate;t!==null&&(e.alternate=null,hl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Tt(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var gl=null,_l=!1;function vl(e,t,n){for(n=n.child;n!==null;)yl(e,t,n),n=n.sibling}function yl(e,t,n){if(Ge&&typeof Ge.onCommitFiberUnmount==`function`)try{Ge.onCommitFiberUnmount(We,n)}catch{}switch(n.tag){case 26:ll||el(n,t),vl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:ll||el(n,t);var r=gl,i=_l;uf(n.type)&&(gl=n.stateNode,_l=!1),vl(e,t,n),Tf(n.stateNode),gl=r,_l=i;break;case 5:ll||el(n,t);case 6:if(r=gl,i=_l,gl=null,vl(e,t,n),gl=r,_l=i,gl!==null)if(_l)try{(gl.nodeType===9?gl.body:gl.nodeName===`HTML`?gl.ownerDocument.body:gl).removeChild(n.stateNode)}catch(e){id(n,t,e)}else try{gl.removeChild(n.stateNode)}catch(e){id(n,t,e)}break;case 18:gl!==null&&(_l?(e=gl,df(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Up(e)):df(gl,n.stateNode));break;case 4:r=gl,i=_l,gl=n.stateNode.containerInfo,_l=!0,vl(e,t,n),gl=r,_l=i;break;case 0:case 11:case 14:case 15:Xc(2,n,t),ll||Xc(4,n,t),vl(e,t,n);break;case 1:ll||(el(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Qc(n,t,r)),vl(e,t,n);break;case 21:vl(e,t,n);break;case 22:ll=(r=ll)||n.memoizedState!==null,vl(e,t,n),ll=r;break;default:vl(e,t,n)}}function bl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Up(e)}catch(e){id(t,t.return,e)}}}function xl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Up(e)}catch(e){id(t,t.return,e)}}function Sl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new dl),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new dl),t;default:throw Error(o(435,e.tag))}}function Cl(e,t){var n=Sl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=cd.bind(null,e,t);t.then(r,r)}})}function wl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r],a=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(uf(c.type)){gl=c.stateNode,_l=!1;break a}break;case 5:gl=c.stateNode,_l=!1;break a;case 3:case 4:gl=c.stateNode.containerInfo,_l=!0;break a}c=c.return}if(gl===null)throw Error(o(160));yl(a,s,i),gl=null,_l=!1,a=i.alternate,a!==null&&(a.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)El(t,e),t=t.sibling}var Tl=null;function El(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:wl(t,e),Dl(e),r&4&&(Xc(3,e,e.return),Yc(3,e),Xc(5,e,e.return));break;case 1:wl(t,e),Dl(e),r&512&&(ll||n===null||el(n,n.return)),r&64&&cl&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var i=Tl;if(wl(t,e),Dl(e),r&512&&(ll||n===null||el(n,n.return)),r&4){var a=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,i=i.ownerDocument||i;b:switch(r){case`title`:a=i.getElementsByTagName(`title`)[0],(!a||a[wt]||a[_t]||a.namespaceURI===`http://www.w3.org/2000/svg`||a.hasAttribute(`itemprop`))&&(a=i.createElement(r),i.head.insertBefore(a,i.querySelector(`head > title`))),Kd(a,r,n),a[_t]=e,At(a),r=a;break a;case`link`:var s=$f(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(a=s[c],a.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&a.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&a.getAttribute(`title`)===(n.title==null?null:n.title)&&a.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}a=i.createElement(r),Kd(a,r,n),i.head.appendChild(a);break;case`meta`:if(s=$f(`meta`,`content`,i).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(a=s[c],a.getAttribute(`content`)===(n.content==null?null:``+n.content)&&a.getAttribute(`name`)===(n.name==null?null:n.name)&&a.getAttribute(`property`)===(n.property==null?null:n.property)&&a.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&a.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}a=i.createElement(r),Kd(a,r,n),i.head.appendChild(a);break;default:throw Error(o(468,r))}a[_t]=e,At(a),r=a}e.stateNode=r}else ep(i,e.type,e.stateNode);else e.stateNode=Jf(i,r,e.memoizedProps);else a===r?r===null&&e.stateNode!==null&&nl(e,e.memoizedProps,n.memoizedProps):(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?ep(i,e.type,e.stateNode):Jf(i,r,e.memoizedProps))}break;case 27:wl(t,e),Dl(e),r&512&&(ll||n===null||el(n,n.return)),n!==null&&r&4&&nl(e,e.memoizedProps,n.memoizedProps);break;case 5:if(wl(t,e),Dl(e),r&512&&(ll||n===null||el(n,n.return)),e.flags&32){i=e.stateNode;try{nn(i,``)}catch(t){id(e,e.return,t)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,nl(e,i,n===null?i:n.memoizedProps)),r&1024&&(ul=!0);break;case 6:if(wl(t,e),Dl(e),r&4){if(e.stateNode===null)throw Error(o(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){id(e,e.return,t)}}break;case 3:if(Qf=null,i=Tl,Tl=Of(t.containerInfo),wl(t,e),Tl=i,Dl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Up(t.containerInfo)}catch(t){id(e,e.return,t)}ul&&(ul=!1,Ol(e));break;case 4:r=Tl,Tl=Of(e.stateNode.containerInfo),wl(t,e),Dl(e),Tl=r;break;case 12:wl(t,e),Dl(e);break;case 31:wl(t,e),Dl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Cl(e,r)));break;case 13:wl(t,e),Dl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(fu=Fe()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Cl(e,r)));break;case 22:i=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=cl,d=ll;if(cl=u||i,ll=d||l,wl(t,e),ll=d,cl=u,Dl(e),r&8192)a:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(n===null||l||cl||ll||Al(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(a=l.stateNode,i)s=a.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){id(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=i?``:l.memoizedProps}catch(e){id(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;i?ff(m,!0):ff(l.stateNode,!1)}catch(e){id(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,Cl(e,n))));break;case 19:wl(t,e),Dl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Cl(e,r)));break;case 30:break;case 21:break;default:wl(t,e),Dl(e)}}function Dl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(rl(r)){n=r;break}r=r.return}if(n==null)throw Error(o(160));switch(n.tag){case 27:var i=n.stateNode;ol(e,il(e),i);break;case 5:var a=n.stateNode;n.flags&32&&(nn(a,``),n.flags&=-33),ol(e,il(e),a);break;case 3:case 4:var s=n.stateNode.containerInfo;al(e,il(e),s);break;default:throw Error(o(161))}}catch(t){id(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Ol(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Ol(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function kl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ml(e,t.alternate,t),t=t.sibling}function Al(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Xc(4,t,t.return),Al(t);break;case 1:el(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Qc(t,t.return,n),Al(t);break;case 27:Tf(t.stateNode);case 26:case 5:el(t,t.return),Al(t);break;case 22:t.memoizedState===null&&Al(t);break;case 30:Al(t);break;default:Al(t)}e=e.sibling}}function jl(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:jl(i,a,n),Yc(4,a);break;case 1:if(jl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){id(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)ro(c[i],s)}catch(e){id(r,r.return,e)}}n&&o&64&&Zc(a),$c(a,a.return);break;case 27:sl(a);case 26:case 5:jl(i,a,n),n&&r===null&&o&4&&tl(a),$c(a,a.return);break;case 12:jl(i,a,n);break;case 31:jl(i,a,n),n&&o&4&&bl(i,a);break;case 13:jl(i,a,n),n&&o&4&&xl(i,a);break;case 22:a.memoizedState===null&&jl(i,a,n),$c(a,a.return);break;case 30:break;default:jl(i,a,n)}t=t.sibling}}function Ml(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&ga(n))}function Nl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ga(e))}function Pl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Fl(e,t,n,r),t=t.sibling}function Fl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Pl(e,t,n,r),i&2048&&Yc(9,t);break;case 1:Pl(e,t,n,r);break;case 3:Pl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ga(e)));break;case 12:if(i&2048){Pl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){id(t,t.return,e)}}else Pl(e,t,n,r);break;case 31:Pl(e,t,n,r);break;case 13:Pl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Pl(e,t,n,r):(a._visibility|=2,Il(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?Pl(e,t,n,r):Ll(e,t),i&2048&&Ml(o,t);break;case 24:Pl(e,t,n,r),i&2048&&Nl(t.alternate,t);break;default:Pl(e,t,n,r)}}function Il(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Il(a,o,s,c,i),Yc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Il(a,o,s,c,i)):u._visibility&2?Il(a,o,s,c,i):Ll(a,o),i&&l&2048&&Ml(o.alternate,o);break;case 24:Il(a,o,s,c,i),i&&l&2048&&Nl(o.alternate,o);break;default:Il(a,o,s,c,i)}t=t.sibling}}function Ll(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Ll(n,r),i&2048&&Ml(r.alternate,r);break;case 24:Ll(n,r),i&2048&&Nl(r.alternate,r);break;default:Ll(n,r)}t=t.sibling}}var Rl=8192;function zl(e,t,n){if(e.subtreeFlags&Rl)for(e=e.child;e!==null;)Bl(e,t,n),e=e.sibling}function Bl(e,t,n){switch(e.tag){case 26:zl(e,t,n),e.flags&Rl&&e.memoizedState!==null&&rp(n,Tl,e.memoizedState,e.memoizedProps);break;case 5:zl(e,t,n);break;case 3:case 4:var r=Tl;Tl=Of(e.stateNode.containerInfo),zl(e,t,n),Tl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Rl,Rl=16777216,zl(e,t,n),Rl=r):zl(e,t,n));break;default:zl(e,t,n)}}function Vl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Hl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];fl=r,Gl(r,e)}Vl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Ul(e),e=e.sibling}function Ul(e){switch(e.tag){case 0:case 11:case 15:Hl(e),e.flags&2048&&Xc(9,e,e.return);break;case 3:Hl(e);break;case 12:Hl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Wl(e)):Hl(e);break;default:Hl(e)}}function Wl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];fl=r,Gl(r,e)}Vl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Xc(8,t,t.return),Wl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Wl(t));break;default:Wl(t)}e=e.sibling}}function Gl(e,t){for(;fl!==null;){var n=fl;switch(n.tag){case 0:case 11:case 15:Xc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ga(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,fl=r;else a:for(n=e;fl!==null;){r=fl;var i=r.sibling,a=r.return;if(hl(r),r===n){fl=null;break a}if(i!==null){i.return=a,fl=i;break a}fl=a}}}var Kl={getCacheForType:function(e){var t=ca(ma),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return ca(ma).controller.signal}},ql=typeof WeakMap==`function`?WeakMap:Map,Jl=0,Yl=null,L=null,Xl=0,Zl=0,Ql=null,$l=!1,eu=!1,tu=!1,nu=0,ru=0,iu=0,au=0,ou=0,su=0,cu=0,lu=null,uu=null,du=!1,fu=0,pu=0,mu=1/0,hu=null,gu=null,_u=0,vu=null,yu=null,bu=0,xu=0,Su=null,Cu=null,wu=0,Tu=null;function Eu(){return Jl&2&&Xl!==0?Xl&-Xl:w.T===null?mt():B()}function Du(){if(su===0)if(!(Xl&536870912)||M){var e=Qe;Qe<<=1,!(Qe&3932160)&&(Qe=262144),su=e}else su=536870912;return e=lo.current,e!==null&&(e.flags|=32),su}function Ou(e,t,n){(e===Yl&&(Zl===2||Zl===9)||e.cancelPendingCommit!==null)&&(Fu(e,0),Mu(e,Xl,su,!1)),st(e,n),(!(Jl&2)||e!==Yl)&&(e===Yl&&(!(Jl&2)&&(au|=n),ru===4&&Mu(e,Xl,su,!1)),z(e))}function ku(e,t,n){if(Jl&6)throw Error(o(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||nt(e,t),i=r?Uu(e,t):Vu(e,t,!0),a=r;do{if(i===0){eu&&!r&&Mu(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!ju(n)){i=Vu(e,t,!1),a=!1;continue}if(i===2){if(a=t,e.errorRecoveryDisabledLanes&a)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;i=lu;var l=c.current.memoizedState.isDehydrated;if(l&&(Fu(c,s).flags|=256),s=Vu(c,s,!1),s!==2){if(tu&&!l){c.errorRecoveryDisabledLanes|=a,au|=a,i=4;break a}a=uu,uu=i,a!==null&&(uu===null?uu=a:uu.push.apply(uu,a))}i=s}if(a=!1,i!==2)continue}}if(i===1){Fu(e,0),Mu(e,t,0,!0);break}a:{switch(r=e,a=i,a){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:Mu(r,t,su,!$l);break a;case 2:uu=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(i=fu+300-Fe(),10<i)){if(Mu(r,t,su,!$l),tt(r,0,!0)!==0)break a;bu=t,r.timeoutHandle=af(Au.bind(null,r,n,uu,hu,du,t,su,au,cu,$l,a,`Throttled`,-0,0),i);break a}Au(r,n,uu,hu,du,t,su,au,cu,$l,a,null,-0,0)}}break}while(1);z(e)}function Au(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:dn},Bl(t,a,d);var m=(a&62914560)===a?fu-Fe():(a&4194048)===a?pu-Fe():0;if(m=ap(d,m),m!==null){bu=a,e.cancelPendingCommit=m(Xu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),Mu(e,a,o,!l);return}}Xu(e,t,a,n,r,i,o,s,c)}function ju(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!kr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Mu(e,t,n,r){t&=~ou,t&=~au,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-qe(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&lt(e,n,t)}function Nu(){return Jl&6?!0:(gd(0,!1),!1)}function Pu(){if(L!==null){if(Zl===0)var e=L.return;else e=L,ea=$i=null,Lo(e),za=null,Ba=0,e=L;for(;e!==null;)Jc(e.alternate,e),e=e.return;L=null}}function Fu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,of(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),bu=0,Pu(),Yl=e,L=n=_i(e.current,null),Xl=t,Zl=0,Ql=null,$l=!1,eu=nt(e,t),tu=!1,cu=su=ou=au=iu=ru=0,uu=lu=null,du=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-qe(r),a=1<<i;t|=e[i],r&=~a}return nu=t,si(),n}function Iu(e,t){P=null,w.H=Ks,t===ka||t===ja?(t=La(),Zl=3):t===Aa?(t=La(),Zl=4):Zl=t===uc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Ql=t,L===null&&(ru=1,ic(e,Ti(t,e.current)))}function Lu(){var e=lo.current;return e===null?!0:(Xl&4194048)===Xl?uo===null:(Xl&62914560)===Xl||Xl&536870912?e===uo:!1}function Ru(){var e=w.H;return w.H=Ks,e===null?Ks:e}function zu(){var e=w.A;return w.A=Kl,e}function Bu(){ru=4,$l||(Xl&4194048)!==Xl&&lo.current!==null||(eu=!0),!(iu&134217727)&&!(au&134217727)||Yl===null||Mu(Yl,Xl,su,!1)}function Vu(e,t,n){var r=Jl;Jl|=2;var i=Ru(),a=zu();(Yl!==e||Xl!==t)&&(hu=null,Fu(e,t)),t=!1;var o=ru;a:do try{if(Zl!==0&&L!==null){var s=L,c=Ql;switch(Zl){case 8:Pu(),o=6;break a;case 3:case 2:case 9:case 6:lo.current===null&&(t=!0);var l=Zl;if(Zl=0,Ql=null,qu(e,s,c,l),n&&eu){o=0;break a}break;default:l=Zl,Zl=0,Ql=null,qu(e,s,c,l)}}Hu(),o=ru;break}catch(t){Iu(e,t)}while(1);return t&&e.shellSuspendCounter++,ea=$i=null,Jl=r,w.H=i,w.A=a,L===null&&(Yl=null,Xl=0,si()),o}function Hu(){for(;L!==null;)Gu(L)}function Uu(e,t){var n=Jl;Jl|=2;var r=Ru(),i=zu();Yl!==e||Xl!==t?(hu=null,mu=Fe()+500,Fu(e,t)):eu=nt(e,t);a:do try{if(Zl!==0&&L!==null){t=L;var a=Ql;b:switch(Zl){case 1:Zl=0,Ql=null,qu(e,t,a,1);break;case 2:case 9:if(Na(a)){Zl=0,Ql=null,Ku(t);break}t=function(){Zl!==2&&Zl!==9||Yl!==e||(Zl=7),z(e)},a.then(t,t);break a;case 3:Zl=7;break a;case 4:Zl=5;break a;case 7:Na(a)?(Zl=0,Ql=null,Ku(t)):(Zl=0,Ql=null,qu(e,t,a,7));break;case 5:var s=null;switch(L.tag){case 26:s=L.memoizedState;case 5:case 27:var c=L;if(s?np(s):c.stateNode.complete){Zl=0,Ql=null;var l=c.sibling;if(l!==null)L=l;else{var u=c.return;u===null?L=null:(L=u,Ju(u))}break b}}Zl=0,Ql=null,qu(e,t,a,5);break;case 6:Zl=0,Ql=null,qu(e,t,a,6);break;case 8:Pu(),ru=6;break a;default:throw Error(o(462))}}Wu();break}catch(t){Iu(e,t)}while(1);return ea=$i=null,w.H=r,w.A=i,Jl=n,L===null?(Yl=null,Xl=0,si(),ru):0}function Wu(){for(;L!==null&&!Ne();)Gu(L)}function Gu(e){var t=zc(e.alternate,e,nu);e.memoizedProps=e.pendingProps,t===null?Ju(e):L=t}function Ku(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=wc(n,t,t.pendingProps,t.type,void 0,Xl);break;case 11:t=wc(n,t,t.pendingProps,t.type.render,t.ref,Xl);break;case 5:Lo(t);default:Jc(n,t),t=L=vi(t,nu),t=zc(n,t,nu)}e.memoizedProps=e.pendingProps,t===null?Ju(e):L=t}function qu(e,t,n,r){ea=$i=null,Lo(t),za=null,Ba=0;var i=t.return;try{if(lc(e,i,t,n,Xl)){ru=1,ic(e,Ti(n,e.current)),L=null;return}}catch(t){if(i!==null)throw L=i,t;ru=1,ic(e,Ti(n,e.current)),L=null;return}t.flags&32768?(M||r===1?e=!0:eu||Xl&536870912?e=!1:($l=e=!0,(r===2||r===9||r===3||r===6)&&(r=lo.current,r!==null&&r.tag===13&&(r.flags|=16384))),Yu(t,e)):Ju(t)}function Ju(e){var t=e;do{if(t.flags&32768){Yu(t,$l);return}e=t.return;var n=Kc(t.alternate,t,nu);if(n!==null){L=n;return}if(t=t.sibling,t!==null){L=t;return}L=t=e}while(t!==null);ru===0&&(ru=5)}function Yu(e,t){do{var n=qc(e.alternate,e);if(n!==null){n.flags&=32767,L=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){L=e;return}L=e=n}while(e!==null);ru=6,L=null}function Xu(e,t,n,r,i,a,s,c,l){e.cancelPendingCommit=null;do td();while(_u!==0);if(Jl&6)throw Error(o(327));if(t!==null){if(t===e.current)throw Error(o(177));if(a=t.lanes|t.childLanes,a|=oi,ct(e,n,a,s,c,l),e===Yl&&(L=Yl=null,Xl=0),yu=t,vu=e,bu=n,xu=a,Su=i,Cu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,ld(ze,function(){return nd(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=w.T,w.T=null,i=T.p,T.p=2,s=Jl,Jl|=4;try{pl(e,t,n)}finally{Jl=s,T.p=i,w.T=r}}_u=1,Zu(),Qu(),$u()}}function Zu(){if(_u===1){_u=0;var e=vu,t=yu,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=w.T,w.T=null;var r=T.p;T.p=2;var i=Jl;Jl|=4;try{El(t,e);var a=Zd,o=Pr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Nr(s.ownerDocument.documentElement,s)){if(c!==null&&Fr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Mr(s,h),v=Mr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}yp=!!Xd,Zd=Xd=null}finally{Jl=i,T.p=r,w.T=n}}e.current=t,_u=2}}function Qu(){if(_u===2){_u=0;var e=vu,t=yu,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=w.T,w.T=null;var r=T.p;T.p=2;var i=Jl;Jl|=4;try{ml(e,t.alternate,t)}finally{Jl=i,T.p=r,w.T=n}}_u=3}}function $u(){if(_u===4||_u===3){_u=0,Pe();var e=vu,t=yu,n=bu,r=Cu;t.subtreeFlags&10256||t.flags&10256?_u=5:(_u=0,yu=vu=null,ed(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(gu=null),pt(n),t=t.stateNode,Ge&&typeof Ge.onCommitFiberRoot==`function`)try{Ge.onCommitFiberRoot(We,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=w.T,i=T.p,T.p=2,w.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{w.T=t,T.p=i}}bu&3&&td(),z(e),i=e.pendingLanes,n&261930&&i&42?e===Tu?wu++:(wu=0,Tu=e):wu=0,gd(0,!1)}}function ed(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ga(t)))}function td(){return Zu(),Qu(),$u(),nd()}function nd(){if(_u!==5)return!1;var e=vu,t=xu;xu=0;var n=pt(bu),r=w.T,i=T.p;try{T.p=32>n?32:n,w.T=null,n=Su,Su=null;var a=vu,s=bu;if(_u=0,yu=vu=null,bu=0,Jl&6)throw Error(o(331));var c=Jl;if(Jl|=4,Ul(a.current),Fl(a,a.current,s,n),Jl=c,gd(0,!1),Ge&&typeof Ge.onPostCommitFiberRoot==`function`)try{Ge.onPostCommitFiberRoot(We,a)}catch{}return!0}finally{T.p=i,w.T=r,ed(e,t)}}function rd(e,t,n){t=Ti(n,t),t=oc(e.stateNode,t,2),e=Za(e,t,2),e!==null&&(st(e,2),z(e))}function id(e,t,n){if(e.tag===3)rd(e,e,n);else for(;t!==null;){if(t.tag===3){rd(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(gu===null||!gu.has(r))){e=Ti(n,e),n=sc(2),r=Za(t,n,2),r!==null&&(cc(n,r,t,e),st(r,2),z(r));break}}t=t.return}}function R(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new ql;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(tu=!0,i.add(n),e=ad.bind(null,e,t,n),t.then(e,e))}function ad(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Yl===e&&(Xl&n)===n&&(ru===4||ru===3&&(Xl&62914560)===Xl&&300>Fe()-fu?!(Jl&2)&&Fu(e,0):ou|=n,cu===Xl&&(cu=0)),z(e)}function od(e,t){t===0&&(t=it()),e=ui(e,t),e!==null&&(st(e,t),z(e))}function sd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),od(e,n)}function cd(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(o(314))}r!==null&&r.delete(t),od(e,n)}function ld(e,t){return je(e,t)}var ud=null,dd=null,fd=!1,pd=!1,md=!1,hd=0;function z(e){e!==dd&&e.next===null&&(dd===null?ud=dd=e:dd=dd.next=e),pd=!0,fd||(fd=!0,Sd())}function gd(e,t){if(!md&&pd){md=!0;do for(var n=!1,r=ud;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-qe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,xd(r,a))}else a=Xl,a=tt(r,r===Yl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||nt(r,a)||(n=!0,xd(r,a));r=r.next}while(n);md=!1}}function _d(){vd()}function vd(){pd=fd=!1;var e=0;hd!==0&&rf()&&(e=hd);for(var t=Fe(),n=null,r=ud;r!==null;){var i=r.next,a=yd(r,t);a===0?(r.next=null,n===null?ud=i:n.next=i,i===null&&(dd=n)):(n=r,(e!==0||a&3)&&(pd=!0)),r=i}_u!==0&&_u!==5||gd(e,!1),hd!==0&&(hd=0)}function yd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-qe(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=rt(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Yl,n=Xl,n=tt(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Zl===2||Zl===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Me(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||nt(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Me(r),pt(n)){case 2:case 8:n=Re;break;case 32:n=ze;break;case 268435456:n=Ve;break;default:n=ze}return r=bd.bind(null,e),n=je(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Me(r),e.callbackPriority=2,e.callbackNode=null,2}function bd(e,t){if(_u!==0&&_u!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(td()&&e.callbackNode!==n)return null;var r=Xl;return r=tt(e,e===Yl?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(ku(e,r,t),yd(e,Fe()),e.callbackNode!=null&&e.callbackNode===n?bd.bind(null,e):null)}function xd(e,t){if(td())return null;ku(e,t,!0)}function Sd(){cf(function(){Jl&6?je(Le,_d):vd()})}function B(){if(hd===0){var e=ya;e===0&&(e=Ze,Ze<<=1,!(Ze&261888)&&(Ze=256)),hd=e}return hd}function Cd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:un(``+e)}function wd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function Td(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=Cd((i[vt]||null).action),o=r.submitter;o&&(t=(t=o[vt]||null)?Cd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new Mn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(hd!==0){var e=o?wd(i,o):new FormData(i);Ms(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?wd(i,o):new FormData(i),Ms(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var Ed=0;Ed<ti.length;Ed++){var Dd=ti[Ed];ni(Dd.toLowerCase(),`on`+(Dd[0].toUpperCase()+Dd.slice(1)))}ni(qr,`onAnimationEnd`),ni(Jr,`onAnimationIteration`),ni(Yr,`onAnimationStart`),ni(`dblclick`,`onDoubleClick`),ni(`focusin`,`onFocus`),ni(`focusout`,`onBlur`),ni(Xr,`onTransitionRun`),ni(Zr,`onTransitionStart`),ni(Qr,`onTransitionCancel`),ni($r,`onTransitionEnd`),Pt(`onMouseEnter`,[`mouseout`,`mouseover`]),Pt(`onMouseLeave`,[`mouseout`,`mouseover`]),Pt(`onPointerEnter`,[`pointerout`,`pointerover`]),Pt(`onPointerLeave`,[`pointerout`,`pointerover`]),Nt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Nt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Nt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Nt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Nt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Nt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var Od=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),kd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(Od));function Ad(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ri(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ri(e)}i.currentTarget=null,a=c}}}}function V(e,t){var n=t[bt];n===void 0&&(n=t[bt]=new Set);var r=e+`__bubble`;n.has(r)||(Pd(t,e,2,!1),n.add(r))}function jd(e,t,n){var r=0;t&&(r|=4),Pd(n,e,r,t)}var Md=`_reactListening`+Math.random().toString(36).slice(2);function Nd(e){if(!e[Md]){e[Md]=!0,jt.forEach(function(t){t!==`selectionchange`&&(kd.has(t)||jd(t,!1,e),jd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Md]||(t[Md]=!0,jd(`selectionchange`,!1,t))}}function Pd(e,t,n,r){switch(Ep(t)){case 2:var i=bp;break;case 8:i=xp;break;default:i=Sp}n=i.bind(null,t,n,e),i=void 0,!xn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Fd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i)break;if(o===4)for(o=r.return;o!==null;){var l=o.tag;if((l===3||l===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;s!==null;){if(o=Et(s),o===null)return;if(l=o.tag,l===5||l===6||l===26||l===27){r=a=o;continue a}s=s.parentNode}}r=r.return}vn(function(){var r=a,i=pn(n),o=[];a:{var s=ei.get(e);if(s!==void 0){var l=Mn,u=e;switch(e){case`keypress`:if(Dn(n)===0)break a;case`keydown`:case`keyup`:l=Jn;break;case`focusin`:u=`focus`,l=zn;break;case`focusout`:u=`blur`,l=zn;break;case`beforeblur`:case`afterblur`:l=zn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=k;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=Rn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Xn;break;case qr:case Jr:case Yr:l=Bn;break;case $r:l=Zn;break;case`scroll`:case`scrollend`:l=Pn;break;case`wheel`:l=Qn;break;case`copy`:case`cut`:case`paste`:l=Vn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Yn;break;case`toggle`:case`beforetoggle`:l=$n}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?s===null?null:s+`Capture`:s;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=yn(m,p),g!=null&&d.push(Id(m,g,h))),f)break;m=m.return}0<d.length&&(s=new l(s,u,null,n,i),o.push({event:s,listeners:d}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,s&&n!==fn&&(u=n.relatedTarget||n.fromElement)&&(Et(u)||u[yt]))break a;if((l||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?Et(u):null,u!==null&&(f=c(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=k,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Yn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?s:Ot(l),h=u==null?s:Ot(u),s=new d(g,m+`leave`,l,n,i),s.target=f,s.relatedTarget=h,g=null,Et(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Rd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&zd(o,s,l,d,!1),u!==null&&f!==null&&zd(o,f,u,d,!0)}}a:{if(s=r?Ot(r):window,l=s.nodeName&&s.nodeName.toLowerCase(),l===`select`||l===`input`&&s.type===`file`)var v=yr;else if(pr(s))if(br)v=Dr;else{v=Tr;var y=wr}else l=s.nodeName,!l||l.toLowerCase()!==`input`||s.type!==`checkbox`&&s.type!==`radio`?r&&sn(r.elementType)&&(v=yr):v=Er;if(v&&=v(e,r)){mr(o,v,n,i);break a}y&&y(e,s,r),e===`focusout`&&r&&s.type===`number`&&r.memoizedProps.value!=null&&Qt(s,`number`,s.value)}switch(y=r?Ot(r):window,e){case`focusin`:(pr(y)||y.contentEditable===`true`)&&(Lr=y,Rr=r,zr=null);break;case`focusout`:zr=Rr=Lr=null;break;case`mousedown`:Br=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Br=!1,Vr(o,n,i);break;case`selectionchange`:if(Ir)break;case`keydown`:case`keyup`:Vr(o,n,i)}var b;if(tr)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else lr?sr(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(ir&&n.locale!==`ko`&&(lr||x!==`onCompositionStart`?x===`onCompositionEnd`&&lr&&(b=En()):(Cn=i,wn=`value`in Cn?Cn.value:Cn.textContent,lr=!0)),y=Ld(r,x),0<y.length&&(x=new Hn(x,e,null,n,i),o.push({event:x,listeners:y}),b?x.data=b:(b=cr(n),b!==null&&(x.data=b)))),(b=rr?ur(e,n):dr(e,n))&&(x=Ld(r,`onBeforeInput`),0<x.length&&(y=new Hn(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:y,listeners:x}),y.data=b)),Td(o,e,r,n,i)}Ad(o,t)})}function Id(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ld(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=yn(e,n),i!=null&&r.unshift(Id(e,i,a)),i=yn(e,t),i!=null&&r.push(Id(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Rd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function zd(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=yn(n,a),l!=null&&o.unshift(Id(n,l,c))):i||(l=yn(n,a),l!=null&&o.push(Id(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Bd=/\r\n?/g,Vd=/\u0000|\uFFFD/g;function Hd(e){return(typeof e==`string`?e:``+e).replace(Bd,`
10`).replace(Vd,``)}function Ud(e,t){return t=Hd(t),Hd(e)===t}function Wd(e,t,n,r,i,a){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||nn(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&nn(e,``+r);break;case`className`:Bt(e,`class`,r);break;case`tabIndex`:Bt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Bt(e,n,r);break;case`style`:on(e,r,a);break;case`data`:if(t!==`object`){Bt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=un(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}else typeof a==`function`&&(n===`formAction`?(t!==`input`&&Wd(e,t,`name`,i.name,i,null),Wd(e,t,`formEncType`,i.formEncType,i,null),Wd(e,t,`formMethod`,i.formMethod,i,null),Wd(e,t,`formTarget`,i.formTarget,i,null)):(Wd(e,t,`encType`,i.encType,i,null),Wd(e,t,`method`,i.method,i,null),Wd(e,t,`target`,i.target,i,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=un(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=dn);break;case`onScroll`:r!=null&&V(`scroll`,e);break;case`onScrollEnd`:r!=null&&V(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(o(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(o(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=un(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:V(`beforetoggle`,e),V(`toggle`,e),zt(e,`popover`,r);break;case`xlinkActuate`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Vt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Vt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Vt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Vt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:zt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=cn.get(n)||n,zt(e,n,r))}}function Gd(e,t,n,r,i,a){switch(n){case`style`:on(e,r,a);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(o(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(o(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?nn(e,r):(typeof r==`number`||typeof r==`bigint`)&&nn(e,``+r);break;case`onScroll`:r!=null&&V(`scroll`,e);break;case`onScrollEnd`:r!=null&&V(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=dn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!Mt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),a=e[vt]||null,a=a==null?null:a[n],typeof a==`function`&&e.removeEventListener(t,a,i),typeof r==`function`)){typeof a!=`function`&&a!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):zt(e,n,r)}}}function Kd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:V(`error`,e),V(`load`,e);var r=!1,i=!1,a;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(o(137,t));default:Wd(e,t,a,s,n,null)}}i&&Wd(e,t,`srcSet`,n.srcSet,n,null),r&&Wd(e,t,`src`,n.src,n,null);return;case`input`:V(`invalid`,e);var c=a=s=i=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:i=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:a=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(o(137,t));break;default:Wd(e,t,r,d,n,null)}}Zt(e,a,c,l,u,s,i,!1);return;case`select`:for(i in V(`invalid`,e),r=s=a=null,n)if(n.hasOwnProperty(i)&&(c=n[i],c!=null))switch(i){case`value`:a=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Wd(e,t,i,c,n,null)}t=a,n=s,e.multiple=!!r,t==null?n!=null&&$t(e,!!r,n,!0):$t(e,!!r,t,!1);return;case`textarea`:for(s in V(`invalid`,e),a=i=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:i=c;break;case`children`:a=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(o(91));break;default:Wd(e,t,s,c,n,null)}tn(e,r,i,a);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Wd(e,t,l,r,n,null)}return;case`dialog`:V(`beforetoggle`,e),V(`toggle`,e),V(`cancel`,e),V(`close`,e);break;case`iframe`:case`object`:V(`load`,e);break;case`video`:case`audio`:for(r=0;r<Od.length;r++)V(Od[r],e);break;case`image`:V(`error`,e),V(`load`,e);break;case`details`:V(`toggle`,e);break;case`embed`:case`source`:case`link`:V(`error`,e),V(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(o(137,t));default:Wd(e,t,u,r,n,null)}return;default:if(sn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Gd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Wd(e,t,c,r,n,null))}function qd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,a=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Wd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:a=m;break;case`name`:i=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(o(137,t));break;default:m!==f&&Wd(e,t,p,m,r,f)}}Xt(e,s,c,l,u,d,a,i);return;case`select`:for(a in m=s=c=p=null,n)if(l=n[a],n.hasOwnProperty(a)&&l!=null)switch(a){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(a)||Wd(e,t,a,null,r,l)}for(i in r)if(a=r[i],l=n[i],r.hasOwnProperty(i)&&(a!=null||l!=null))switch(i){case`value`:p=a;break;case`defaultValue`:c=a;break;case`multiple`:s=a;default:a!==l&&Wd(e,t,i,a,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?$t(e,!!n,n?[]:``,!1):$t(e,!!n,t,!0)):$t(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(i=n[c],n.hasOwnProperty(c)&&i!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Wd(e,t,c,null,r,i)}for(s in r)if(i=r[s],a=n[s],r.hasOwnProperty(s)&&(i!=null||a!=null))switch(s){case`value`:p=i;break;case`defaultValue`:m=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error(o(91));break;default:i!==a&&Wd(e,t,s,i,r,a)}en(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Wd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Wd(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Wd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(o(137,t));break;default:Wd(e,t,u,p,r,m)}return;default:if(sn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Gd(e,t,_,void 0,r,p);
vendor: 4,463 bytes, line 10
10for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Gd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Wd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Wd(e,t,f,p,r,m)}function Jd(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Yd(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Jd(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Jd(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Xd=null,Zd=null;function Qd(e){return e.nodeType===9?e:e.ownerDocument}function $d(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function ef(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function tf(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var nf=null;function rf(){var e=window.event;return e&&e.type===`popstate`?e===nf?!1:(nf=e,!0):(nf=null,!1)}var af=typeof setTimeout==`function`?setTimeout:void 0,of=typeof clearTimeout==`function`?clearTimeout:void 0,sf=typeof Promise==`function`?Promise:void 0,cf=typeof queueMicrotask==`function`?queueMicrotask:sf===void 0?af:function(e){return sf.resolve(null).then(e).catch(lf)};function lf(e){setTimeout(function(){throw e})}function uf(e){return e===`head`}function df(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Up(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)Tf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,Tf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[wt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&Tf(e.ownerDocument.body);n=i}while(n);Up(t)}function ff(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function pf(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:pf(n),Tt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function mf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[wt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=bf(e.nextSibling),e===null)break}return null}function hf(e,t,n){if(t===``)return null;for(;
vendor: 20,901 bytes, line 10
10e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=bf(e.nextSibling),e===null))return null;return e}function gf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=bf(e.nextSibling),e===null))return null;return e}function _f(e){return e.data===`$?`||e.data===`$~`}function vf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function yf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function bf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var xf=null;function Sf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return bf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function Cf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function wf(e,t,n){switch(t=Qd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(o(452));return e;case`head`:if(e=t.head,!e)throw Error(o(453));return e;case`body`:if(e=t.body,!e)throw Error(o(454));return e;default:throw Error(o(451))}}function Tf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Tt(e)}var Ef=new Map,Df=new Set;function Of(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var kf=T.d;T.d={f:Af,r:jf,D:Pf,C:Ff,L:If,m:Lf,X:zf,S:Rf,M:Bf};function Af(){var e=kf.f(),t=Nu();return e||t}function jf(e){var t=Dt(e);t!==null&&t.tag===5&&t.type===`form`?Ps(t):kf.r(e)}var Mf=typeof document>`u`?null:document;function Nf(e,t,n){var r=Mf;if(r&&typeof t==`string`&&t){var i=Yt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),Df.has(i)||(Df.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Kd(t,`link`,e),At(t),r.head.appendChild(t)))}}function Pf(e){kf.D(e),Nf(`dns-prefetch`,e,null)}function Ff(e,t){kf.C(e,t),Nf(`preconnect`,e,t)}function If(e,t,n){kf.L(e,t,n);var r=Mf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Yt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Yt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Yt(n.imageSizes)+`"]`)):i+=`[href="`+Yt(e)+`"]`;var a=i;switch(t){case`style`:a=Hf(e);break;case`script`:a=Kf(e)}Ef.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),Ef.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Uf(a))||t===`script`&&r.querySelector(qf(a))||(t=r.createElement(`link`),Kd(t,`link`,e),At(t),r.head.appendChild(t)))}}function Lf(e,t){kf.m(e,t);var n=Mf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Yt(r)+`"][href="`+Yt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Kf(e)}if(!Ef.has(a)&&(e=m({rel:`modulepreload`,href:e},t),Ef.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(qf(a)))return}r=n.createElement(`link`),Kd(r,`link`,e),At(r),n.head.appendChild(r)}}}function Rf(e,t,n){kf.S(e,t,n);var r=Mf;if(r&&e){var i=kt(r).hoistableStyles,a=Hf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Uf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=Ef.get(a))&&Xf(e,n);var c=o=r.createElement(`link`);At(c),Kd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Yf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function zf(e,t){kf.X(e,t);var n=Mf;if(n&&e){var r=kt(n).hoistableScripts,i=Kf(e),a=r.get(i);a||(a=n.querySelector(qf(i)),a||(e=m({src:e,async:!0},t),(t=Ef.get(i))&&Zf(e,t),a=n.createElement(`script`),At(a),Kd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Bf(e,t){kf.M(e,t);var n=Mf;if(n&&e){var r=kt(n).hoistableScripts,i=Kf(e),a=r.get(i);a||(a=n.querySelector(qf(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=Ef.get(i))&&Zf(e,t),a=n.createElement(`script`),At(a),Kd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Vf(e,t,n,r){var i=(i=_e.current)?Of(i):null;if(!i)throw Error(o(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Hf(n.href),n=kt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Hf(n.href);var a=kt(i).hoistableStyles,s=a.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},a.set(e,s),(a=i.querySelector(Uf(e)))&&!a._p&&(s.instance=a,s.state.loading=5),Ef.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Ef.set(e,n),a||Gf(i,e,n,s.state))),t&&r===null)throw Error(o(528,``));return s}if(t&&r!==null)throw Error(o(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Kf(n),n=kt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Hf(e){return`href="`+Yt(e)+`"`}function Uf(e){return`link[rel="stylesheet"][`+e+`]`}function Wf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function Gf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Kd(t,`link`,n),At(t),e.head.appendChild(t))}function Kf(e){return`[src="`+Yt(e)+`"]`}function qf(e){return`script[async]`+e}function Jf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Yt(n.href)+`"]`);if(r)return t.instance=r,At(r),r;var i=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),At(r),Kd(r,`style`,i),Yf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Hf(n.href);var a=e.querySelector(Uf(i));if(a)return t.state.loading|=4,t.instance=a,At(a),a;r=Wf(n),(i=Ef.get(i))&&Xf(r,i),a=(e.ownerDocument||e).createElement(`link`),At(a);var s=a;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Kd(a,`link`,r),t.state.loading|=4,Yf(a,n.precedence,e),t.instance=a;case`script`:return a=Kf(n.src),(i=e.querySelector(qf(a)))?(t.instance=i,At(i),i):(r=n,(i=Ef.get(a))&&(r=m({},n),Zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),At(i),Kd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(o(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Yf(r,n.precedence,e));return t.instance}function Yf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Xf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function Zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Qf=null;function $f(e,t,n){if(Qf===null){var r=new Map,i=Qf=new Map;i.set(n,r)}else i=Qf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[wt]||a[_t]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function ep(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function tp(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function np(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function rp(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Hf(r.href),a=t.querySelector(Uf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=op.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,At(a);return}a=t.ownerDocument||t,r=Wf(r),(i=Ef.get(i))&&Xf(r,i),a=a.createElement(`link`),At(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Kd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=op.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var ip=0;function ap(e,t){return e.stylesheets&&e.count===0&&cp(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&cp(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&ip===0&&(ip=62500*Yd());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&cp(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>ip?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function op(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)cp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var sp=null;function cp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,sp=new Map,t.forEach(lp,e),sp=null,op.call(e))}function lp(e,t){if(!(t.state.loading&4)){var n=sp.get(e);if(n)var r=n.get(null);else{n=new Map,sp.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=op.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var up={$$typeof:ee,Provider:null,Consumer:null,_currentValue:de,_currentValue2:de,_threadCount:0};function dp(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=at(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=at(0),this.hiddenUpdates=at(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function fp(e,t,n,r,i,a,o,s,c,l,u,d){return e=new dp(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=hi(3,null,null,t),e.current=a,a.stateNode=e,t=ha(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ja(a),e}function pp(e){return e?(e=pi,e):pi}function mp(e,t,n,r,i,a){i=pp(i),r.context===null?r.context=i:r.pendingContext=i,r=Xa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Za(e,r,t),n!==null&&(Ou(n,e,t),Qa(n,e,t))}function hp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function gp(e,t){hp(e,t),(e=e.alternate)&&hp(e,t)}function _p(e){if(e.tag===13||e.tag===31){var t=ui(e,67108864);t!==null&&Ou(t,e,67108864),gp(e,67108864)}}function vp(e){if(e.tag===13||e.tag===31){var t=Eu();t=ft(t);var n=ui(e,t);n!==null&&Ou(n,e,t),gp(e,t)}}var yp=!0;function bp(e,t,n,r){var i=w.T;w.T=null;var a=T.p;try{T.p=2,Sp(e,t,n,r)}finally{T.p=a,w.T=i}}function xp(e,t,n,r){var i=w.T;w.T=null;var a=T.p;try{T.p=8,Sp(e,t,n,r)}finally{T.p=a,w.T=i}}function Sp(e,t,n,r){if(yp){var i=Cp(r);if(i===null)Fd(e,t,r,wp,n),H(e,r);else if(Ip(i,e,t,n,r))r.stopPropagation();else if(H(e,r),t&4&&-1<Pp.indexOf(e)){for(;i!==null;){var a=Dt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=et(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-qe(o);s.entanglements[1]|=c,o&=~c}z(a),!(Jl&6)&&(mu=Fe()+500,gd(0,!1))}}break;case 31:case 13:s=ui(a,2),s!==null&&Ou(s,a,2),Nu(),gp(a,2)}if(a=Cp(r),a===null&&Fd(e,t,r,wp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Fd(e,t,r,null,n)}}function Cp(e){return e=pn(e),Tp(e)}var wp=null;function Tp(e){if(wp=null,e=Et(e),e!==null){var t=c(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=l(t),e!==null)return e;e=null}else if(n===31){if(e=u(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return wp=e,null}function Ep(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Ie()){case Le:return 2;case Re:return 8;case ze:case Be:return 32;case Ve:return 268435456;default:return 32}default:return 32}}var Dp=!1,Op=null,kp=null,Ap=null,jp=new Map,Mp=new Map,Np=[],Pp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function H(e,t){switch(e){case`focusin`:case`focusout`:Op=null;break;case`dragenter`:case`dragleave`:kp=null;break;case`mouseover`:case`mouseout`:Ap=null;break;case`pointerover`:case`pointerout`:jp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Mp.delete(t.pointerId)}}function Fp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Dt(t),t!==null&&_p(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Ip(e,t,n,r,i){switch(t){case`focusin`:return Op=Fp(Op,e,t,n,r,i),!0;case`dragenter`:return kp=Fp(kp,e,t,n,r,i),!0;case`mouseover`:return Ap=Fp(Ap,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return jp.set(a,Fp(jp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Mp.set(a,Fp(Mp.get(a)||null,e,t,n,r,i)),!0}return!1}function Lp(e){var t=Et(e.target);if(t!==null){var n=c(t);if(n!==null){if(t=n.tag,t===13){if(t=l(n),t!==null){e.blockedOn=t,ht(e.priority,function(){vp(n)});return}}else if(t===31){if(t=u(n),t!==null){e.blockedOn=t,ht(e.priority,function(){vp(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Rp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Cp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);fn=r,n.target.dispatchEvent(r),fn=null}else return t=Dt(n),t!==null&&_p(t),e.blockedOn=n,!1;t.shift()}return!0}function zp(e,t,n){Rp(e)&&n.delete(t)}function U(){Dp=!1,Op!==null&&Rp(Op)&&(Op=null),kp!==null&&Rp(kp)&&(kp=null),Ap!==null&&Rp(Ap)&&(Ap=null),jp.forEach(zp),Mp.forEach(zp)}function Bp(e,n){e.blockedOn===n&&(e.blockedOn=null,Dp||(Dp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,U)))}var Vp=null;function Hp(e){Vp!==e&&(Vp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Vp===e&&(Vp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(Tp(r||n)===null)continue;break}var a=Dt(n);a!==null&&(e.splice(t,3),t-=3,Ms(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Up(e){function t(t){return Bp(t,e)}Op!==null&&Bp(Op,e),kp!==null&&Bp(kp,e),Ap!==null&&Bp(Ap,e),jp.forEach(t),Mp.forEach(t);for(var n=0;n<Np.length;n++){var r=Np[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Np.length&&(n=Np[0],n.blockedOn===null);)Lp(n),n.blockedOn===null&&Np.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[vt]||null;if(typeof a==`function`)o||Hp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[vt]||null)s=o.formAction;else if(Tp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Hp(n)}}}function Wp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Gp(e){this._internalRoot=e}Kp.prototype.render=Gp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(o(409));var n=t.current;mp(n,Eu(),e,t,null,null)},Kp.prototype.unmount=Gp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;mp(e.current,2,null,e,null,null),Nu(),t[yt]=null}};function Kp(e){this._internalRoot=e}Kp.prototype.unstable_scheduleHydration=function(e){if(e){var t=mt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Np.length&&t!==0&&t<Np[n].priority;n++);Np.splice(n,0,e),n===0&&Lp(e)}};var qp=n.version;if(qp!==`19.2.8`)throw Error(o(527,qp,`19.2.8`));T.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(o(188)):(e=Object.keys(e).join(`,`),Error(o(268,e)));return e=f(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Jp={bundleType:0,version:`19.2.8`,rendererPackageName:`react-dom`,currentDispatcherRef:w,reconcilerVersion:`19.2.8`};
10if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Yp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Yp.isDisabled&&Yp.supportsFiber)try{We=Yp.inject(Jp),Ge=Yp}catch{}}e.hydrateRoot=function(e,t,n){if(!s(e))throw Error(o(299));var r=!1,i=``,a=tc,c=nc,l=rc,u=null;return n!=null&&(!0===n.unstable_strictMode&&(r=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onUncaughtError!==void 0&&(a=n.onUncaughtError),n.onCaughtError!==void 0&&(c=n.onCaughtError),n.onRecoverableError!==void 0&&(l=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=fp(e,1,!0,t,n??null,r,i,u,a,c,l,Wp),t.context=pp(null),n=t.current,r=Eu(),r=ft(r),i=Xa(r),i.callback=null,Za(n,i,r),n=r,t.current.lanes=n,st(t,n),z(t),e[yt]=t.current,Nd(e),new Kp(t)}})),ct=e(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=st()}));function lt(){try{return sessionStorage}catch{return}}var ut=`tsr-scroll-restoration-v1_3`,dt=lt();function ft(){try{return JSON.parse(dt?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function pt(){try{dt?.setItem(ut,JSON.stringify(mt))}catch{}}var mt=ft(),ht=`data-scroll-restoration-id`,gt=e=>e.state.__TSR_key||e.href;function _t(e){let t=e.getAttribute(ht);if(t)return`[${ht}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var vt=!1,yt=`window`;function bt(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function xt(e){let t=new Set;for(let n of e){if(n===yt)continue;let e=bt(n);e&&t.add(e)}return t}function St(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||gt,a=new Set,o=e=>{let t=mt[e]||={};for(let e of a)e===document?t[yt]={scrollX,scrollY}:e.isConnected&&(t[_t(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,vt=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{vt||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),pt()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=mt[d];if(e){let t=mt[u];for(let n in e){if(n===yt){if(s)continue}else{let e=bt(n);if(!e||s&&o&&(l??=xt(o),l.has(e)))continue}t||=mt[u]={},t[n]??=e[n]}}}vt=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=xt(o));let t=e&&i&&c,s=r.restoring?mt[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===yt){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=bt(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{vt=!1}}))}var Ct=Tt(JSON.parse),wt=Et(JSON.stringify,JSON.parse);function Tt(e){return t=>{t[0]===`?`&&(t=t.substring(1));let n=Ce(t);for(let t in n){let r=n[t];if(typeof r==`string`)try{n[t]=e(r)}catch{}}return n}}function Et(e,t){let n=typeof t==`function`;function r(r){if(typeof r==`object`&&r)try{return e(r)}catch{}else if(n&&typeof r==`string`)try{return t(r),e(r)}catch{}return r}return e=>{let t=Se(e,r);return t?`?${t}`:``}}function Dt(e){return{input:({url:t})=>{for(let n of e)t=kt(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=At(e[n],t);return t}}}function Ot(e){let t=ae(e.basepath),n=`/${t}`,r=e.caseSensitive?n:n.toLowerCase(),i=`${r}/`;return{input:({url:t})=>{let a=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return a===r?t.pathname=`/`:a.startsWith(i)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=T([`/`,t,e.pathname]),e)}}function kt(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function At(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function jt(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i,init:a}=t,o=new Map,s=new Map,c=new Map,l=n(e.status),u=n(e.loadedAt),d=n(e.isLoading),f=n(e.isTransitioning),p=n(e.location),m=n(e.resolvedLocation),h=n(e.statusCode),g=n(e.redirect),_=n([]),v=n([]),y=n([]),b=r(()=>Mt(o,_.get())),x=r(()=>Mt(s,v.get())),ee=r(()=>Mt(c,y.get())),S=r(()=>_.get()[0]),te=r(()=>_.get().some(e=>
10o.get(e)?.get().status===`pending`)),ne=r(()=>({locationHref:p.get().href,resolvedLocationHref:m.get()?.href,status:l.get()})),re=r(()=>({status:l.get(),loadedAt:u.get(),isLoading:d.get(),isTransitioning:f.get(),matches:b.get(),location:p.get(),resolvedLocation:m.get(),statusCode:h.get(),redirect:g.get()})),ie=C(64);function ae(e){let t=ie.get(e);return t||(t=r(()=>{let t=_.get();for(let n of t){let t=o.get(n);if(t&&t.routeId===e)return t.get()}}),ie.set(e,t)),t}let oe={status:l,loadedAt:u,isLoading:d,isTransitioning:f,location:p,resolvedLocation:m,statusCode:h,redirect:g,matchesId:_,pendingIds:v,cachedIds:y,matches:b,pendingMatches:x,cachedMatches:ee,firstId:S,hasPending:te,matchRouteDeps:ne,matchStores:o,pendingMatchStores:s,cachedMatchStores:c,__store:re,getRouteMatchStore:ae,setMatches:se,setPending:ce,setCached:le};se(e.matches),a?.(oe);function se(e){Nt(e,o,_,n,i)}function ce(e){Nt(e,s,v,n,i)}function le(e){Nt(e,c,y,n,i)}return oe}function Mt(e,t){let n=[];for(let r of t){let t=e.get(r);t&&n.push(t.get())}return n}function Nt(e,t,n,r,i){let a=e.map(e=>e.id),o=new Set(a);i(()=>{for(let e of t.keys())o.has(e)||t.delete(e);for(let n of e){let e=t.get(n.id);if(!e){let e=r(n);e.routeId=n.routeId,t.set(n.id,e);continue}e.routeId=n.routeId,e.get()!==n&&e.set(n)}p(n.get(),a)||n.set(a)})}var Pt=e=>{if(!e.rendered)return e.rendered=!0,e.onReady?.()},Ft=e=>e.stores.matchesId.get().some(t=>e.stores.matchStores.get(t)?.get()._forcePending),It=(e,t)=>!!(e.preload&&!e.router.stores.matchStores.has(t)),Lt=(e,t,n=!0)=>{let r={...e.router.options.context??{}},i=n?t:t-1;for(let t=0;t<=i;t++){let n=e.matches[t];if(!n)continue;let i=e.router.getMatch(n.id);
10i&&Object.assign(r,i.__routeContext,i.__beforeLoadContext)}return r},Rt=(e,t)=>{if(!e.matches.length)return;let n=t.routeId,r=e.matches.findIndex(t=>t.routeId===e.router.routeTree.id),i=r>=0?r:0,a=n?e.matches.findIndex(e=>e.routeId===n):e.firstBadMatchIndex??e.matches.length-1;a<0&&(a=i);for(let t=a;t>=0;t--){let n=e.matches[t];if(e.router.looseRoutesById[n.routeId].options.notFoundComponent)return t}return n?a:i},zt=(e,t,n)=>{if(!(!xe(n)&&!ye(n)))throw xe(n)&&n.redirectHandled&&!n.options.reloadDocument?n:(t&&(t._nonReactive.beforeLoadPromise?.resolve(),t._nonReactive.loaderPromise?.resolve(),t._nonReactive.beforeLoadPromise=void 0,t._nonReactive.loaderPromise=void 0,t._nonReactive.error=n,e.updateMatch(t.id,r=>({...r,status:xe(n)?`redirected`:ye(n)?`notFound`:r.status===`pending`?`success`:r.status,context:Lt(e,t.index),isFetching:!1,error:n})),ye(n)&&!n.routeId&&(n.routeId=t.routeId),t._nonReactive.loadPromise?.resolve()),xe(n)&&(e.rendered=!0,n.options._fromLocation=e.location,n.redirectHandled=!0,n=e.router.resolveRedirect(n)),n)},Bt=(e,t)=>
10{let n=e.router.getMatch(t);return!!(!n||n._nonReactive.dehydrated)},Vt=(e,t,n)=>{let r=Lt(e,n);e.updateMatch(t,e=>({...e,context:r}))},Ht=(e,t,n)=>{let{id:r,routeId:i}=e.matches[t],a=e.router.looseRoutesById[i];if(n instanceof Promise)throw n;e.firstBadMatchIndex??=t,zt(e,e.router.getMatch(r),n);try{a.options.onError?.(n)}catch(t){n=t,zt(e,e.router.getMatch(r),n)}e.updateMatch(r,e=>(e._nonReactive.beforeLoadPromise?.resolve(),e._nonReactive.beforeLoadPromise=void 0,e._nonReactive.loadPromise?.resolve(),{...e,error:n,status:`error`,isFetching:!1,updatedAt:Date.now(),abortController:new AbortController})),!e.preload&&!xe(n)&&!ye(n)&&(e.serialError??=n)},Ut=(e,t,n,r)=>{if(r._nonReactive.pendingTimeout!==void 0)return;let i=n.options.pendingMs??e.router.options.defaultPendingMs;if(e.onReady&&!It(e,t)&&(n.options.loader||n.options.beforeLoad||en(n))&&typeof i==`number`&&i!==1/0&&(n.options.pendingComponent??e.router.options?.defaultPendingComponent)){let t=setTimeout(()=>{Pt(e)},i);r._nonReactive.pendingTimeout=t}},Wt=(e,t,n)=>{let r=e.router.getMatch(t);if(!r._nonReactive.beforeLoadPromise&&!r._nonReactive.loaderPromise)return;Ut(e,t,n,r);let i=()=>{let n=e.router.getMatch(t);n.preload&&(n.status===`redirected`||n.status===`notFound`)&&zt(e,n,n.error)};return r._nonReactive.beforeLoadPromise?r._nonReactive.beforeLoadPromise.then(i):i()},Gt=(e,t,n,r)=>{let i=e.router.getMatch(t),a=i._nonReactive.loadPromise;i._nonReactive.loadPromise=b(()=>{a?.resolve(),a=void 0});let{paramsError:o,searchError:s}=i;o&&Ht(e,n,o),s&&Ht(e,n,s),Ut(e,t,r,i);let c=new AbortController,l=!1,u=()=>{l||(l=!0,e.updateMatch(t,e=>({...e,isFetching:`beforeLoad`,fetchCount:e.fetchCount+1,abortController:c})))},d=()=>{i._nonReactive.beforeLoadPromise?.resolve(),i._nonReactive.beforeLoadPromise=void 0,e.updateMatch(t,e=>({...e,isFetching:!1}))};if(!r.options.beforeLoad){e.router.batch(()=>{u(),d()});return}i._nonReactive.beforeLoadPromise=b();let f={...Lt(e,n,!1),...i.__routeContext},{search:p,params:m,cause:h}=i,g=It(e,t),v={search:p,abortController:c,params:m,preload:g,context:f,location:e.location,navigate:t=>e.router.navigate({...t,_fromLocation:e.location}),buildLocation:e.router.buildLocation,cause:g?`preload`:h,matches:e.matches,routeId:r.id,...e.router.options.additionalContext},y=r=>{if(r===void 0){e.router.batch(()=>{u(),d()});return}(xe(r)||ye(r))&&(u(),Ht(e,n,r)),e.router.batch(()=>{u(),e.updateMatch(t,e=>({...e,__beforeLoadContext:r})),d()})},x;try{if(x=r.options.beforeLoad(v),_(x))return u(),x.catch(t=>{Ht(e,n,t)}).then(y)}catch(t){u(),Ht(e,n,t)}y(x)},Kt=(e,t)=>{let{id:n,routeId:r}=e.matches[t],i=e.router.looseRoutesById[r],a=()=>s(),o=()=>Gt(e,n,t,i),s=()=>{if(Bt(e,n))return;let t=Wt(e,n,i);return _(t)?t.then(o):o()};return a()},qt=(e,t,n)=>{let r=e.router.getMatch(t);if(!r||!n.options.head&&!n.options.scripts&&!n.options.headers)return;let i={ssr:e.router.options.ssr,matches:e.matches,match:r,params:r.params,loaderData:r.loaderData};return Promise.all([n.options.head?.(i),n.options.scripts?.(i),n.options.headers?.(i)]).then(([e,t,n])=>({meta:e?.meta,links:e?.links,headScripts:e?.scripts,headers:n,scripts:t,styles:e?.styles}))},Jt=(e,t,n,r,i)=>{let a=t[r-1],{params:o,loaderDeps:s,abortController:c,cause:l}=e.router.getMatch(n),u=Lt(e,r),d=It(e,n);return{params:o,deps:s,preload:!!d,parentMatchPromise:a,abortController:c,context:u,location:e.location,navigate:t=>e.router.navigate({...t,_fromLocation:e.location}),cause:d?`preload`:l,route:i,...e.router.options.additionalContext}},Yt=async(e,t,n,r,i)=>{try{let a=e.router.getMatch(n);try{$t(i);let o=i.options.loader,s=typeof o==`function`?o:o?.handler,c=s?.(Jt(e,t,n,r,i)),l=!!s&&_(c);if((l||i._lazyPromise||i._componentsPromise||i.options.head||i.options.scripts||i.options.headers||a._nonReactive.minPendingPromise)&&e.updateMatch(n,e=>({...e,isFetching:`loader`})),s){let t=l?await c:c;zt(e,e.router.getMatch(n),t),t!==void 0&&e.updateMatch(n,e=>({...e,loaderData:t}))}i._lazyPromise&&await i._lazyPromise;let u=a._nonReactive.minPendingPromise;u&&await u,i._componentsPromise&&await i._componentsPromise,e.updateMatch(n,t=>({...t,error:void 0,context:Lt(e,r),status:`success`,isFetching:!1,updatedAt:Date.now()}))}catch(t){let o=t;if(o?.name===`AbortError`){if(a.abortController.signal.aborted){a._nonReactive.loaderPromise?.resolve(),a._nonReactive.loaderPromise=void 0;return}e.updateMatch(n,t=>
10({...t,status:t.status===`pending`?`success`:t.status,isFetching:!1,context:Lt(e,r)}));return}let s=a._nonReactive.minPendingPromise;s&&await s,ye(t)&&await i.options.notFoundComponent?.preload?.(),zt(e,e.router.getMatch(n),t);try{i.options.onError?.(t)}catch(t){o=t,zt(e,e.router.getMatch(n),t)}!xe(o)&&!ye(o)&&await $t(i,[`errorComponent`]),e.updateMatch(n,t=>({...t,error:o,context:Lt(e,r),status:`error`,isFetching:!1}))}}catch(t){let r=e.router.getMatch(n);r&&(r._nonReactive.loaderPromise=void 0),zt(e,r,t)}},Xt=async(e,t,n)=>{async function r(r,a,c,l,d){let f=Date.now()-a.updatedAt,p=r?d.options.preloadStaleTime??e.router.options.defaultPreloadStaleTime??3e4:d.options.staleTime??e.router.options.defaultStaleTime??0,m=d.options.shouldReload,h=typeof m==`function`?m(Jt(e,t,i,n,d)):m,{status:g,invalid:_}=l,v=f>=p&&(!!e.forceStaleReload||l.cause===`enter`||c!==void 0&&c!==l.id);o=g===`success`&&(_||(h??v)),r&&d.options.preload===!1||(o&&!e.sync&&u?(s=!0,(async()=>{try{await Yt(e,t,i,n,d);let r=e.router.getMatch(i);r._nonReactive.loaderPromise?.resolve(),r._nonReactive.loadPromise?.resolve(),r._nonReactive.loaderPromise=void 0,r._nonReactive.loadPromise=void 0}catch(t){xe(t)&&await e.router.navigate(t.options)}})()):g!==`success`||o?await Yt(e,t,i,n,d):Vt(e,i,n))}let{id:i,routeId:a}=e.matches[n],o=!1,s=!1,c=e.router.looseRoutesById[a],l=c.options.loader,u=((typeof l==`function`?void 0:l?.staleReloadMode)??e.router.options.defaultStaleReloadMode)!==`blocking`;if(Bt(e,i)){if(!e.router.getMatch(i))return e.matches[n];Vt(e,i,n)}else{let t=e.router.getMatch(i),o=e.router.stores.matchesId.get()[n],s=(o&&e.router.stores.matchStores.get(o)||null)?.routeId===a?o:e.router.stores.matches.get().find(e=>e.routeId===a)?.id,l=It(e,i);if(t._nonReactive.loaderPromise){if(t.status===`success`&&!e.sync&&!t.preload&&u)return t;await t._nonReactive.loaderPromise;let n=e.router.getMatch(i),a=n._nonReactive.error||n.error;a&&zt(e,n,a),n.status===`pending`&&await r(l,t,s,n,c)}else{let n=l&&!e.router.stores.matchStores.has(i),a=e.router.getMatch(i);a._nonReactive.loaderPromise=b(),n!==a.preload&&e.updateMatch(i,e=>({...e,preload:n})),await r(l,t,s,a,c)}}let d=e.router.getMatch(i);s||(d._nonReactive.loaderPromise?.resolve(),d._nonReactive.loadPromise?.resolve(),d._nonReactive.loadPromise=void 0),clearTimeout(d._nonReactive.pendingTimeout),d._nonReactive.pendingTimeout=void 0,s||(d._nonReactive.loaderPromise=void 0),d._nonReactive.dehydrated=void 0;let f=s?d.isFetching:!1;return f!==d.isFetching||d.invalid!==!1?(e.updateMatch(i,e=>({...e,isFetching:f,invalid:!1})),e.router.getMatch(i)):d};async function Zt(e){let t=e,n=[];Ft(t.router)&&Pt(t);let r;for(let e=0;e<t.matches.length;e++){try{let n=Kt(t,e);_(n)&&await n}catch(e){if(xe(e))throw e;if(ye(e))r=e;else if(!t.preload)throw e;break}if(t.serialError||t.firstBadMatchIndex!=null)break}let a=t.firstBadMatchIndex??t.matches.length,o=r&&!t.preload?Rt(t,r):void 0,s=r&&t.preload?0:o===void 0?a:Math.min(o+1,a),c,l;for(let e=0;e<s;e++)n.push(Xt(t,n,e));try{await Promise.all(n)}catch{let e=await Promise.allSettled(n);for(let t of e){if(t.status!==`rejected`)continue;let e=t.reason;if(xe(e))throw e;ye(e)?c??=e:l??=e}if(l!==void 0)throw l}let u=c??(r&&!t.preload?r:void 0),d=t.firstBadMatchIndex===void 0?t.matches.length-1:t.firstBadMatchIndex;if(!u&&r&&t.preload)return t.matches;if(u){let e=Rt(t,u);e===void 0&&i();let n=t.matches[e],r=t.router.looseRoutesById[n.routeId],a=t.router.options?.defaultNotFoundComponent;!r.options.notFoundComponent&&a&&(r.options.notFoundComponent=a),u.routeId=n.routeId;let o=n.routeId===t.router.routeTree.id;t.updateMatch(n.id,e=>({...e,...o?{status:`success`,globalNotFound:!0,error:void 0}:{status:`notFound`,error:u},isFetching:!1})),d=e,await $t(r,[`notFoundComponent`])}else if(!t.preload){let e=t.matches[0];e.globalNotFound||t.router.getMatch(e.id)?.globalNotFound&&t.updateMatch(e.id,e=>({...e,globalNotFound:!1,error:void 0}))}if(t.serialError&&t.firstBadMatchIndex!==void 0){let e=t.router.looseRoutesById[t.matches[t.firstBadMatchIndex].routeId];await $t(e,[`errorComponent`])}for(let e=0;e<=d;e++){let{id:n,routeId:r}=t.matches[e],i=t.router.looseRoutesById[r];try{let e=qt(t,n,i);if(e){let r=await e;t.updateMatch(n,e=>({...e,...r}))}}catch(e){console.error(`Error executing head for route ${r}:`,e)}}let f=Pt(t);if(_(f)&&await f,u)throw u;if(t.serialError&&!t.preload&&!t.onReady)throw t.serialError;return t.matches}function Qt(e,t){let n=t.map(t=>
10e.options[t]?.preload?.()).filter(Boolean);if(n.length!==0)return Promise.all(n)}function $t(e,t=tn){!e._lazyLoaded&&e._lazyPromise===void 0&&(e.lazyFn?e._lazyPromise=e.lazyFn().then(t=>{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazyLoaded=!0,e._lazyPromise=void 0}):e._lazyLoaded=!0);let n=()=>e._componentsLoaded?void 0:t===tn?(()=>{if(e._componentsPromise===void 0){let t=Qt(e,tn);t?e._componentsPromise=t.then(()=>{e._componentsLoaded=!0,e._componentsPromise=void 0}):e._componentsLoaded=!0}return e._componentsPromise})():Qt(e,t);return e._lazyPromise?e._lazyPromise.then(n):n()}function en(e){for(let t of tn)if(e.options[t]?.preload)return!0;return!1}var tn=[`component`,`errorComponent`,`pendingComponent`,`notFoundComponent`],nn=`__TSR_index`,rn=`popstate`,an=`beforeunload`;function on(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=un(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[nn];i=sn(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[nn];i=sn(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[nn]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function sn(e,t){t||={};let n=dn();return{...t,key:n,__TSR_key:n,[nn]:e}}function cn(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=e?.createHref??(e=>e),c=e?.parseLocation??(()=>un(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=dn();t.history.replaceState({[nn]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_,v=()=>{g&&(S._ignoreSubscribers=!0,(g.isPush?t.history.pushState:t.history.replaceState)(g.state,``,g.href),S._ignoreSubscribers=!1,g=void 0,_=void 0,u=void 0)},y=(e,t,n)=>{let r=s(t);_||(u=l),l=un(t,n),g={href:r,state:n,isPush:g?.isPush||e===`push`},_||=Promise.resolve().then(()=>v())},b=e=>{l=c(),S.notify({type:e})},x=async()=>{if(f){f=!1;return}let e=c(),n=e.state[nn]-l.state[nn],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let n=a();if(typeof document<`u`&&n.length){for(let r of n)if(await r.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(1),S.notify(u);return}}}l=c(),S.notify(u)},ee=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=on({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>y(`push`,e,t),replaceState:(e,t)=>y(`replace`,e,t),back:e=>(e&&(p=!0),m=!0,t.history.back()),forward:e=>{e&&(p=!0),m=!0,t.history.forward()},go:e=>{d=!0,t.history.go(e)},createHref:e=>s(e),flush:v,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(an,ee,{capture:!0}),t.removeEventListener(rn,x)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return t.addEventListener(an,ee,{capture:!0}),t.addEventListener(rn,x),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||b(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||b(`REPLACE`),n},S}function ln(e){let t=e.replace(/[\x00-\x1f\x7f]/g,``);return t.startsWith(`//`)&&(t=`/`+t.replace(/^\/+/,``)),t}function un(e,t){let n=ln(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=dn();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[nn]:0,key:a,__TSR_key:a}}}function dn(){return(Math.random()+1).toString(36).substring(7)}function fn(e){return e instanceof Error?{name:e.name,message:e.message}:{data:e}}function pn(e,t){let n=t,r=e;return{fromLocation:n,toLocation:r,pathChanged:n?.pathname!==r.pathname,hrefChanged:n?.href!==r.href,hashChanged:n?.hash!==r.hash}}var mn=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.shouldViewTransition=void 0,this.isViewTransitionTypesSupported=void 0,this.subscribers=new Set,this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=e=>e(),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=me(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=cn()),this.origin=this.options.origin,this.origin||(window?.origin&&window.origin!==`null`?this.origin=window.origin:this.origin=`http://localhost`),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;this.resolvePathCache=C(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=jt(_n(this.latestLocation),e),St(this)}let a=!1,o=this.options.basepath??`/`,s=this.options.rewrite;if(r||n!==o||i!==s){this.basepath=o;let e=[],t=ae(o);t&&t!==`/`&&e.push(Ot({basepath:o})),s&&e.push(s),this.rewrite=e.length===0?void 0:e.length===1?e[0]:Dt(e),this.history&&this.updateLatestLocation(),a=!0}a&&this.stores&&this.stores.location.set(this.latestLocation),typeof window<`u`&&`CSS`in window&&typeof window.CSS?.supports==`function`&&(this.isViewTransitionTypesSupported=window.CSS.supports(`selector(:active-view-transition-type(a))`))},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=D(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&f(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>
10{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{this.subscribers.forEach(t=>{t.eventType===e.type&&t.fn(e)})},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i,state:a})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:le(e).path,external:!1,searchStr:o,search:_e(t?.search,i),hash:le(r.slice(1)).path,state:d(t?.state,a)}}let o=new URL(i,this.origin),s=kt(this.rewrite,o),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:le(s.pathname).path,external:!!this.rewrite&&s.origin!==this.origin,searchStr:l,search:_e(t?.search,c),hash:le(s.hash.slice(1)).path,state:d(t?.state,a)}},r=n(e),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i);return e.state.key=r.state.key,e.state.__TSR_key=r.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:r}}return r},this.resolvePathWithBase=(e,t)=>oe({base:e,to:t.includes(`//`)?ue(t):t,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>yn({pathname:e,routesById:this.routesById,processedTree:this.processedTree}),this.cancelMatch=e=>{let t=this.getMatch(e);t&&(t.abortController.abort(),clearTimeout(t._nonReactive.pendingTimeout),t._nonReactive.pendingTimeout=void 0)},this.cancelMatches=()=>{this.stores.pendingIds.get().forEach(e=>{this.cancelMatch(e)}),this.stores.matchesId.get().forEach(e=>{if(this.stores.pendingMatchStores.has(e))return;let t=this.stores.matchStores.get(e)?.get();t&&(t.status===`pending`||t.isFetching===`loader`)&&this.cancelMatch(e)})},this.buildLocation=e=>{let t=(t={})=>{let n=t._fromLocation||this.pendingBuiltLocation||this.latestLocation,r=this.matchRoutesLightweight(n);t.from;let i=t.unsafeRelative===`path`?n.pathname:t.from??r.fullPath,a=t.to?`${t.to}`:void 0,o=r.search,s=Object.assign(Object.create(null),r.params),c=a?.charCodeAt(0)===47?`/`:this.resolvePathWithBase(i,`.`),l=a?this.resolvePathWithBase(c,a):c,u=t.params===!1||t.params===null?Object.create(null):(t.params??!0)===!0?s:Object.assign(s,y(t.params,s)),f=this.routesByPath[E(l)],p;if(f)p=this.getRouteBranch(f);else if(l.includes(`$`))p=[];else{let e=this.getMatchedRoutes(l);p=e.matchedRoutes,this.options.notFoundRoute&&(!e.foundRoute||e.foundRoute.path!==`/`&&e.routeParams[`**`])&&(p=[...p,this.options.notFoundRoute])}if(p.length&&x(u))for(let e of p){let t=e.options.params?.stringify??e.options.stringifyParams;if(t)try{Object.assign(u,t(u))}catch{}}let m=e.leaveParams?l:le(ie({path:l,params:u,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,h=o;if(e._includeValidateSearch&&this.options.search?.strict){let e={};p.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,vn(t.options.validateSearch,{...e,...h}))}catch{}}),h=e}h=bn({search:h,dest:t,destRoutes:p,_includeValidateSearch:e._includeValidateSearch}),h=_e(o,h);let g=this.options.stringifySearch(h),_=t.hash===!0?n.hash:t.hash?y(t.hash,n.hash):void 0,v=_?`#${_}`:``,b=t.state===!0?n.state:t.state?y(t.state,n.state):{};b=d(n.state,b);let ee=`${m}${g}${v}`,S,C,te=!1;if(this.rewrite){let e=new URL(ee,this.origin),t=At(this.rewrite,e);S=e.href.replace(e.origin,``),t.origin===this.origin?C=t.pathname+t.search+t.hash:(C=t.href,te=!0)}else S=ce(ee),C=S;return{publicHref:C,href:S,pathname:m,search:h,searchStr:g,state:b,hash:_??``,external:te,unmaskOnReload:t.unmaskOnReload}},n=(n={},r)=>{let i=t(n),a=r?t(r):void 0;if(!a){let n=Object.create(null);if(this.options.routeMasks){let o=ne(i.pathname,this.processedTree);if(o){Object.assign(n,o.rawParams);let{from:i,params:s,...c}=o.route,l=s===!1||s===null?Object.create(null):(s??!0)===!0?n:Object.assign(n,y(s,n));r={from:e.from,...c,params:l},a=t(r)}}}return a&&(i.maskedLocation=a),i};return e.mask?n(e,{from:e.from,...e.mask}):n(e)},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r,i=()=>{let e=[`key`,`__TSR_key`,`__TSR_index`,`__hashScrollIntoViewOptions`];
10e.forEach(e=>{n.state[e]=this.latestLocation.state[e]});let t=u(n.state,this.latestLocation.state);return e.forEach(e=>{delete n.state[e]}),t},a=E(this.latestLocation.href)===E(n.href),o=this.commitLocationPromise;if(this.commitLocationPromise=b(()=>{o?.resolve(),o=void 0}),a&&i())this.load();else{let{maskedLocation:i,hashScrollIntoView:a,...o}=n;i&&(o={...i,state:{...i.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state.__hashScrollIntoViewOptions=a??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,r=n.replace?`REPLACE`:`PUSH`,this.history[r===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t})}return this._scroll.next=n.resetScroll??!0,this.history.subscribers.size||this.load(r?{action:{type:r}}:void 0),this.commitLocationPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,href:a,...o}={})=>{if(a){let t=this.history.location.state.__TSR_index,n=un(a,{__TSR_index:e?t:t+1}),r=new URL(n.pathname,this.origin);o.to=kt(this.rewrite,r).pathname,o.search=this.options.parseSearch(n.search),o.hash=n.hash.slice(1)}let s=this.buildLocation({...o,_includeValidateSearch:!0});this.pendingBuiltLocation=s;let c=this.commitLocation({...s,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this.pendingBuiltLocation===s&&(this.pendingBuiltLocation=void 0)}),c},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=!1;if(n)try{new URL(`${n}`),a=!0}catch{}if(a&&!t&&(t=!0),t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i});n??=t.publicHref,r??=t.publicHref}let t=!a&&r?r:n;if(h(t,this.protocolAllowlist))return;if(!i.ignoreBlocker){let e=this.history.getBlockers?.()??[];for(let t of e)if(t?.blockerFn&&await t.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:`PUSH`}))return}i.replace?window.location.replace(t):window.location.href=t;return}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.beforeLoad=()=>{this.cancelMatches(),this.updateLatestLocation();let e=this.matchRoutes(this.latestLocation),t=this.stores.cachedMatches.get().filter(t=>!e.some(e=>e.id===t.id));this.batch(()=>{this.stores.status.set(`pending`),this.stores.statusCode.set(200),this.stores.isLoading.set(!0),this.stores.location.set(this.latestLocation),this.stores.setPending(e),this.stores.setCached(t)})},this.load=async e=>{let t=e?.action?.type,n,r,i,a=this.stores.resolvedLocation.get()??this.stores.location.get();for(i=new Promise(o=>{this.startTransition(async()=>{try{this.beforeLoad(),t&&(this._scroll.hash=t===`PUSH`||t===`REPLACE`);let n=this.latestLocation,r=pn(n,this.stores.resolvedLocation.get());this.stores.redirect.get()||this.emit({type:`onBeforeNavigate`,...r}),this.emit({type:`onBeforeLoad`,...r}),await Zt({router:this,sync:e?.sync,forceStaleReload:a.href===n.href,matches:this.stores.pendingMatches.get(),location:n,updateMatch:this.updateMatch,onReady:async()=>{this.startTransition(()=>{this.startViewTransition(async()=>{let e=null,t=null,n=null,r=null;this.batch(()=>{let i=this.stores.pendingMatches.get(),a=i.length,o=this.stores.matches.get();e=a?o.filter(e=>!this.stores.pendingMatchStores.has(e.id)):null;let s=new Set;for(let e of this.stores.pendingMatchStores.values())e.routeId&&s.add(e.routeId);let c=new Set;for(let e of this.stores.matchStores.values())e.routeId&&c.add(e.routeId);t=a?o.filter(e=>!s.has(e.routeId)):null,n=a?i.filter(e=>!c.has(e.routeId)):null,r=a?i.filter(e=>c.has(e.routeId)):o,this.stores.isLoading.set(!1),this.stores.loadedAt.set(Date.now()),a&&(this.stores.setMatches(i),this.stores.setPending([]),this.stores.setCached([...this.stores.cachedMatches.get(),...e.filter(e=>e.status!==`error`&&e.status!==`notFound`&&e.status!==`redirected`)]),this.clearExpiredCache())});for(let[e,i]of[[t,`onLeave`],[n,`onEnter`],[r,`onStay`]])if(e)for(let t of e)this.looseRoutesById[t.routeId].options[i]?.(t)})})}})}catch(e){xe(e)?(n=e,this.navigate({...n.options,replace:!0,ignoreBlocker:!0})):ye(e)&&(r=e);let t=n?n.status:r?404:this.stores.matches.get().some(e=>e.status===`error`)?500:200;this.batch(()=>{this.stores.statusCode.set(t),this.stores.redirect.set(n)})}this.latestLoadPromise===i&&(this.commitLocationPromise?.resolve(),this.latestLoadPromise=void 0,this.commitLocationPromise=void 0),o()})}),this.latestLoadPromise=i,await i;this.latestLoadPromise&&i!==this.latestLoadPromise;)await this.latestLoadPromise;let o;this.hasNotFoundMatch()?o=404:this.stores.matches.get().some(e=>e.status===`error`)&&(o=500),o!==void 0&&this.stores.statusCode.set(o)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document<`u`&&`startViewTransition`in document&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&this.isViewTransitionTypesSupported){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(pn(r,i)):t.types;if(a===!1){e();return}n={update:e,types:a}}else n=e;document.startViewTransition(n)}else e()},this.updateMatch=(e,t)=>{this.startTransition(()=>
10{let n=this.stores.pendingMatchStores.get(e);if(n){n.set(t);return}let r=this.stores.matchStores.get(e);if(r){r.set(t);return}let i=this.stores.cachedMatchStores.get(e);if(i){let n=t(i.get());n.status===`redirected`?this.stores.cachedMatchStores.delete(e)&&this.stores.cachedIds.set(t=>t.filter(t=>t!==e)):i.set(n)}})},this.getMatch=e=>this.stores.cachedMatchStores.get(e)?.get()??this.stores.pendingMatchStores.get(e)?.get()??this.stores.matchStores.get(e)?.get(),this.invalidate=e=>{let t=t=>e?.filter?.(t)??!0?{...t,invalid:!0,...e?.forcePending||t.status===`error`||t.status===`notFound`?{status:`pending`,error:void 0}:void 0}:t;return this.batch(()=>{this.stores.setMatches(this.stores.matches.get().map(t)),this.stores.setCached(this.stores.cachedMatches.get().map(t)),this.stores.setPending(this.stores.pendingMatches.get().map(t))}),this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.getParsedLocationHref=e=>e.publicHref||`/`,this.resolveRedirect=e=>{let t=e.headers.get(`Location`);if(!e.options.href||e.options._builtLocation){let t=e.options._builtLocation??this.buildLocation(e.options),n=this.getParsedLocationHref(t);e.options.href=n,e.headers.set(`Location`,n)}else if(t)try{let n=new URL(t);if(this.origin&&n.origin===this.origin){let t=n.pathname+n.search+n.hash;e.options.href=t,e.headers.set(`Location`,t)}}catch{}if(e.options.href&&!e.options._builtLocation&&h(e.options.href,this.protocolAllowlist))throw Error(`Redirect blocked: unsafe protocol`);return e.headers.get(`Location`)||e.headers.set(`Location`,e.options.href),e},this.clearCache=e=>{let t=e?.filter;t===void 0?this.stores.setCached([]):this.stores.setCached(this.stores.cachedMatches.get().filter(e=>!t(e)))},this.clearExpiredCache=()=>{let e=Date.now();this.clearCache({filter:t=>{let n=this.looseRoutesById[t.routeId];if(!n.options.loader)return!0;let r=(t.preload?n.options.preloadGcTime??this.options.defaultPreloadGcTime:n.options.gcTime??this.options.defaultGcTime)??300*1e3;return t.status===`error`||e-t.updatedAt>=r}})},this.loadRouteChunk=$t,this.preloadRoute=async e=>{let t=e._builtLocation??this.buildLocation(e),n=this.matchRoutes(t,{throwOnError:!0,preload:!0,dest:e}),r=new Set([...this.stores.matchesId.get(),...this.stores.pendingIds.get()]),i=new Set([...r,...this.stores.cachedIds.get()]),a=n.filter(e=>!i.has(e.id));if(a.length){let e=this.stores.cachedMatches.get();this.stores.setCached([...e,...a])}try{return n=await Zt({router:this,matches:n,location:t,preload:!0,updateMatch:(e,t)=>{r.has(e)?n=n.map(n=>n.id===e?t(n):n):this.updateMatch(e,t)}}),n}catch(e){if(xe(e))return e.options.reloadDocument?void 0:await this.preloadRoute({...e.options,_fromLocation:t});ye(e)||console.error(e);return}},this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n);if(t?.pending&&this.stores.status.get()!==`pending`)return!1;let i=(t?.pending===void 0?!this.stores.isLoading.get():t.pending)?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),a=S(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,i.pathname,this.processedTree);return!a||e.params&&!u(a.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?u(i.search,r.search,{partial:!0})?a.rawParams:!1:a.rawParams},this.hasNotFoundMatch=()=>this.stores.matches.get().some(e=>e.status===`notFound`||e.globalNotFound),this.getStoreConfig=t,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??wt,parseSearch:e.parseSearch??Ct,protocolAllowlist:e.protocolAllowlist??m}),typeof document<`u`&&(self.__TSR_ROUTER__=this)}isShell(){return!!this.options.isShell}isPrerendering(){return!!this.options.isPrerendering}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(e){let t=this.routeBranchCache.get(e);return t||(t=ge(e),this.routeBranchCache.set(e,t)),t}get looseRoutesById(){return this.routesById}getParentContext(e){return e?.id?e.context??this.options.context??void 0:this.options.context??void 0}matchRoutesInternal(e,t){let n=this.getMatchedRoutes(e.pathname),{foundRoute:r,routeParam
10s:i}=n,{matchedRoutes:a}=n,o=!1;(r?r.path!==`/`&&i[`**`]:E(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let s=o?Sn(this.options.notFoundMode,a):void 0,c=Array(a.length),l=new Map;for(let e of this.stores.matchStores.values())e.routeId&&l.set(e.routeId,e.get());for(let n=0;n<a.length;n++){let r=a[n],o=c[n-1],u,f,p;{let n=o?.search??e.search,i=o?._strictSearch??void 0;try{let e=vn(r.options.validateSearch,{...n})??void 0;u={...n,...e},f={...i,...e},p=void 0}catch(e){let r=e;if(e instanceof hn||(r=new hn(e.message,{cause:e})),t?.throwOnError)throw r;u=n,f={},p=r}}let m=r.options.loaderDeps?.({search:u})??``,h=m?JSON.stringify(m):``,{interpolatedPath:g,usedParams:_}=ie({path:r.fullPath,params:i,decoder:this.pathParamsDecoder,server:this.isServer}),v=r.id+g+h,y=this.getMatch(v),x=l.get(r.id),ee=y?._strictParams??_,S;if(!y)try{Cn(r,ee)}catch(e){if(S=ye(e)||xe(e)?e:new gn(e.message,{cause:e}),t?.throwOnError)throw S}Object.assign(i,ee);let C=x?`stay`:`enter`,te;if(y)te={...y,cause:C,params:x?.params??i,_strictParams:ee,search:_e(x?x.search:y.search,u),_strictSearch:f};else{let e=r.options.loader||r.options.beforeLoad||r.lazyFn||en(r)?`pending`:`success`;te={id:v,ssr:r.options.ssr,index:n,routeId:r.id,params:x?.params??i,_strictParams:ee,pathname:g,updatedAt:Date.now(),search:x?_e(x.search,u):u,_strictSearch:f,searchError:void 0,status:e,isFetching:!1,error:void 0,paramsError:S,__routeContext:void 0,_nonReactive:{loadPromise:b()},__beforeLoadContext:void 0,context:{},abortController:new AbortController,fetchCount:0,cause:C,loaderDeps:x?d(x.loaderDeps,m):m,invalid:!1,preload:!1,links:void 0,scripts:void 0,headScripts:void 0,meta:void 0,staticData:r.options.staticData||{},fullPath:r.fullPath}}t?.preload||(te.globalNotFound=s===r.id),te.searchError=p;let ne=this.getParentContext(o);te.context={...ne,...te.__routeContext,...te.__beforeLoadContext},c[n]=te}for(let t=0;t<c.length;t++){let n=c[t],r=this.looseRoutesById[n.routeId],a=this.getMatch(n.id),o=l.get(n.routeId);if(n.params=o?_e(o.params,i):i,!a){let i=c[t-1],a=this.getParentContext(i);if(r.options.context){let t={deps:n.loaderDeps,params:n.params,context:a??{},location:e,navigate:t=>this.navigate({...t,_fromLocation:e}),buildLocation:this.buildLocation,cause:n.cause,abortController:n.abortController,preload:!!n.preload,matches:c,routeId:r.id};n.__routeContext=r.options.context(t)??void 0}n.context={...a,...n.__routeContext,...n.__beforeLoadContext}}}return c}matchRoutesLightweight(e){let t=ee(this.stores.matchesId.get()),n=this.lightweightCache.get(e);if(n&&n[0]===t)return n[1];let{matchedRoutes:r,routeParams:i}=this.getMatchedRoutes(e.pathname),a=ee(r),o={...e.search};for(let e of r)try{Object.assign(o,vn(e.options.validateSearch,o))}catch{}let s=t&&this.stores.matchStores.get(t)?.get(),c=s&&s.routeId===a.id&&s.pathname===e.pathname,l;if(c)l=s.params;else{let e=Object.assign(Object.create(null),i);for(let t of r)try{Cn(t,e)}catch{}l=e}let u={matchedRoutes:r,fullPath:a.fullPath,search:o,params:l};return this.lightweightCache.set(e,[t,u]),u}},hn=class extends Error{},gn=class extends Error{};function _n(e){return{loadedAt:0,isLoading:!1,isTransitioning:!1,status:`idle`,resolvedLocation:void 0,location:e,matches:[],statusCode:200}}function vn(e,t){if(e==null)return{};if(`~standard`in e){let n=e[`~standard`].validate(t);if(n instanceof Promise)throw new hn(`Async validation not supported`);if(n.issues)throw new hn(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return`parse`in e?e.parse(t):typeof e==`function`?e(t):{}}function yn({pathname:e,routesById:t,processedTree:n}){let r=Object.create(null),i=E(e),a,o=he(i,n,!0);return o&&(a=o.route,Object.assign(r,o.rawParams)),{matchedRoutes:o?.branch||[t.__root__],routeParams:r,foundRoute:a}}function bn({search:e,dest:t,destRoutes:n,_includeValidateSearch:r}){return xn(n)(e,t,r??!1)}function xn(e){let t,n,r=[];for(let t of e){let e=t.options;`search`in e?e.search?.middlewares&&r.push(...e.search.middlewares):(e.preSearchFilters||e.postSearchFilters)&&r.push(({search:t,next:n})=>{let r=n(e.preSearchFilters?e.preSearchFilters.reduce((e,t)=>
10t(e),t):t);return e.postSearchFilters?e.postSearchFilters.reduce((e,t)=>t(e),r):r});let i=e.validateSearch;i&&r.push(({search:e,next:t,meta:r})=>{let a=t(e);if(n)try{let e=vn(i,a);if(r&&e)for(let t in e)t in a||(r.defaulted||=new Map).set(t,e[t]);return{...a,...e}}catch{}return a})}let i=(e,n,a)=>{if(e>=r.length){if(!t.search)return{};if(t.search===!0)return n;let e=y(t.search,n);return a&&(a.explicit=e),e}return r[e]({search:n,next:(t,n)=>{if(n){let n=a||{};return{search:i(e+1,t,n),meta:n}}return i(e+1,t,a)},meta:a})};return function(e,r,a){return t=r,n=a,i(0,e)}}function Sn(e,t){if(e!==`root`)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.children)return n.id}return Te}function Cn(e,t){let n=e.options.params?.parse??e.options.parseParams;if(n){let e=n(t);if(e===!1)throw Error(`Route params.parse returned false for a matched route`);Object.assign(t,e)}}var wn=Symbol.for(`TSR_DEFERRED_PROMISE`);function Tn(e,t){let n=e;return n[wn]?n:(n[wn]={status:`pending`},n.then(e=>{n[wn].status=`success`,n[wn].data=e}).catch(e=>{n[wn].status=`error`,n[wn].error={data:(t?.serializeError??fn)(e),__isServerError:!0}}),n)}function En(e,t){if(e)return typeof e==`string`?e:e[t]}function Dn(e){return e?.scriptFormat??`module`}function On(e,t,n){let r=kn(t),i=En(n,`script`)??r.crossOrigin;return{...Dn(e)===`iife`?{rel:`preload`,as:`script`}:{rel:`modulepreload`},href:r.href,...i?{crossOrigin:i}:{}}}function kn(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function An(e,t){if(t.length===0)return;if(t.length===1){e.push(t[0]);return}let n=new Set;for(let r of t){let t=JSON.stringify(r);n.has(t)||(n.add(t),e.push(r))}}function jn(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}var Mn=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e.originalIndex;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=Te:this.parentRoute||i();let r=n?Te:t?.path;r&&r!==`/`&&(r=te(r));let a=t?.id||r,o=n?Te:T([this.parentRoute.id===`__root__`?``:this.parentRoute.id,a]);r===`__root__`&&(r=`/`),o!==`__root__`&&(o=T([`/`,o]));let s=o===`__root__`?`/`:T([this.parentRoute.fullPath,r]);this._path=r,this._id=o,this._fullPath=s,this._to=E(s)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>be({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},Nn=class extends Mn{constructor(e){super(e)}},Pn=c({key:`$TSS/serverfn`,test:e=>typeof e!=`function`||!(o in e)?!1:!!e[o],toSerializable:({serverFnMeta:e})=>({functionId:e.id}),fromSerializable:({functionId:e})=>s(e)});function Fn(e){return e.replaceAll(`\0`,`/`).replaceAll(`�`,`/`)}function In(e,t){e.id=t.i,e.__beforeLoadContext=t.b,e.loaderData=t.l,e.status=t.s,e.ssr=t.ssr,e.updatedAt=t.u,e.error=t.e,t.g!==void 0&&(e.globalNotFound=t.g)}async function Ln(e){window.$_TSR||i();let t=e.options.serializationAdapters;if(t?.length){let e=new Map;t.forEach(t=>{e.set(t.key,t.fromSerializable)}),window.$_TSR.t=e,window.$_TSR.buffer.forEach(e=>e())}window.$_TSR.initialized=!0,window.$_TSR.router||i();let n=window.$_TSR.router;n.matches.forEach(e=>{e.i=Fn(e.i)}),n.lastMatchId&&=Fn(n.lastMatchId);let{manifest:r,dehydratedData:a,lastMatchId:o}=n;e.ssr={manifest:r};let s=document.querySelector(`meta[property="csp-nonce"]`)?.content;e.options.ssr={nonce:s},await e.options.hydrate?.(a);let c=e.matchRoutes(e.stores.location.get()),l=Promise.all(c.map(t=>e.loadRouteChunk(e.looseRoutesById[t.routeId])));function u(t){let n=e.looseRoutesById[t.routeId].options.pendingMinMs??e.options.defaultPendingMinMs;if(n){let r=b();t._nonReactive.minPendingPromise=r,t._forcePending=!0,setTimeout(()=>{r.resolve(),e.updateMatch(t.id,e=>(e._nonReactive.minPendingPromise=void 0,{...e,_forcePending:void 0}))},n)}}function d(t){let n=e.looseRoutesById[t.routeId];n&&(n.options.ssr=t.ssr)}let f;
10c.forEach(e=>{let t=n.matches.find(t=>t.i===e.id);if(!t){e._nonReactive.dehydrated=!1,e.ssr=!1,d(e);return}In(e,t),d(e),e._nonReactive.dehydrated=e.ssr!==!1,(e.ssr===`data-only`||e.ssr===!1)&&f===void 0&&(f=e.index,u(e))}),e.stores.setMatches(c);let p=e.stores.matches.get(),m=e.stores.location.get();await Promise.all(p.map(async t=>{try{let n=e.looseRoutesById[t.routeId],r=p[t.index-1]?.context??e.options.context;if(n.options.context){let i={deps:t.loaderDeps,params:t.params,context:r??{},location:m,navigate:t=>e.navigate({...t,_fromLocation:m}),buildLocation:e.buildLocation,cause:t.cause,abortController:t.abortController,preload:!1,matches:c,routeId:n.id};t.__routeContext=n.options.context(i)??void 0}t.context={...r,...t.__routeContext,...t.__beforeLoadContext};let i={ssr:e.options.ssr,matches:p,match:t,params:t.params,loaderData:t.loaderData},a=await n.options.head?.(i),o=await n.options.scripts?.(i);t.meta=a?.meta,t.links=a?.links,t.headScripts=a?.scripts,t.styles=a?.styles,t.scripts=o}catch(e){if(ye(e))t.error={isNotFound:!0},console.error(`NotFound error during hydration for routeId: ${t.routeId}`,e);else throw t.error=e,console.error(`Error during hydration for route ${t.routeId}:`,e),e}}));let h=c[c.length-1].id!==o;if(!c.some(e=>e.ssr===!1)&&!h)return c.forEach(e=>{e._nonReactive.dehydrated=void 0}),e.stores.resolvedLocation.set(e.stores.location.get()),l;let g=Promise.resolve().then(()=>e.load()).catch(e=>{console.error(`Error during router hydration:`,e)});if(h){let t=c[1];t||i(),u(t),t._displayPending=!0,t._nonReactive.displayPendingPromise=g,g.then(()=>{e.batch(()=>{e.stores.status.get()===`pending`&&(e.stores.status.set(`idle`),e.stores.resolvedLocation.set(e.stores.location.get())),e.updateMatch(t.id,e=>({...e,_displayPending:void 0,displayPendingPromise:void 0}))})})}return l}var O=t(r(),1),k=n();function Rn({promise:e}){if(se)return se(e);let t=Tn(e);if(t[wn].status===`pending`)throw t;if(t[wn].status===`error`)throw t[wn].error;return t[wn].data}function zn(e){let t=(0,k.jsx)(Bn,{...e});return e.fallback?(0,k.jsx)(O.Suspense,{fallback:e.fallback,children:t}):t}function Bn(e){let t=Rn(e);return e.children(t)}function Vn(e){let t=e.errorComponent??Un;return(0,k.jsx)(Hn,{getResetKey:e.getResetKey,onCatch:e.onCatch,children:({error:n,reset:r})=>n?O.createElement(t,{error:n,reset:r}):e.children})}var Hn=class extends O.Component{constructor(...e){super(...e),this.state={error:null}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:null}:{resetKey:n}}static getDerivedStateFromError(e){return{error:e}}reset(){this.setState({error:null})}componentDidCatch(e,t){this.props.onCatch&&this.props.onCatch(e,t)}render(){return this.props.children({error:this.state.error,reset:()=>{this.reset()}})}};function Un({error:e}){let[t,n]=O.useState(!1);return(0,k.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,k.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,k.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,k.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,k.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,k.jsx)(`div`,{children:(0,k.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e.message?(0,k.jsx)(`code`,{children:e.message}):null})}):null]})}var Wn=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(Wn||{});function Gn({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;
10if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function Kn(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var qn=[],Jn=0,{link:Yn,unlink:Xn,propagate:Zn,checkDirty:Qn,shallowPropagate:$n}=Gn({update(e){return e._update()},notify(e){qn[tr++]=e,e.flags&=~Wn.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=Wn.Mutable|Wn.Dirty,ar(e))}}),er=0,tr=0,nr,rr=0;function ir(e){try{++rr,e()}finally{--rr||or()}}function ar(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Xn(n,e)}function or(){if(!(rr>0)){for(;er<tr;){let e=qn[er];qn[er++]=void 0,e.notify()}er=0,tr=0}}function sr(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:n?Wn.None:Wn.Mutable,get(){return nr!==void 0&&Yn(i,nr,Jn),i._snapshot},subscribe(e){let t=Kn(e),n={current:!1},r=cr(()=>{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=nr,o=t?.compare??Object.is;if(n)nr=i,++Jn,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=Wn.Mutable|Wn.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{nr=a,n&&(i.flags&=~Wn.RecursedCheck),ar(i)}}};return n?(i.flags=Wn.Mutable|Wn.Dirty,i.get=function(){let e=i.flags;if(e&Wn.Dirty||e&Wn.Pending&&Qn(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&$n(e)}}else e&Wn.Pending&&(i.flags=e&~Wn.Pending);return nr!==void 0&&Yn(i,nr,Jn),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(Zn(e),$n(e),or())}},i}function cr(e){let t=()=>{let t=nr;nr=n,++Jn,n.depsTail=void 0,n.flags=Wn.Watching|Wn.RecursedCheck;try{return e()}finally{nr=t,n.flags&=~Wn.RecursedCheck,ar(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:Wn.Watching|Wn.RecursedCheck,notify(){let e=this.flags;e&Wn.Dirty||e&Wn.Pending&&Qn(this.deps,this)?t():this.flags=Wn.Watching},stop(){this.flags=Wn.None,this.depsTail=void 0,ar(this)}};return t(),n}var lr={get(){},subscribe(){return{unsubscribe(){}}}};function ur(e,t){let n=O.useRef();return r=>{let i=e?.select?e.select(r):r;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=d(n.current,i):i}}function dr(e){let t=ke(),n=O.useContext(e.from?Ee:we),r=e.from?t.stores.getRouteMatchStore(e.from):t.stores.matchStores.get(n),a=ur(e,t),o=pe(r??lr,e=>e?a(e):lr);if(o!==lr)return o;(e.shouldThrow??!0)&&i()}function fr(e){return dr({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function pr(e){let{select:t,...n}=e;return dr({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function mr(e){return dr({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function hr(e){return dr({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function gr(e){let t=ke();return O.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function _r(e){return dr({...e,select:t=>e.select?e.select(t.context):t.context})}var vr=class extends Mn{constructor(e){super(e),this.useMatch=e=>dr({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>_r({...e,from:this.id}),this.useSearch=e=>hr({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>mr({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>pr({...e,from:this.id}),this.useLoaderData=e=>fr({...e,from:this.id}),this.useNavigate=()=>gr({from:this.fullPath}),this.Link=O.forwardRef((e,t)=>
10(0,k.jsx)(De,{ref:t,from:this.fullPath,...e}))}};function yr(e){return new vr(e)}function br(){return e=>Sr(e)}var xr=class extends Nn{constructor(e){super(e),this.useMatch=e=>dr({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>_r({...e,from:this.id}),this.useSearch=e=>hr({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>mr({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>pr({...e,from:this.id}),this.useLoaderData=e=>fr({...e,from:this.id}),this.useNavigate=()=>gr({from:this.fullPath}),this.Link=O.forwardRef((e,t)=>(0,k.jsx)(De,{ref:t,from:this.fullPath,...e}))}};function Sr(e){return new xr(e)}function A(e){return new Cr(e,{silent:!0}).createRoute}var Cr=class{constructor(e,t){this.path=e,this.createRoute=e=>{let t=yr(e);return t.isRoot=!1,t},this.silent=t?.silent}};function j(e,t){let n,r,i,a,o=()=>(n||=e().then(e=>{n=void 0,r=e[t??`default`]}).catch(e=>{if(i=e,g(i)&&i instanceof Error&&typeof window<`u`&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;sessionStorage.getItem(e)||(sessionStorage.setItem(e,`1`),a=!0)}}),n),s=function(e){if(a)throw window.location.reload(),new Promise(()=>{});if(i)throw i;if(!r)if(se)se(o());else throw o();return O.createElement(r,e)};return s.preload=o,s}function wr(e){let t=ke(),n=`not-found-${pe(t.stores.location,e=>e.pathname)}-${pe(t.stores.status,e=>e)}`;return(0,k.jsx)(Vn,{getResetKey:()=>n,onCatch:(t,n)=>{if(ye(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(ye(t))return e.fallback?.(t);throw t},children:e.children})}function Tr(){return(0,k.jsx)(`p`,{children:`Not Found`})}function Er(e){return(0,k.jsx)(k.Fragment,{children:e.children})}function Dr(e,t,n){return t.options.notFoundComponent?(0,k.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,k.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,k.jsx)(Tr,{})}var Or=(e,t)=>e.routeId===t.routeId&&e._displayPending===t._displayPending,kr=(e,t)=>e[0]===t[0]&&e[1]===t[1],Ar=O.memo(function({matchId:e}){let t=ke(),n=t.stores.matchStores.get(e);n||i();let r=pe(t.stores.loadedAt,e=>e),a=pe(n,e=>e,Or);return(0,k.jsx)(jr,{router:t,matchId:e,resetKey:r,matchState:O.useMemo(()=>{let e=a.routeId,n=t.routesById[e].parentRoute?.id;return{routeId:e,ssr:a.ssr,_displayPending:a._displayPending,parentRouteId:n}},[a._displayPending,a.routeId,a.ssr,t.routesById])})});function jr({router:e,matchId:t,resetKey:n,matchState:r}){let i=e.routesById[r.routeId],a=i.options.pendingComponent??e.options.defaultPendingComponent,o=a?(0,k.jsx)(a,{}):null,s=i.options.errorComponent??e.options.defaultErrorComponent,c=i.options.onCatch??e.options.defaultOnCatch,l=i.isRoot?i.options.notFoundComponent??e.options.notFoundRoute?.options.component:i.options.notFoundComponent,u=r.ssr===!1||r.ssr===`data-only`,d=(!i.isRoot||i.options.wrapInSuspense||u)&&(i.options.wrapInSuspense??a??(i.options.errorComponent?.preload||u))?O.Suspense:Er,f=s?Vn:Er,p=l?wr:Er;return(0,k.jsxs)(i.isRoot?i.options.shellComponent??Er:Er,{children:[(0,k.jsx)(we.Provider,{value:t,children:(0,k.jsx)(d,{fallback:o,children:(0,k.jsx)(f,{getResetKey:()=>n,errorComponent:s||Un,onCatch:(e,t)=>{if(ye(e))throw e.routeId??=r.routeId,e;c?.(e,t)},children:(0,k.jsx)(p,{fallback:e=>{if(e.routeId??=r.routeId,!l||e.routeId&&e.routeId!==r.routeId||!e.routeId&&!i.isRoot)throw e;return O.createElement(l,e)},children:u||r._displayPending?(0,k.jsx)(w,{fallback:o,children:(0,k.jsx)(Nr,{matchId:t})}):(0,k.jsx)(Nr,{matchId:t})})})})}),r.parentRouteId===`__root__`?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Mr,{}),(e.options.scrollRestoration,null)]}):null]})}function Mr(){let e=ke(),t=O.useRef();return fe(()=>{let n=e.stores.resolvedLocation.get(),r=t.current;n&&(!r||r.href!==n.href)&&e.emit({type:`onRendered`,...pn(e.stores.location.get(),r??n)}),t.current=n},[pe(e.stores.resolvedLocation,e=>e?.state.__TSR_key),e]),null}var Nr=O.memo(function({matchId:e}){let t=ke(),n=(e,n)=>t.getMatch(e.id)?._nonReactive[n]??e._nonReactive[n],r=t.stores.matchStores.get(e);r||i();let a=pe(r,e=>e),o=a.routeId,s=t.routesById[o],c=O.useMemo(()=>{let e=(t.routesById[o].options.remountDeps??t.options.defaultRemountDeps)?.({routeId:o,loaderDeps:a.loaderDeps,params:a._strictParams,search:a._strictSearch});return e?JSON.stringify(e):void 0},[o,a.loaderDeps,a._strictParams,a._strictSearch,t.options.defaultRemountDeps,t.routesById]),l=O.useMemo(()=>{let e=s.options.component??t.options.defaultComponent;return e?(0,k.jsx)(e,{},c):(0,k.jsx)(Pr,{})},[c,s.options.component,t.options.defaultComponent]);if(a._displayPending)throw n(a,`displayPendingPromise`);if(a._forcePending)throw n(a,`minPendingPromise`);
10if(a.status===`pending`){let e=s.options.pendingMinMs??t.options.defaultPendingMinMs;if(e){let n=t.getMatch(a.id);if(n&&!n._nonReactive.minPendingPromise){let t=b();n._nonReactive.minPendingPromise=t,setTimeout(()=>{t.resolve(),n._nonReactive.minPendingPromise=void 0},e)}}throw n(a,`loadPromise`)}if(a.status===`notFound`)return ye(a.error)||i(),Dr(t,s,a.error);if(a.status===`redirected`)throw xe(a.error)||i(),n(a,`loadPromise`);if(a.status===`error`)throw a.error;return l}),Pr=O.memo(function(){let e=ke(),t=O.useContext(we),n,r=!1,a;{let i=t?e.stores.matchStores.get(t):void 0;[n,r]=pe(i,e=>[e?.routeId,e?.globalNotFound??!1],kr),a=pe(e.stores.matchesId,e=>e[e.findIndex(e=>e===t)+1])}let o=n?e.routesById[n]:void 0,s=e.options.defaultPendingComponent?(0,k.jsx)(e.options.defaultPendingComponent,{}):null;if(r)return o||i(),Dr(e,o,void 0);if(!a)return null;let c=(0,k.jsx)(Ar,{matchId:a});return n===`__root__`?(0,k.jsx)(O.Suspense,{fallback:s,children:c}):c});function Fr(){let e=ke(),t=O.useRef({router:e,mounted:!1}),[n,r]=O.useState(!1),i=pe(e.stores.isLoading,e=>e),a=pe(e.stores.hasPending,e=>e),o=re(i),s=i||n||a,c=re(s),l=i||a,u=re(l);return e.startTransition=e=>{r(!0),O.startTransition(()=>{e(),r(!1)})},O.useEffect(()=>{let t=e.history.subscribe(e.load),n=e.buildLocation({to:e.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return E(e.latestLocation.publicHref)!==E(n.publicHref)&&e.commitLocation({...n,replace:!0}),()=>{t()}},[e,e.history]),fe(()=>{typeof window<`u`&&e.ssr||t.current.router===e&&t.current.mounted||(t.current={router:e,mounted:!0},(async()=>{try{await e.load()}catch(e){console.error(e)}})())},[e]),fe(()=>{o&&!i&&e.emit({type:`onLoad`,...pn(e.stores.location.get(),e.stores.resolvedLocation.get())})},[o,e,i]),fe(()=>{u&&!l&&e.emit({type:`onBeforeRouteMount`,...pn(e.stores.location.get(),e.stores.resolvedLocation.get())})},[l,u,e]),fe(()=>{if(c&&!s){let t=pn(e.stores.location.get(),e.stores.resolvedLocation.get());e.emit({type:`onResolved`,...t}),ir(()=>{e.stores.status.set(`idle`),e.stores.resolvedLocation.set(e.stores.location.get())})}},[s,c,e]),null}function Ir(){let e=ke(),t=e.routesById.__root__.options.pendingComponent??e.options.defaultPendingComponent,n=t?(0,k.jsx)(t,{}):null,r=(0,k.jsxs)(typeof document<`u`&&e.ssr?Er:O.Suspense,{fallback:n,children:[(0,k.jsx)(Fr,{}),(0,k.jsx)(Lr,{})]});return e.options.InnerWrap?(0,k.jsx)(e.options.InnerWrap,{children:r}):r}function Lr(){let e=ke(),t=pe(e.stores.firstId,e=>e),n=pe(e.stores.loadedAt,e=>e),r=t?(0,k.jsx)(Ar,{matchId:t}):null;return(0,k.jsx)(we.Provider,{value:t,children:e.options.disableGlobalCatchBoundary?r:(0,k.jsx)(Vn,{getResetKey:()=>n,errorComponent:Un,onCatch:void 0,children:r})})}var Rr=e=>({createMutableStore:sr,createReadonlyStore:sr,batch:ir}),zr=e=>new Br(e),Br=class extends mn{constructor(e){super(e,Rr)}};function Vr({router:e,children:t,...n}
10){x(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,k.jsx)(Oe.Provider,{value:e,children:t});return e.options.Wrap?(0,k.jsx)(e.options.Wrap,{children:r}):r}function Hr({router:e,...t}){return(0,k.jsx)(Vr,{router:e,...t,children:(0,k.jsx)(Ir,{})})}function Ur(e){let t=ke({warn:e?.router===void 0}),n=e?.router||t;return pe(n.stores.__store,ur(e,n))}function Wr(e,t){if(t)for(let[n,r]of Object.entries(t))n!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&e.setAttribute(n,typeof r==`boolean`?``:String(r))}function Gr(e){let{attrs:t,children:n,nonce:r,preventScriptHoist:i}=e;switch(e.tag){case`title`:return(0,k.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,k.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,k.jsx)(`link`,{...t,precedence:t?.precedence??(t?.rel===`stylesheet`?`default`:void 0),nonce:r,suppressHydrationWarning:!0});case`style`:return e.inlineCss,(0,k.jsx)(`style`,{...t,dangerouslySetInnerHTML:{__html:n},nonce:r});case`script`:return(0,k.jsx)(Kr,{attrs:t,preventScriptHoist:i,children:n});default:return null}}function Kr({attrs:e,children:t,preventScriptHoist:n}){ke();let r=de(),i=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(O.useEffect(()=>{if(!i){if(e?.src){let t=(()=>{try{let t=document.baseURI||window.location.href;return new URL(e.src,t).href}catch{return e.src}})();for(let e of document.querySelectorAll(`script[src]`))if(e.src===t)return;let n=document.createElement(`script`);return Wr(n,e),document.head.appendChild(n),()=>n.remove()}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;for(let e of document.querySelectorAll(`script:not([src])`)){if(!(e instanceof HTMLScriptElement))continue;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;if(e.textContent===t&&i===n&&a===r)return}let i=document.createElement(`script`);return i.textContent=t,Wr(i,e),document.head.appendChild(i),()=>i.remove()}}},[e,t,i]),i&&typeof t==`string`)return(0,k.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:t}});if(!r){if(e?.src)return(0,k.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,k.jsx)(`script`,{...e,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}return null}var qr=e=>{let t=ke(),n=t.options.ssr?.nonce,r=pe(t.stores.matches,e=>e.map(e=>e.meta).filter(e=>e!==void 0),u),i=O.useMemo(()=>{let e=[],t={},i;for(let a=r.length-1;a>=0;a--){let o=r[a];for(let r=o.length-1;r>=0;r--){let a=o[r];if(a)if(a.title)i||={tag:`title`,children:a.title};else if(`script:ld+json`in a)try{let t=JSON.stringify(a[`script:ld+json`]);e.push({tag:`script`,attrs:{type:`application/ld+json`},children:v(t)})}catch{}else{let r=a.name??a.property;if(r){if(t[r])continue;t[r]=!0}e.push({tag:`meta`,attrs:{...a,nonce:n}})}}}return i&&e.push(i),n&&e.push({tag:`meta`,attrs:{property:`csp-nonce`,content:n}}),e.reverse(),e},[r,n]),a=pe(t.stores.matches,e=>e.flatMap(e=>e.links??[]).filter(e=>e!==void 0).map(e=>({tag:`link`,attrs:{...e,nonce:n}})),u),o=pe(t.stores.matches,r=>{let i=t.ssr?.manifest,a=[];return i?(r.forEach(t=>{i.routes[t.routeId]?.css?.forEach(t=>{let r=jn(t);a.push({tag:`link`,attrs:{rel:`stylesheet`,...r,crossOrigin:En(e,`stylesheet`)??r.crossOrigin,suppressHydrationWarning:!0,nonce:n}})})}),i.inlineStyle&&a.push({tag:`style`,attrs:{...i.inlineStyle.attrs,nonce:n},children:i.inlineStyle.children,inlineCss:!0}),a):a},u),s=pe(t.stores.matches,r=>{let i=[],a=t.ssr?.manifest;return a&&r.forEach(t=>{a.routes[t.routeId]?.preloads?.forEach(t=>{i.push({tag:`link`,attrs:{...On(a,t,e),nonce:n}})})}),i},u),c=pe(t.stores.matches,e=>e.flatMap(e=>e.styles??[]).filter(e=>e!==void 0).map(({children:e,...t})=>({tag:`style`,attrs:{...t,nonce:n},children:e})),u),l=pe(t.stores.matches,e=>e.flatMap(e=>e.headScripts??[]).filter(e=>e!==void 0).map(({children:e,...t})=>({tag:`script`,attrs:{...t,nonce:n},children:e})),u),d=[];return An(d,i),d.push(...s),An(d,a),d.push(...o),An(d,c),An(d,l),d};function Jr(e){let t=qr(e.assetCrossOrigin),n=ke().options.ssr?.nonce;return(0,k.jsx)(k.Fragment,{children:t.map(e=>(0,O.createElement)(Gr,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var Yr=()=>{let e=ke(),t=e.options.ssr?.nonce,n=n=>{let r=[],i=e.ssr?.manifest;if(!i)return[];for(let e of n){let n=i.routes[e.routeId]?.scripts;if(n)for(let e of n)r.push({tag:`script`,attrs:{...e.attrs,nonce:t},children:e.children,...typeof e.attrs?.src==`string`?{preventScriptHoist:!0}:{}})}return r},r=e=>e.map(e=>
10e.scripts).flat(1).filter(Boolean).map(({children:e,...n})=>({tag:`script`,attrs:{...n,suppressHydrationWarning:!0,nonce:t},children:e})),i=pe(e.stores.matches,n,u);return Xr(e,pe(e.stores.matches,r,u),i)};function Xr(e,t,n){let r=[...t,...n];return(0,k.jsx)(k.Fragment,{children:r.map((e,t)=>(0,O.createElement)(Gr,{...e,key:`tsr-scripts-${e.tag}-${t}`}))})}function Zr(e,t){for(let n=0,r=t.length;n<r;n++){let r=t[n];e.has(r)||(e.add(r),r.extends&&Zr(e,r.extends))}}var Qr=e=>({getOptions:async()=>{let t=await e();if(t.serializationAdapters){let e=new Set;Zr(e,t.serializationAdapters),t.serializationAdapters=Array.from(e)}return t},createMiddleware:Ae}),$r=Symbol.for(`@supabase/supabase-js.traceContextExtractor`);function ei(){return globalThis[$r]}function ti(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function ni(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}var ri=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),ii=class extends Error{constructor(e,t=`FunctionsError`,n){super(e),this.name=t,this.context=n}toJSON(){return{name:this.name,message:this.message,context:this.context}}},ai=class extends ii{constructor(e){super(`Failed to send a request to the Edge Function`,`FunctionsFetchError`,e)}},oi=class extends ii{constructor(e){super(`Relay Error invoking the Edge Function`,`FunctionsRelayError`,e)}},si=class extends ii{constructor(e){super(`Edge Function returned a non-2xx status code`,`FunctionsHttpError`,e)}},ci;(function(e){e.Any=`any`,e.ApNortheast1=`ap-northeast-1`,e.ApNortheast2=`ap-northeast-2`,e.ApSouth1=`ap-south-1`,e.ApSoutheast1=`ap-southeast-1`,e.ApSoutheast2=`ap-southeast-2`,e.CaCentral1=`ca-central-1`,e.EuCentral1=`eu-central-1`,e.EuWest1=`eu-west-1`,e.EuWest2=`eu-west-2`,e.EuWest3=`eu-west-3`,e.SaEast1=`sa-east-1`,e.UsEast1=`us-east-1`,e.UsWest1=`us-west-1`,e.UsWest2=`us-west-2`})(ci||={});var li=class{constructor(e,{headers:t={},customFetch:n,region:r=ci.Any}={}){this.url=e,this.headers=t,this.region=r,this.fetch=ri(n)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return ni(this,arguments,void 0,function*(e,t={}){var n;let r,i,a;try{let{headers:n,method:o,body:s,signal:c,timeout:l}=t,u={},{region:d}=t;d||=this.region;let f=new URL(`${this.url}/${e}`);d&&d!==`any`&&(u[`x-region`]=d,f.searchParams.set(`forceFunctionRegion`,d));let p,m=!!n&&Object.keys(n).some(e=>e.toLowerCase()===`content-type`);s&&!m?typeof Blob<`u`&&s instanceof Blob||s instanceof ArrayBuffer?(u[`Content-Type`]=`application/octet-stream`,p=s):typeof s==`string`?(u[`Content-Type`]=`text/plain`,p=s):typeof FormData<`u`&&s instanceof FormData?p=s:(u[`Content-Type`]=`application/json`,p=JSON.stringify(s)):p=s&&typeof s!=`string`&&!(typeof Blob<`u`&&s instanceof Blob)&&!(s instanceof ArrayBuffer)&&!(typeof FormData<`u`&&s instanceof FormData)?JSON.stringify(s):s;let h=c;l&&(i=new AbortController,r=setTimeout(()=>i.abort(),l),c?(h=i.signal,a=()=>i.abort(),c.addEventListener(`abort`,a)):h=i.signal);let g=yield this.fetch(f.toString(),{method:o||`POST`,headers:Object.assign(Object.assign(Object.assign({},u),this.headers),n),body:p,signal:h}).catch(e=>{throw new ai(e)}),_=g.headers.get(`x-relay-error`);if(_&&_===`true`)throw new oi(g);if(!g.ok)throw new si(g);let v=(g.headers.get(`Content-Type`)??`text/plain`).split(`;`)[0].trim().toLowerCase(),y;return y=v===`application/json`?yield g.json():v===`application/octet-stream`||v===`application/pdf`?yield g.blob():v===`text/event-stream`?g:v===`multipart/form-data`?yield g.formData():yield g.text(),{data:y,error:null,response:g}}catch(e){return{data:null,error:e,response:e instanceof si||e instanceof oi?e.context:void 0}}finally{r&&clearTimeout(r),a&&((n=t.signal)==null||n.removeEventListener(`abort`,a))}})}},ui=3,di=e=>Math.min(1e3*2**e,3e4),fi=[520,503],pi=[`GET`,`HEAD`,`OPTIONS`],mi=class extends 
vendor: 14,798 bytes, line 10
10Error{constructor(e){super(e.message),this.name=`PostgrestError`,this.details=e.details,this.hint=e.hint,this.code=e.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function hi(e){"@babel/helpers - typeof";return hi=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},hi(e)}function gi(e,t){if(hi(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(hi(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function _i(e){var t=gi(e,`string`);return hi(t)==`symbol`?t:t+``}function vi(e,t,n){return(t=_i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bi(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?yi(Object(n),!0).forEach(function(t){vi(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yi(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function xi(e,t){return new Promise(n=>{if(t?.aborted){n();return}let r=setTimeout(()=>{t?.removeEventListener(`abort`,i),n()},e);function i(){clearTimeout(r),n()}t?.addEventListener(`abort`,i)})}function Si(e,t,n,r){return!(!r||n>=ui||!pi.includes(e)||!fi.includes(t))}var Ci=class{constructor(e){this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError??!1,this.signal=e.signal,this.isMaybeSingle=e.isMaybeSingle??!1,this.shouldStripNulls=e.shouldStripNulls??!1,this.urlLengthLimit=e.urlLengthLimit??8e3,this.retryEnabled=e.retry??!0,e.fetch?this.fetch=e.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get(`Accept`)===`text/csv`)throw Error(`stripNulls() cannot be used with csv()`);return this.shouldStripNulls=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}retry(e){return this.retryEnabled=e,this}then(e,t){var n=this;if(this.schema===void 0||([`GET`,`HEAD`].includes(this.method)?this.headers.set(`Accept-Profile`,this.schema):this.headers.set(`Content-Profile`,this.schema)),this.method!==`GET`&&this.method!==`HEAD`&&this.headers.set(`Content-Type`,`application/json`),this.shouldStripNulls){let e=this.headers.get(`Accept`);e===`application/vnd.pgrst.object+json`?this.headers.set(`Accept`,`application/vnd.pgrst.object+json;nulls=stripped`):(!e||e===`application/json`)&&this.headers.set(`Accept`,`application/vnd.pgrst.array+json;nulls=stripped`)}let r=this.fetch,i=(async()=>{let e=0;for(;;){let t={};n.headers.forEach((e,n)=>{t[n]=e}),e>0&&(t[`X-Retry-Count`]=String(e));let i;try{i=await r(n.url.toString(),{method:n.method,headers:t,body:JSON.stringify(n.body,(e,t)=>typeof t==`bigint`?t.toString():t),signal:n.signal})}catch(t){if(t?.name===`AbortError`||t?.code===`ABORT_ERR`||!pi.includes(n.method))throw t;if(n.retryEnabled&&e<ui){let t=di(e);e++,await xi(t,n.signal);continue}throw t}if(Si(n.method,i.status,e,n.retryEnabled)){let t=i.headers?.get(`Retry-After`)??null,r=t===null?di(e):Math.max(0,parseInt(t,10)||0)*1e3;await i.text(),e++,await xi(r,n.signal);continue}return await n.processResponse(i)}})();return this.shouldThrowOnError||(i=i.catch(e=>{let t=``,n=``,r=``,i=e?.cause;if(i){let n=i?.message??``,r=i?.code??``;t=`${e?.name??`FetchError`}: ${e?.message}`,t+=`\n\nCaused by: ${i?.name??`Error`}: ${n}`,r&&(t+=` (${r})`),i?.stack&&(t+=`\n${i.stack}`)}else t=e?.stack??``;let a=this.url.toString().length;return e?.name===`AbortError`||e?.code===`ABORT_ERR`?(r=``,n=`Request was aborted (timeout or manual cancellation)`,a>this.urlLengthLimit&&(n+=`. Note: Your request URL is ${a} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):(i?.name===`HeadersOverflowError`||i?.code===`UND_ERR_HEADERS_OVERFLOW`)&&(r=``,n=`HTTP headers exceeded server limits (typically 16KB)`,a>this.urlLengthLimit&&(n+=`. Your request URL is ${a} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${e?.name??`FetchError`}: ${e?.message}`,details:t,hint:n,code:r},data:null,count:null,status:0,statusText:``}})),i.then(e,t)}async processResponse(e){var t=this;let n=null,r=null,i=null,a=e.status,o=e.statusText;if(e.ok){if(t.method!==`HEAD`){let i=await e.text();if(i!==``)if(t.headers.get(`Accept`)===`text/csv`)r=i;else if(t.headers.get(`Accept`)&&t.headers.get(`Accept`)?.includes(`application/vnd.pgrst.plan+text`))r=i;else try{r=JSON.parse(i)}catch{if(n={message:i},r=null,t.shouldThrowOnError)throw new mi({message:i,details:``,hint:``,code:``})}}let s=t.headers.get(`Prefer`)?.match(/count=(exact|planned|estimated)/),c=e.headers.get(`content-range`)?.split(`/`);if(s&&c&&c.length>1&&(i=parseInt(c[1])),t.isMaybeSingle&&Array.isArray(r))if(r.length>1){if(n={code:`PGRST116`,details:`Results contain ${r.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:`JSON object requested, multiple (or no) rows returned`},r=null,i=null,a=406,o=`Not Acceptable`,t.shouldThrowOnError)throw new mi(bi(bi({},n),{},{hint:n.hint??``}))}else r=r.length===1?r[0]:null}else{let i=await e.text();try{n=JSON.parse(i),Array.isArray(n)&&e.status===404&&(r=[],n=null,a=200,o=`OK`)}catch{e.status===404&&i===``?(a=204,o=`No Content`):n={message:i}}if(n&&t.shouldThrowOnError)throw new mi(n)}return{success:n===null,error:n,data:r,count:i,status:a,statusText:o}}returns(){return this}overrideTypes(){return this}},wi=class extends Ci{throwOnError(){return super.throwOnError()}select(e){let t=!1,n=(e??`*`).split(``).map(e=>/\s/.test(e)&&!t?``:(e===`"`&&(t=!t),e)).join(``);return this.url.searchParams.set(`select`,n),this.headers.append(`Prefer`,`return=representation`),this}order(e,{ascending:t=!0,nullsFirst:n,foreignTable:r,referencedTable:i=r}={}){let a=i?`${i}.order`:`order`,o=this.url.searchParams.get(a);return this.url.searchParams.set(a,`${o?`${o},`:``}${e}.${t?`asc`:`desc`}${n===void 0?``:n?`.nullsfirst`:`.nullslast`}`),this}limit(e,{foreignTable:t,referencedTable:n=t}={}){let r=n===void 0?`limit`:`${n}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:n,referencedTable:r=n}={}){let i=r===void 0?`offset`:`${r}.offset`,a=r===void 0?`limit`:`${r}.limit`;return this.url.searchParams.set(i,`${e}`),this.url.searchParams.set(a,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set(`Accept`,`application/vnd.pgrst.object+json`),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set(`Accept`,`text/csv`),this}geojson(){return this.headers.set(`Accept`,`application/geo+json`),this}explain({analyze:e=!1,verbose:t=!1,settings:n=!1,buffers:r=!1,wal:i=!1,format:a=`text`}={}){let o=[e?`analyze`:null,t?`verbose`:null,n?`settings`:null,r?`buffers`:null,i?`wal`:null].filter(Boolean).join(`|`),s=this.headers.get(`Accept`)??`application/json`;return this.headers.set(`Accept`,`application/vnd.pgrst.plan+${a}; for="${s}"; options=${o};`),this}rollback(){return this.headers.append(`Prefer`,`tx=rollback`),this}returns(){return this}maxAffected(e){return this.headers.append(`Prefer`,`handling=strict`),this.headers.append(`Prefer`,`max-affected=${e}`),this}},Ti=RegExp(`[,()]`),Ei=class extends wi{throwOnError(){return super.throwOnError()}eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(`,`)}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(`,`)}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(`,`)}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(`,`)}}`),this}regexMatch(e,t){return this.url.searchParams.append(e,`match.${t}`),this}regexIMatch(e,t){return this.url.searchParams.append(e,`imatch.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}isDistinct(e,t){return this.url.searchParams.append(e,`isdistinct.${t}`),this}in(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&Ti.test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`in.(${n})`),this}notIn(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&Ti.test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`not.in.(${n})`),this}contains(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t==`string`?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(`,`)}}`),this}textSearch(e,t,{config:n,type:r}={}){let i=``;r===`plain`?i=`pl`:r===`phrase`?i=`ph`:r===`websearch`&&(i=`w`);let a=n===void 0?``:`(${n})`;return this.url.searchParams.append(e,`${i}fts${a}.${t}`),this}match(e){return Object.entries(e).filter(([e,t])=>t!==void 0).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(e,t,n){return this.url.searchParams.append(e,`not.${t}.${n}`),this}or(e,{foreignTable:t,referencedTable:n=t}={}){let r=n?`${n}.or`:`or`;return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,n){return this.url.searchParams.append(e,`${t}.${n}`),this}},Di=class{constructor(e,{headers:t={},schema:n,fetch:r,urlLengthLimit:i=8e3,retry:a}){this.url=e,this.headers=new Headers(t),this.schema=n,this.fetch=r,this.urlLengthLimit=i,this.retry=a}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,t){let{head:n=!1,count:r}=t??{},i=n?`HEAD`:`GET`,a=!1,o=(e??`*`).split(``).map(e=>/\s/.test(e)&&!a?``:(e===`"`&&(a=!a),e)).join(``),{url:s,headers:c}=this.cloneRequestState();return s.searchParams.set(`select`,o),r&&c.append(`Prefer`,`count=${r}`),new Ei({method:i,url:s,headers:c,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(e,{count:t,defaultToNull:n=!0}={}){let{url:r,headers:i}=this.cloneRequestState();if(t&&i.append(`Prefer`,`count=${t}`),n||i.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);r.searchParams.set(`columns`,e.join(`,`))}}return new Ei({method:`POST`,url:r,headers:i,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(e,{onConflict:t,ignoreDuplicates:n=!1,count:r,defaultToNull:i=!0}={}){let{url:a,headers:o}=this.cloneRequestState();if(o.append(`Prefer`,`resolution=${n?`ignore`:`merge`}-duplicates`),t!==void 0&&a.searchParams.set(`on_conflict`,t),r&&o.append(`Prefer`,`count=${r}`),i||o.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);a.searchParams.set(`columns`,e.join(`,`))}}return new Ei({method:`POST`,url:a,headers:o,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(e,{count:t}={}){let{url:n,headers:r}=this.cloneRequestState();return t&&r.append(`Prefer`,`count=${t}`),new Ei({method:`PATCH`,url:n,headers:r,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:e}={}){let{url:t,headers:n}=this.cloneRequestState();return e&&n.append(`Prefer`,`count=${e}`),new Ei({method:`DELETE`,url:t,headers:n,schema:this.schema,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}},Oi=class e{constructor(e,{headers:t={},schema:n,fetch:r,timeout:i,urlLengthLimit:a=8e3,retry:o}={}){this.url=e,this.headers=new Headers(t),this.schemaName=n,this.urlLengthLimit=a;let s=r??globalThis.fetch;i!==void 0&&i>0?this.fetch=(e,t)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),i),a=t?.signal;if(a){if(a.aborted)return clearTimeout(r),s(e,t);let i=()=>{clearTimeout(r),n.abort()};return a.addEventListener(`abort`,i,{once:!0}),s(e,bi(bi({},t),{},{signal:n.signal})).finally(()=>{clearTimeout(r),a.removeEventListener(`abort`,i)})}return s(e,bi(bi({},t),{},{signal:n.signal})).finally(()=>clearTimeout(r))}:this.fetch=s,this.retry=o}from(e){if(!e||typeof e!=`string`||e.trim()===``)throw Error(`Invalid relation name: relation must be a non-empty string.`);return new Di(new URL(`${this.url}/${e}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(t){return new e(this.url,{headers:this.headers,schema:t,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(e,t={},{head:n=!1,get:r=!1,count:i}={}){let a,o=new URL(`${this.url}/rpc/${e}`),s,c=e=>typeof e==`object`&&!!e&&(!Array.isArray(e)||e.some(c)),l=n&&Object.values(t).some(c);l?(a=`POST`,s=t):n||r?(a=n?`HEAD`:`GET`,Object.entries(t).filter(([e,t])=>t!==void 0).map(([e,t])=>[e,Array.isArray(t)?`{${t.join(`,`)}}`:`${t}
10`]).forEach(([e,t])=>{o.searchParams.append(e,t)})):(a=`POST`,s=t);let u=new Headers(this.headers);return l?u.set(`Prefer`,i?`count=${i},return=minimal`:`return=minimal`):i&&u.set(`Prefer`,`count=${i}`),new Ei({method:a,url:o,headers:u,schema:this.schemaName,body:s,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}},ki=class{constructor(){}static detectEnvironment(){if(typeof WebSocket<`u`)return{type:`native`,wsConstructor:WebSocket};let e=globalThis;if(typeof globalThis<`u`&&e.WebSocket!==void 0)return{type:`native`,wsConstructor:e.WebSocket};let t=typeof global<`u`?global:void 0;if(t&&t.WebSocket!==void 0)return{type:`native`,wsConstructor:t.WebSocket};if(typeof globalThis<`u`&&e.WebSocketPair!==void 0&&globalThis.WebSocket===void 0)return{type:`cloudflare`,error:`Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.`,workaround:`Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime.`};if(typeof globalThis<`u`&&e.EdgeRuntime||typeof navigator<`u`&&navigator.userAgent?.includes(`Vercel-Edge`))return{type:`unsupported`,error:`Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.`,workaround:`Use serverless functions or a different deployment target for WebSocket functionality.`};let n=globalThis.process;if(n){let e=n.versions;if(e&&e.node)return{type:`unsupported`,error:`Node.js detected but native WebSocket not found.`,workaround:`Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option.`}}return{type:`unsupported`,error:`Unknown JavaScript runtime without WebSocket support.`,workaround:`Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation.`}}static getWebSocketConstructor(){let e=this.detectEnvironment();if(e.wsConstructor)return e.wsConstructor;let t=e.error||`WebSocket not supported in this environment.`;throw e.workaround&&(t+=`\n\nSuggested solution: ${e.workaround}`),Error(t)}static isWebSocketSupported(){try{return this.detectEnvironment().type===`native`}catch{return!1}}},Ai=`realtime-js/2.112.3`,ji=`1.0.0`,Mi=`2.0.0`,Ni=Mi,Pi=1e4,Fi={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},Ii={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`,access_token:`access_token`},Li={connecting:`connecting`,open:`open`,closing:`closing`,closed:`closed`},Ri=class{constructor(e){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT=`broadcast`,this.allowedMetadataKeys=[],this.allowedMetadataKeys=e??[]}encode(e,t){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event==`string`)return t(this._binaryEncodeUserBroadcastPush(e));let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}_binaryEncodeUserBroadcastPush(e){return this._isArrayBuffer(e.payload?.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){let t=e.payload?.payload??new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,t)}_encodeJsonUserBroadcastPush(e){let t=e.payload?.payload??{},n=new TextEncoder().encode(JSON.stringify(t)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,n)}_encodeUserBroadcastPush(e,t,n){let r=new TextEncoder,i=r.encode(e.topic),a=r.encode(e.ref??``),o=r.encode(e.join_ref??``),s=r.encode(e.payload.event),c=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},l=r.encode(Object.keys(c).length===0?``:JSON.stringify(c));if(o.length>255)throw Error(`joinRef length ${o.length} exceeds maximum of 255`);if(a.length>255)throw Error(`ref length ${a.length} exceeds maximum of 255`);if(i.length>255)throw Error(`topic length ${i.length} exceeds maximum of 255`);if(s.length>255)throw Error(`userEvent length ${s.length} exceeds maximum of 255`);if(l.length>255)throw Error(`metadata length ${l.length} exceeds maximum of 255`);let u=this.USER_BROADCAST_PUSH_META_LENGTH+o.length+a.length+i.length+s.length+l.length,d=new ArrayBuffer(this.HEADER_LENGTH+u),f=new DataView(d),p=new Uint8Array(d),m=0;f.setUint8(m++,this.KINDS.userBroadcastPush),f.setUint8(m++,o.length),f.setUint8(m++,a.length),f.setUint8(m++,i.length),f.setUint8(m++,s.length),f.setUint8(m++,l.length),f.setUint8(m++,t),p.set(o,m),m+=o.length,p.set(a,m),m+=a.length,p.set(i,m),m+=i.length,p.set(s,m),m+=s.length,p.set(l,m),m+=l.length;var h=new Uint8Array(d.byteLength+n.byteLength);return h.set(new Uint8Array(d),0),h.set(new Uint8Array(n),d.byteLength),h.buffer}decode(e,t){if(this._isArrayBuffer(e))return t(this._binaryDecode(e));if(typeof e==`string`){let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}return t({})}_binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,t,r)}}_decodeUserBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+4,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=e.slice(s,e.byteLength),f=o===this.JSON_ENCODING?JSON.parse(n.decode(d)):d,p={type:this.BROADCAST_EVENT,event:l,payload:f};return a>0&&(p.meta=JSON.parse(u)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:p}}_isArrayBuffer(e){return e instanceof ArrayBuffer||e?.constructor?.name===`ArrayBuffer`}_pick(e,t){return!e||typeof e!=`object`?{}:Object.fromEntries(Object.entries(e).filter(([e])=>t.includes(e)))}},zi;(function(e){e.abstime=`abstime`,e.bool=`bool`,e.date=`date`,e.daterange=`daterange`,e.float4=`float4`,e.float8=`float8`,e.int2=`int2`,e.int4=`int4`,e.int4range=`int4range`,e.int8=`int8`,e.int8range=`int8range`,e.json=`json`,e.jsonb=`jsonb`,e.money=`money`,e.numeric=`numeric`,e.oid=`oid`,e.reltime=`reltime`,e.text=`text`,e.time=`time`,e.timestamp=`timestamp`,e.timestamptz=`timestamptz`,e.timetz=`timetz`,e.tsrange=`tsrange`,e.tstzrange=`tstzrange`})(zi||={});var Bi=(e,t,n={})=>{let r=n.skipTypes??[];return t?Object.keys(t).reduce((n,i)=>(n[i]=Vi(i,e,t,r),n),{}):{}},Vi=(e,t,n,r)=>{let i=t.find(t=>t.name===e)?.type,a=n[e];return i&&!r.includes(i)?M(i,a):Hi(a)},M=(e,t)=>{if(e.charAt(0)===`_`)return Ki(t,e.slice(1,e.length));switch(e){case zi.bool:return Ui(t);case zi.float4:case zi.float8:case zi.int2:case zi.int4:case zi.int8:case zi.numeric:case zi.oid:return Wi(t);case zi.json:case zi.jsonb:return Gi(t);case zi.timestamp:return qi(t);case zi.abstime:case zi.date:case zi.daterange:case zi.int4range:case zi.int8range:case zi.money:case zi.reltime:case zi.text:case zi.time:case zi.timestamptz:case zi.timetz:case zi.tsrange:case zi.tstzrange:return Hi(t);default:return Hi(t)}},Hi=e=>e,Ui=e=>{switch(e){case`t`:return!0;case`f`:return!1;default:return e}},Wi=e=>{if(typeof e==`string`){let t=parseFloat(e);
vendor: 19,264 bytes, lines 10-11
10if(!Number.isNaN(t))return t}return e},Gi=e=>{if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e},Ki=(e,t)=>{if(typeof e!=`string`)return e;let n=e.length-1,r=e[n];if(e[0]===`{`&&r===`}`){let r,i=e.slice(1,n);try{r=JSON.parse(`[`+i+`]`)}catch{r=i?i.split(`,`):[]}return r.map(e=>M(t,e))}return e},qi=e=>typeof e==`string`?e.replace(` `,`T`):e,Ji=e=>{let t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,`http`),t.pathname=t.pathname.replace(/\/+$/,``).replace(/\/socket\/websocket$/i,``).replace(/\/socket$/i,``).replace(/\/websocket$/i,``),t.pathname===``||t.pathname===`/`?t.pathname=`/api/broadcast`:t.pathname+=`/api/broadcast`,t.href},Yi=e=>typeof e==`function`?e:function(){return e},Xi=typeof self<`u`?self:null,Zi=typeof window<`u`?window:null,Qi=Xi||Zi||globalThis,$i=`2.0.0`,ea=1e4,ta=1e3,na=100,ra={connecting:0,open:1,closing:2,closed:3},ia={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},aa={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`},oa={longpoll:`longpoll`,websocket:`websocket`},sa={complete:4},ca=`base64url.bearer.phx.`,la=class{constructor(e,t,n,r){this.channel=e,this.event=t,this.payload=n||function(){return{}},this.receivedResp=null,this.timeout=r,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(e){this.timeout=e,this.reset(),this.send()}send(){this.hasReceived(`timeout`)||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(e,t){return this.hasReceived(e)&&t(this.receivedResp.response),this.recHooks.push({status:e,callback:t}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:e,response:t,_ref:n}){this.recHooks.filter(t=>t.status===e).forEach(e=>e.callback(t))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,e=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=e,this.matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger(`timeout`,{})},this.timeout)}hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}trigger(e,t){this.channel.trigger(this.refEvent,{status:e,response:t})}},ua=class{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries+=1,this.callback()},this.timerCalc(this.tries+1))}},da=class{constructor(e,t,n){this.state=ia.closed,this.topic=e,this.params=Yi(t||{}),this.socket=n,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new la(this,aa.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new ua(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive(`ok`,()=>{this.state=ia.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(e=>e.send()),this.pushBuffer=[]}),this.joinPush.receive(`error`,e=>{this.state=ia.errored,this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log(`channel`,`close ${this.topic}`),this.state=ia.closed,this.socket.remove(this)}),this.onError(e=>{this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.isJoining()&&this.joinPush.reset(),this.state=ia.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive(`timeout`,()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`timeout ${this.topic}`,this.joinPush.timeout),new la(this,aa.leave,Yi({}),this.timeout).send(),this.state=ia.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(aa.reply,(e,t)=>{this.trigger(this.replyEventName(t),e)})}join(e=this.timeout){if(this.joinedOnce)throw Error(`tried to join multiple times. 'join' can only be called a single time per channel instance`);return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=ia.closed,this.bindings=[]}onClose(e){this.on(aa.close,e)}onError(e){return this.on(aa.error,t=>e(t))}on(e,t){let n=this.bindingRef++;return this.bindings.push({event:e,ref:n,callback:t}),n}off(e,t){this.bindings=this.bindings.filter(n=>n.event!==e||t!==void 0&&t!==n.ref)}canPush(){return this.socket.isConnected()&&this.isJoined()}push(e,t,n=this.timeout){if(t||={},!this.joinedOnce)throw Error(`tried to push '${e}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let r=new la(this,e,function(){return t},n);return this.canPush()?r.send():(r.startTimeout(),this.pushBuffer.push(r)),r}leave(e=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=ia.leaving;let t=()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`leave ${this.topic}`),this.trigger(aa.close,`leave`)},n=new la(this,aa.leave,Yi({}),e);return n.receive(`ok`,()=>t()).receive(`timeout`,()=>t()),n.send(),this.canPush()||n.trigger(`ok`,{}),n}onMessage(e,t,n){return t}filterBindings(e,t,n){return!0}isMember(e,t,n,r){return this.topic===e?r&&r!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log(`channel`,`dropping outdated message`,{topic:e,event:t,payload:n,joinRef:r}),!1):!0:!1}joinRef(){return this.joinPush.ref}rejoin(e=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=ia.joining,this.joinPush.resend(e))}trigger(e,t,n,r){let i=this.onMessage(e,t,n,r);if(t&&!i)throw Error(`channel onMessage callbacks must return the payload, modified or unmodified`);let a=this.bindings.filter(r=>r.event===e&&this.filterBindings(r,t,n));for(let e=0;e<a.length;e++)a[e].callback(i,n,r||this.joinRef())}replyEventName(e){return`chan_reply_${e}`}isClosed(){return this.state===ia.closed}isErrored(){return this.state===ia.errored}isJoined(){return this.state===ia.joined}isJoining(){return this.state===ia.joining}isLeaving(){return this.state===ia.leaving}},fa=class{static request(e,t,n,r,i,a,o){if(Qi.XDomainRequest){let n=new Qi.XDomainRequest;return this.xdomainRequest(n,e,t,r,i,a,o)}else if(Qi.XMLHttpRequest){let s=new Qi.XMLHttpRequest;return this.xhrRequest(s,e,t,n,r,i,a,o)}else if(Qi.fetch&&Qi.AbortController)return this.fetchRequest(e,t,n,r,i,a,o);else throw Error(`No suitable XMLHttpRequest implementation found`)}static fetchRequest(e,t,n,r,i,a,o){let s={method:e,headers:n,body:r},c=null;return i&&(c=new AbortController,setTimeout(()=>c.abort(),i),s.signal=c.signal),Qi.fetch(t,s).then(e=>e.text()).then(e=>this.parseJSON(e)).then(e=>o&&o(e)).catch(e=>{e.name===`AbortError`&&a?a():o&&o(null)}),c}static xdomainRequest(e,t,n,r,i,a,o){return e.timeout=i,e.open(t,n),e.onload=()=>{let t=this.parseJSON(e.responseText);o&&o(t)},a&&(e.ontimeout=a),e.onprogress=()=>{},e.send(r),e}static xhrRequest(e,t,n,r,i,a,o,s){e.open(t,n,!0),e.timeout=a;for(let[t,n]of Object.entries(r))e.setRequestHeader(t,n);return e.onerror=()=>s&&s(null),e.onreadystatechange=()=>{e.readyState===sa.complete&&s&&s(this.parseJSON(e.responseText))},o&&(e.ontimeout=o),e.send(i),e}static parseJSON(e){if(!e||e===``)return null;try{return JSON.parse(e)}catch{return console&&console.log(`failed to parse JSON response`,e),null}}static serialize(e,t){let n=[];for(var r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let i=t?`${t}[${r}]`:r,a=e[r];typeof a==`object`?n.push(this.serialize(a,i)):n.push(encodeURIComponent(i)+`=`+encodeURIComponent(a))}return n.join(`&`)}static appendParams(e,t){return Object.keys(t).length===0?e:`${e}${e.match(/\?/)?`&`:`?`}${this.serialize(t)}`}},pa=e=>{let t=``,n=new Uint8Array(e),r=n.byteLength;for(let e=0;e<r;e++)t+=String.fromCharCode(n[e]);return btoa(t)},ma=class{constructor(e,t){t&&t.length===2&&t[1].startsWith(ca)&&(this.authToken=atob(t[1].slice(ca.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(e),this.readyState=ra.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(e){return e.replace(`ws://`,`http://`).replace(`wss://`,`https://`).replace(RegExp(`(.*)/`+oa.websocket),`$1/`+oa.longpoll)}endpointURL(){return fa.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(e,t,n){this.close(e,t,n),this.readyState=ra.connecting}ontimeout(){this.onerror(`timeout`),this.closeAndRetry(1005,`timeout`,!1)}isActive(){return this.readyState===ra.open||this.readyState===ra.connecting}poll(){let e={Accept:`application/json`};this.authToken&&(e[`X-Phoenix-AuthToken`]=this.authToken),this.ajax(`GET`,e,null,()=>this.ontimeout(),e=>{if(e){var{status:t,token:n,messages:r}=e;if(t===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,`session_gone`,!1);return}this.token=n}else t=0;switch(t){case 200:r.forEach(e=>{setTimeout(()=>this.onmessage({data:e}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=ra.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,`forbidden`,!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,`internal server error`,500);break;default:throw Error(`unhandled poll status ${t}`)}})}send(e){typeof e!=`string`&&(e=pa(e)),this.currentBatch?this.currentBatch.push(e):this.awaitingBatchAck?this.batchBuffer.push(e):(this.currentBatch=[e],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(e,t=0){this.awaitingBatchAck=!0;let n=t+na,r=e.slice(t,n);this.ajax(`POST`,{"Content-Type":`application/x-ndjson`},r.join(`
11`),()=>this.onerror(`timeout`),t=>{!t||t.status!==200?(this.awaitingBatchAck=!1,this.onerror(t&&t.status),this.closeAndRetry(1011,`internal server error`,!1)):n<e.length?this.batchSend(e,n):this.batchBuffer.length>0?(this.batchSend(this.batchBuffer),this.batchBuffer=[]):this.awaitingBatchAck=!1})}close(e,t,n){for(let e of this.reqs)e.abort();this.readyState=ra.closed;let r=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:e,reason:t,wasClean:n});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<`u`?this.onclose(new CloseEvent(`close`,r)):this.onclose(r)}ajax(e,t,n,r,i){let a;a=fa.request(e,this.endpointURL(),t,n,this.timeout,()=>{this.reqs.delete(a),r()},e=>{this.reqs.delete(a),this.isActive()&&i(e)}),this.reqs.add(a)}},ha=class e{constructor(t,n={}){let r=n.events||{state:`presence_state`,diff:`presence_diff`};this.state=Object.create(null),this.pendingDiffs=[],this.channel=t,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(r.state,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.joinRef=this.channel.joinRef(),this.state=e.syncState(this.state,t,n,r),this.pendingDiffs.forEach(t=>{this.state=e.syncDiff(this.state,t,n,r)}),this.pendingDiffs=[],i()}),this.channel.on(r.diff,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(t):(this.state=e.syncDiff(this.state,t,n,r),i())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(t){return e.list(this.state,t)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,t,n,r){let i=this.toNullProtoObj(this.clone(e));t=this.toNullProtoObj(t);let a=Object.create(null),o=Object.create(null);return this.map(i,(e,n)=>{t[e]||(o[e]=n)}),this.map(t,(e,t)=>{let n=i[e];if(n){let r=t.metas.map(e=>e.phx_ref),i=n.metas.map(e=>e.phx_ref),s=t.metas.filter(e=>i.indexOf(e.phx_ref)<0),c=n.metas.filter(e=>r.indexOf(e.phx_ref)<0);s.length>0&&(a[e]=t,a[e].metas=s),c.length>0&&(o[e]=this.clone(n),o[e].metas=c)}else a[e]=t}),this.syncDiff(i,{joins:a,leaves:o},n,r)}static syncDiff(e,t,n,r){e=this.toNullProtoObj(e);let{joins:i,leaves:a}=this.clone(t);return n||=function(){},r||=function(){},this.map(i,(t,r)=>{let i=e[t];if(e[t]=this.clone(r),i){let n=e[t].metas.map(e=>e.phx_ref),r=i.metas.filter(e=>n.indexOf(e.phx_ref)<0);e[t].metas.unshift(...r)}n(t,i,r)}),this.map(a,(t,n)=>{let i=e[t];if(!i)return;let a=n.metas.map(e=>e.phx_ref);i.metas=i.metas.filter(e=>a.indexOf(e.phx_ref)<0),r(t,i,n),i.metas.length===0&&delete e[t]}),e}static list(e,t){return t||=function(e,t){return t},this.map(e,(e,n)=>t(e,n))}static map(e,t){return Object.getOwnPropertyNames(e).map(n=>t(n,e[n]))}static toNullProtoObj(e){if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(n=>{t[n]=e[n]}),t}static clone(e){return JSON.parse(JSON.stringify(e))}},ga={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(e,t){if(e.payload.constructor===ArrayBuffer)return t(this.binaryEncode(e));{let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}},decode(e,t){if(e.constructor===ArrayBuffer)return t(this.binaryDecode(e));{let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}},binaryEncode(e){let{join_ref:t,ref:n,event:r,topic:i,payload:a}=e,o=new TextEncoder,s=o.encode(t),c=o.encode(n),l=o.encode(i),u=o.encode(r);this.assertFieldSize(s.byteLength,`join_ref`),this.assertFieldSize(c.byteLength,`ref`),this.assertFieldSize(l.byteLength,`topic`),this.assertFieldSize(u.byteLength,`event`);let d=this.META_LENGTH+s.byteLength+c.byteLength+l.byteLength+u.byteLength,f=new ArrayBuffer(this.HEADER_LENGTH+d),p=new Uint8Array(f),m=new DataView(f),h=0;m.setUint8(h++,this.KINDS.push),m.setUint8(h++,s.byteLength),m.setUint8(h++,c.byteLength),m.setUint8(h++,l.byteLength),m.setUint8(h++,u.byteLength),p.set(s,h),h+=s.byteLength,p.set(c,h),h+=c.byteLength,p.set(l,h),h+=l.byteLength,p.set(u,h),h+=u.byteLength;var g=new Uint8Array(f.byteLength+a.byteLength);return g.set(p,0),g.set(new Uint8Array(a),f.byteLength),g.buffer},assertFieldSize(e,t){if(e>255)throw Error(`unable to convert ${t} to binary: must be less than or equal to 255 bytes, but is ${e} bytes`)},binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.push:return this.decodePush(e,t,r);case this.KINDS.reply:return this.decodeReply(e,t,r);case this.KINDS.broadcast:return this.decodeBroadcast(e,t,r)}},decodePush(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=this.HEADER_LENGTH+this.META_LENGTH-1,s=n.decode(e.slice(o,o+r));o+=r;let c=n.decode(e.slice(o,o+i));o+=i;let l=n.decode(e.slice(o,o+a));return o+=a,{join_ref:s,ref:null,topic:c,event:l,payload:e.slice(o,e.byteLength)}},decodeReply(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+this.META_LENGTH,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=n.decode(e.slice(s,s+o));s+=o;let f={status:d,response:e.slice(s,e.byteLength)};return{join_ref:c,ref:l,topic:u,event:aa.reply,payload:f}},decodeBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=this.HEADER_LENGTH+2,o=n.decode(e.slice(a,a+r));a+=r;let s=n.decode(e.slice(a,a+i));return a+=i,{join_ref:null,ref:null,topic:o,event:s,payload:e.slice(a,e.byteLength)}}},_a=class{constructor(e,t={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=t.timeout||ea,this.transport=t.transport||Qi.WebSocket||ma,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=t.longPollFallbackMs,this.fallbackTimer=null;let n=null;try{n=Qi&&Qi.sessionStorage}catch{}this.sessionStore=t.sessionStorage||n,this.establishedConnections=0,this.defaultEncoder=ga.encode.bind(ga),this.defaultDecoder=ga.decode.bind(ga),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=t.binaryType||`arraybuffer`,this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport===ma?(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder):(this.encode=t.encode||this.defaultEncoder,this.decode=t.decode||this.defaultDecoder);let r=null;Zi&&Zi.addEventListener&&(Zi.addEventListener(`pagehide`,e=>{this.conn&&(this.disconnect(),r=this.connectClock)}),Zi.addEventListener(`pageshow`,e=>{r===this.connectClock&&(r=null,this.connect())}),Zi.addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=t.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=t.autoSendHeartbeat??!0,this.heartbeatCallback=t.heartbeatCallback??(()=>{}),this.rejoinAfterMs=e=>t.rejoinAfterMs?t.rejoinAfterMs(e):[1e3,2e3,5e3][e-1]||1e4,this.reconnectAfterMs=e=>t.reconnectAfterMs?t.reconnectAfterMs(e):[10,50,100,150,200,250,500,1e3,2e3][e-1]||5e3,this.logger=t.logger||null,!this.logger&&t.debug&&(this.logger=(e,t,n)=>{console.log(`${e}: ${t}`,n)}),this.longpollerTimeout=t.longpollerTimeout||2e4,this.params=Yi(t.params||{}),this.endPoint=`${e}/${oa.websocket}`,this.vsn=t.vsn||$i,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new ua(()=>{if(this.pageHidden){this.log(`Not reconnecting as page is hidden!`),this.teardown();return}this.teardown(async()=>{t.beforeReconnect&&await t.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=t.authToken&&Yi(t.authToken)}getLongPollTransport(){return ma}replaceTransport(e){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&=(this.conn.close(),null),this.transport=e}protocol(){return location.protocol.match(/^https/)?`wss`:`ws`}endPointURL(){let e=fa.appendParams(fa.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return e.charAt(0)===`/`?e.charAt(1)===`/`?`${this.protocol()}:${e}`:`${this.protocol()}://${location.host}${e}`:e}disconnect(e,t,n){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,e&&e()},t,n)}connect(e){e&&(console&&console.log(`passing params to connect is deprecated. Instead pass :params to the Socket constructor`),this.params=Yi(e)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==ma?this.connectWithF
vendor: 4,375 bytes, line 11
11allback(ma,this.longPollFallbackMs):this.transportConnect())}log(e,t,n){this.logger&&this.logger(e,t,n)}hasLogger(){return this.logger!==null}onOpen(e){let t=this.makeRef();return this.stateChangeCallbacks.open.push([t,e]),t}onClose(e){let t=this.makeRef();return this.stateChangeCallbacks.close.push([t,e]),t}onError(e){let t=this.makeRef();return this.stateChangeCallbacks.error.push([t,e]),t}onMessage(e){let t=this.makeRef();return this.stateChangeCallbacks.message.push([t,e]),t}onHeartbeat(e){this.heartbeatCallback=e}ping(e){if(!this.isConnected())return!1;let t=this.makeRef(),n=Date.now();this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:t});let r=this.onMessage(i=>{i.ref===t&&(this.off([r]),e(Date.now()-n))});return!0}transportName(e){switch(e){case ma:return`LongPoll`;default:return e.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let e;this.authToken&&(e=[`phoenix`,`${ca}${btoa(this.authToken()).replace(/=/g,``)}`]),this.conn=new this.transport(this.endPointURL(),e),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=e=>this.onConnError(e),this.conn.onmessage=e=>this.onConnMessage(e),this.conn.onclose=e=>this.onConnClose(e)}getSession(e){return this.sessionStore&&this.sessionStore.getItem(e)}storeSession(e,t){this.sessionStore&&this.sessionStore.setItem(e,t)}connectWithFallback(e,t=2500){clearTimeout(this.fallbackTimer);let n=!1,r=!0,i,a,o=this.transportName(e),s=t=>{this.log(`transport`,`falling back to ${o}...`,t),this.off([i,a]),r=!1,this.replaceTransport(e),this.transportConnect()};if(this.getSession(`phx:fallback:${o}`))return s(`memorized`);this.fallbackTimer=setTimeout(s,t),a=this.onError(e=>{this.log(`transport`,`error`,e),r&&!n&&(clearTimeout(this.fallbackTimer),s(e))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(n=!0,!r){let t=this.transportName(e);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${t}`,`true`),this.log(`transport`,`established ${t} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(s,t),this.ping(e=>{this.log(`transport`,`connected to primary after`,e),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log(`transport`,`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks(`open`)}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log(`transport`,`heartbeat timeout. Attempting to re-establish connection`);try{this.heartbeatCallback(`timeout`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.triggerChanError(Error(`heartbeat timeout`)),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),ta,`heartbeat timeout`)}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(e,t,n){if(!this.conn)return e&&e();let r=this.conn;this.waitForBufferDone(r,()=>{t?r.close(t,n||``):r.close(),this.waitForSocketClosed(r,()=>{this.conn===r&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),e&&e()})})}waitForBufferDone(e,t,n=1){if(n===5||!e.bufferedAmount){t();return}setTimeout(()=>{this.waitForBufferDone(e,t,n+1)},150*n)}waitForSocketClosed(e,t,n=1){if(n===5||e.readyState===ra.closed){t();return}setTimeout(()=>{this.waitForSocketClosed(e,t,n+1)},150*n)}onConnClose(e){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log(`transport`,`close`,e),this.triggerChanError(e),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks(`close`,e)}onConnError(e){this.hasLogger()&&this.log(`transport`,`error`,e);let t=this.transport,n=this.establishedConnections;this.triggerStateCallbacks(`error`,e,t,n),(t===this.transport||n>0)&&this.triggerChanError(e)}
vendor: 11,720 bytes, line 11
11triggerChanError(e){this.channels.forEach(t=>{t.isErrored()||t.isLeaving()||t.isClosed()||t.trigger(aa.error,e)})}connectionState(){switch(this.conn&&this.conn.readyState){case ra.connecting:return`connecting`;case ra.open:return`open`;case ra.closing:return`closing`;default:return`closed`}}isConnected(){return this.connectionState()===`open`}remove(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter(t=>t!==e)}off(e){for(let t in this.stateChangeCallbacks)this.stateChangeCallbacks[t]=this.stateChangeCallbacks[t].filter(([t])=>e.indexOf(t)===-1)}channel(e,t={}){let n=new da(e,t,this);return this.channels.push(n),n}push(e){if(this.hasLogger()){let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;this.log(`push`,`${t} ${n} (${a}, ${i})`,r)}this.isConnected()?this.encode(e,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(e,e=>this.conn.send(e)))}makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback(`disconnected`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback(`sent`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}onConnMessage(e){this.decode(e.data,e=>{let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;if(i&&i===this.pendingHeartbeatRef){let e=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(r.status===`ok`?`ok`:`error`,e)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log(`receive`,`${r.status||``} ${t} ${n} ${i&&`(`+i+`)`||``}`.trim(),r);for(let e=0;e<this.channels.length;e++){let o=this.channels[e];o.isMember(t,n,r,a)&&o.trigger(n,r,i,a)}this.triggerStateCallbacks(`message`,e)})}triggerStateCallbacks(e,...t){try{this.stateChangeCallbacks[e].forEach(([n,r])=>{try{r(...t)}catch(t){this.log(`error`,`error in ${e} callback`,t)}})}catch(t){this.log(`error`,`error triggering ${e} callbacks`,t)}}leaveOpenTopic(e){let t=this.channels.find(t=>t.topic===e&&(t.isJoined()||t.isJoining()));t&&(this.hasLogger()&&this.log(`transport`,`leaving duplicate topic "${e}"`),t.leave())}},va=class e{constructor(t,n){let r=xa(n);this.presence=new ha(t.getChannel(),r),this.presence.onJoin((n,r,i)=>{let a=e.onJoinPayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onLeave((n,r,i)=>{let a=e.onLeavePayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onSync(()=>{t.getChannel().trigger(`presence`,{event:`sync`})})}get state(){return e.transformState(this.presence.state)}static transformState(e){return e=ba(e),Object.getOwnPropertyNames(e).reduce((t,n)=>{let r=e[n];return t[n]=ya(r),t},{})}static onJoinPayload(e,t,n){return{event:`join`,key:e,currentPresences:Sa(t),newPresences:ya(n)}}static onLeavePayload(e,t,n){return{event:`leave`,key:e,currentPresences:Sa(t),leftPresences:ya(n)}}};function ya(e){return e.metas.map(e=>{let t=Object.getOwnPropertyDescriptors(e),n=Object.defineProperties({},t);return n.presence_ref=n.phx_ref,delete n.phx_ref,delete n.phx_ref_prev,n})}function ba(e){return JSON.parse(JSON.stringify(e))}function xa(e){return e?.events&&{events:e.events}}function Sa(e){return e?.metas?ya(e):[]}var Ca;(function(e){e.SYNC=`sync`,e.JOIN=`join`,e.LEAVE=`leave`})(Ca||={});var wa=class{get state(){return this.presenceAdapter.state}constructor(e,t){this.channel=e,this.presenceAdapter=new va(this.channel.channelAdapter,t)}};function Ta(e){if(e instanceof Error)return e;if(typeof e==`string`)return Error(e);if(e&&typeof e==`object`){let t=e;if(typeof t.code==`number`){let n=typeof t.reason==`string`&&t.reason?` (${t.reason})`:``;return Error(`socket closed: ${t.code}${n}`,{cause:e})}return Error(`channel error: transport failure`,{cause:e})}return Error(`channel error: connection lost`)}var Ea=class{constructor(e,t,n){let r=Da(n);this.channel=e.getSocket().channel(t,r),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,t){return this.channel.on(e,t)}off(e,t){this.channel.off(e,t)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,t,n){let r;try{r=this.channel.push(e,t,n)}catch{throw Error(`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>100){let e=this.channel.pushBuffer.shift();e.cancelTimeout(),this.socket.log(`channel`,`discarded push due to buffer overflow: ${e.event}`,e.payload())}return r}updateJoinPayload(e){let t=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},t),e)}canPush(){return this.socket.isConnected()&&this.state===Fi.joined}isJoined(){return this.state===Fi.joined}isJoining(){return this.state===Fi.joining}isClosed(){return this.state===Fi.closed}isLeaving(){return this.state===Fi.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}};function Da(e){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},e.config)}}var Oa=/[,()"\\]/,ka=e=>Oa.test(e)||e!==e.trim(),Aa=e=>`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`,ja=e=>{let t=e===null?`null`:String(e);return ka(t)?Aa(t):t},Ma=e=>e===null?`null`:String(e),Na=(e,t)=>{if(e===`in`){let e=Array.isArray(t)?t:[t];if(e.length===0)throw Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(e)).map(e=>ja(e)).join(`,`)})`}return e===`is`?`is.${Ma(t)}`:`${e}.${ja(t)}`},Pa=class{constructor(){this.filters=[]}add(e,t,n,r=!1){let i=r?`not.`:``;return this.filters.push(`${e}=${i}${Na(t,n)}`),this}eq(e,t){return this.add(e,`eq`,t)}neq(e,t){return this.add(e,`neq`,t)}gt(e,t){return this.add(e,`gt`,t)}gte(e,t){return this.add(e,`gte`,t)}lt(e,t){return this.add(e,`lt`,t)}lte(e,t){return this.add(e,`lte`,t)}in(e,t){return this.add(e,`in`,t)}like(e,t){return this.add(e,`like`,t)}ilike(e,t){return this.add(e,`ilike`,t)}match(e,t){return this.add(e,`match`,t)}imatch(e,t){return this.add(e,`imatch`,t)}is(e,t){return this.add(e,`is`,t)}isDistinct(e,t){return this.add(e,`isdistinct`,t)}not(e,t,n){return this.add(e,t,n,!0)}build(){return this.filters.join(`,`)}toString(){return this.build()}},Fa;(function(e){e.ALL=`*`,e.INSERT=`INSERT`,e.UPDATE=`UPDATE`,e.DELETE=`DELETE`})(Fa||={});var Ia;(function(e){e.BROADCAST=`broadcast`,e.PRESENCE=`presence`,e.POSTGRES_CHANGES=`postgres_changes`,e.SYSTEM=`system`})(Ia||={});var La;(function(e){e.SUBSCRIBED=`SUBSCRIBED`,e.TIMED_OUT=`TIMED_OUT`,e.CLOSED=`CLOSED`,e.CHANNEL_ERROR=`CHANNEL_ERROR`})(La||={});var Ra=class e{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,t={config:{}},n){if(this.topic=e,this.params=t,this.socket=n,this.bindings={},this.subTopic=e.replace(/^realtime:/i,``),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},t.config),this.channelAdapter=new Ea(this.socket.socketAdapter,e,this.params),this.presence=new wa(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=Ji(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&this.params.config?.broadcast?.replay)throw Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(e,t=this.timeout){if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){let{config:{broadcast:n,presence:r,private:i}}=this.params,a=this.bindings.postgres_changes?.map(e=>e.filter)??[],o=!!this.bindings[Ia.PRESENCE]&&this.bindings[Ia.PRESENCE].length>0||this.params.config.presence?.enabled===!0,s={},c={broadcast:n,presence:Object.assign(Object.assign({},r),{enabled:o}),postgres_changes:a,private:i};this.socket.accessTokenValue&&(s.access_token=this.socket.accessTokenValue),this._onError(t=>{e?.(La.CHANNEL_ERROR,Ta(t))}),this._onClose(()=>e?.(La.CLOSED)),this.updateJoinPayload(Object.assign({config:c},s)),this._updateFilterMessage(),this.channelAdapter.subscribe(t).receive(`ok`,async({postgres_changes:t})=>{if(this.socket._isManualToken()||this.socket.setAuth(),t===void 0){e?.(La.SUBSCRIBED);return}this._updatePostgresBindings(t,e)}).receive(`error`,t=>{this.state=Fi.errored;let n=Object.values(t).join(`, `)||`error`;e?.(La.CHANNEL_ERROR,Error(n,{cause:t}))}).receive(`timeout`,()=>{e?.(La.TIMED_OUT)})}return this}_updatePostgresBindings(t,n){let r=this.bindings.postgres_changes,i=r?.length??0,a=[];for(let o=0;o<i;o++){let i=r[o],{filter:{event:s,schema:c,table:l,filter:u}}=i,d=t&&t[o];if(d&&d.event===s&&e.isFilterValueEqual(d.schema,c)&&e.isFilterValueEqual(d.table,l)&&e.isFilterValueEqual(d.filter,u))a.push(Object.assign(Object.assign({},i),{id:d.id}));else{this.unsubscribe(),this.state=Fi.errored,n?.(La.CHANNEL_ERROR,Error(`mismatch between server and client bindings for postgres changes`));return}}this.bindings.postgres_changes=a,this.state!=Fi.errored&&n&&n(La.SUBSCRIBED)}presenceState(){return this.presence.state}async track(e,t={}){return await this.send({type:`presence`,event:`track`,payload:e},t)}async untrack(e={}){return await this.send({type:`presence`,event:`untrack`},e)}on(e,t,n){let r=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),i=e===Ia.PRESENCE||e===Ia.POSTGRES_CHANGES;if(r&&i)throw this.socket.log(`channel`,`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`),Error(`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(e,t,n)}async httpSend(e,t,n={}){if(t==null)return Promise.reject(Error(`Payload is required for httpSend()`));let r=t instanceof ArrayBuffer||ArrayBuffer.isView(t),i={apikey:this.socket.apiKey?this.socket.apiKey:``,"Content-Type":r?`application/octet-stream`:`application/json`};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);let a=new URL(this.broadcastEndpointURL);a.pathname+=`/${encodeURIComponent(this.subTopic)}/events/${encodeURIComponent(e)}`,this.private&&a.searchParams.set(`private`,`true`);let o={method:`POST`,headers:i,body:r?t:JSON.stringify(t)},s=await this._fetchWithTimeout(a.toString(),o,n.timeout??this.timeout);if(s.status===202)return{success:!0};if(s.status===404)return Promise.reject(Error(`httpSend() requires Realtime server v2.97.0 or newer; the endpoint returned 404. Update your Supabase CLI to a recent version, or upgrade the Realtime server in your self-hosted setup. See https://github.com/supabase/supabase-js/blob/master/packages/core/realt
11ime-js/migrations/httpsend-server-version.md`));let c=s.statusText;try{let e=await s.json();c=e.error||e.message||c}catch{}return Promise.reject(Error(c))}async send(e,t={}){if(!this.channelAdapter.canPush()&&e.type===`broadcast`){console.warn(`Realtime send() is automatically falling back to REST API. This behavior will be deprecated in the future. Please use httpSend() explicitly for REST delivery.`);let{event:n,payload:r}=e,i={apikey:this.socket.apiKey?this.socket.apiKey:``,"Content-Type":`application/json`};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);let a={method:`POST`,headers:i,body:JSON.stringify({messages:[{topic:this.subTopic,event:n,payload:r,private:this.private}]})};try{let e=await this._fetchWithTimeout(this.broadcastEndpointURL,a,t.timeout??this.timeout);return await e.body?.cancel(),e.ok?`ok`:`error`}catch(e){return e instanceof Error&&e.name===`AbortError`?`timed out`:`error`}}else return new Promise(n=>{let r=this.channelAdapter.push(e.type,e,t.timeout||this.timeout);e.type===`broadcast`&&!this.params?.config?.broadcast?.ack&&n(`ok`),r.receive(`ok`,()=>n(`ok`)),r.receive(`error`,()=>n(`error`)),r.receive(`timeout`,()=>n(`timed out`))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(t=>{this.channelAdapter.unsubscribe(e).receive(`ok`,()=>t(`ok`)).receive(`timeout`,()=>t(`timed out`)).receive(`error`,()=>t(`error`))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,t,n){let r=new AbortController,i=setTimeout(()=>r.abort(),n),a=await this.socket.fetch(e,Object.assign(Object.assign({},t),{signal:r.signal}));return clearTimeout(i),a}_on(t,n,r){let i=t.toLocaleLowerCase(),a=n?.filter;if((a instanceof Pa||typeof a==`object`&&a&&typeof a.build==`function`)&&(n=Object.assign(Object.assign({},n),{filter:a.build()})),i===Ia.POSTGRES_CHANGES&&this.bindings[i]?.find(t=>e.isSamePostgresFilter(t.filter,n)))return this.socket.log(`error`,`duplicate \`postgres_changes\` binding for ${this.topic} ignored`,n),this;let o=this.channelAdapter.on(t,r),s={type:i,filter:n,callback:r,ref:o};return this.bindings[i]?this.bindings[i].push(s):this.bindings[i]=[s],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,t,n)=>{let r=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(r,n))return!1;let i=this.bindings[r]?.find(t=>t.ref===e.ref);if(!i)return!0;if([`broadcast`,`presence`,`postgres_changes`].includes(r))if(`id`in i){let e=i.id,n=i.filter?.event;return e&&t.ids?.includes(e)&&(n===`*`||n?.toLocaleLowerCase()===t.data?.type.toLocaleLowerCase())}else{let e=(i?.filter?.event)?.toLocaleLowerCase();return e===`*`||e===(t?.event)?.toLocaleLowerCase()}else return i.type.toLocaleLowerCase()===r})}_notThisChannelEvent(e,t){let{close:n,error:r,leave:i,join:a}=Ii;return t&&[n,r,i,a].includes(e)&&t!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,t,n)=>{if(typeof t==`object`&&`ids`in t){let e=t.data,{schema:n,table:r,commit_timestamp:i,type:a,errors:o}=e;return Object.assign(Object.assign({},{schema:n,table:r,commit_timestamp:i,eventType:a,new:{},old:{},errors:o}),this._getPayloadRecords(e))}return t})}copyBindings(e){if(this.joinedOnce)throw Error(`cannot copy bindings into joined channel`);for(let t in e.bindings)for(let n of e.bindings[t])this._on(n.type,n.filter,n.callback)}static isFilterValueEqual(e,t){return(e??void 0)===(t??void 0)}static isSamePostgresFilter(t,n){let r=(t?.select)?.join()??void 0,i=(n?.select)?.join()??void 0;return t?.event===n?.event&&e.isFilterValueEqual(t?.schema,n?.schema)&&e.isFilterValueEqual(t?.table,n?.table)&&e.isFilterValueEqual(t?.filter,n?.filter)&&r===i}_getPayloadRecords(e){let t={new:{},old:{}};return(e.type===`INSERT`||e.type===`UPDATE`)&&(t.new=Bi(e.columns,e.record)),(e.type===`UPDATE`||e.type===`DELETE`)&&(t.old=Bi(e.columns,e.old_record)),t}},za=class{constructor(e,t){this.socket=new _a(e,t)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,t,n,r=1e4){return new Promise(i=>{setTimeout(()=>i(`timeout`),r),this.socket.disconnect(()=>{e(),i(`ok`)},t,n)})}push(e){this.socket.push(e)}log(e,t,n){this.socket.log(e,t,n)}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==Li.connecting}isDisconnecting(){return this.socket.connectionState()==Li.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}},Ba={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},Va=[1e3,2e3,5e3,1e4],Ha=1e4;function Ua(){let e=new Map;return{get length(){return e.size},clear(){e.clear()},getItem(t){return e.has(t)?e.get(t):null},key(t){return Array.from(e.keys())[t]??null},removeItem(t){e.delete(t)},setItem(t,n){e.set(t,String(n))}}}function Wa(){try{if(typeof globalThis<`u`&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return Ua()}var Ga=`
12  addEventListener("message", (e) => {
13    if (e.data.event === "start") {
14      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
15    }
16  });`,Ka=class{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,t){if(this.channels=[],this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint=``,this.headers={},this.params={}
16,this.ref=0,this.serializer=new Ri,this._manuallySetToken=!1,this._authPromise=null,this._authGeneration=0,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),!t?.params?.apikey)throw Error(`API key is required to connect to Realtime`);this.apiKey=t.params.apikey;let n=this._initializeOptions(t);this.socketAdapter=new za(e,n),this.httpEndpoint=Ji(e),this.fetch=this._resolveFetch(t?.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely(`connect`),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(e){let t=e.message;throw Error(`WebSocket not available: ${t}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,t){return this._cancelPendingDisconnect(),this.isDisconnecting()?`ok`:await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,t)}getChannels(){return this.channels}async removeChannel(e){let t=await e.unsubscribe();return t===`ok`&&e.teardown(),t}async removeAllChannels(){let e=this.channels.map(async e=>{let t=await e.unsubscribe();return e.teardown(),t}),t=await Promise.all(e);return await this.disconnect(),t}log(e,t,n){this.socketAdapter.log(e,t,n)}connectionState(){return this.socketAdapter.connectionState()||Li.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,t={config:{}}){let n=`realtime:${e}`,r=this.getChannels().find(e=>e.topic===n);if(r)return r;{let n=new Ra(`realtime:${e}`,t,this);return this._cancelPendingDisconnect(),this.channels.push(n),n}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){let t=++this._authGeneration,n=this._performAuth(e,t);t===this._authGeneration&&(this._authPromise=n);try{await n}finally{this._authPromise===n&&(this._authPromise=null)}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(t=>t.topic!==e.topic),this.channels.length===0&&(this.log(`transport`,`no channels remaining, scheduling disconnect`),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log(`transport`,`disconnecting immediately - no channels`),this.disconnect();return}
16this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log(`transport`,`deferred disconnect fired - no channels, disconnecting`),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log(`transport`,`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log(`transport`,`pending disconnect cancelled - channel activity detected`),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(e,t){let n,r=!1;if(e)n=e,r=!0;else if(this.accessToken)try{n=await this.accessToken()}catch(e){this.log(`error`,`Error fetching access token from callback`,e),n=this.accessTokenValue}else n=this.accessTokenValue;t===this._authGeneration&&(this.accessToken?this._manuallySetToken=!1:r&&(this._manuallySetToken=!0),this.accessTokenValue!=n&&(this.accessTokenValue=n,this.channels.forEach(e=>{let t={access_token:n,version:Ai};e.updateJoinPayload(t),e.joinedOnce&&e.channelAdapter.isJoined()&&e.channelAdapter.push(Ii.access_token,{access_token:n})})))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e=`general`){this._isManualToken()||this.setAuth().catch(t=>{this.log(`error`,`Error setting auth in ${e}`,t)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(e=>{this.log(`error`,`error waiting for auth on connect`,e)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(t,n)=>{t!==`disconnected`&&(t==`sent`&&this._setAuthSafely(),e&&e(t,n))}}_startWorkerHeartbeat(){this.workerUrl?this.log(`worker`,`starting worker for from ${this.workerUrl}`):this.log(`worker`,`starting default worker`);let e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=e=>{this.log(`worker`,`worker error`,e.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=e=>{e.data.event===`keepAlive`&&this.sendHeartbeat()},this.workerRef.postMessage({event:`start`,interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&=(this.log(`worker`,`terminating worker`),this.workerRef.terminate(),void 0)}_workerObjectUrl(e){let t;if(e)t=e;else{let e=new Blob([Ga],{type:`application/javascript`});t=URL.createObjectURL(e)}return t}_initializeOptions(e){this.worker=e?.worker??!1,this.accessToken=e?.accessToken??null;let t={};t.timeout=e?.timeout??Pi,t.heartbeatIntervalMs=e?.heartbeatIntervalMs??Ba.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=e?.disconnectOnEmptyChannelsAfterMs??2*(e?.heartbeatIntervalMs??Ba.HEARTBEAT_INTERVAL),t.transport=e?.transport??ki.getWebSocketConstructor(),t.params=e?.params,t.logger=e?.logger,t.heartbeatCallback=this._wrapHeartbeatCallback(e?.heartbeatCallback),t.sessionStorage=e?.sessionStorage??Wa(),t.reconnectAfterMs=e?.reconnectAfterMs??(e=>Va[e-1]||Ha);let n,r,i=e?.vsn??Ni;switch(i){case ji:n=(e,t)=>t(JSON.stringify(e)),r=(e,t)=>t(JSON.parse(e));break;case Mi:n=this.serializer.encode.bind(this.serializer),r=this.serializer.decode.bind(this.serializer);break;default:throw Error(`Unsupported serializer version: ${t.vsn}`)}if(t.vsn=i,t.encode=e?.encode??n,t.decode=e?.decode??r,t.beforeReconnect=this._reconnectAuth.bind(this),(e?.logLevel||e?.log_level)&&(this.logLevel=e.logLevel||e.log_level,t.params=Object.assign(Object.assign({},t.params),{log_level:this.logLevel})),this.worker){if(typeof window<`u`&&!window.Worker)throw Error(`Web Worker is not supported`);this.workerUrl=e?.workerUrl,t.autoSendHeartbeat=!this.worker}return t}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}
vendor: 4,836 bytes, line 16
16,qa=class extends Error{constructor(e,t){super(e),this.name=`IcebergError`,this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType===`CommitStateUnknownException`||[500,502,504].includes(t.status)&&t.icebergType?.includes(`CommitState`)===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Ja(e,t,n){let r=new URL(t,e);if(n)for(let[e,t]of Object.entries(n))t!==void 0&&r.searchParams.set(e,t);return r.toString()}async function Ya(e){return!e||e.type===`none`?{}:e.type===`bearer`?{Authorization:`Bearer ${e.token}`}:e.type===`header`?{[e.name]:e.value}:e.type===`custom`?await e.getHeaders():{}}function Xa(e){let t=e.fetchImpl??globalThis.fetch;return{async request({method:n,path:r,query:i,body:a,headers:o}){let s=Ja(e.baseUrl,r,i),c=await Ya(e.auth),l=await t(s,{method:n,headers:{...a?{"Content-Type":`application/json`}:{},...c,...o},body:a?JSON.stringify(a):void 0}),u=await l.text(),d=(l.headers.get(`content-type`)||``).includes(`application/json`),f=d&&u?JSON.parse(u):u;if(!l.ok){let e=d?f:void 0,t=e?.error;throw new qa(t?.message??`Request failed with status ${l.status}`,{status:l.status,icebergType:t?.type,icebergCode:t?.code,details:e})}return{status:l.status,headers:l.headers,data:f}}}}function Za(e){return e.join(`�`)}var Qa=class{constructor(e,t=``){this.client=e,this.prefix=t}async listNamespaces(e){let t=e?{parent:Za(e.namespace)}:void 0;return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(e=>({namespace:e}))}async createNamespace(e,t){let n={namespace:e.namespace,properties:t?.properties};return(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces`,body:n})).data}async dropNamespace(e){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${Za(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${Za(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${Za(e.namespace)}`}),!0}catch(e){if(e instanceof qa&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(e){if(e instanceof qa&&e.status===409)return;throw e}}};function $a(e){return e.join(`�`)}var eo=class{constructor(e,t=``,n){this.client=e,this.prefix=t,this.accessDelegation=n}async listTables(e){return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${$a(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){let n={};return this.accessDelegation&&(n[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${$a(e.namespace)}/tables`,body:t,headers:n})).data.metadata}async updateTable(e,t){let n=await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${$a(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":n.data[`metadata-location`],metadata:n.data.metadata}}async dropTable(e,t){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${$a(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String(t?.purge??!1)}})}async loadTable(e){let t={};return this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${$a(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){let t={};this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation);try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${$a(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(e){if(e instanceof qa&&e.status===404)return!1;throw e}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(n){if(n instanceof qa&&n.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw n}}},to=class{constructor(e){let t=`v1`;e.catalogName&&(t+=`/${e.catalogName}`);let n=e.baseUrl.endsWith(`/`)?e.baseUrl:`${e.baseUrl}/`;this.client=Xa({baseUrl:n,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=e.accessDelegation?.join(`,`),this.namespaceOps=new Qa(this.client,t),this.tableOps=new eo(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}
16async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}};function no(e){"@babel/helpers - typeof";return no=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},no(e)}function ro(e,t){if(no(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(no(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function io(e){var t=ro(e,`string`);return no(t)==`symbol`?t:t+``}function ao(e,t,n){return(t=io(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function N(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?oo(Object(n),!0).forEach(function(t){ao(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oo(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var so=class extends Error{constructor(e,t=`storage`,n,r){super(e),this.__isStorageError=!0,this.namespace=t,this.name=t===`vectors`?`StorageVectorsError`:`StorageError`,this.status=n,this.statusCode=r}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function co(e){return typeof e==`object`&&!!e&&`__isStorageError`in e}var lo=class extends so{constructor(e,t,n,r=`storage`,i){super(e,r,t,n),this.name=r===`vectors`?`StorageVectorsApiError`:`StorageApiError`,this.status=t,this.statusCode=n,this.code=i}toJSON(){return N(N({},super.toJSON()),{},{code:this.code})}},uo=class extends so{constructor(e,t,n=`storage`){super(e,n),this.name=n===`vectors`?`StorageVectorsUnknownError`:`StorageUnknownError`,this.originalError=t}};function fo(e,t,n){let r=N({},e),i=t.toLowerCase();for(let e of Object.keys(r))e.toLowerCase()===i&&delete r[e];return r[i]=n,r}function po(e){let t={};for(let[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}var mo=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),ho=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},go=e=>{if(Array.isArray(e))return e.map(e=>go(e));if(typeof e==`function`||e!==Object(e))return e;let t={};return Object.entries(e).forEach(([e,n])=>{let r=e.replace(/([-_][a-z])/gi,e=>e.toUpperCase().replace(/[-_]/g,``));t[r]=go(n)}),t},_o=e=>!e||typeof e!=`string`||e.length===0||e.length>100||e.trim()!==e||e.includes(`/`)||e.includes(`\\`)?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),vo=e=>e.split(`/`).map(encodeURIComponent).join(`/`),yo=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error;if(typeof t.error==`object`&&t.error!==null){let e=t.error;if(typeof e.message==`string`)return e.message}}return JSON.stringify(e)},P=async(e,t,n,r)=>{if(typeof e==`object`&&e&&`json`in e&&typeof e.json==`function`){let n=e,i=parseInt(String(n.status),10);Number.isFinite(i)||(i=500),n.json().then(e=>{let n=e?.statusCode||e?.code||i+``;t(new lo(yo(e),i,n,r,e?.code))}).catch(()=>{let e=i+``;t(new lo(n.statusText||`HTTP ${i} error`,i,e,r))})}else t(new uo(yo(e),e,r))},bo=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};if(e===`GET`||e===`HEAD`||!r)return N(N({},i),n);if(ho(r)){let e=t?.headers||{},n;for(let[t,r]of Object.entries(e))t.toLowerCase()===`content-type`&&(n=r);i.headers=fo(e,`Content-Type`,n??`application/json`),i.body=JSON.stringify(r)}else i.body=r;return t?.duplex&&(i.duplex=t.duplex),N(N({},i),n)};async function xo(e,t,n,r,i,a,o){return new Promise((s,c)=>{e(n,bo(t,r,i,a)).then(e=>{if(!e.ok)throw e;if(r?.noResolveJson)return e;if(o===`vectors`){let t=e.headers.get(`content-type`);if(e.headers.get(`content-length`)===`0`||e.status===204||!t||!t.includes(`application/json`))return{}}return e.json()}).then(e=>s(e)).catch(e=>P(e,c,r,o))})}function So(e=`storage`){return{get:async(t,n,r,i)=>xo(t,`GET`,n,r,i,void 0,e),post:async(t,n,r,i,a)=>xo(t,`POST`,n,i,a,r,e),put:async(t,n,r,i,a)=>xo(t,`PUT`,n,i,a,r,e),head:async(t,n,r,i)=>xo(t,`HEAD`,n,N(N({},r),{},{noResolveJson:!0}),i,void 0,e),remove:async(t,n,r,i,a)=>xo(t,`DELETE`,n,i,a,r,e)}}var{get:Co,post:wo,put:To,head:Eo,remove:Do}=So(`storage`),Oo=So(`vectors`),ko=class{constructor(e,t={},n,r=`storage`){this.shouldThrowOnError=!1,this.url=e,this.headers=po(t),this.fetch=mo(n),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=fo(this.headers,e,t),this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(co(e))return{data:null,error:e};throw e}}},Ao=Symbol.toStringTag,jo=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[Ao]=`StreamDownloadBuilder`,this.promise=null}
16then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(co(t))return{data:null,error:t};throw t}}},Mo=Symbol.toStringTag,No=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[Mo]=`BlobDownloadBuilder`,this.promise=null}asStream(){return new jo(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(co(t))return{data:null,error:t};throw t}}},Po={limit:100,offset:0,sortBy:{column:`name`,order:`asc`}},Fo={cacheControl:`3600`,contentType:`text/plain;charset=UTF-8`,upsert:!1},Io=class extends ko{constructor(e,t={},n,r){super(e,t,r,`storage`),this.bucketId=n}async uploadOrUpdate(e,t,n,r){var i=this;return i.handleOperation(async()=>{let a,o=N(N({},Fo),r),s=N(N({},i.headers),e===`POST`&&{"x-upsert":String(o.upsert)}),c=o.metadata;if(typeof Blob<`u`&&n instanceof Blob?(a=new FormData,a.append(`cacheControl`,o.cacheControl),c&&a.append(`metadata`,i.encodeMetadata(c)),a.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(a=n,a.has(`cacheControl`)||a.append(`cacheControl`,o.cacheControl),c&&!a.has(`metadata`)&&a.append(`metadata`,i.encodeMetadata(c))):(a=n,s[`cache-control`]=`max-age=${o.cacheControl}`,s[`content-type`]=o.contentType,c&&(s[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&a instanceof ReadableStream||a&&typeof a==`object`&&`pipe`in a&&typeof a.pipe==`function`)&&!o.duplex&&(o.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))s=fo(s,e,t);let l=i._removeEmptyFolders(t),u=i._getFinalPath(l),d=await(e==`PUT`?To:wo)(i.fetch,`${i.url}/object/${u}`,a,N({headers:s},o?.duplex?{duplex:o.duplex}:{}));return{path:l,id:d.Id,fullPath:d.Key}})}async upload(e,t,n){return this.uploadOrUpdate(`POST`,e,t,n)}async uploadToSignedUrl(e,t,n,r){var i=this;let a=i._removeEmptyFolders(e),o=i._getFinalPath(a),s=new URL(i.url+`/object/upload/sign/${o}`);return s.searchParams.set(`token`,t),i.handleOperation(async()=>{let e,t=N(N({},Fo),r),o=N(N({},i.headers),{"x-upsert":String(t.upsert)}),c=t.metadata;if(typeof Blob<`u`&&n instanceof Blob?(e=new FormData,e.append(`cacheControl`,t.cacheControl),c&&e.append(`metadata`,i.encodeMetadata(c)),e.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(e=n,e.has(`cacheControl`)||e.append(`cacheControl`,t.cacheControl),c&&!e.has(`metadata`)&&e.append(`metadata`,i.encodeMetadata(c))):(e=n,o[`cache-control`]=`max-age=${t.cacheControl}`,o[`content-type`]=t.contentType,c&&(o[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&e instanceof ReadableStream||e&&typeof e==`object`&&`pipe`in e&&typeof e.pipe==`function`)&&!t.duplex&&(t.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))o=fo(o,e,t);return{path:a,fullPath:(await To(i.fetch,s.toString(),e,N({headers:o},t?.duplex?{duplex:t.duplex}:{}))).Key}})}async createSignedUploadUrl(e,t){var n=this;return n.handleOperation(async()=>{let r=n._getFinalPath(e),i=N({},n.headers);t?.upsert&&(i[`x-upsert`]=`true`);let a=await wo(n.fetch,`${n.url}/object/upload/sign/${r}`,{},{headers:i}),o=new URL(n.url+a.url),s=o.searchParams.get(`token`);if(!s)throw new so(`No token returned by API`);return{signedUrl:o.toString(),path:e,token:s}})}async update(e,t,n){return this.uploadOrUpdate(`PUT`,e,t,n)}async move(e,t,n){var r=this;return r.handleOperation(async()=>await wo(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,de
16stinationBucket:n?.destinationBucket},{headers:r.headers}))}async copy(e,t,n){var r=this;return r.handleOperation(async()=>({path:(await wo(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n?.destinationBucket},{headers:r.headers})).Key}))}async createSignedUrl(e,t,n){var r=this;return r.handleOperation(async()=>{let i=r._getFinalPath(e),a=typeof n?.transform==`object`&&n.transform!==null&&Object.keys(n.transform).length>0,o=await wo(r.fetch,`${r.url}/object/sign/${i}`,N({expiresIn:t},a?{transform:n.transform}:{}),{headers:r.headers}),s=new URLSearchParams;n?.download&&s.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&s.set(`cacheNonce`,String(n.cacheNonce));let c=s.toString();return{signedUrl:encodeURI(`${r.url}${o.signedURL}${c?`&${c}`:``}`)}})}async createSignedUrls(e,t,n){var r=this;return r.handleOperation(async()=>{let i=await wo(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:t,paths:e},{headers:r.headers}),a=new URLSearchParams;n?.download&&a.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&a.set(`cacheNonce`,String(n.cacheNonce));let o=a.toString();return i.map(e=>N(N({},e),{},{signedUrl:e.signedURL?encodeURI(`${r.url}${e.signedURL}${o?`&${o}`:``}`):null}))})}download(e,t,n){let r=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image/authenticated`:`object`,i=new URLSearchParams;t?.transform&&this.applyTransformOptsToQuery(i,t.transform),t?.cacheNonce!=null&&i.set(`cacheNonce`,String(t.cacheNonce));let a=i.toString(),o=this._getFinalPath(e);return new No(()=>Co(this.fetch,`${this.url}/${r}/${o}${a?`?${a}`:``}`,{headers:this.headers,noResolveJson:!0},n),this.shouldThrowOnError)}async info(e){var t=this;let n=t._getFinalPath(e);return t.handleOperation(async()=>go(await Co(t.fetch,`${t.url}/object/info/${n}`,{headers:t.headers})))}async exists(e){var t=this;let n=t._getFinalPath(e);try{return await Eo(t.fetch,`${t.url}/object/${n}`,{headers:t.headers}),{data:!0,error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(co(e)){let t=e instanceof lo?e.status:e instanceof uo?e.originalError?.status:void 0;if(t!==void 0&&[400,404].includes(t))return{data:!1,error:e}}throw e}}getPublicUrl(e,t){let n=this._getFinalPath(e),r=new URLSearchParams;t?.download&&r.set(`download`,t.download===!0?``:t.download),t?.transform&&this.applyTransformOptsToQuery(r,t.transform),t?.cacheNonce!=null&&r.set(`cacheNonce`,String(t.cacheNonce));let i=r.toString(),a=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image`:`object`;return{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${n}`)+(i?`?${i}`:``)}}}async remove(e){var t=this;return t.handleOperation(async()=>await Do(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async purgeCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=vo(r._getFinalPath(e)),a=new URLSearchParams;t?.transformations&&a.set(`transformations`,`true`);let o=a.toString();return await Do(r.fetch,`${r.url}/cdn/${i}${o?`?${o}`:``}`,{},{headers:r.headers},n)})}async list(e,t,n){var r=this;return r.handleOperation(async()=>{let i=t?.sortBy?N(N({},Po.sortBy),t.sortBy):Po.sortBy,a=N(N(N({},Po),t),{},{sortBy:i,prefix:e||``});return await wo(r.fetch,`${r.url}/object/list/${r.bucketId}`,a,{headers:r.headers},n)})}async listV2(e,t){var n=this;return n.handleOperation(async()=>{let r=N({},e);return await wo(n.fetch,`${n.url}/object/list-v2/${n.bucketId}`,r,{headers:n.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<`u`?Buffer.from(e).toString(`base64`):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,``)}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,``).replace(/\/+/g,`/`)}applyTransformOptsToQuery(e,t){return t.width&&e.set(`width`,t.width.toString()),t.height&&e.set(`height`,t.height.toString()),t.resize&&e.set(`resize`,t.resize),t.format&&e.set(`format`,t.format),t.quality&&e.set(`quality`,t.quality.toString()),e}},Lo={"X-Client-Info":`storage-js/2.112.3`},Ro=class extends ko{constructor(e,t={},n,r){let i=new URL(e);r?.useNewHostname&&/supabase\.(co|in|red)$/.test(i.hostname)&&!i.hostname.includes(`storage.supabase.`)&&(i.hostname=i.hostname.replace(`supabase.`,`storage.supabase.`));let a=i.href.replace(/\/$/,``),o=N(N({},Lo),t);super(a,o,n,`storage`)}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=t.listBucketOptionsToQueryString(e);return await Co(t.fetch,`${t.url}/bucket${n}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Co(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var n=this;return n.handleOperation(async()=>await wo(n.fetch,`${n.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async updateBucket(e,t){var n=this;return n.handleOperation(async()=>await To(n.fetch,`${n.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await wo(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Do(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}async purgeBucketCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=new URLSearchParams;t?.transformations&&i.set(`transformations`,`true`);let a=i.toString();return await Do(r.fetch,`${r.url}/cdn/${vo(e)}${a?`?${a}`:``}`,{},{headers:r.headers},n)})}listBucketOptionsToQueryString(e){let t={};return e&&(`limit`in e&&(t.limit=String(e.limit)),`offset`in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>
160?`?`+new URLSearchParams(t).toString():``}},zo=class extends ko{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=N(N({},Lo),t);super(r,i,n,`storage`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await wo(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=new URLSearchParams;e?.limit!==void 0&&n.set(`limit`,e.limit.toString()),e?.offset!==void 0&&n.set(`offset`,e.offset.toString()),e?.sortColumn&&n.set(`sortColumn`,e.sortColumn),e?.sortOrder&&n.set(`sortOrder`,e.sortOrder),e?.search&&n.set(`search`,e.search);let r=n.toString(),i=r?`${t.url}/bucket?${r}`:`${t.url}/bucket`;return await Co(t.fetch,i,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Do(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!_o(e))throw new so(`Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.`);let n=new to({baseUrl:this.url,catalogName:e,auth:{type:`custom`,getHeaders:async()=>t.headers},fetch:this.fetch}),r=this.shouldThrowOnError;return new Proxy(n,{get(e,t){let n=e[t];return typeof n==`function`?async(...t)=>{try{return{data:await n.apply(e,t),error:null}}catch(e){if(r)throw e;return{data:null,error:e}}}:n}})}},Bo=class extends ko{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=N(N({},Lo),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createIndex(e){var t=this;return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var n=this;return n.handleOperation(async()=>await Oo.post(n.fetch,`${n.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var n=this;return n.handleOperation(async()=>await Oo.post(n.fetch,`${n.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers})||{})}},Vo=class extends ko{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=N(N({},Lo),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw Error(`Vector batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw Error(`segmentCount must be between 1 and 16`);if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw Error(`Keys batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},Ho=class extends ko{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=N(N({},Lo),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Oo.post(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},Uo=class extends Ho{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new Wo(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,n=this;return t().call(n,e)}async getBucket(e){var t=()=>super.getBucket,n=this;return t().call(n,e)}async listBuckets(e={}){var t=()=>super.listBuckets,n=this;return t().call(n,e)}async deleteBucket(e){var t=()=>super.deleteBucket,n=this;return t().call(n,e)}},Wo=class extends Bo{constructor(e,t,n,r){super(e,t,r),this.vectorBucketName=n}async createIndex(e){var t=()=>super.createIndex,n=this;return t().call(n,N(N({},e),{},{vectorBucketName:n.vectorBucketName}))}
16async listIndexes(e={}){var t=()=>super.listIndexes,n=this;return t().call(n,N(N({},e),{},{vectorBucketName:n.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,n=this;return t().call(n,n.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,n=this;return t().call(n,n.vectorBucketName,e)}index(e){return new Go(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},Go=class extends Vo{constructor(e,t,n,r,i){super(e,t,i),this.vectorBucketName=n,this.indexName=r}async putVectors(e){var t=()=>super.putVectors,n=this;return t().call(n,N(N({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async getVectors(e){var t=()=>super.getVectors,n=this;return t().call(n,N(N({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,n=this;return t().call(n,N(N({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,n=this;return t().call(n,N(N({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,n=this;return t().call(n,N(N({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}},Ko=class extends Ro{constructor(e,t={},n,r){super(e,t,n,r)}from(e){return new Io(this.url,this.headers,e,this.fetch)}get vectors(){return new Uo(this.url+`/vector`,{headers:this.headers,fetch:this.fetch})}get analytics(){return new zo(this.url+`/iceberg`,this.headers,this.fetch)}},qo=`2.112.3`,Jo=30*1e3,Yo=3*Jo,Xo=2*Jo,Zo=`http://localhost:9999`,Qo=`supabase.auth.token`,$o={"X-Client-Info":`gotrue-js/${qo}`},es=`X-Supabase-Api-Version`,ts={"2024-01-01":{timestamp:Date.parse(`2024-01-01T00:00:00.0Z`),name:`2024-01-01`}},ns=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,rs=`sb_flow_id`,is=class extends Error{constructor(e,t,n){super(e),this.__isAuthError=!0,this.name=`AuthError`,this.status=t,this.code=n}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}};function F(e){return typeof e==`object`&&!!e&&`__isAuthError`in e}var as=class extends is{constructor(e,t,n){super(e,t,n),this.name=`AuthApiError`,this.status=t,this.code=n}};function os(e){return F(e)&&e.name===`AuthApiError`}var ss=class extends is{constructor(e,t){super(e),this.name=`AuthUnknownError`,this.originalError=t}},cs=class extends is{constructor(e,t,n,r){super(e,n,r),this.name=t,this.status=n}},ls=class extends cs{constructor(){super(`Auth session missing!`,`AuthSessionMissingError`,400,void 0)}};function us(e){return F(e)&&e.name===`AuthSessionMissingError`}var ds=class extends cs{constructor(){super(`Auth session or user missing`,`AuthInvalidToken
16ResponseError`,500,void 0)}},fs=class extends cs{constructor(e){super(e,`AuthInvalidCredentialsError`,400,void 0)}},ps=class extends cs{constructor(e,t=null){super(e,`AuthImplicitGrantRedirectError`,500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}};function ms(e){return F(e)&&e.name===`AuthImplicitGrantRedirectError`}var hs=class extends cs{constructor(e,t=null){super(e,`AuthPKCEGrantCodeExchangeError`,500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}},gs=class extends cs{constructor(){super(`PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.`,`AuthPKCECodeVerifierMissingError`,400,`pkce_code_verifier_not_found`)}},_s=class extends cs{constructor(e,t){super(e,`AuthRetryableFetchError`,t,void 0)}};function vs(e){return F(e)&&e.name===`AuthRetryableFetchError`}var ys=class extends cs{constructor(e=`Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)`){super(e,`AuthRefreshDiscardedError`,409,void 0)}};function bs(e){return F(e)&&e.name===`AuthRefreshDiscardedError`}var xs=class extends cs{constructor(e,t,n){super(e,`AuthWeakPasswordError`,t,`weak_password`),this.reasons=n}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}},Ss=class extends cs{constructor(e){super(e,`AuthInvalidJwtError`,400,`invalid_jwt`)}},Cs=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`.split(``),ws=` 	
17\r=`.split(``),Ts=(()=>{let e=Array(128);for(let t=0;t<e.length;t+=1)e[t]=-1;for(let t=0;t<ws.length;t+=1)e[ws[t].charCodeAt(0)]=-2;for(let t=0;t<Cs.length;t+=1)e[Cs[t].charCodeAt(0)]=t;return e})();function Es(e,t,n){if(e!==null)for(t.queue=t.queue<<8|e,t.queuedBits+=8;t.queuedBits>=6;)n(Cs[t.queue>>t.queuedBits-6&63]),t.queuedBits-=6;else if(t.queuedBits>0)for(t.queue<<=6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;)n(Cs[t.queue>>t.queuedBits-6&63]),t.queuedBits-=6}function Ds(e,t,n){let r=Ts[e];if(r>-1)for(t.queue=t.queue<<6|r,t.queuedBits+=6;t.queuedBits>=8;)n(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else if(r===-2)return;else throw Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}function Os(e){let t=[],n=e=>{t.push(String.fromCodePoint(e))},r={utf8seq:0,codepoint:0},i={queue:0,queuedBits:0},a=e=>{js(e,r,n)};for(let t=0;t<e.length;t+=1)Ds(e.charCodeAt(t),i,a);return t.join(``)}function ks(e,t){if(e<=127){t(e);return}else if(e<=2047){t(192|e>>6),t(128|e&63);return}else if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}else if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function As(e,t){for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>55295&&r<=56319){let t=(r-55296)*1024&65535;r=(e.charCodeAt(n+1)-56320&65535|t)+65536,n+=1}ks(r,t)}}function js(e,t,n){if(t.utf8seq===0){if(e<=127){n(e);return}for(let n=1;n<6;n+=1)if(!(e>>7-n&1)){t.utf8seq=n;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw Error(`Invalid UTF-8 sequence`);--t.utf8seq}else if(t.utf8seq>0){if(e<=127)throw Error(`Invalid UTF-8 sequence`);t.codepoint=t.codepoint<<6|e&63,--t.utf8seq,t.utf8seq===0&&n(t.codepoint)}}function Ms(e){let t=[],n={queue:0,queuedBits:0},r=e=>{t.push(e)};for(let t=0;t<e.length;t+=1)Ds(e.charCodeAt(t),n,r);return new Uint8Array(t)}function Ns(e){let t=[];return As(e,e=>t.push(e)),new Uint8Array(t)}function Ps(e){let t=[],n={queue:0,queuedBits:0},r=e=>{t.push(e)};return e.forEach(e=>Es(e,n,r)),Es(null,n,r),t.join(``)}function Fs(e){return Math.round(Date.now()/1e3)+e}function Is(){return Symbol(`auth-callback`)}var Ls=()=>typeof window<`u`&&typeof document<`u`,Rs={tested:!1,writable:!1},zs=()=>
17{if(!Ls())return!1;try{if(typeof globalThis.localStorage!=`object`)return!1}catch{return!1}if(Rs.tested)return Rs.writable;let e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),Rs.tested=!0,Rs.writable=!0}catch{Rs.tested=!0,Rs.writable=!1}return Rs.writable};function Bs(e){let t={},n=new URL(e);if(n.hash&&n.hash[0]===`#`)try{new URLSearchParams(n.hash.substring(1)).forEach((e,n)=>{t[n]=e})}catch{}return n.searchParams.forEach((e,n)=>{t[n]=e}),t}var Vs=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),Hs=e=>typeof e==`object`&&!!e&&`status`in e&&`ok`in e&&`json`in e&&typeof e.json==`function`,Us=async(e,t,n)=>{await e.setItem(t,JSON.stringify(n))},Ws=async(e,t)=>{let n=await e.getItem(t);if(!n)return null;try{return JSON.parse(n)}catch{return null}},Gs=async(e,t)=>{await e.removeItem(t)},Ks=class e{constructor(){this.promise=new e.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}};Ks.promiseConstructor=Promise;function qs(e){let t=e.split(`.`);if(t.length!==3)throw new Ss(`Invalid JWT structure`);for(let e=0;e<t.length;e++)if(!ns.test(t[e]))throw new Ss(`JWT not in base64url format`);return{header:JSON.parse(Os(t[0])),payload:JSON.parse(Os(t[1])),signature:Ms(t[2]),raw:{header:t[0],payload:t[1]}}}async function Js(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}function Ys(e,t){return new Promise((n,r)=>{(async()=>{for(let i=0;i<1/0;i++)try{let r=await e(i);if(!t(i,null,r)){n(r);return}}catch(e){if(!t(i,e)){r(e);return}}})()})}function Xs(e){return(`0`+e.toString(16)).substr(-2)}function Zs(){let e=new Uint32Array(56);if(typeof crypto>`u`){let e=``;for(let t=0;t<56;t++)e+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~`.charAt(Math.floor(Math.random()*66));return e}return crypto.getRandomValues(e),Array.from(e,Xs).join(``)}async function Qs(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t),r=new Uint8Array(n);return Array.from(r).map(e=>String.fromCharCode(e)).join(``)}async function $s(e){if(!(typeof crypto<`u`&&crypto.subtle!==void 0&&typeof TextEncoder<`u`))return console.warn(`WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256.`),e;let t=await Qs(e);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var ec=/^[a-zA-Z0-9_-]{8,64}$/;function tc(e){return typeof e==`string`&&ec.test(e)?e:null}function nc(){if(typeof crypto<`u`&&typeof crypto.getRandomValues==`function`){let e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,Xs).join(``)}let e=``;for(let t=0;t<32;t++)e+=Math.floor(Math.random()*16).toString(16);return e}var rc=(e,t)=>`${e}-flow-${t}-code-verifier`,ic=e=>`${e}-flows-code-verifier`;async function ac(e,t){let n=await Ws(e,ic(t));return Array.isArray(n)?n.filter(e=>tc(e)!==null):[]}async function oc(e,t,n,r,i){await Us(e,rc(t,n),r);let a=(await ac(e,t)).filter(e=>e!==n);for(a.push(n);a.length>5;){let n=a.shift();await Gs(e,rc(t,n)),i?.(n)}await Us(e,ic(t),a),await Us(e,`${t}-code-verifier`,r)}async function sc(e,t,n){if(n){let r=await Ws(e,rc(t,n));return{verifier:typeof r==`string`?r:null,flowId:n}}let r=await Ws(e,`${t}-code-verifier`);return{verifier:typeof r==`string`?r:null,flowId:null}}async function cc(e,t,n){let r=`${t}-code-verifier`;if(!n){await Gs(e,r);return}let i=rc(t,n),a=await Ws(e,i);await Gs(e,i);let o=await ac(e,t),s=o.filter(e=>e!==n);s.length!==o.length&&(s.length>0?await Us(e,ic(t),s):await Gs(e,ic(t))),a!=null&&a===await Ws(e,r)&&await Gs(e,r)}async function lc(e,t){let n=await ac(e,t);for(let r of n)await Gs(e,rc(t,r));await Gs(e,ic(t)),await Gs(e,`${t}-code-verifier`)}function uc(e,t){let n=e.indexOf(`#`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n),a=r.indexOf(`?`);if(a!==-1){let e=r.slice(0,a),t=r.slice(a+1).split(`&`).filter(e=>e!==``&&e!==`sb_flow_id`&&!e.startsWith(`sb_flow_id=`));r=t.length>0?`${e}?${t.join(`&`)}`:e}let o=r.includes(`?`)?`&`:`?`;return`${r}${o}${rs}=${encodeURIComponent(t)}${i}`}async function dc(e,t,n=!1,r){let i=Zs(),a=i;n&&(a+=`/recovery`);let o=nc();await oc(e,t,o,a,r);let s=await $s(i);return[s,i===s?`plain`:`s256`,o]}var fc=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function pc(e){let t=e.headers.get(es);if(!t||!t.match(fc))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function mc(e){if(!e)throw Error(`Missing exp claim`);if(e<=Math.floor(Date.now()/1e3))throw Error(`JWT has expired`)}function hc(e){switch(e){case`RS256`:return{name:`RSASSA-PKCS1-v1_5`,hash:{name:`
17SHA-256`}};case`ES256`:return{name:`ECDSA`,namedCurve:`P-256`,hash:{name:`SHA-256`}};default:throw Error(`Invalid alg claim`)}}var gc=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function _c(e){if(!gc.test(e))throw Error(`@supabase/auth-js: Expected parameter to be UUID but is not`)}function vc(e){if(!e.passkey)throw Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function yc(){return new Proxy({},{get:(e,t)=>{if(t===`__isUserNotAvailableProxy`)return!0;if(typeof t==`symbol`){let e=t.toString();if(e===`Symbol(Symbol.toPrimitive)`||e===`Symbol(Symbol.toStringTag)`||e===`Symbol(util.inspect.custom)`)return}throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${t}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,t)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,t)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function bc(e,t){return new Proxy(e,{get:(e,n,r)=>{if(n===`__isInsecureUserWarningProxy`)return!0;if(typeof n==`symbol`){let t=n.toString();if(t===`Symbol(Symbol.toPrimitive)`||t===`Symbol(Symbol.toStringTag)`||t===`Symbol(util.inspect.custom)`||t===`Symbol(nodejs.util.inspect.custom)`)return Reflect.get(e,n,r)}return!t.value&&typeof n==`string`&&(console.warn(`Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server.`),t.value=!0),Reflect.get(e,n,r)}})}function xc(e){return JSON.parse(JSON.stringify(e))}var Sc=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error}return JSON.stringify(e)},Cc=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function wc(e){if(!Hs(e))throw new _s(Sc(e),0);let t;try{t=await e.json()}catch(t){throw Cc.includes(e.status)?new _s(e.statusText||`HTTP ${e.status}`,e.status):new ss(Sc(t),t)}if(Cc.includes(e.status))throw new _s(Sc(t),e.status);let n,r=pc(e);if(r&&r.getTime()>=ts[`2024-01-01`].timestamp&&typeof t==`object`&&t&&typeof t.code==`string`?n=t.code:typeof t==`object`&&t&&typeof t.error_code==`string`&&(n=t.error_code),!n){if(typeof t==`object`&&t&&typeof t.weak_password==`object`&&t.weak_password&&Array.isArray(t.weak_password.reasons)&&t.weak_password.reasons.length&&t.weak_password.reasons.reduce((e,t)=>e&&typeof t==`string`,!0))throw new xs(Sc(t),e.status,t.weak_password.reasons)}else if(n===`weak_password`)throw new xs(Sc(t),e.status,t.weak_password?.reasons||[]);else if(n===`session_not_found`)throw new ls;throw new as(Sc(t),e.status||500,n)}var Tc=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};return e===`GET`?i:(i.headers=Object.assign({"Content-Type":`application/json;charset=UTF-8`},t?.headers),i.body=JSON.stringify(r),Object.assign(Object.assign({},i),n))};async function I(e,t,n,r){let i=Object.assign({},r?.headers);i[`X-Supabase-Api-Version`]||(i[es]=ts[`2024-01-01`].name),r?.jwt&&(i.Authorization=`Bearer ${r.jwt}`);let a=r?.query??{};r?.redirectTo&&(a.redirect_to=r.redirectTo);let o=await Ec(e,t,n+(Object.keys(a).length?`?`+new URLSearchParams(a).toString():``),{headers:i,noResolveJson:r?.noResolveJson},{},r?.body);return r?.xform?r?.xform(o):{data:Object.assign({},o),error:null}}async function Ec(e,t,n,r,i,a){let o=Tc(t,r,i,a),s;try{s=await e(n,Object.assign({},o))}catch(e){throw new _s(Sc(e),0)}if(s.ok||await wc(s),r?.noResolveJson)return s;try{return await s.json()}catch(e){await wc(e)}}function Dc(e){let t=null;Nc(e)&&(t=Object.assign({},e),e.expires_at||(t.expires_at=Fs(e.expires_in)));
17let n=e.user??(typeof e?.id==`string`?e:null);return{data:{session:t,user:n},error:null}}function Oc(e){let t=Dc(e);return!t.error&&e.weak_password&&typeof e.weak_password==`object`&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message==`string`&&e.weak_password.reasons.reduce((e,t)=>e&&typeof t==`string`,!0)&&(t.data.weak_password=e.weak_password),t}function kc(e){return{data:{user:e.user??e},error:null}}function Ac(e){return{data:e,error:null}}function jc(e){let{action_link:t,email_otp:n,hashed_token:r,redirect_to:i,verification_type:a}=e,o=ti(e,[`action_link`,`email_otp`,`hashed_token`,`redirect_to`,`verification_type`]);return{data:{properties:{action_link:t,email_otp:n,hashed_token:r,redirect_to:i,verification_type:a},user:Object.assign({},o)},error:null}}function Mc(e){return e}function Nc(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}var Pc=[`global`,`local`,`others`],Fc=class{constructor({url:e=``,headers:t={},fetch:n,experimental:r}){this.url=e,this.headers=t,this.fetch=Vs(n),this.experimental=r??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(e,t=Pc[0]){if(Pc.indexOf(t)<0)throw Error(`@supabase/auth-js: Parameter scope must be one of ${Pc.join(`, `)}`);try{return await I(this.fetch,`POST`,`${this.url}/logout?scope=${t}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(e){if(F(e))return{data:null,error:e};throw e}}async inviteUserByEmail(e,t={}){try{return await I(this.fetch,`POST`,`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:kc})}catch(e){if(F(e))return{data:{user:null},error:e};throw e}}async generateLink(e){try{let{options:t}=e,n=ti(e,[`options`]),r=Object.assign(Object.assign({},n),t);return`newEmail`in n&&(r.new_email=n?.newEmail,delete r.newEmail),await I(this.fetch,`POST`,`${this.url}/admin/generate_link`,{body:r,headers:this.headers,xform:jc,redirectTo:t?.redirectTo})}catch(e){if(F(e))return{data:{properties:null,user:null},error:e};throw e}}async createUser(e){try{return await I(this.fetch,`POST`,`${this.url}/admin/users`,{body:e,headers:this.headers,xform:kc})}catch(e){if(F(e))return{data:{user:null},error:e};throw e}}async listUsers(e){try{let t={nextPage:null,lastPage:0,total:0},n=await I(this.fetch,`GET`,`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:Mc});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>0&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(F(e))return{data:{users:[]},error:e};throw e}}async getUserById(e){_c(e);try{return await I(this.fetch,`GET`,`${this.url}/admin/users/${e}`,{headers:this.headers,xform:kc})}catch(e){if(F(e))return{data:{user:null},error:e};throw e}}async updateUserById(e,t){_c(e);try{return await I(this.fetch,`PUT`,`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:kc})}catch(e){if(F(e))return{data:{user:null},error:e};throw e}}async deleteUser(e,t=!1){_c(e);try{return await I(this.fetch,`DELETE`,`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:kc})}catch(e){if(F(e))return{data:{user:null},error:e};throw e}}async _listFactors(e){_c(e.userId);try{let{data:t,error:n}=await I(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:e=>({data:{factors:e},error:null})});return{data:t,error:n}}catch(e){if(F(e))return{data:null,error:e};throw e}}async _deleteFactor(e){_c(e.userId),_c(e.id);try{return{data:await I(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(e){if(F(e))return{data:null,error:e};throw e}}async _listOAuthClients(e){try{let t={nextPage:null,lastPage:0,total:0},n=await I(this.fetch,`GET`,`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:Mc});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>
170&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(F(e))return{data:{clients:[]},error:e};throw e}}async _createOAuthClient(e){try{return await I(this.fetch,`POST`,`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(F(e))return{data:null,error:e};throw e}}async _getOAuthClient(e){try{return await I(this.fetch,`GET`,`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(F(e))return{data:null,error:e};throw e}}async _updateOAuthClient(e,t){try{return await I(this.fetch,`PUT`,`${this.url}/admin/oauth/clients/${e}`,{body:t,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(F(e))return{data:null,error:e};throw e}}async _deleteOAuthClient(e){try{return await I(this.fetch,`DELETE`,`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(F(e))return{data:null,error:e};throw e}}async _regenerateOAuthClientSecret(e){try{return await I(this.fetch,`POST`,`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(F(e))return{data:null,error:e};throw e}}async _listCustomProviders(e){try{let t={};return e?.type&&(t.type=e.type),await I(this.fetch,`GET`,`${this.url}/admin/custom-providers`,{headers:this.headers,query:t,xform:e=>({data:{providers:e?.providers??[]},error:null})})}catch(e){if(F(e))return{data:{providers:[]},error:e};throw e}}async _createCustomProvider(e){try{return await I(this.fetch,`POST`,`${this.url}/admin/custom-providers`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(F(e))return{data:null,error:e};throw e}}async _getCustomProvider(e){try{return await I(this.fetch,`GET`,`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(F(e))return{data:null,error:e};throw e}}async _updateCustomProvider(e,t){try{return await I(this.fetch,`PUT`,`${this.url}/admin/custom-providers/${e}`,{body:t,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(F(e))return{data:null,error:e};throw e}}async _deleteCustomProvider(e){try{return await I(this.fetch,`DELETE`,`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(F(e))return{data:null,error:e};throw e}}async _adminListPasskeys(e){vc(this.experimental),_c(e.userId);try{return await I(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/passkeys`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(F(e))return{data:null,error:e};throw e}}async _adminDeletePasskey(e){vc(this.experimental),_c(e.userId),_c(e.passkeyId);try{return await I(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/passkeys/${e.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(F(e))return{data:null,error:e};throw e}}};function Ic(e={}){return{getItem:t=>e[t]||null,setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}}globalThis&&zs()&&globalThis.localStorage&&globalThis.localStorage.getItem(`supabase.gotrue-js.locks.debug`);var Lc=class extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}};function Rc(){if(typeof globalThis!=`object`)try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<`u`&&(self.globalThis=self)}}function zc(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function Bc(e){return parseInt(e,16)}function Vc(e){let t=new TextEncoder().encode(e);return`0x`+Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``)}function Hc(e){let{chainId:t,domain:n,expirationTime:r,issuedAt:i=new Date,nonce:a,notBefore:o,requestId:s,resources:c,scheme:l,uri:u,version:d}=e;if(!Number.isInteger(t))throw Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${t}`);if(!n)throw Error(`@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.`);if(a&&a.length<8)throw Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${a}`);if(!u)throw Error(`@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.`);if(d!==`1`)throw Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${d}`);if(e.statement?.includes(`
18`))throw Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`);let f=zc(e.address),p=`${l?`${l}://${n}`:n} wants you to sign in with your Ethereum account:\n${f}\n\n${e.statement?`${e.statement}\n`:``}`,m=`URI: ${u}\nVersion: ${d}\nChain ID: ${t}${a?`\nNonce: ${a}`:``}\nIssued At: ${i.toISOString()}`;if(r&&(m+=`\nExpiration Time: ${r.toISOString()}`),o&&(m+=`\nNot Before: ${o.toISOString()}`),s&&(m+=`\nRequest ID: ${s}`),c){let e=`
19Resources:`;for(let t of c){if(!t||typeof t!=`string`)throw Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${t}`);e+=`\n- ${t}`}m+=e}return`${p}\n${m}`}
19var Uc=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),this.__isWebAuthnError=!0,this.name=r??(n instanceof Error?n.name:void 0)??`Unknown Error`,this.code=t}toJSON(){return{name:this.name,message:this.message,code:this.code}}},Wc=class extends Uc{constructor(e,t){super({code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:t,message:e}),this.name=`WebAuthnUnknownError`,this.originalError=t}};function Gc({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new Uc({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new Uc({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new Uc({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new Uc({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new Uc({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new Uc({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new Uc({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new Uc({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=window.location.hostname;if(!Qc(t))return new Uc({message:`${window.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new Uc({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new Uc({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new Uc({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return new Uc({message:`a Non-Webauthn related error has occurred`,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e})}function Kc({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new Uc({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new Uc({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=window.location.hostname;if(!Qc(t))return new Uc({message:`${window.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new Uc({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`UnknownError`)return new Uc({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return new Uc({message:`a Non-Webauthn related error has occurred`,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e})}var qc=new class{createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}};
19function Jc(e){if(!e)throw Error(`Credential creation options are required`);if(typeof PublicKeyCredential<`u`&&`parseCreationOptionsFromJSON`in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON==`function`)return PublicKeyCredential.parseCreationOptionsFromJSON(e);let{challenge:t,user:n,excludeCredentials:r}=e,i=ti(e,[`challenge`,`user`,`excludeCredentials`]),a=Ms(t).buffer,o=Object.assign(Object.assign({},n),{id:Ms(n.id).buffer}),s=Object.assign(Object.assign({},i),{challenge:a,user:o});if(r&&r.length>0){s.excludeCredentials=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e];s.excludeCredentials[e]=Object.assign(Object.assign({},t),{id:Ms(t.id).buffer,type:t.type||`public-key`,transports:t.transports})}}return s}function Yc(e){if(!e)throw Error(`Credential request options are required`);if(typeof PublicKeyCredential<`u`&&`parseRequestOptionsFromJSON`in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON==`function`)return PublicKeyCredential.parseRequestOptionsFromJSON(e);let{challenge:t,allowCredentials:n}=e,r=ti(e,[`challenge`,`allowCredentials`]),i=Ms(t).buffer,a=Object.assign(Object.assign({},r),{challenge:i});if(n&&n.length>0){a.allowCredentials=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e];a.allowCredentials[e]=Object.assign(Object.assign({},t),{id:Ms(t.id).buffer,type:t.type||`public-key`,transports:t.transports})}}return a}function Xc(e){if(`toJSON`in e&&typeof e.toJSON==`function`)return e.toJSON();let t=e;return{id:e.id,rawId:e.id,response:{attestationObject:Ps(new Uint8Array(e.response.attestationObject)),clientDataJSON:Ps(new Uint8Array(e.response.clientDataJSON))},type:`public-key`,clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:t.authenticatorAttachment??void 0}}function Zc(e){if(`toJSON`in e&&typeof e.toJSON==`function`)return e.toJSON();let t=e,n=e.getClientExtensionResults(),r=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:Ps(new Uint8Array(r.authenticatorData)),clientDataJSON:Ps(new Uint8Array(r.clientDataJSON)),signature:Ps(new Uint8Array(r.signature)),userHandle:r.userHandle?Ps(new Uint8Array(r.userHandle)):void 0},type:`public-key`,clientExtensionResults:n,authenticatorAttachment:t.authenticatorAttachment??void 0}}function Qc(e){return e===`localhost`||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function $c(){return!!(Ls()&&`PublicKeyCredential`in window&&window.PublicKeyCredential&&`credentials`in navigator&&typeof(navigator==null?void 0:navigator.credentials)?.create==`function`&&typeof(navigator==null?void 0:navigator.credentials)?.get==`function`)}async function el(e){try{let t=await navigator.credentials.create(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new Wc(`Browser returned unexpected credential type`,t)}:{data:null,error:new Wc(`Empty credential response`,t)}}catch(t){return{data:null,error:Gc({error:t,options:e})}}}async function tl(e){try{let t=await navigator.credentials.get(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new Wc(`Browser returned unexpected credential type`,t)}:{data:null,error:new Wc(`Empty credential response`,t)}}catch(t){return{data:null,error:Kc({error:t,options:e})}}}var nl={hints:[`security-key`],authenticatorSelection:{authenticatorAttachment:`cross-platform`,requireResidentKey:!1,userVerification:`preferred`,residentKey:`discouraged`},attestation:`direct`},rl={userVerification:`preferred`,hints:[`security-key`],attestation:`direct`};function il(...e){let t=e=>typeof e==`object`&&!!e&&!Array.isArray(e),n=e=>e instanceof ArrayBuffer||ArrayBuffer.isView(e),r={};for(let i of e)if(i)for(let e in i){let a=i[e];if(a!==void 0)if(Array.isArray(a))r[e]=a;else if(n(a))r[e]=a;else if(t(a)){let n=r[e];t(n)?r[e]=il(n,a):r[e]=il(a)}else r[e]=a}return r}function al(e,t){return il(nl,e,t||{})}function ol(e,t){return il(rl,e,t||{})}var sl=class{constructor(e){this.client=e,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:`webauthn`}))}async _challenge({factorId:e,webauthn:t,friendlyName:n,signal:r},i){try{let{data:a,error:o}=await this.client.mfa.challenge({factorId:e,webauthn:t});if(!a)return{data:null,error:o};let s=r??qc.createNewAbortSignal();if(a.webauthn.type===`create`){let{user:e}=a.webauthn.credential_options.publicKey;if(!e.name){let t=n;if(t)e.name=`${e.id}:${t}`;else{let t=(await this.client.getUser()).data.user,n=t?.user_metadata?.name||t?.email||t?.id||`User`;e.name=`${e.id}:${n}`}}e.displayName||=e.name}switch(a.webauthn.type){case`create`:{let{data:t,error:n}=await el({publicKey:al(a.webauthn.credential_options.publicKey,i?.create),signal:s});return t?{data:{factorId:e,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:t}},error:null}:{data:null,error:n}}
19case`request`:{let t=ol(a.webauthn.credential_options.publicKey,i?.request),{data:n,error:r}=await tl(Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:t,signal:s}));return n?{data:{factorId:e,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:n}},error:null}:{data:null,error:r}}}}catch(e){return F(e)?{data:null,error:e}:{data:null,error:new ss(`Unexpected error in challenge`,e)}}}async _verify({challengeId:e,factorId:t,webauthn:n}){return this.client.mfa.verify({factorId:t,challengeId:e,webauthn:n})}async _authenticate({factorId:e,webauthn:{rpId:t=typeof window<`u`?window.location.hostname:void 0,rpOrigins:n=typeof window<`u`?[window.location.origin]:void 0,signal:r}={}},i){if(!t)return{data:null,error:new is(`rpId is required for WebAuthn authentication`)};try{if(!$c())return{data:null,error:new ss(`Browser does not support WebAuthn`,null)};let{data:a,error:o}=await this.challenge({factorId:e,webauthn:{rpId:t,rpOrigins:n},signal:r},{request:i});if(!a)return{data:null,error:o};let{webauthn:s}=a;return this._verify({factorId:e,challengeId:a.challengeId,webauthn:{type:s.type,rpId:t,rpOrigins:n,credential_response:s.credential_response}})}catch(e){return F(e)?{data:null,error:e}:{data:null,error:new ss(`Unexpected error in authenticate`,e)}}}async _register({friendlyName:e,webauthn:{rpId:t=typeof window<`u`?window.location.hostname:void 0,rpOrigins:n=typeof window<`u`?[window.location.origin]:void 0,signal:r}={}},i){if(!t)return{data:null,error:new is(`rpId is required for WebAuthn registration`)};try{if(!$c())return{data:null,error:new ss(`Browser does not support WebAuthn`,null)};let{data:a,error:o}=await this._enroll({friendlyName:e});if(!a)return await this.client.mfa.listFactors().then(t=>t.data?.all.find(t=>t.factor_type===`webauthn`&&t.friendly_name===e&&t.status!==`unverified`)).then(e=>e?this.client.mfa.unenroll({factorId:e?.id}):void 0),{data:null,error:o};let{data:s,error:c}=await this._challenge({factorId:a.id,friendlyName:a.friendly_name,webauthn:{rpId:t,rpOrigins:n},signal:r},{create:i});return s?this._verify({factorId:a.id,challengeId:s.challengeId,webauthn:{rpId:t,rpOrigins:n,type:s.webauthn.type,credential_response:s.webauthn.credential_response}}):{data:null,error:c}}catch(e){return F(e)?{data:null,error:e}:{data:null,error:new ss(`Unexpected error in register`,e)}}}};Rc();var cl={url:Zo,storageKey:Qo,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:$o,flowType:`implicit`,debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},ll={},ul=class e{get jwks(){return ll[this.storageKey]?.jwks??{keys:[]}}set jwks(e){ll[this.storageKey]=Object.assign(Object.assign({},ll[this.storageKey]),{jwks:e})}get jwks_cached_at(){return ll[this.storageKey]?.cachedAt??-(2**53-1)}set jwks_cached_at(e){ll[this.storageKey]=Object.assign(Object.assign({},ll[this.storageKey]),{cachedAt:e})}constructor(t){var n;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this._pendingInitNotifications=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;let r=Object.assign(Object.assign({},cl),t);if(this.storageKey=r.storageKey,this.instanceID=e.nextInstanceID[this.storageKey]??0,e.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!r.debug,typeof r.debug==`function`&&(this.logger=r.debug),this.instanceID>0&&Ls()){let e=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(e),this.logDebugMessages&&console.trace(e)}if(this.persistSession=r.persistSession,this.autoRefreshToken=r.autoRefreshToken,this.experimental=r.experimental??{},this.admin=new Fc({url:r.url,headers:r.headers,fetch:r.fetch,experimental:this.experimental}),this.url=r.url,this.headers=r.headers,this.fetch=Vs(r.fetch),this.detectSessionInUrl=r.detectSessionInUrl,this.flowType=r.flowType,this.hasCustomAuthorizationHeader=r.hasCustomAuthorizationHeader,this.throwOnError=r.throwOnError,this.lockAcquireTimeout=r.lockAcquireTimeout,r.lock!=null&&(this.lock=r.lock),this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=-(2**53-1)),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new sl(this)}
19,this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(r.storage?this.storage=r.storage:zs()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=Ic(this.memoryStorage)),r.userStorage&&(this.userStorage=r.userStorage)):(this.memoryStorage={},this.storage=Ic(this.memoryStorage)),Ls()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(e){console.error(`Failed to create a new BroadcastChannel, multi-tab state changes will not be available`,e)}(n=this.broadcastChannel)==null||n.addEventListener(`message`,async e=>{this._debug(`received broadcast notification from other tab or client`,e),(e.data.event===`TOKEN_REFRESHED`||e.data.event===`SIGNED_IN`)&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(e.data.event,e.data.session,!1)}catch(e){this._debug(`#broadcastChannel`,`error`,e)}})}r.skipAutoInitialize||this.initialize().catch(e=>{this._debug(`#initialize()`,`error`,e)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${qo}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){if(this.initializePromise)return await this.initializePromise;this._pendingInitNotifications=[],this.initializePromise=(async()=>this.lock==null?await this._initialize():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))();let e=await this.initializePromise,t=this._pendingInitNotifications??[];this._pendingInitNotifications=null;for(let e of t)await this._notifyAllSubscribers(e.event,e.session,e.broadcast);return e}async _initialize(){try{let e={},t=`none`;if(Ls()&&(e=Bs(window.location.href),this._isImplicitGrantCallback(e)?t=`implicit`:await this._isPKCECallback(e)&&(t=`pkce`)),Ls()&&this.detectSessionInUrl&&t!==`none`){let{data:n,error:r}=await this._getSessionFromURL(e,t);if(r){if(this._debug(`#_initialize()`,`error detecting session from URL`,r),ms(r)){let e=r.details?.code;if(e===`identity_already_exists`||e===`identity_not_found`||e===`single_identity_not_deletable`)return{error:r}}return{error:r}}let{session:i,redirectType:a}=n;return this._debug(`#_initialize()`,`detected session in URL`,i,`redirect type`,a),await this._saveSession(i),setTimeout(async()=>{a===`recovery`?await this._notifyAllSubscribers(`PASSWORD_RECOVERY`,i):await this._notifyAllSubscribers(`SIGNED_IN`,i)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(e){return F(e)?this._returnResult({error:e}):this._returnResult({error:new ss(`Unexpected error during initialization`,e)})}finally{await this._handleVisibilityChange(),this._debug(`#_initialize()`,`end`)}}async signInAnonymously(e){try{let{data:t,error:n}=await I(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{data:e?.options?.data??{},gotrue_meta_security:{captcha_token:e?.options?.captchaToken}},xform:Dc});if(n||!t)return this._returnResult({data:{user:null,session:null},error:n});let r=t.session,i=t.user;return t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(`SIGNED_IN`,r)),this._returnResult({data:{user:i,session:r},error:null})}catch(e){if(F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signUp(e){let t=null;try{let n;if(`email`in e){let{email:r,password:i,options:a}=e,o=null,s=null;this.flowType===`pkce`&&([o,s,t]=await this._getCodeChallengeAndMethod()),n=await I(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(a?.emailRedirectTo,t),body:{email:r,password:i,data:a?.data??{},gotrue_meta_security:{captcha_token:a?.captchaToken}
19,code_challenge:o,code_challenge_method:s},xform:Dc})}else if(`phone`in e){let{phone:t,password:r,options:i}=e;n=await I(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{phone:t,password:r,data:i?.data??{},channel:i?.channel??`sms`,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Dc})}else throw new fs(`You must provide either an email or phone number and a password`);let{data:r,error:i}=n;if(i||!r)return await cc(this.storage,this.storageKey,t),this._returnResult({data:{user:null,session:null},error:i});let a=r.session,o=r.user;return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,a)),this._returnResult({data:{user:o,session:a},error:null})}catch(e){if(await cc(this.storage,this.storageKey,t),F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithPassword(e){try{let t;if(`email`in e){let{email:n,password:r,options:i}=e;t=await I(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Oc})}else if(`phone`in e){let{phone:n,password:r,options:i}=e;t=await I(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Oc})}else throw new fs(`You must provide either an email or phone number and a password`);let{data:n,error:r}=t;if(r)return this._returnResult({data:{user:null,session:null},error:r});if(!n||!n.session||!n.user){let e=new ds;return this._returnResult({data:{user:null,session:null},error:e})}return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers(`SIGNED_IN`,n.session)),this._returnResult({data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:r})}catch(e){if(F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithOAuth(e){return await this._handleProviderSignIn(e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:e.options?.skipBrowserRedirect})}async exchangeCodeForSession(e,t){return await this.initializePromise,this.lock==null?this._exchangeCodeForSession(e,t):this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(e,t))}async signInWithWeb3(e){let{chain:t}=e;switch(t){case`ethereum`:return await this.signInWithEthereum(e);case`solana`:return await this.signInWithSolana(e);default:throw Error(`@supabase/auth-js: Unsupported chain "${t}"`)}}async signInWithEthereum(e){let t,n;if(`message`in e)t=e.message,n=e.signature;else{let{chain:r,wallet:i,statement:a,options:o}=e,s;if(!Ls()){if(typeof i!=`object`||!o?.url)throw Error(`@supabase/auth-js: Both wallet and url must be specified in non-browser environments.`);s=i}else if(typeof i==`object`)s=i;else{let e=window;if(`ethereum`in e&&typeof e.ethereum==`object`&&`request`in e.ethereum&&typeof e.ethereum.request==`function`)s=e.ethereum;else throw Error(`@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.`)}let c=new URL(o?.url??window.location.href),l=await s.request({method:`eth_requestAccounts`}).then(e=>e).catch(()=>{throw Error(`@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid`)});if(!l||l.length===0)throw Error(`@supabase/auth-js: No accounts available. Please ensure the wallet is connected.`);let u=zc(l[0]),d=o?.signInWithEthereum?.chainId;d||=Bc(await s.request({method:`eth_chainId`})),t=Hc({domain:c.host,address:u,statement:a,uri:c.href,version:`1`,chainId:d,nonce:o?.signInWithEthereum?.nonce,issuedAt:o?.signInWithEthereum?.issuedAt??new Date,expirationTime:o?.signInWithEthereum?.expirationTime,notBefore:o?.signInWithEthereum?.notBefore,requestId:o?.signInWithEthereum?.requestId,resources:o?.signInWithEthereum?.resources}),n=await s.request({method:`personal_sign`,params:[Vc(t),u]})}try{let{data:r,error:i}=await I(this.fetch,`POST`,`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:`ethereum`,message:t,signature:n},e.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}:null),xform:Dc});if(i)throw i;if(!r||!r.session||!r.user){let e=new ds;return this._returnResult({data:{user:null,session:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign({},r),error:i})}catch(e){if(F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithSolana(e){let t,n;if(`message`in e)t=e.message,n=e.signature;else{let{chain:r,wallet:i,statement:a,options:o}=e,s;if(!Ls()){if(typeof i!=`object`||!o?.url)throw Error(`@supabase/auth-js: Both wallet and url must be specified in non-browser environments.`);s=i}else if(typeof i==`object`)s=i;else{let e=window;if(`solana`in e&&typeof e.solana==`object`&&(`signIn`in e.solana&&typeof e.solana.signIn==`function`||`signMessage`in e.
19solana&&typeof e.solana.signMessage==`function`))s=e.solana;else throw Error(`@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.`)}let c=new URL(o?.url??window.location.href);if(`signIn`in s&&s.signIn){let e=await s.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},o?.signInWithSolana),{version:`1`,domain:c.host,uri:c.href}),a?{statement:a}:null)),r;if(Array.isArray(e)&&e[0]&&typeof e[0]==`object`)r=e[0];else if(e&&typeof e==`object`&&`signedMessage`in e&&`signature`in e)r=e;else throw Error(`@supabase/auth-js: Wallet method signIn() returned unrecognized value`);if(`signedMessage`in r&&`signature`in r&&(typeof r.signedMessage==`string`||r.signedMessage instanceof Uint8Array)&&r.signature instanceof Uint8Array)t=typeof r.signedMessage==`string`?r.signedMessage:new TextDecoder().decode(r.signedMessage),n=r.signature;else throw Error(`@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields`)}else{if(!(`signMessage`in s)||typeof s.signMessage!=`function`||!(`publicKey`in s)||typeof s!=`object`||!s.publicKey||!(`toBase58`in s.publicKey)||typeof s.publicKey.toBase58!=`function`)throw Error(`@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API`);t=[`${c.host} wants you to sign in with your Solana account:`,s.publicKey.toBase58(),...a?[``,a,``]:[``],`Version: 1`,`URI: ${c.href}`,`Issued At: ${o?.signInWithSolana?.issuedAt??new Date().toISOString()}`,...o?.signInWithSolana?.notBefore?[`Not Before: ${o.signInWithSolana.notBefore}`]:[],...o?.signInWithSolana?.expirationTime?[`Expiration Time: ${o.signInWithSolana.expirationTime}`]:[],...o?.signInWithSolana?.chainId?[`Chain ID: ${o.signInWithSolana.chainId}`]:[],...o?.signInWithSolana?.nonce?[`Nonce: ${o.signInWithSolana.nonce}`]:[],...o?.signInWithSolana?.requestId?[`Request ID: ${o.signInWithSolana.requestId}`]:[],...o?.signInWithSolana?.resources?.length?[`Resources`,...o.signInWithSolana.resources.map(e=>`- ${e}`)]:[]].join(`
20`);let e=await s.signMessage(new TextEncoder().encode(t),`utf8`);if(!e||!(e instanceof Uint8Array))throw Error(`@supabase/auth-js: Wallet signMessage() API returned an recognized value`);n=e}}try{let{data:r,error:i}=await I(this.fetch,`POST`,`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:`solana`,message:t,signature:Ps(n)},e.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}:null),xform:Dc});if(i)throw i;if(!r||!r.session||!r.user){let e=new ds;return this._returnResult({data:{user:null,session:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign({},r),error:i})}catch(e){if(F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async _exchangeCodeForSession(e,t){let n=t?.flowId!=null,r=n?tc(t?.flowId):Ls()?tc(Bs(window.location.href)[rs]):null;n&&!r&&this._debug(`#_exchangeCodeForSession()`,`provided flowId is not a valid flow id`,t?.flowId);let{verifier:i,flowId:a}=n&&!r?{verifier:null,flowId:null}:await sc(this.storage,this.storageKey,r),[o,s]=(i??``).split(`/`);try{if(!o&&this.flowType===`pkce`)throw new gs;let{data:t,error:n}=await I(this.fetch,`POST`,`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:o},xform:Dc});if(await cc(this.storage,this.storageKey,a),n)throw n;if(!t||!t.session||!t.user){let e=new ds;return this._returnResult({data:{user:null,session:null,redirectType:null},error:e})}return t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(s===`recovery`?`PASSWORD_RECOVERY`:`SIGNED_IN`,t.session)),this._returnResult({data:Object.assign(Object.assign({},t),{redirectType:s??null}),error:n})}catch(e){if(await cc(this.storage,this.storageKey,a),F(e))return this._returnResult({data:{user:null,session:null,redirectType:null},error:e});throw e}}async signInWithIdToken(e){try{let{options:t,provider:n,token:r,access_token:i,nonce:a}=e,{data:o,error:s}=await I(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:r,access_token:i,nonce:a,gotrue_meta_security:{captcha_token:t?.captchaToken}},xform:Dc});if(s)return this._returnResult({data:{user:null,session:null},error:s});if(!o||!o.session||!o.user){let e=new ds;return this._returnResult({data:{user:null,session:null},error:e})}return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers(`SIGNED_IN`,o.session)),this._returnResult({data:o,error:s})}catch(e){if(F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithOtp(e){let t=null;try{if(`email`in e){let{email:n,options:r}=e,i=null,a=null;this.flowType===`pkce`&&([i,a,t]=await this._getCodeChallengeAndMethod());let{error:o}=await I(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{email:n,data:r?.data??{},create_user:r?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:r?.captchaToken},code_challenge:i,code_challenge_method:a},redirectTo:this._maybeAppendFlowIdToRedirect(r?.emailRedirectTo,t)});return this._returnResult({data:{user:null,session:null},error:o})}if(`phone`in e){let{phone:t,options:n}=e,{data:r,error:i}=await I(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{phone:t,data:n?.data??{},create_user:n?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:n?.captchaToken},channel:n?.channel??`sms`}});return this._returnResult({data:{user:null,session:null,messageId:r?.message_id},error:i})}throw new fs(`You must provide either an email or phone number.`)}catch(e){if(await cc(this.storage,this.storageKey,t),F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async verifyOtp(e){try{let t,n;`options`in e&&(t=e.options?.redirectTo,n=e.options?.captchaToken);let{data:r,error:i}=await I(this.fetch,`POST`,`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:n}}),redirectTo:t,xform:Dc});if(i)throw i;if(!r)throw Error(`An error occurred on token verification.`);let a=r.session,o=r.user;return a?.access_token&&(await this._saveSession(a),await this._notifyAllSubscribers(e.type==`recovery`?`PASSWORD_RECOVERY`:`SIGNED_IN`,a)),this._returnResult({data:{user:o,session:a},error:null})}catch(e){if(F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithSSO(e){let t=null;try{let n=null,r=null;this.flowType===`pkce`&&([n,r,t]=await this._getCodeChallengeAndMethod());let i=await I(this.fetch,`POST`,`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},`providerId`in e?{provider_id:e.providerId}:null),`domain`in e?{domain:e.domain}:null),{redirect_to:this._maybeAppendFlowIdToRedirect(e.options?.redirectTo,t)}),e?.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:n,code_challenge_method:r}),headers:this.headers,xform:Ac});return i.data?.url&&Ls()&&!e.options?.skipBrowserRedirect&&window.location.assign(i.data.url),this._returnResult(i)}catch(e){if(await cc(this.storage,this.storageKey,t),F(e))return this._returnResult({data:null,error:e});throw e}}async reauthenticate(){return await this.initializePromise,this.lock==null?await this._reauthenticate():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)throw n;if(!t)throw new ls;let{error:r}=await I(this.fetch,`GET`,`${this.url}/reauthenticate`,{headers:this.headers,jwt:t.access_token});return this._returnResult({data:{user:null,session:null},error:r})})}catch(e){if(F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){let t=null;try{let n=`${this.url}/resend`;if(`email`in e){let{email:r,type:i,options:a}=e,o=null,s=null;this.flowType===`pkce`&&([o,s,t]=await this._getCodeChallengeAndMethod());let{error:c}=await I(this.fetch,`POST`,n,{headers:this.headers,body:{email:r,type:i,gotrue_meta_security:{captcha_token:a?.captchaToken}
20,code_challenge:o,code_challenge_method:s},redirectTo:this._maybeAppendFlowIdToRedirect(a?.emailRedirectTo,t)});return c&&await cc(this.storage,this.storageKey,t),this._returnResult({data:{user:null,session:null},error:c})}else if(`phone`in e){let{phone:t,type:r,options:i}=e,{data:a,error:o}=await I(this.fetch,`POST`,n,{headers:this.headers,body:{phone:t,type:r,gotrue_meta_security:{captcha_token:i?.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:a?.message_id},error:o})}throw new fs(`You must provide either an email or phone number and a type`)}catch(e){if(await cc(this.storage,this.storageKey,t),F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async getSession(){return await this.initializePromise,this.lock==null?await this._useSession(async e=>e):await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async e=>e))}async _acquireLock(e,t){this._debug(`#_acquireLock`,`begin`,e);try{if(this.lockAcquired){let e=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),n=(async()=>(await e,await t()))();return this.pendingInLock.push((async()=>{try{await n}catch{}})()),n}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug(`#_acquireLock`,`lock acquired for storage key`,this.storageKey);try{this.lockAcquired=!0;let e=t();for(this.pendingInLock.push((async()=>{try{await e}catch{}})()),await e;this.pendingInLock.length;){let e=[...this.pendingInLock];await Promise.all(e),this.pendingInLock.splice(0,e.length)}return await e}finally{this._debug(`#_acquireLock`,`lock released for storage key`,this.storageKey),this.lockAcquired=!1}})}finally{this._debug(`#_acquireLock`,`end`)}}async _useSession(e){this._debug(`#_useSession`,`begin`);try{return await e(await this.__loadSession())}finally{this._debug(`#_useSession`,`end`)}}async __loadSession(){this._debug(`#__loadSession()`,`begin`),this.lock!=null&&!this.lockAcquired&&this._debug(`#__loadSession()`,`used outside of an acquired lock!`,Error().stack);try{let e=null,t=await Ws(this.storage,this.storageKey);if(this._debug(`#getSession()`,`session from storage`,t),t!==null&&(this._isValidSession(t)?e=t:(this._debug(`#getSession()`,`session from storage is not valid`),await this._removeSession())),!e)return{data:{session:null},error:null};let n=e.expires_at?e.expires_at*1e3-Date.now()<Yo:!1;if(this._debug(`#__loadSession()`,`session has${n?``:` not`} expired`,`expires_at`,e.expires_at),!n){if(this.userStorage){let t=await Ws(this.userStorage,this.storageKey+`-user`);t?.user?e.user=t.user:e.user=yc()}if(this.storage.isServer&&e.user&&!e.user.__isUserNotAvailableProxy){let t={value:this.suppressGetSessionWarning};e.user=bc(e.user,t),t.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:e},error:null}}let{data:r,error:i}=await this._callRefreshToken(e.refresh_token);if(i){if(e.expires_at&&e.expires_at*1e3>Date.now()){let t=await Ws(this.storage,this.storageKey);if(t&&t.refresh_token===e.refresh_token)return this._returnResult({data:{session:e},error:null})}return this._returnResult({data:{session:null},error:i})}return this._returnResult({data:{session:r},error:null})}finally{this._debug(`#__loadSession()`,`end`)}}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;let t;return t=this.lock==null?await this._getUser():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()),t.data.user&&(this.suppressGetSessionWarning=!0),t}async _getUser(e){try{return e?await I(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:e,xform:kc}):await this._useSession(async e=>{let{data:t,error:n}=e;if(n)throw n;return!t.session?.access_token&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new ls}:await I(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:t.session?.access_token??void 0,xform:kc})})}catch(e){if(F(e))return us(e)&&await this._removeSession(),this._returnResult({data:{user:null},error:e});throw e}}async updateUser(e,t={}){return await this.initializePromise,this.lock==null?await this._updateUser(e,t):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(e,t))}async _updateUser(e,t={}){let n=null;try{return await this._useSession(async r=>{let{data:i,error:a}=r;if(a)throw a;if(!i.session)throw new ls;let o=i.session,s=null,c=null;this.flowType===`pkce`&&e.email!=null&&([s,c,n]=await this._getCodeChallengeAndMethod());let{data:l,error:u}=await I(this.fetch,`PUT`,`${this.url}/user`,{headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(t?.emailRedirectTo,n),body:Object.assign(Object.assign({},e),{code_challenge:s,code_challenge_method:c}),jwt:o.access_token,xform:kc});if(u)throw u;return o.user=l.user,await this._saveSession(o),await this._notifyAllSubscribers(`USER_UPDATED`,o),this._returnResult({data:{user:o.user},error:null})})}catch(e){if(await cc(this.storage,this.storageKey,n),F(e))return this._returnResult({data:{user:null},error:e});throw e}}async setSession(e){return await this.initializePromise,this.lock==null?await this._setSession(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new ls;let t=Date.now()/1e3,n=t,r=!0,i=null,{payload:a}=qs(e.access_token);if(a.exp&&(n=a.exp,r=n<=t),r){let{data:t,error:n}=await this._callRefreshToken(e.refresh_token);if(n)return this._returnResult({data:{user:null,session:null},error:n});if(!t)return{data:{user:null,session:null},error:null};i=t}else{let{data:r,error:a}=await this._getUser(e.access_token);if(a)return this._returnResult({data:{user:null,session:null},error:a});i={access_token:e.access_token,refresh_token:e.refresh_token,user:r.user,token_type:`bearer`,expires_in:n-t,expires_at:n},await this._saveSession(i),await this._notifyAllSubscribers(`SIGNED_IN`,i)}return this._returnResult({data:{user:i.user,session:i},error:null})}catch(e){if(F(e))return this._returnResult({data:{session:null,user:null},error:e});throw e}}async refreshSession(e){return await this.initializePromise,this.lock==null?await this._refreshSession(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async t=>{if(!e){let{data:n,error:r}=t;if(r)throw r;e=n.session??void 0}if(!e?.refresh_token)throw new ls;let{data:n,error:r}=await this._callRefreshToken(e.refresh_token);return r?this._returnResult({data:{user:null,session:null},error:r}):n?this._returnResult({data:{user:n.user,session:n},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(e){if(F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async _getSessionFromURL(e,t){try{if(!Ls())throw new ps(`No browser detected.`);if(e.error||e.error_description||e.error_code)throw new ps(e.error_description||`Error in URL with unspecified error_description`,{error:e.error||`unspecified_error`,code:e.error_code||`unspecified_code`});switch(t){case`implicit`:if(this.flowType===`pkce`)throw new hs(`Not a valid PKCE flow url.`);break;case`pkce`:if(this.flowType===`implicit`)throw new ps(`Not a valid implicit grant flow url.`);break;default:}if(t===`pkce`){if(this._debug(`#_initialize()`,`begin`,`is PKCE flow`,!0),!e.code)throw new hs(`No code detected.`);let{data:t,error:n}=await this._exchangeCodeForSession(e.code,{flowId:e[rs]});if(n)throw n;let r=new URL(window.location.href);return r.searchParams.delete(`code`),r.searchParams.delete(rs),window.history.replaceState(window.history.state,``,r.toString()),{data:{session:t.session,redirectType:t.redirectType??null},error:null}}let{provider_token:n,provider_refresh_token:r,access_token:i,refresh_token:a,expires_in:o,expires_at:s,token_type:c}=e;if(!i||!o||!a||!c)throw new ps(`No session defined in URL`);let l=Math.round(Date.now()/1e3),u=parseInt(o),d=l+u;s&&(d=parseInt(s));let f=d-l;
20f*1e3<=3e4&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${f}s, should have been closer to ${u}s`);let p=d-u;l-p>=120?console.warn(`@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale`,p,d,l):l-p<0&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew`,p,d,l);let{data:m,error:h}=await this._getUser(i);if(h)throw h;let g={provider_token:n,provider_refresh_token:r,access_token:i,expires_in:u,expires_at:d,refresh_token:a,token_type:c,user:m.user};return window.location.hash=``,this._debug(`#_getSessionFromURL()`,`clearing window.location.hash`),this._returnResult({data:{session:g,redirectType:e.type},error:null})}catch(e){if(F(e))return this._returnResult({data:{session:null,redirectType:null},error:e});throw e}}_isImplicitGrantCallback(e){return typeof this.detectSessionInUrl==`function`?this.detectSessionInUrl(new URL(window.location.href),e):!!(e.access_token||e.error||e.error_description||e.error_code)}async _isPKCECallback(e){if(!e.code)return!1;let t=tc(e[rs]);return t&&await Ws(this.storage,rc(this.storageKey,t))?!0:!!await Ws(this.storage,`${this.storageKey}-code-verifier`)}async signOut(e={scope:`global`}){return await this.initializePromise,this.lock==null?await this._signOut(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:`global`}){return await this._useSession(async t=>{let n=async()=>{await this._removeSession()},{data:r,error:i}=t;if(i&&!us(i))return this._returnResult({error:i});let a=r.session?.access_token;if(a){let{error:t}=await this.admin.signOut(a,e);if(t&&!(os(t)&&(t.status===404||t.status===401||t.status===403)||us(t)))return e!==`others`&&await n(),this._returnResult({error:t})}return e!==`others`&&await n(),this._returnResult({error:null})})}onAuthStateChange(e){let t=Is(),n={id:t,callback:e,unsubscribe:()=>{this._debug(`#unsubscribe()`,`state change callback with id removed`,t),this.stateChangeEmitters.delete(t)}};return this._debug(`#onAuthStateChange()`,`registered callback with id`,t),this.stateChangeEmitters.set(t,n),(async()=>{await this.initializePromise,this.lock==null?await this._emitInitialSession(t):await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(t)})})(),{data:{subscription:n}}}async _emitInitialSession(e){return await this._useSession(async t=>{try{let{data:{session:n},error:r}=t;if(r)throw r;await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,n),this._debug(`INITIAL_SESSION`,`callback id`,e,`session`,n)}catch(t){await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,null),this._debug(`INITIAL_SESSION`,`callback id`,e,`error`,t),us(t)||vs(t)||os(t)&&(t.code===`refresh_token_not_found`||t.code===`refresh_token_already_used`||t.code===`session_expired`)?console.warn(t):console.error(t)}})}async resetPasswordForEmail(e,t={}){let n=null,r=null,i=null;this.flowType===`pkce`&&([n,r,i]=await this._getCodeChallengeAndMethod(!0));try{return await I(this.fetch,`POST`,`${this.url}/recover`,{body:{email:e,code_challenge:n,code_challenge_method:r,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(t.redirectTo,i)})}catch(e){if(await cc(this.storage,this.storageKey,i),F(e))return this._returnResult({data:null,error:e});throw e}}async getUserIdentities(){try{let{data:e,error:t}=await this.getUser();if(t)throw t;return this._returnResult({data:{identities:e.user.identities??[]},error:null})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async linkIdentity(e){return`token`in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){let t=null;try{let{data:n,error:r}=await this._useSession(async n=>{let{data:r,error:i}=n;if(i)throw i;let{url:a,flowId:o}=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:!0});return t=o,await I(this.fetch,`GET`,a,{headers:this.headers,jwt:r.session?.access_token??void 0})});if(r)throw r;
20return Ls()&&!e.options?.skipBrowserRedirect&&window.location.assign(n?.url),this._returnResult({data:{provider:e.provider,url:n?.url,flowId:t},error:null})}catch(n){if(F(n))return this._returnResult({data:{provider:e.provider,url:null,flowId:t},error:n});throw n}}async linkIdentityIdToken(e){return await this._useSession(async t=>{try{let{error:n,data:{session:r}}=t;if(n)throw n;let{options:i,provider:a,token:o,access_token:s,nonce:c}=e,{data:l,error:u}=await I(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:r?.access_token??void 0,body:{provider:a,id_token:o,access_token:s,nonce:c,link_identity:!0,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Dc});return u?this._returnResult({data:{user:null,session:null},error:u}):!l||!l.session||!l.user?this._returnResult({data:{user:null,session:null},error:new ds}):(l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers(`USER_UPDATED`,l.session)),this._returnResult({data:l,error:u}))}catch(e){if(await cc(this.storage,this.storageKey,null),F(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}})}async unlinkIdentity(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)throw r;return await I(this.fetch,`DELETE`,`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:n.session?.access_token??void 0})})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _refreshAccessToken(e){let t=`#_refreshAccessToken()`;this._debug(t,`begin`);try{let n=Date.now();return await Ys(async n=>(n>0&&await Js(200*2**(n-1)),this._debug(t,`refreshing attempt`,n),await I(this.fetch,`POST`,`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Dc})),(e,t)=>{let r=200*2**e;return t&&vs(t)&&Date.now()+r-n<3e4})}catch(e){if(this._debug(t,`error`,e),F(e))return this._returnResult({data:{session:null,user:null},error:e});throw e}finally{this._debug(t,`end`)}}_isValidSession(e){return typeof e==`object`&&!!e&&`access_token`in e&&`refresh_token`in e&&`expires_at`in e}async _handleProviderSignIn(e,t){let{url:n,flowId:r}=await this._getUrlForProvider(`${this.url}/authorize`,e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return this._debug(`#_handleProviderSignIn()`,`provider`,e,`options`,t,`url`,n),Ls()&&!t.skipBrowserRedirect&&window.location.assign(n),{data:{provider:e,url:n,flowId:r},error:null}}async _recoverAndRefresh(){let e=`#_recoverAndRefresh()`;this._debug(e,`begin`);try{let t=await Ws(this.storage,this.storageKey);if(t&&this.userStorage){let e=await Ws(this.userStorage,this.storageKey+`-user`);!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!e&&(e={user:t.user},await Us(this.userStorage,this.storageKey+`-user`,e)),t.user=e?.user??yc()}else if(t&&!t.user&&!t.user){let e=await Ws(this.storage,this.storageKey+`-user`);e&&e?.user?(t.user=e.user,await Gs(this.storage,this.storageKey+`-user`),await Us(this.storage,this.storageKey,t)):t.user=yc()}if(this._debug(e,`session from storage`,t),!this._isValidSession(t)){this._debug(e,`session is not valid`),t!==null&&await this._removeSession();return}let n=(t.expires_at??1/0)*1e3-Date.now()<Yo;if(this._debug(e,`session has${n?``:` not`} expired with margin of ${Yo}s`),n){if(this.autoRefreshToken&&t.refresh_token){let{error:n}=await this._callRefreshToken(t.refresh_token);n&&(bs(n)?this._debug(e,`refresh discarded by commit guard`,n):this._debug(e,`refresh failed`,n))}}else if(t.user&&t.user.__isUserNotAvailableProxy===!0)try{let{data:n,error:r}=await this._getUser(t.access_token);!r&&n?.user?(t.user=n.user,await this._saveSession(t),await this._notifyAllSubscribers(`SIGNED_IN`,t)):this._debug(e,`could not get user data, skipping SIGNED_IN notification`)}catch(t){console.error(`Error getting user data:`,t),this._debug(e,`error getting user data, skipping SIGNED_IN notification`,t)}else await this._notifyAllSubscribers(`SIGNED_IN`,t)}catch(t){this._debug(e,`error`,t),vs(t)?console.warn(t):console.error(t);return}finally{this._debug(e,`end`)}}async _callRefreshToken(e){var t,n;if(!e)throw new ls;if(this.refreshingDeferred)return this.refreshingDeferred.promise;if(this.lastRefreshFailure&&this.lastRefreshFailure.refreshToken===e&&Date.now()<this.lastRefreshFailure.expiresAt)return this._debug(`#_callRefreshToken()`,`returning c
20ached failure (cooldown active)`),this.lastRefreshFailure.result;let r=`#_callRefreshToken()`;this._debug(r,`begin`);try{this.refreshingDeferred=new Ks;let t=await Ws(this.storage,this.storageKey),{data:n,error:i}=await this._refreshAccessToken(e);if(i)throw i;if(!n.session)throw new ls;let a=await Ws(this.storage,this.storageKey);if(t!==null&&(a===null||a.refresh_token!==t.refresh_token)){this._debug(r,`commit guard: storage changed since refresh started, discarding rotated tokens`,{startedWith:`present`,nowHolds:a?`replaced`:`cleared`});let e={data:null,error:new ys};return this.refreshingDeferred.resolve(e),e}let o=this._sessionRemovalEpoch;if(await this._saveSession(n.session),this._sessionRemovalEpoch!==o){this._debug(r,`commit guard (post-save): _removeSession ran during _saveSession, undoing write`),await Gs(this.storage,this.storageKey),this.userStorage&&await Gs(this.userStorage,this.storageKey+`-user`);let e={data:null,error:new ys};return this.refreshingDeferred.resolve(e),e}await this._notifyAllSubscribers(`TOKEN_REFRESHED`,n.session);let s={data:n.session,error:null};return this.lastRefreshFailure=null,this.refreshingDeferred.resolve(s),s}catch(i){if(this._debug(r,`error`,i),F(i)){let n={data:null,error:i};if(!vs(i)){let e=await Ws(this.storage,this.storageKey);e?.expires_at&&e.expires_at*1e3>Date.now()?this._debug(r,`proactive refresh failed, access token still valid — preserving session`):await this._removeSession()}return this.lastRefreshFailure={refreshToken:e,result:n,expiresAt:Date.now()+Xo},(t=this.refreshingDeferred)==null||t.resolve(n),n}throw(n=this.refreshingDeferred)==null||n.reject(i),i}finally{this.refreshingDeferred=null,this._debug(r,`end`)}}async _notifyAllSubscribers(e,t,n=!0){if(this._pendingInitNotifications!==null&&n){this._pendingInitNotifications.push({event:e,session:t,broadcast:n});return}let r=`#_notifyAllSubscribers(${e})`;this._debug(r,`begin`,t,`broadcast = ${n}`);try{this.broadcastChannel&&n&&this.broadcastChannel.postMessage({event:e,session:t});let r=[],i=Array.from(this.stateChangeEmitters.values()).map(async n=>{try{await n.callback(e,t)}catch(e){r.push(e)}});if(await Promise.all(i),r.length>0){for(let e=0;e<r.length;e+=1)console.error(r[e]);throw r[0]}}finally{this._debug(r,`end`)}}async _saveSession(e){this._debug(`#_saveSession()`,e),this.suppressGetSessionWarning=!0;let t=Object.assign({},e),n=t.user&&t.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!n&&t.user&&await Us(this.userStorage,this.storageKey+`-user`,{user:t.user});let e=Object.assign({},t);delete e.user;let r=xc(e);await Us(this.storage,this.storageKey,r)}else{let e=xc(t);await Us(this.storage,this.storageKey,e)}}async _removeSession(){this._sessionRemovalEpoch+=1,this._debug(`#_removeSession()`),this.lastRefreshFailure=null,this.suppressGetSessionWarning=!1,await Gs(this.storage,this.storageKey),await lc(this.storage,this.storageKey),await Gs(this.storage,this.storageKey+`-user`),this.userStorage&&await Gs(this.userStorage,this.storageKey+`-user`),await this._notifyAllSubscribers(`SIGNED_OUT`,null)}_removeVisibilityChangedCallback(){this._debug(`#_removeVisibilityChangedCallback()`);let e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&Ls()&&window!=null&&window.removeEventListener&&window.removeEventListener(`visibilitychange`,e)}catch(e){console.error(`removing visibilitychange callback failed`,e)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug(`#_startAutoRefresh()`);let e=setInterval(()=>this._autoRefreshTokenTick(),Jo);this.autoRefreshTicker=e,e&&typeof e==`object`&&typeof e.unref==`function`?e.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(e);let t=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=t,t&&typeof t==`object`&&typeof t.unref==`function`?t.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(t)}async _stopAutoRefresh(){this._debug(`#_stopAutoRefresh()`);let e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e);let t=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,t&&clearTimeout(t)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var e;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(e=this.broadcastChannel)==null||e.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug(`#_autoRefreshTokenTick()`,`begin`),this.lock!=null){try{await this._acquireLock(0,async()=>{try{let e=Date.now();try{return await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/Jo);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${Jo}ms, refresh threshold is 3 ticks`),r<=3&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}})}catch(e){if(e instanceof Lc)this._debug(`auto refresh token tick lock not available`);else throw e}return}if(this.refreshingDeferred!==null){this._debug(`#_autoRefreshTokenTick()`,`refresh already in flight, skipping`);return}try{let e=Date.now();try{await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/Jo);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${Jo}ms, refresh threshold is 3 ticks`),r<=3&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}}async _handleVisibilityChange(){if(this._debug(`#_handleVisibilityChange()`),!Ls()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(e){this._debug(`#visibilityChangedCallback`,`error`,e)}},window==null||window.addEventListener(`visibilitychange`,this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error(`_handleVisibilityChange`,e)}}async _onVisibilityChanged(e){let t=`#_onVisibilityChanged(${e})`;if(this._debug(t,`visibilityState`,document.visibilityState),document.visibilityState===`visible`){if(this.autoRefreshToken&&this._startAutoRefresh(),!e)if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>
20{if(document.visibilityState!==`visible`){this._debug(t,`acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting`);return}await this._recoverAndRefresh()});else{if(document.visibilityState!==`visible`){this._debug(t,`visibilityState is no longer visible, skipping recovery`);return}await this._recoverAndRefresh()}}else document.visibilityState===`hidden`&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,t,n){let r=n?.redirectTo,i=null,a=null,o=null;this.flowType===`pkce`&&([i,a,o]=await this._getCodeChallengeAndMethod(),r=this._maybeAppendFlowIdToRedirect(r,o));let s=[`provider=${encodeURIComponent(t)}`];if(r&&s.push(`redirect_to=${encodeURIComponent(r)}`),n?.scopes&&s.push(`scopes=${encodeURIComponent(n.scopes)}`),i!=null&&a!=null){let e=new URLSearchParams({code_challenge:`${encodeURIComponent(i)}`,code_challenge_method:`${encodeURIComponent(a)}`});s.push(e.toString())}if(n?.queryParams){let e=new URLSearchParams(n.queryParams);s.push(e.toString())}return n?.skipBrowserRedirect&&s.push(`skip_http_redirect=${n.skipBrowserRedirect}`),{url:`${e}?${s.join(`&`)}`,flowId:o}}_maybeAppendFlowIdToRedirect(e,t){return!e||!t||!this.experimental.appendPkceFlowIdToRedirects?e??void 0:uc(e,t)}async _getCodeChallengeAndMethod(e=!1){return dc(this.storage,this.storageKey,e,e=>this._debug(`#_getCodeChallengeAndMethod()`,`evicted oldest pending PKCE verifier slot`,e))}async _unenroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;return r?this._returnResult({data:null,error:r}):await I(this.fetch,`DELETE`,`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:n?.session?.access_token})})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _enroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType===`phone`?{phone:e.phone}:e.factorType===`totp`?{issuer:e.issuer}:{}),{data:a,error:o}=await I(this.fetch,`POST`,`${this.url}/factors`,{body:i,headers:this.headers,jwt:n?.session?.access_token});return o?this._returnResult({data:null,error:o}):(e.factorType===`totp`&&a.type===`totp`&&a?.totp?.qr_code&&(a.totp.qr_code=`data:image/svg+xml;utf-8,${a.totp.qr_code}`),this._returnResult({data:a,error:null}))})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _verify(e){let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=Object.assign({challenge_id:e.challengeId},`webauthn`in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type===`create`?Xc(e.webauthn.credential_response):Zc(e.webauthn.credential_response)})}:{code:e.code}),{data:a,error:o}=await I(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/verify`,{body:i,headers:this.headers,jwt:n?.session?.access_token});return o?this._returnResult({data:null,error:o}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+a.expires_in},a)),await this._notifyAllSubscribers(`MFA_CHALLENGE_VERIFIED`,a),this._returnResult({data:a,error:o}))})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _challenge(e){let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=await I(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:n?.session?.access_token});if(i.error)return i;let{data:a}=i;if(a.type!==`webauthn`)return{data:a,error:null};switch(a.webauthn.type){case`create`:return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:Jc(a.webauthn.credential_options.publicKey)})})}),error:null};case`request`:return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:Yc(a.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _challengeAndVerify(e){let{data:t,error:n}=await this._challenge({factorId:e.factorId});return n?this._returnResult({data:null,error:n}):await this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})}async _listFactors(){let{data:{user:e},error:t}=await this.getUser();if(t)return{data:null,error:t};let n={all:[],phone:[],totp:[],webauthn:[]};for(let t of e?.factors??[])n.all.push(t),t.status===`verified`&&n[t.factor_type].push(t);return{data:n,error:null}}async _getAuthenticatorAssuranceLevel(e){if(e)try{let{payload:t}=qs(e),n=null;t.aal&&(n=t.aal);let r=n,{data:{user:i},error:a}=await this.getUser(e);if(a)return this._returnResult({data:null,error:a});((i?.factors)?.filter(e=>e.status===`verified`)??[]).length>0&&(r=`aal2`);let o=t.amr||[];return{data:{currentLevel:n,nextLevel:r,currentAuthenticationMethods:o},error:null}}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}let{data:{session:t},error:n}
20=await this.getSession();if(n)return this._returnResult({data:null,error:n});if(!t)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};let{payload:r}=qs(t.access_token),i=null;r.aal&&(i=r.aal);let a=i;(t.user.factors?.filter(e=>e.status===`verified`)??[]).length>0&&(a=`aal2`);let o=r.amr||[];return{data:{currentLevel:i,nextLevel:a,currentAuthenticationMethods:o},error:null}}async _getAuthorizationDetails(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?await I(this.fetch,`GET`,`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:n.access_token,xform:e=>({data:e,error:null})}):this._returnResult({data:null,error:new ls})})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _approveAuthorization(e,t){try{return await this._useSession(async n=>{let{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new ls});let a=await I(this.fetch,`POST`,`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:`approve`},xform:e=>({data:e,error:null})});return a.data&&a.data.redirect_url&&Ls()&&!t?.skipBrowserRedirect&&window.location.assign(a.data.redirect_url),a})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _denyAuthorization(e,t){try{return await this._useSession(async n=>{let{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new ls});let a=await I(this.fetch,`POST`,`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:`deny`},xform:e=>({data:e,error:null})});return a.data&&a.data.redirect_url&&Ls()&&!t?.skipBrowserRedirect&&window.location.assign(a.data.redirect_url),a})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _listOAuthGrants(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;return n?this._returnResult({data:null,error:n}):t?await I(this.fetch,`GET`,`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:t.access_token,xform:e=>({data:e,error:null})}):this._returnResult({data:null,error:new ls})})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?(await I(this.fetch,`DELETE`,`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:n.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new ls})})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async fetchJwk(e,t={keys:[]}){let n=t.keys.find(t=>t.kid===e);if(n)return n;let r=Date.now();if(n=this.jwks.keys.find(t=>t.kid===e),n&&this.jwks_cached_at+6e5>r)return n;let{data:i,error:a}=await I(this.fetch,`GET`,`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(a)throw a;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=r,n=i.keys.find(t=>t.kid===e),!n)?null:n}async getClaims(e,t={}){try{let n=e;if(!n){let{data:e,error:t}
20=await this.getSession();if(t||!e.session)return this._returnResult({data:null,error:t});n=e.session.access_token}let{header:r,payload:i,signature:a,raw:{header:o,payload:s}}=qs(n);if(!t?.allowExpired)try{mc(i.exp)}catch(e){throw new Ss(e instanceof Error?e.message:`JWT validation failed`)}let c=!r.alg||r.alg.startsWith(`HS`)||!r.kid||!(`crypto`in globalThis&&`subtle`in globalThis.crypto)?null:await this.fetchJwk(r.kid,t?.keys?{keys:t.keys}:t?.jwks);if(!c){let{error:e}=await this.getUser(n);if(e)throw e;return{data:{claims:i,header:r,signature:a},error:null}}let l=hc(r.alg),u=await crypto.subtle.importKey(`jwk`,c,l,!0,[`verify`]);if(!await crypto.subtle.verify(l,u,a,Ns(`${o}.${s}`)))throw new Ss(`Invalid JWT signature`);return{data:{claims:i,header:r,signature:a},error:null}}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async signInWithPasskey(e){vc(this.experimental);try{if(!$c())return this._returnResult({data:null,error:new ss(`Browser does not support WebAuthn`,null)});let{data:t,error:n}=await this._startPasskeyAuthentication({options:{captchaToken:e?.options?.captchaToken}});if(n||!t)return this._returnResult({data:null,error:n});let{data:r,error:i}=await tl({publicKey:Yc(t.options),signal:e?.options?.signal??qc.createNewAbortSignal()});if(i||!r)return this._returnResult({data:null,error:i??new ss(`WebAuthn ceremony failed`,null)});let a=Zc(r);return this._verifyPasskeyAuthentication({challengeId:t.challenge_id,credential:a})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async registerPasskey(e){vc(this.experimental);try{if(!$c())return this._returnResult({data:null,error:new ss(`Browser does not support WebAuthn`,null)});let{data:t,error:n}=await this._startPasskeyRegistration();if(n||!t)return this._returnResult({data:null,error:n});let{data:r,error:i}=await el({publicKey:Jc(t.options),signal:e?.options?.signal??qc.createNewAbortSignal()});if(i||!r)return this._returnResult({data:null,error:i??new ss(`WebAuthn ceremony failed`,null)});let a=Xc(r);return this._verifyPasskeyRegistration({challengeId:t.challenge_id,credential:a})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _startPasskeyRegistration(){vc(this.experimental);try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return this._returnResult({data:null,error:n});if(!t)return this._returnResult({data:null,error:new ls});let{data:r,error:i}=await I(this.fetch,`POST`,`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:t.access_token,body:{}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyRegistration(e){vc(this.experimental);try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new ls});let{data:i,error:a}=await I(this.fetch,`POST`,`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:n.access_token,body:{challenge_id:e.challengeId,credential:e.credential}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _startPasskeyAuthentication(e){vc(this.experimental);try{let{data:t,error:n}=await I(this.fetch,`POST`,`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:e?.options?.captchaToken}}});return n?this._returnResult({data:null,error:n}):this._returnResult({data:t,error:null})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyAuthentication(e){vc(this.experimental);try{let{data:t,error:n}=await I(this.fetch,`POST`,`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:e.challengeId,credential:e.credential},xform:Dc});return n?this._returnResult({data:null,error:n}):(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(`SIGNED_IN`,t.session)),this._returnResult({data:t,error:null}))}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _listPasskeys(){vc(this.experimental);try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return this._returnResult({data:null,error:n});if(!t)return this._returnResult({data:null,error:new ls});let{data:r,error:i}=await I(this.fetch,`GET`,`${this.url}/passkeys`,{headers:this.headers,jwt:t.access_token,xform:e=>({data:e,error:null})});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _updatePasskey(e){vc(this.experimental);try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new ls});let{data:i,error:a}=await I(this.fetch,`PATCH`,`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:n.access_token,body:{friendly_name:e.friendlyName}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}async _deletePasskey(e){vc(this.experimental);try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new ls});let{error:i}=await I(this.fetch,`DELETE`,`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:n.access_token,noResolveJson:!0});return i?this._returnResult({data:null,error:i}):this._returnResult({data:null,error:null})})}catch(e){if(F(e))return this._returnResult({data:null,error:e});throw e}}};ul.nextInstanceID={};var dl=ul,fl=`2.112.3`,pl=``,ml;if(typeof Deno<`u`)pl=`deno`,ml=Deno.version?.deno;else if(typeof document<`u`)pl=`web`;else if(typeof navigator<`u`&&navigator.product===`ReactNative`)pl=`react-native`;else{var hl;pl=`node`;let e=globalThis.process;ml=e==null||(hl=e.version)==null?void 0:hl.replace(/^v/,``)}var gl=[`runtime=${pl}`];ml&&gl.push(`runtime-version=${ml}`);var _l={headers:{"X-Client-Info":`supabase-js/${fl}; ${gl.join(`; `)}`}},vl={schema:`public`},yl={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:`implicit`},bl={},xl={enabled:!1,respectSamplingDecision:!0};function Sl(e){if(!e||typeof e!=`string`)return null;let t=e.split(`-`);if(t.length!==4)return null;let[n,r,i,a]=t;if(n.length!==2||r.length!==32||i.length!==16||a.length!==2)return null;let o=/^[0-9a-f]+$/i;return!o.test(n)||!o.test(r)||!o.test(i)||!o.test(a)||r===`00000000000000000000000000000000`||i===`0000000000000000`?null:{version:n,traceId:r,parentId:i,traceFlags:a,isSampled:(parseInt(a,16)&1)==1}}function Cl(e,t){if(!e||!t||t.length===0)return!1;let n;if(e instanceof URL)n=e;else try{n=new URL(e)}catch{return!1}for(let e of t)try{if(typeof e==`string`){if(wl(n.hostname,e))return!0}
20else if(e instanceof RegExp){if(e.test(n.hostname))return!0}else if(typeof e==`function`&&e(n))return!0}catch{continue}return!1}function wl(e,t){if(t===e)return!0;if(t.startsWith(`*.`)){let n=t.slice(2);if(e.endsWith(n)&&(e===n||e.endsWith(`.`+n)))return!0}return!1}function Tl(e){let t=[];try{let n=new URL(e);t.push(n.hostname)}catch{}return t.push(`*.supabase.co`,`*.supabase.in`),t.push(`localhost`,`127.0.0.1`,`[::1]`),t}function El(e){"@babel/helpers - typeof";return El=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},El(e)}function Dl(e,t){if(El(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(El(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ol(e){var t=Dl(e,`string`);return El(t)==`symbol`?t:t+``}function kl(e,t,n){return(t=Ol(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Al(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function jl(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Al(Object(n),!0).forEach(function(t){kl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Al(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ml=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),Nl=()=>Headers,Pl=e=>e.startsWith(`sb_publishable_`)||e.startsWith(`sb_secret_`),Fl=`sb_temp_`,Il=new Set,Ll=e=>{if(!e.startsWith(`sb_`)||Pl(e)||e.startsWith(Fl))return;let t=e.match(/^sb_[a-zA-Z0-9]+_/)?.[0]??`unknown`;Il.has(t)||(Il.add(t),console.warn(`@supabase/supabase-js: Unrecognized Supabase API key format. The client will proceed and send this key as-is; if you see authentication errors you may need to upgrade @supabase/supabase-js to a version that recognizes this key type.`))},Rl=(e,t,n,r,i,a)=>{let o=Ml(r),s=Nl(),c=i?.enabled===!0,l=i?.respectSamplingDecision!==!1,u=c?Tl(t):null,d=!(a?.omitApiKeyAsBearer&&Pl(e));return async(t,r)=>{let i=await n(),a=new s(r?.headers);if(a.has(`apikey`)||a.set(`apikey`,e),!a.has(`Authorization`)){let t=i??(d?e:null);t&&a.set(`Authorization`,`Bearer ${t}`)}if(u){let e=Vl(t,u,l);e&&(e.traceparent&&!a.has(`traceparent`)&&a.set(`traceparent`,e.traceparent),e.tracestate&&!a.has(`tracestate`)&&a.set(`tracestate`,e.tracestate),e.baggage&&!a.has(`baggage`)&&a.set(`baggage`,e.baggage))}return o(t,jl(jl({},r),{},{headers:a}))}},zl=!1,Bl=!1;function Vl(e,t,n){let r=ei();if(!r)return zl||(zl=!0,console.warn("@supabase/supabase-js: tracePropagation is enabled but the tracing runtime is not loaded, so trace headers will not be attached. Add `import '@supabase/supabase-js/tracing'` at your application entry point (requires the OpenTelemetry API package to be installed). The CDN/UMD build does not support trace propagation.")),null;if(!Cl(typeof e==`string`||e instanceof URL?e:e.url,t))return null;let i=r();if(!i||!i.traceparent){var a;if(i!=null&&(a=i.carrierKeys)!=null&&a.length&&!Bl){Bl=!0;let e=i.carrierKeys.includes(`sentry-trace`)?" Sentry detected: set `propagateTraceparent: true` in Sentry.init() to emit it.":` Configure your tracing SDK to emit W3C trace context on outgoing requests.`;console.warn(`@supabase/supabase-js: tracePropagation is enabled and a tracing SDK is active, but its propagator wrote [${i.carrierKeys.join(`, `)}] and no W3C traceparent header, so trace headers will not be attached.`+e)}return null}if(n){let e=Sl(i.traceparent);if(e&&!e.isSampled)return{traceparent:i.traceparent}}return i}function Hl(e){return typeof e==`boolean`?{enabled:e}:e}function Ul(e){return e.endsWith(`/`)?e:e+`/`}function Wl(e,t){let{db:n,auth:r,realtime:i,global:a}=e,{db:o,auth:s,realtime:c,global:l}=t,u=Hl(e.tracePropagation),d=Hl(t.tracePropagation),f={db:jl(jl({},o),n),auth:jl(jl({},s),r),realtime:jl(jl({},c),i),storage:{},global:jl(jl(jl({},l),a),{},{headers:jl(jl({},l?.headers??{}),a?.headers??{})}),tracePropagation:{enabled:u?.enabled??d?.enabled??!1,respectSamplingDecision:u?.respectSamplingDecision??d?.respectSamplingDecision??!0},accessToken:async()=>``};return e.accessToken?f.accessToken=e.accessToken:delete f.accessToken,f}function Gl(e){let t=e?.trim();if(!t)throw Error(`supabaseUrl is required.`);if(!t.match(/^https?:\/\//i))throw Error(`Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.`);try{return new URL(Ul(t))}catch{throw Error(`Invalid supabaseUrl: Provided URL is malformed.`)}}var Kl=class extends dl{constructor(e){super(e)}},ql=class{constructor(e,t,n){this.supabaseUrl=e,this.supabaseKey=t;let r=Gl(e);if(!t)throw Error(`supabaseKey is required.`);Ll(t),this.realtimeUrl=new URL(`realtime/v1`,r),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace(`http`,`ws`),this.authUrl=new URL(`auth/v1`,r),this.storageUrl=new URL(`storage/v1`,r),this.functionsUrl=new URL(`functions/v1`,r);let i=`sb-${r.hostname.split(`.`)[0]}-auth-token`,a={db:vl,realtime:bl,auth:jl(jl({},yl),{},{storageKey:i}),global:_l,tracePropagation:xl},o=Wl(n??{},a);this.settings=o,this.storageKey=o.auth.storageKey??``,this.headers=o.global.headers??{},o.accessToken?(this.accessToken=o.accessToken,this.auth=new Proxy({},{get:(e,t)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(t)} is not possible`)}})):this.auth=this._initSupabaseAuthClient(o.auth??{},this.headers,o.global.fetch),this.fetch=Rl(t,e,this._getSessionToken.bind(this),o.global.fetch,o.tracePropagation),this.functionsFetch=Rl(t,e,this._getSessionToken.bind(this),o.global.fetch,o.tracePropagation,{omitApiKeyAsBearer
20:!0}),this.realtime=this._initRealtimeClient(jl({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},o.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(e=>this.realtime.setAuth(e)).catch(e=>console.warn(`Failed to set initial Realtime auth token:`,e)),this.rest=new Oi(new URL(`rest/v1`,r).href,{headers:this.headers,schema:o.db.schema,fetch:this.fetch,timeout:o.db.timeout,urlLengthLimit:o.db.urlLengthLimit,retry:o.db.retry}),this.storage=new Ko(this.storageUrl.href,this.headers,this.fetch,n?.storage),o.accessToken||this._listenForAuthEvents()}get functions(){return new li(this.functionsUrl.href,{headers:this.headers,customFetch:this.functionsFetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,t={},n={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,n)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getSessionToken(){var e=this;if(e.accessToken)return await e.accessToken();let{data:t}=await e.auth.getSession();return t.session?.access_token??null}async _getAccessToken(){var e=this;return await e._getSessionToken()??e.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:i,storageKey:a,flowType:o,lock:s,debug:c,throwOnError:l,experimental:u,lockAcquireTimeout:d,skipAutoInitialize:f},p,m){let h={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Kl({url:this.authUrl.href,headers:jl(jl({},h),p),storageKey:a,autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:i,flowType:o,lock:s,debug:c,throwOnError:l,experimental:u,fetch:m,lockAcquireTimeout:d,skipAutoInitialize:f,hasCustomAuthorizationHeader:Object.keys(this.headers).some(e=>e.toLowerCase()===`authorization`)})}_initRealtimeClient(e){return new Ka(this.realtimeUrl.href,jl(jl({},e),{},{params:jl(jl({},{apikey:this.supabaseKey}),e?.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,`CLIENT`,t?.access_token)})}_handleTokenChanged(e,t,n){(e===`TOKEN_REFRESHED`||e===`SIGNED_IN`||e===`INITIAL_SESSION`)&&this.changedAccessToken!==n?(this.changedAccessToken=n,this.realtime.setAuth(n)):e===`SIGNED_OUT`&&(this.realtime.setAuth(),t==`STORAGE`&&this.auth.signOut(),this.changedAccessToken=void 0)}},Jl=(e,t,n)=>new ql(e,t,n);function Yl(){if(typeof window<`u`||globalThis.Deno!==void 0)return!1;let e=globalThis.process;if(!e)return!1;let t=e.version;if(t==null)return!1;let n=t.match(/^v(\d+)\./);return n?parseInt(n[1],10)<=20:!1}Yl()&&console.warn(`⚠️  Node.js 20 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 22 or later. For more information, visit: https://github.com/orgs/supabase/discussions/45715`);function L(){if(typeof window>`u`)return;let e=location.hostname,t=[`lovableproject.com`,`lovableproject-dev.com`,`lovable.app`,`gpt-eng.com`,`gptengineer.run`].some(t=>e===t||e.endsWith(`.`+t))?e.match(RegExp(`^(?:id-preview(?:-[a-z0-9]+)?|project)--([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})(?:-dev)?(?=\\.|$)`,`i`))?.[1]??e.match(RegExp(`^([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})(?=[.-])`,`i`))?.[1]:void 0,n=window.parent&&window.parent!==window;if(!t||!n)return localStorage;let r=e.endsWith(`.lovableproject-dev.com`)||e.endsWith(`.gpt-eng.com`),i=r?/^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$|^http:\/\/localhost:3000$/:/^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$/,a=location.ancestorOrigins&&location.ancestorOrigins[0]||(document.referrer?new URL(document.referrer).origin:``),o=a&&i.test(a)?[a]:r?[`https://lovable.dev`,`http://localhost:3000`]:[`https://lovable.dev`],s=()=>Math.random().toString(36).slice(2)+Date.now().toString(36),c=(e,n,r)=>new Promise(i=>{let a=s(),c=!1,l,u=e=>{c||(c=!0,clearTimeout(l),window.removeEventListener(`message`,d),i(e))},d=e=>{if(o.indexOf(e.origin)<0)return;let t=e.data;t&&t.type===`lovable-preview-auth:result`&&t.requestId===a&&u(t)}
20;window.addEventListener(`message`,d);let f={type:e,requestId:a,projectId:t,key:n};r!==void 0&&(f.value=r);for(let e of o)window.parent.postMessage(f,e);l=setTimeout(()=>u(null),2e3)}),l=!0;return{getItem:async e=>{let t=await c(`lovable-preview-auth:get`,e);return!t&&l&&(await new Promise(e=>setTimeout(e,250)),t=await c(`lovable-preview-auth:get`,e)),l=!1,t&&t.ok&&typeof t.value==`string`?t.value===``?(localStorage.removeItem(e),null):t.value:localStorage.getItem(e)},setItem:(e,t)=>(localStorage.setItem(e,t),c(`lovable-preview-auth:set`,e,t).then(()=>void 0)),removeItem:e=>(localStorage.removeItem(e),c(`lovable-preview-auth:remove`,e).then(()=>void 0))}}function Xl(e){return e.startsWith(`sb_publishable_`)||e.startsWith(`sb_secret_`)}function Zl(e){return(t,n)=>{let r=new Headers(typeof Request<`u`&&t instanceof Request?t.headers:void 0);return n?.headers&&new Headers(n.headers).forEach((e,t)=>r.set(t,e)),Xl(e)&&r.get(`Authorization`)===`Bearer ${e}`&&r.delete(`Authorization`),r.set(`apikey`,e),fetch(t,{...n,headers:r})}}function Ql(){let e={BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,TSS_DEV_SERVER:`false`,TSS_DEV_SSR_STYLES_BASEPATH:`/`,TSS_DEV_SSR_STYLES_ENABLED:`true`,TSS_DISABLE_CSRF_MIDDLEWARE_WARNING:`false`,TSS_INLINE_CSS_ENABLED:`false`,TSS_ROUTER_BASEPATH:``,TSS_SERVER_FN_BASE:`/_serverFn/`,VITE_PAYMENTS_CLIENT_TOKEN:`pk_test_51U5vzNCjUWv0BEehuk477I6U1bW2sRAJqZmOZNL5EeFIWsVT7hj2D4Sd8wjTqDmHpV5ejKBYabL2FfH7L0TM1nRy00fLOzMs09`,VITE_SUPABASE_PROJECT_ID:`oitugufonkeekznsfhvo`,VITE_SUPABASE_PUBLISHABLE_KEY:`sb_publishable_-dnj8jvPNPJHDR8bGxPaYA_m-h_2uh6`,VITE_SUPABASE_URL:`https://oitugufonkeekznsfhvo.supabase.co`}.VITE_SUPABASE_URL||{}.SUPABASE_URL,t={BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,TSS_DEV_SERVER:`false`,TSS_DEV_SSR_STYLES_BASEPATH:`/`,TSS_DEV_SSR_STYLES_ENABLED:`true`,TSS_DISABLE_CSRF_MIDDLEWARE_WARNING:`false`,TSS_INLINE_CSS_ENABLED:`false`,TSS_ROUTER_BASEPATH:``,TSS_SERVER_FN_BASE:`/_serverFn/`,VITE_PAYMENTS_CLIENT_TOKEN:`pk_test_51U5vzNCjUWv0BEehuk477I6U1bW2sRAJqZmOZNL5EeFIWsVT7hj2D4Sd8wjTqDmHpV5ejKBYabL2FfH7L0TM1nRy00fLOzMs09`,VITE_SUPABASE_PROJECT_ID:`oitugufonkeekznsfhvo`,VITE_SUPABASE_PUBLISHABLE_KEY:`sb_publishable_-dnj8jvPNPJHDR8bGxPaYA_m-h_2uh6`,VITE_SUPABASE_URL:`https://oitugufonkeekznsfhvo.supabase.co`}.VITE_SUPABASE_PUBLISHABLE_KEY||{}.SUPABASE_PUBLISHABLE_KEY;if(!e||!t){let n=`Missing Supabase environment variable(s): ${[...e?[]:[`SUPABASE_URL`],...t?[]:[`SUPABASE_PUBLISHABLE_KEY`]].join(`, `)}. Connect Supabase in Lovable Cloud.`;throw console.error(`[Supabase] ${n}`),Error(n)}return Jl(e,t,{global:{fetch:Zl(t)},auth:{storage:L(),persistSession:!0,autoRefreshToken:!0}})}var $l,eu=new Proxy({},{get(e,t,n){return $l||=Ql(),Reflect.get($l,t,n)}}),tu=Ae({type:`function`}).client(async({next:e})=>{let{data:t}=await eu.auth.getSession(),n=t.session?.access_token;return e({headers:n?{Authorization:`Bearer ${n}`}:{}})}),nu=Ae(),ru=void 0,iu=Ae(),au=Qr(()=>({functionMiddleware:[tu],requestMiddleware:[nu,ru,iu]})),ou=class extends Me{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||su(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=He({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});
20let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),Pe.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function su(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var cu=class extends Je{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new ou({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=lu(e);
20if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=lu(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=lu(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=lu(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Pe.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>Ie(t,e))}findAll(e={}){return this.getAll().filter(t=>Ie(e,t))}notify(e){Pe.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Pe.batch(()=>Promise.all(e.map(e=>e.continue().catch(Ve))))}};function lu(e){return e.options.scope?.id}var uu=class extends Je{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??Fe(r,t),a=this.get(i);return a||(a=new ze({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){Pe.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>Ue(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>Ue(e,t)):t}notify(e){Pe.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Pe.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Pe.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},du=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new uu,this.#t=e.mutationCache||new cu,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Ne.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Ge.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Le(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=Be(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Pe.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;Pe.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Pe.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=Pe.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(Ve).catch(Ve)}invalidateQueries(e,t={}){return Pe.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=Pe.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(Ve)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(Ve)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(Le(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Ve).catch(Ve)}
20fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Ve).catch(Ve)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return Ge.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(qe(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{Re(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(qe(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{Re(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=Fe(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===Ye&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};function fu(e,t){return Ke(e,We,t)}function pu(e){return e}function mu(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=mu(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function hu(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=mu(e))&&(r&&(r+=` `),r+=t);return r}var gu=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},_u=(e,t)=>({classGroupId:e,validator:t}),vu=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),yu=`-`,bu=[],xu=`arbitrary..`,Su=e=>{let t=Tu(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return wu(e);let n=e.split(yu);return Cu(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?gu(i,t):t:i||bu}return n[e]||bu}}},Cu=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Cu(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(yu):e.slice(t).join(yu),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},wu=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?xu+r:void 0})(),Tu=e=>{let{theme:t,classGroups:n}=e;return Eu(n,t)},Eu=(e,t)=>{let n=vu();for(let r in e){let i=e[r];Du(i,n,r,t)}return n},Du=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Ou(i,t,n,r)}},Ou=(e,t,n,r)=>{if(typeof e==`string`){ku(e,t,n);return}if(typeof e==`function`){Au(e,t,n,r);return}ju(e,t,n,r)},ku=(e,t,n)=>{let r=e===``?t:Mu(t,e);r.classGroupId=n},Au=(e,t,n,r)=>{if(Nu(e)){Du(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(_u(n,e))},ju=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Du(o,Mu(t,a),n,r)}},Mu=(e,t)=>{let n=e,r=t.split(yu),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=vu(),n.nextPart.set(t,i)),n=i}return n},Nu=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Pu=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},Fu=`!`,Iu=`:`,Lu=[],Ru=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),zu=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Iu){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}
vendor: 12,375 bytes, line 20
20o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(Fu)?(c=s.slice(0,-1),l=!0):s.startsWith(Fu)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Ru(t,l,c,u)};if(t){let e=t+Iu,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Ru(Lu,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Bu=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Vu=e=>({cache:Pu(e.cacheSize),parseClassName:zu(e),sortModifiers:Bu(e),postfixLookupClassGroupIds:Hu(e),...Su(e)}),Hu=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Uu=/\s+/,Wu=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Uu),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+Fu:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},Gu=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Ku(n))&&(i&&(i+=` `),i+=r);return i},Ku=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Ku(e[r]))&&(n&&(n+=` `),n+=t);return n},qu=(e,...t)=>{let n,r,i,a,o=o=>(n=Vu(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Wu(e,n);return i(e,a),a};return a=o,(...e)=>a(Gu(...e))},Ju=[],Yu=e=>{let t=t=>t[e]||Ju;return t.isThemeGetter=!0,t},Xu=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Zu=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Qu=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,$u=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ed=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,td=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,nd=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,rd=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,id=e=>Qu.test(e),R=e=>!!e&&!Number.isNaN(Number(e)),ad=e=>!!e&&Number.isInteger(Number(e)),od=e=>e.endsWith(`%`)&&R(e.slice(0,-1)),sd=e=>$u.test(e),cd=()=>!0,ld=e=>ed.test(e)&&!td.test(e),ud=()=>!1,dd=e=>nd.test(e),fd=e=>rd.test(e),pd=e=>!z(e)&&!B(e),md=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),hd=e=>Ad(e,Nd,ud),z=e=>Xu.test(e),gd=e=>Ad(e,Pd,ld),_d=e=>Ad(e,Fd,R),vd=e=>Ad(e,Ld,cd),yd=e=>Ad(e,Id,ud),bd=e=>Ad(e,jd,ud),xd=e=>Ad(e,Md,fd),Sd=e=>Ad(e,Rd,dd),B=e=>Zu.test(e),Cd=e=>V(e,Pd),wd=e=>V(e,Id),Td=e=>V(e,jd),Ed=e=>V(e,Nd),Dd=e=>V(e,Md),Od=e=>V(e,Rd,!0),kd=e=>V(e,Ld,!0),Ad=(e,t,n)=>{let r=Xu.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},V=(e,t,n=!1)=>{let r=Zu.exec(e);return r?r[1]?t(r[1]):n:!1},jd=e=>e===`position`||e===`percentage`,Md=e=>e===`image`||e===`url`,Nd=e=>e===`length`||e===`size`||e===`bg-size`,Pd=e=>e===`length`,Fd=e=>e===`number`,Id=e=>e===`family-name`,Ld=e=>e===`number`||e===`weight`,Rd=e=>e===`shadow`,zd=qu(()=>{let e=Yu(`color`),t=Yu(`font`),n=Yu(`text`),r=Yu(`font-weight`),i=Yu(`tracking`),a=Yu(`leading`),o=Yu(`breakpoint`),s=Yu(`container`),c=Yu(`spacing`),l=Yu(`radius`),u=Yu(`shadow`),d=Yu(`inset-shadow`),f=Yu(`text-shadow`),p=Yu(`drop-shadow`),m=Yu(`blur`),h=Yu(`perspective`),g=Yu(`aspect`),_=Yu(`ease`),v=Yu(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),B,z],ee=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],S=()=>[`auto`,`contain`,`none`],C=()=>[B,z,c],te=()=>[id,`full`,`auto`,...C()],ne=()=>[ad,`none`,`subgrid`,B,z],re=()=>[`auto`,{span:[`full`,ad,B,z]},ad,B,z],ie=()=>[ad,`auto`,B,z],ae=()=>[`auto`,`min`,`max`,`fr`,B,z],oe=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],se=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],ce=()=>[`auto`,...C()],le=()=>[id,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...C()],ue=()=>[id,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...C()],w=()=>[id,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...C()],T=()=>[e,B,z],de=()=>[...b(),Td,bd,{position:[B,z]}],fe=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],pe=()=>[`auto`,`cover`,`contain`,Ed,hd,{size:[B,z]}],me=()=>[od,Cd,gd],E=()=>[``,`none`,`full`,l,B,z],D=()=>[``,R,Cd,gd],he=()=>[`solid`,`dashed`,`dotted`,`double`],ge=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],_e=()=>[R,od,Td,bd],ve=()=>[``,`none`,m,B,z],ye=()=>[`none`,R,B,z],be=()=>[`none`,R,B,z],xe=()=>[R,B,z],Se=()=>[id,`full`,...C()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[sd],breakpoint:[sd],color:[cd],container:[sd],"drop-shadow":[sd],ease:[`in`,`out`,`in-out`],font:[pd],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[sd],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[sd],shadow:[sd],spacing:[`px`,R],text:[sd],"text-shadow":[sd],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,id,z,B,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,B,z]}],"container-named":[md],columns:[{columns:[R,z,B,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:ee()}],"overflow-x":[{"overflow-x":ee()}],"overflow-y":[{"overflow-y":ee()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:te()}],"inset-x":[{"inset-x":te()}],"inset-y":[{"inset-y":te()}],start:[{"inset-s":te(),start:te()}],end:[{"inset-e":te(),end:te()}],"inset-bs":[{"inset-bs":te()}],"inset-be":[{"inset-be":te()}],top:[{top:te()}],right:[{right:te()}],bottom:[{bottom:te()}],left:[{left:te()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[ad,`auto`,B,z]}],basis:[{basis:[id,`full`,`auto`,s,...C()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[R,id,`auto`,`initial`,`none`,z]}],grow:[{grow:[``,R,B,z]}],shrink:[{shrink:[``,R,B,z]}],order:[{order:[ad,`first`,`last`,`none`,B,z]}],"grid-cols":[{"grid-cols":ne()}],"col-start-end":[{col:re()}],"col-start":[{"col-start":ie()}],"col-end":[{"col-end":ie()}],"grid-rows":[{"grid-rows":ne()}],"row-start-end":[{row:re()}],"row-start":[{"row-start":ie()}],"row-end":[{"row-end":ie()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ae()}],"auto-rows":[{"auto-rows":ae()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...oe(),`normal`]}],"justify-items":[{"justify-items":[...se(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...se()]}],"align-content":[{content:[`normal`,...oe()]}],"align-items":[{items:[...se(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...se(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":oe()}],"place-items":[{"place-items":[...se(),`baseline`]}],"place-self":[{"place-self":[`auto`,...se()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:ce()}],mx:[{mx:ce()}],my:[{my:ce()}],ms:[{ms:ce()}],me:[{me:ce()}],mbs:[{mbs:ce()}],mbe:[{mbe:ce()}],mt:[{mt:ce()}],mr:[{mr:ce()}],mb:[{mb:ce()}],ml:[{ml:ce()}],"space-x":[{"space-x":C()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":C()}],"space-y-reverse":[`space-y-reverse`],size:[{size:le()}],"inline-size":[{inline:[`auto`,...ue()]}],"min-inline-size":[{"min-inline":[`auto`,...ue()]}],"max-inline-size":[{"max-inline":[`none`,...ue()]}],"block-size":[{block:[`auto`,...w()]}],"min-block-size":[{"min-block":[`auto`,...w()]}],"max-block-size":[{"max-block":[`none`,...w()]}],w:[{w:[s,`screen`,...le()]}],"min-w":[{"min-w":[s,`screen`,`none`,...le()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...le()]}],h:[{h:[`screen`,`lh`,...le()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...le()]}],"max-h":[{"max-h":[`screen`,`lh`,...le()]}],"font-size":[{text:[`base`,n,Cd,gd]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,kd,vd]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,od,z]}],"font-family":[{font:[wd,yd,t]}],"font-features":[{"font-features":[z]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,B,z]}],"line-clamp":[{"line-clamp":[R,`none`,B,_d]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":[`none`,B,z]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,B,z]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:T()}],"text-color":[{text:T()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...he(),`wavy`]}],"text-decoration-thickness":[{decoration:[R,`from-font`,`auto`,B,gd]}],"text-decoration-color":[{decoration:T()}],"underline-offset":[{"underline-offset":[R,`auto`,B,z]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:C()}],"tab-size":[{tab:[ad,B,z]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,B,z]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,B,z]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:de()}],"bg-repeat":[{bg:fe()}],"bg-size":[{bg:pe()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},ad,B,z],radial:[``,B,z],conic:[ad,B,z]},Dd,xd]}],"bg-color":[{bg:T()}],"gradient-from-pos":[{from:me()}
20],"gradient-via-pos":[{via:me()}],"gradient-to-pos":[{to:me()}],"gradient-from":[{from:T()}],"gradient-via":[{via:T()}],"gradient-to":[{to:T()}],rounded:[{rounded:E()}],"rounded-s":[{"rounded-s":E()}],"rounded-e":[{"rounded-e":E()}],"rounded-t":[{"rounded-t":E()}],"rounded-r":[{"rounded-r":E()}],"rounded-b":[{"rounded-b":E()}],"rounded-l":[{"rounded-l":E()}],"rounded-ss":[{"rounded-ss":E()}],"rounded-se":[{"rounded-se":E()}],"rounded-ee":[{"rounded-ee":E()}],"rounded-es":[{"rounded-es":E()}],"rounded-tl":[{"rounded-tl":E()}],"rounded-tr":[{"rounded-tr":E()}],"rounded-br":[{"rounded-br":E()}],"rounded-bl":[{"rounded-bl":E()}],"border-w":[{border:D()}],"border-w-x":[{"border-x":D()}],"border-w-y":[{"border-y":D()}],"border-w-s":[{"border-s":D()}],"border-w-e":[{"border-e":D()}],"border-w-bs":[{"border-bs":D()}],"border-w-be":[{"border-be":D()}],"border-w-t":[{"border-t":D()}],"border-w-r":[{"border-r":D()}],"border-w-b":[{"border-b":D()}],"border-w-l":[{"border-l":D()}],"divide-x":[{"divide-x":D()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":D()}
vendor: 6,715 bytes, line 20
20],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...he(),`hidden`,`none`]}],"divide-style":[{divide:[...he(),`hidden`,`none`]}],"border-color":[{border:T()}],"border-color-x":[{"border-x":T()}],"border-color-y":[{"border-y":T()}],"border-color-s":[{"border-s":T()}],"border-color-e":[{"border-e":T()}],"border-color-bs":[{"border-bs":T()}],"border-color-be":[{"border-be":T()}],"border-color-t":[{"border-t":T()}],"border-color-r":[{"border-r":T()}],"border-color-b":[{"border-b":T()}],"border-color-l":[{"border-l":T()}],"divide-color":[{divide:T()}],"outline-style":[{outline:[...he(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[R,B,z]}],"outline-w":[{outline:[``,R,Cd,gd]}],"outline-color":[{outline:T()}],shadow:[{shadow:[``,`none`,u,Od,Sd]}],"shadow-color":[{shadow:T()}],"inset-shadow":[{"inset-shadow":[`none`,d,Od,Sd]}],"inset-shadow-color":[{"inset-shadow":T()}],"ring-w":[{ring:D()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:T()}],"ring-offset-w":[{"ring-offset":[R,gd]}],"ring-offset-color":[{"ring-offset":T()}],"inset-ring-w":[{"inset-ring":D()}],"inset-ring-color":[{"inset-ring":T()}],"text-shadow":[{"text-shadow":[`none`,f,Od,Sd]}],"text-shadow-color":[{"text-shadow":T()}],opacity:[{opacity:[R,B,z]}],"mix-blend":[{"mix-blend":[...ge(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ge()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[R]}],"mask-image-linear-from-pos":[{"mask-linear-from":_e()}],"mask-image-linear-to-pos":[{"mask-linear-to":_e()}],"mask-image-linear-from-color":[{"mask-linear-from":T()}],"mask-image-linear-to-color":[{"mask-linear-to":T()}],"mask-image-t-from-pos":[{"mask-t-from":_e()}],"mask-image-t-to-pos":[{"mask-t-to":_e()}],"mask-image-t-from-color":[{"mask-t-from":T()}],"mask-image-t-to-color":[{"mask-t-to":T()}],"mask-image-r-from-pos":[{"mask-r-from":_e()}],"mask-image-r-to-pos":[{"mask-r-to":_e()}],"mask-image-r-from-color":[{"mask-r-from":T()}],"mask-image-r-to-color":[{"mask-r-to":T()}],"mask-image-b-from-pos":[{"mask-b-from":_e()}],"mask-image-b-to-pos":[{"mask-b-to":_e()}],"mask-image-b-from-color":[{"mask-b-from":T()}],"mask-image-b-to-color":[{"mask-b-to":T()}],"mask-image-l-from-pos":[{"mask-l-from":_e()}],"mask-image-l-to-pos":[{"mask-l-to":_e()}],"mask-image-l-from-color":[{"mask-l-from":T()}],"mask-image-l-to-color":[{"mask-l-to":T()}],"mask-image-x-from-pos":[{"mask-x-from":_e()}],"mask-image-x-to-pos":[{"mask-x-to":_e()}],"mask-image-x-from-color":[{"mask-x-from":T()}],"mask-image-x-to-color":[{"mask-x-to":T()}],"mask-image-y-from-pos":[{"mask-y-from":_e()}],"mask-image-y-to-pos":[{"mask-y-to":_e()}],"mask-image-y-from-color":[{"mask-y-from":T()}],"mask-image-y-to-color":[{"mask-y-to":T()}],"mask-image-radial":[{"mask-radial":[B,z]}],"mask-image-radial-from-pos":[{"mask-radial-from":_e()}],"mask-image-radial-to-pos":[{"mask-radial-to":_e()}],"mask-image-radial-from-color":[{"mask-radial-from":T()}],"mask-image-radial-to-color":[{"mask-radial-to":T()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[R]}],"mask-image-conic-from-pos":[{"mask-conic-from":_e()}],"mask-image-conic-to-pos":[{"mask-conic-to":_e()}],"mask-image-conic-from-color":[{"mask-conic-from":T()}],"mask-image-conic-to-color":[{"mask-conic-to":T()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:de()}],"mask-repeat":[{mask:fe()}],"mask-size":[{mask:pe()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,B,z]}],filter:[{filter:[``,`none`,B,z]}],blur:[{blur:ve()}],brightness:[{brightness:[R,B,z]}],contrast:[{contrast:[R,B,z]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Od,Sd]}],"drop-shadow-color":[{"drop-shadow":T()}],grayscale:[{grayscale:[``,R,B,z]}],"hue-rotate":[{"hue-rotate":[R,B,z]}],invert:[{invert:[``,R,B,z]}],saturate:[{saturate:[R,B,z]}],sepia:[{sepia:[``,R,B,z]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,B,z]}],"backdrop-blur":[{"backdrop-blur":ve()}],"backdrop-brightness":[{"backdrop-brightness":[R,B,z]}],"backdrop-contrast":[{"backdrop-contrast":[R,B,z]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,R,B,z]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[R,B,z]}],"backdrop-invert":[{"backdrop-invert":[``,R,B,z]}],"backdrop-opacity":[{"backdrop-opacity":[R,B,z]}],"backdrop-saturate":[{"backdrop-saturate":[R,B,z]}],"backdrop-sepia":[{"backdrop-sepia":[``,R,B,z]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,B,z]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[R,`initial`,B,z]}],ease:[{ease:[`linear`,`initial`,_,B,z]}],delay:[{delay:[R,B,z]}],animate:[{animate:[`none`,v,B,z]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,B,z]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ye()}],"rotate-x":[{"rotate-x":ye()}],"rotate-y":[{"rotate-y":ye()}],"rotate-z":[{"rotate-z":ye()}],scale:[{scale:be()}],"scale-x":[{"scale-x":be()}],"scale-y":[{"scale-y":be()}],"scale-z":[{"scale-z":be()}],"scale-3d":[`scale-3d`],skew:[{skew:xe()}],"skew-x":[{"skew-x":xe()}],"skew-y":[{"skew-y":xe()}],transform:[{transform:[B,z,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:Se()}],"translate-x":[{"translate-x":Se()}],"translate-y":[{"translate-y":Se()}],"translate-z":[{"translate-z":Se()}],"translate-none":[`translate-none`],zoom:[{zoom:[ad,B,z]}],accent:[{accent:T()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:T()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom
20-in`,`zoom-out`,B,z]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":T()}],"scrollbar-track-color":[{"scrollbar-track":T()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}
20],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,B,z]}],fill:[{fill:[`none`,...T()]}],"stroke-w":[{stroke:[R,Cd,gd,_d]}],stroke:[{stroke:[`none`,...T()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function Bd(...e){return zd(hu(e))}var Vd=`/assets/styles-BvVAR0dD.css`,Hd=Ze(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),Ud=Ze(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Wd=Ze(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),Gd=Ze(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Kd=Ze(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),qd={casino:{key:`casino`,name:`Casino`,slug:`casino`,sectionTitle:`Casino & Slots`,tagClass:`bg-cat-casino/10 text-cat-casino`,ruleClass:`border-cat-casino`,description:`Casino operator, studio and slot content news: launches, studio expansion, content deals and lobby performance.`},betting:{key:`betting`,name:`Betting`,slug:`Betting`,sectionTitle:`Sports Betting`,tagClass:`bg-cat-betting/10 text-cat-betting`,ruleClass:`border-cat-betting`,description:`Sportsbook news across trading, retention, pricing, handle data and operator strategy.`},"gambling-law":{key:`gambling-law`,name:`Gambling Law`,slug:`gambling-law`,sectionTitle:`Regulatory Watch`,tagClass:`bg-cat-law/10 text-cat-law`,ruleClass:`border-cat-law`,description:`Regulation, licensing, compliance enforcement and gambling legislation from every major jurisdiction.`},law:{key:`law`,name:`Law`,slug:`law`,sectionTitle:`Legal & Compliance`,tagClass:`bg-cat-law/10 text-cat-law`,ruleClass:`border-cat-law`,description:`Legal, compliance, regulatory and licensing developments across the global gambling industry.`},tech:{key:`tech`,name:`Tech`,slug:`tech`,sectionTitle:`Platform & Tech`,tagClass:`bg-cat-tech/10 text-cat-tech`,ruleClass:`border-cat-tech`,description:`Platform, payments, data and AI news for the companies building iGaming infrastru
20cture.`},affiliate:{key:`affiliate`,name:`Affiliate`,slug:`Affiliate`,sectionTitle:`Affiliate & Media`,tagClass:`bg-cat-affiliate/10 text-cat-affiliate`,ruleClass:`border-cat-affiliate`,description:`Affiliate and performance media news: acquisitions, search volatility, compliance and traffic strategy.`},poker:{key:`poker`,name:`Poker`,slug:`poker`,sectionTitle:`Poker`,tagClass:`bg-cat-poker/10 text-cat-poker`,ruleClass:`border-cat-poker`,description:`Online and live poker news: series schedules, liquidity, prize pools and room strategy.`},"women-in-igaming":{key:`women-in-igaming`,name:`Women in iGaming`,slug:`women-in-igaming`,sectionTitle:`Women in iGaming`,tagClass:`bg-cat-women/10 text-cat-women`,ruleClass:`border-cat-women`,description:`Interviews, features and appointments spotlighting the women leading the iGaming industry.`},"prediction-markets":{key:`prediction-markets`,name:`Prediction Markets`,slug:`Prediction-markets`,sectionTitle:`Prediction Markets`,tagClass:`bg-cat-prediction/10 text-cat-prediction`,ruleClass:`border-cat-prediction`,description:`Event contracts and prediction market news, including regulation, volume and exchange launches.`},"crash-games":{key:`crash-games`,name:`Crash Games`,slug:`crash-games`,sectionTitle:`Crash Games`,tagClass:`bg-cat-crash/10 text-cat-crash`,ruleClass:`border-cat-crash`,description:`Crash and instant-win vertical news: studios, mechanics and regional performance.`},land:{key:`land`,name:`Land`,slug:`Land`,sectionTitle:`Land-Based`,tagClass:`bg-cat-land/10 text-cat-land`,ruleClass:`border-cat-land`,description:`Retail and land-based casino news: resorts, betting shops, floor tech and regional revenue.`},"igaming-events":{key:`igaming-events`,name:`iGaming Events`,slug:`iGaming-events-news`,sectionTitle:`Events`,tagClass:`bg-cat-events/10 text-cat-events`,ruleClass:`border-cat-events`,description:`Conference and expo news, agendas, awards and post-show analysis from the industry circuit.`},"horse-racing":{key:`horse-racing`,name:`Horse Racing`,slug:`horse-racing`,sectionTitle:`Horse Racing`,tagClass:`bg-cat-betting/10 text-cat-betting`,ruleClass:`border-cat-betting`,description:`Racing betting, fixtures, streaming rights, sponsorship and bookmaker pricing news.`},slots:{key:`slots`,name:`Slots`,slug:`slots`,sectionTitle:`Slots`,tagClass:`bg-cat-casino/10 text-cat-casino`,ruleClass:`border-cat-casino`,description:`Online slot launches, mechanics, studio deals and casino lobby performance.`},people:{key:`people`,name:`People`,slug:`people`,sectionTitle:`People`,tagClass:`bg-cat-women/10 text-cat-women`,ruleClass:`border-cat-women`,description:`People news from the iGaming industry: appointments, hires, promotions, departures, board moves and leadership interviews.`},"banking-and-finance":{key:`banking-and-finance`,name:`Banking and Finance`,slug:`banking-and-finance`,sectionTitle:`Banking & Finance`,tagClass:`bg-cat-tech/10 text-cat-tech`,ruleClass:`border-cat-tech`,description:`Payments, banking, fintech, M&A, earnings and financial markets news for the iGaming sector.`}},Jd=[[`Crypto`,`crypto`],[`iGaming Events`,`igaming-events-more`],[`Payment Solutions`,`payment-solutions`],[`White Label`,`white-label`],[`Live Casino`,`live-casino`],[`Recognition`,`recognition`],[`Crash Games`,`crash-games-sector`],[`Tech`,`tech-sector`],[`Poker`,`poker-sector`],[`Lottery`,`lottery`],[`Bingo`,`bingo`],[`Software`,`software`],[`Land`,`land-sector`],[`Trading`,`trading`],[`Esports`,`esports`],[`Virtuals`,`virtuals`],[`Compliance`,`compliance`],[`iGaming News Awards`,`igaming-news-awards`],[`AI`,`ai`],[`Sweepstakes`,`sweepstakes`],[`Free-to-Play`,`free-to-play`],[`Prediction Markets`,`prediction-markets-sector`],[`Mergers & Acquisitions`,`mergers-and-acquisitions`],[`Social Gaming`,`social-gaming`],[`Prize Draws`,`prize-draws`]].map(([e,t])=>({key:t,name:e,slug:t,sectionTitle:e,tagClass:`bg-cat-tech/10 text-cat-tech`,ruleClass:`border-cat-tech`,description:`The latest ${e} news, analysis and industry moves from across the iGaming sector.`})),Yd=[...Object.values(qd),...Jd],Xd=[`casino`,`betting`,`gambling-law`,`tech`,`affiliate`,`poker`,`prediction-markets`,`land`,`women-in-igaming`,`igaming-events`],Zd=[`casino`,`betting`,`women-in-igaming`,`affiliate`,`horse-racing`,`slots`,`law`,`people`,`banking-and-finance`];function Qd(e){let t=e.toLowerCase();return Yd.find(e=>e.slug.toLowerCase()===t)}var $d={"igaming-events-news":`igaming-events`,"igaming events":`igaming-events`,cryptocurrencies:`crypto`,crypto:`crypto`,"slots-news":`slots`,"online-slots":`slots`,"sports-betting":`betting`,"payment-solutions":`payment-solutions`,"m-and-a":`mergers-and-acquisitions`,"mergers-acquisitions":`mergers-and-acquisitions`},ef=(()=>{let e=new Map;for(let t of Yd)e.set(t.key.toLowerCase(),t),e.has(t.slug.toLowerCase())||e.set(t.slug.toLowerCase(),t),e.has(t.name.toLowerCase())||e.set(t.name.toLowerCase(),t);return e})();function tf(e){let t=(e??``).trim().toLowerCase(),n=$d[t]??t;return ef.get(n)??ef.get(t)??qd.casino}function nf(e){return tf(e).key}var rf={casino:{tags:[`casino`,`casino news`,`online casino news`,`casino industry news`,`Live-Casino`],title:[]},betting:{tags:[`Betting`,`betting news`,`sports betting news`,`sportsbook`],title:[`sportsbook`]},"gambling-law":{tags:[`gambling-law`,`Compliance`,`regulation`,`Regulation`,`licensing`],title:[`regulator`,`regulation`,`licence`,`license`]},law:{tags:[`law`,`gambling-law`,`Compliance`,`legal`],title:[`court`,`lawsuit`,`regulation`]},tech:{tags:[`tech`,`Software`,`Technology`,`platform`],title:[]},affiliate:{tags:[`Affiliate`,`iGaming affiliate news`,`affiliate marketing`],title:[`affiliate`]},poker:{tags:[`poker`,`poker news`,`PokerStars`],title:[`poker`]},"women-in-igaming":{tags:[`women-in-igaming`,`Women in iGaming`],title:[]},"prediction-markets":{tags:[`Prediction-markets`,`prediction markets`,`event contracts`],title:[`prediction market`]},"crash-games":{tags:[`crash-games`,`crash game`,`crash games`],title:[`crash game`]},land:{tags:[`Land`,`land-based`,`retail`],title:[`land-based`]},"igaming-events":{tags:[`iGaming-events-news`,`iGaming events`,`igaming events`,`expo`,`
20conference`],title:[]},"horse-racing":{tags:[`Horse-Racing`,`horse racing news`,`horse racing`,`racing`],title:[`horse racing`]},slots:{tags:[`slots`,`slots news`,`new slot`,`new slot game`,`new casino game`,`slot`],title:[`slot`]},people:{tags:[`people`,`People`,`appointments`,`Appointments`,`movers-and-shakers`,`interviews`,`Interview`,`Interviews`,`recruitment`],title:[`appoint`,`appointed`,`appoints`,`named as`,`joins`,`hires`,`hired`,`promoted`,`promotes`,`steps down`,`resigns`,`departs`,`new ceo`,`new cfo`,`new coo`,`chief executive`,`interview`]},"banking-and-finance":{tags:[`Banking-and-Finance`,`Payment-Solutions`,`finance`,`payments`,`financial results`],title:[`revenue`,`earnings`,`payments`,`financial`]},crypto:{tags:[`cryptocurrencies`,`crypto`,`Crypto`,`bitcoin`,`Bitcoin`],title:[`crypto`,`bitcoin`]},"igaming-events-more":{tags:[`iGaming-events-news`,`iGaming events`,`expo`,`conference`],title:[]},"payment-solutions":{tags:[`Payment-Solutions`,`payments`,`payment`],title:[`payment`]},"white-label":{tags:[`White-label`,`white label`,`turnkey`],title:[`white label`,`white-label`]},"live-casino":{tags:[`Live-Casino`,`live casino`,`live dealer`],title:[`live casino`,`live dealer`]},recognition:{tags:[`Recognition`,`awards`,`Awards`],title:[`award`]},"crash-games-sector":{tags:[`crash-games`,`crash game`,`crash games`],title:[`crash game`]},"tech-sector":{tags:[`tech`,`Software`,`Technology`],title:[]},"poker-sector":{tags:[`poker`,`poker news`],title:[`poker`]},lottery:{tags:[`lottery`,`lottery news`,`Lottery`],title:[`lottery`,`lotto`]},bingo:{tags:[`bingo`,`Bingo`],title:[`bingo`]},software:{tags:[`Software`,`software`,`tech`],title:[]},"land-sector":{tags:[`Land`,`land-based`],title:[`land-based`]},trading:{tags:[`trading`,`Trading`,`risk management`],title:[`trading`]},esports:{tags:[`eSports`,`esports`,`Esports`],title:[`esports`]},virtuals:{tags:[`virtuals`,`Virtuals`,`virtual sports`],title:[`virtual sport`]},compliance:{tags:[`Compliance`,`compliance`,`AML`,`responsible gambling`],title:[`compliance`,`AML`]}
20,"igaming-news-awards":{tags:[`iGaming News Awards`,`Recognition`,`awards`],title:[`award`]},ai:{tags:[`AI`,`artificial intelligence`,`AI news`],title:[`AI `,`artificial intelligence`]},sweepstakes:{tags:[`Sweepstakes`,`sweepstakes`,`sweepstakes casino`],title:[`sweepstake`]},"free-to-play":{tags:[`Free-to-Play`,`free-to-play`,`social casino`],title:[`free-to-play`]},"prediction-markets-sector":{tags:[`Prediction-markets`,`prediction markets`],title:[`prediction market`]},"mergers-and-acquisitions":{tags:[`Mergers-and-Acquisitions`,`M&A`,`acquisition`],title:[`acquisition`,`acquires`,`merger`]},"social-gaming":{tags:[`Social-Gaming`,`social gaming`,`social casino`],title:[`social casino`,`social gaming`]},"prize-draws":{tags:[`Prize-Draws`,`prize draws`,`raffle`],title:[`prize draw`,`raffle`]}};function af(e){return(rf[e.key]??rf[e.slug.toLowerCase()])||{tags:[e.key,e.slug,e.name],title:[e.name]}}var of=[{slug:`UK`,label:`UK & Ireland`,keys:[`uk-ireland`]},{slug:`France`,label:`France`,keys:[`france`]},{slug:`Eastern-Europe`,label:`Eastern Europe`,keys:[`eastern-europe`]},{slug:`Scandinavia`,label:`Scandinavia`,keys:[`scandinavia`]},{slug:`Central-Europe`,label:`Central Europe`,keys:[`central-europe`]},{slug:`Western-Europe`,label:`Western Europe`,keys:[`western-europe`]},{slug:`Europe`,label:`Europe`,keys:[`uk-ireland`,`france`,`eastern-europe`,`scandinavia`,`central-europe`,`western-europe`]},{slug:`United-States`,label:`USA`,keys:[`usa`]},{slug:`Canada`,label:`Canada`,keys:[`canada`]},{slug:`North-America`,label:`North America`,keys:[`usa`,`canada`]},{slug:`Brazil`,label:`Brazil`,keys:[`brazil`]},{slug:`LATAM`,label:`LATAM`,keys:[`latam`]},{slug:`South-America`,label:`South America`,keys:[`brazil`,`latam`]},{slug:`America`,label:`Americas`,keys:[`usa`,`canada`,`brazil`,`latam`]},{slug:`Middle-East`,label:`Middle East`,keys:[`middle-east`]},{slug:`South-East-Asia`,label:`South East Asia`,keys:[`south-east-asia`]},{slug:`Asia`,label:`Asia`,keys:[`middle-east`,`south-east-asia`]},{slug:`Africa`,label:`Africa`,keys:[`africa`]},{slug:`Oceania`,label:`Oceania`,keys:[`oceania`]}];function sf(e){let t=e.toLowerCase();return of.find(e=>e.slug.toLowerCase()===t)}function cf(e){return of.find(t=>t.keys.length===1&&t.keys[0]===e)?.slug}var lf=[{continent:`Europe`,slugs:[`Europe`,`UK`,`France`,`Eastern-Europe`,`Scandinavia`,`Central-Europe`,`Western-Europe`]},{continent:`Americas`,slugs:[`America`,`North-America`,`South-America`,`United-States`,`Canada`,`Brazil`,`LATAM`]},{continent:`Asia`,slugs:[`Asia`,`Middle-East`,`South-East-Asia`]},{continent:`Rest of world`,slugs:[`Africa`,`Oceania`]}].map(e=>({continent:e.continent,pages:e.slugs.map(e=>sf(e)).filter(e=>!!e)}));function uf(){let[e,t]=(0,O.useState)(!1),n=(0,O.useRef)(null),r=Ur({select:e=>e.location.pathname}),i=r.match(/^\/geo\/([^/]+)/)?.[1];return(0,O.useEffect)(()=>{if(!e)return;let r=e=>{e.key===`Escape`&&t(!1)},i=e=>{n.current&&!n.current.contains(e.target)&&t(!1)};return document.addEventListener(`keydown`,r),document.addEventListener(`mousedown`,i),()=>{document.removeEventListener(`keydown`,r),document.removeEventListener(`mousedown`,i)}},[e]),(0,k.jsxs)(`div`,{ref:n,className:`relative flex items-center gap-2`,children:[(0,k.jsxs)(De,{to:`/brasil`,"aria-label":`Brasil`,onClick:()=>t(!1),className:`display flex items-center gap-1.5 rounded-full border border-border bg-background px-3 py-1 text-[10px] font-bold uppercase tracking-[0.08em] transition-colors hover:text-foreground ${r===`/brasil`?`border-accent text-accent`:``}`,children:[(0,k.jsx)(`span`,{className:`hidden sm:inline`,children:`Brazil`}),(0,k.jsx)(`span`,{"aria-hidden":!0,className:`text-[14px] leading-none`,children:`🇧🇷`})]}),(0,k.jsx)(`div`,{className:`self-stretch border-l border-border`,"aria-hidden":`true`}),(0,k.jsxs)(`button`,{type:`button`,onClick:()=>t(e=>!e),"aria-expanded":e,"aria-controls":`region-panel`,className:`display flex items-center gap-1.5 rounded-full border border-border bg-background px-3 py-1 text-[10px] font-bold uppercase tracking-[0.08em] transition-colors hover:text-foreground`,children:[(0,k.jsx)(`span`,{children:`Global News`}),(0,k.jsx)(Ud,{className:`size-3 transition-transform duration-200 ${e?`rotate-180`:``}`})]}
20),e?(0,k.jsx)(`div`,{id:`region-panel`,className:`fixed inset-x-0 top-9 z-[1000] pointer-events-auto`,children:(0,k.jsx)(`div`,{className:`mx-auto w-[min(98%,1280px)] px-2 pb-4 sm:w-[min(92%,1280px)] sm:px-6`,children:(0,k.jsxs)(`div`,{className:`overflow-hidden rounded-2xl border border-border bg-background shadow-2xl`,children:[(0,k.jsxs)(`div`,{className:`border-b border-border p-4 sm:p-6`,children:[(0,k.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,k.jsx)(`span`,{className:`text-[10px] font-bold uppercase tracking-[0.12em] text-muted-foreground`,children:`Select region`}),(0,k.jsx)(`button`,{type:`button`,onClick:()=>t(!1),"aria-label":`Close region selector`,className:`flex size-7 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,children:(0,k.jsx)(Kd,{className:`size-3.5`})})]}),(0,k.jsxs)(De,{to:`/`,onClick:()=>t(!1),className:`group flex w-full items-center gap-4 rounded-xl p-4 text-left transition-colors`,children:[(0,k.jsx)(`div`,{className:`flex size-12 shrink-0 items-center justify-center rounded-full bg-muted text-foreground`,children:(0,k.jsx)(Wd,{className:`size-6`})}),(0,k.jsxs)(`div`,{className:`flex-1`,children:[(0,k.jsx)(`span`,{className:`display block text-sm font-bold ${r===`/`?`text-accent`:`text-foreground`}`,children:`World`}),(0,k.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:`Global iGaming news and market updates`})]}),(0,k.jsx)(Hd,{className:`size-5 shrink-0 transition-colors ${r===`/`?`text-accent`:`text-muted-foreground group-hover:text-foreground`}`})]})]}),(0,k.jsx)(`div`,{className:`grid gap-6 p-4 sm:grid-cols-2 sm:p-6 lg:grid-cols-4 lg:gap-8`,children:lf.map(e=>(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`h3`,{className:`display mb-3 px-2 text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:e.continent}),(0,k.jsx)(`ul`,{className:`space-y-1`,children:e.pages.map(e=>{let n=i?.toLowerCase()===e.slug.toLowerCase();return(0,k.jsx)(`li`,{children:(0,k.jsxs)(De,{to:`/geo/$geo`,params:{geo:e.slug},onClick:()=>{t(!1)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-sm font-semibold transition-colors ${n?`bg-accent/10 text-accent`:`text-foreground hover:bg-muted hover:text-accent`}`,children:[e.label,n&&(0,k.jsx)(`span`,{className:`ml-auto text-[9px] font-bold uppercase tracking-wider text-accent/80`,children:`Current`})]})},e.slug)})})]},e.continent))}),(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border bg-surface/50 px-4 py-3 sm:px-6`,children:[(0,k.jsxs)(`p`,{className:`text-[10px] text-muted-foreground`,children:[`Showing `,of.length,` active region pages`]}),(0,k.jsx)(`span`,{className:`text-[10px] font-semibold text-foreground`,children:`iGaming.News`})]})]})})}):null]})}function df(){let[e,t]=(0,O.useState)(null);return(0,O.useEffect)(()=>{let e=!0;eu.auth.getSession().then(({data:n})=>{e&&t(!!n.session)});let{data:n}=eu.auth.onAuthStateChange((e,n)=>{t(!!n)});return()=>{e=!1,n.subscription.unsubscribe()}},[]),e===null?(0,k.jsx)(`span`,{className:`hidden sm:block w-16`,"aria-hidden":`true`}):e?(0,k.jsx)(De,{to:`/members`,className:`transition-colors hover:text-foreground`,activeProps:{className:`text-accent`},children:`My Account`}):(0,k.jsx)(De,{to:`/join`,className:`transition-colors hover:text-foreground`,activeProps:{className:`text-accent`},children:`Sign in / Join`})}var ff={version:1,asset_id:`dc2b5527-ca60-48a9-ae16-858c684e9a3b`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/dc2b5527-ca60-48a9-ae16-858c684e9a3b/igaming-news-logo-dark.png`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/dc2b5527-ca60-48a9-ae16-858c684e9a3b/igaming-news-logo-dark.png`,original_filename:`igaming-ne
20ws-logo-dark.png`,size:6724,content_type:`image/png`,created_at:`2026-08-14T09:43:10Z`},pf={version:1,asset_id:`b22c6e30-6e07-4fab-af6a-8c279802e2e0`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/b22c6e30-6e07-4fab-af6a-8c279802e2e0/linkedin-logo.svg`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/b22c6e30-6e07-4fab-af6a-8c279802e2e0/linkedin-logo.svg`,original_filename:`linkedin-logo.svg`,size:4895,content_type:`image/svg+xml`,created_at:`2026-08-16T15:42:51Z`};function mf(){let[e,t]=(0,O.useState)(!1),n=(0,O.useRef)(null);return(0,O.useEffect)(()=>{if(!e)return;let r=e=>{n.current&&!n.current.contains(e.target)&&t(!1)},i=e=>{e.key===`Escape`&&t(!1)};return document.addEventListener(`mousedown`,r),document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`mousedown`,r),document.removeEventListener(`keydown`,i)}},[e]),(0,k.jsxs)(`header`,{className:`sticky top-0 z-[300] bg-background/90 backdrop-blur-md`,children:[(0,k.jsx)(`div`,{className:`border-b border-border bg-surface`,children:(0,k.jsxs)(`div`,{className:`mx-auto flex h-9 w-[min(98%,1280px)] items-center justify-between px-2 sm:w-[min(92%,1280px)] sm:px-6`,children:[(0,k.jsxs)(`ul`,{className:`flex items-center gap-6 text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground`,children:[(0,k.jsx)(`li`,{className:`hidden sm:block`,children:(0,k.jsx)(De,{to:`/subscribe`,className:`transition-colors hover:text-accent`,activeProps:{className:`text-accent`},children:`Newsletter`})}),(0,k.jsx)(`li`,{className:`hidden sm:block`,children:(0,k.jsx)(De,{to:`/blog`,className:`transition-colors hover:text-foreground`,activeProps:{className:`text-accent`},children:`Blog`})}),(0,k.jsx)(`li`,{className:`hidden sm:block`,children:(0,k.jsx)(De,{to:`/news-feed`,className:`transition-colors hover:text-foreground`,activeProps:{className:`text-accent`},children:`News Feed`})}),(0,k.jsx)(`li`,{className:`hidden sm:block`,children:(0,k.jsx)(De,{to:`/advertise`,className:`font-extrabold text-accent transition-all hover:text-amber-500`,style:{textShadow:`0 0 8px rgba(245,158,11,0.55), 0 0 18px rgba(245,158,11,0.3)`},children:`Advertise`})}),(0,k.jsx)(`li`,{className:`hidden sm:block`,children:(0,k.jsx)(De,{to:`/contact`,className:`transition-colors hover:text-foreground`,activeProps:{className:`text-accent`},children:`Contact`})}),(0,k.jsx)(`li`,{className:`hidden sm:block`,children:(0,k.jsx)(df,{})})]}),(0,k.jsx)(uf,{})]})}),(0,k.jsx)(`div`,{className:`border-b border-border`,children:(0,k.jsxs)(`div`,{className:`mx-auto flex h-[72px] w-[min(98%,1280px)] items-center justify-between gap-8 px-2 sm:w-[min(92%,1280px)] sm:px-6`,children:[(0,k.jsx)(De,{to:`/`,"aria-label":`iGaming.News home`,className:`flex shrink-0 items-center`,children:(0,k.jsx)(`img`,{src:ff.url,alt:`iGaming.News`,width:629,height:108,className:`h-7 w-auto`})}),(0,k.jsxs)(`nav`,{"aria-label":`Main`,className:`hidden items-center gap-7 lg:flex`,children:[(0,k.jsx)(De,{to:`/people`,className:`display text-sm font-bold uppercase tracking-[0.04em] text-foreground/80 transition-colors hover:text-foreground`,activeProps:{className:`text-accent`},children:`People`}),(0,k.jsx)(De,{to:`/directory`,className:`display text-sm font-bold uppercase tracking-[0.04em] text-foreground/80 transition-colors hover:text-foreground`,activeProps:{className:`text-accent`},children:`Directory`}),(0,k.jsx)(De,{to:`/jobs`,className:`display text-sm font-bold uppercase tracking-[0.04em] text-foreground/80 transition-colors hover:text-foreground`,activeProps:{className:`text-accent`},children:`Jobs`}),(0,k.jsx)(De,{to:`/allstreams`,className:`display text-sm font-bold uppercase tracking-[0.04em] text-foreground/80 transition-colors hover:text-foreground`,activeProps:{className:`text-accent`},children:`AllStreams`}),(0,k.jsx)(De,{to:`/contact`,className:`display text-sm font-bold uppercase tracking-[0.04em] text-foreground/80 transition-colors hover:text-foreground`,activeProps:{className:`text-accent`},children:`Contact`}),(0,k.jsx)(`a`,{href:`https://www.linkedin.com/company/igaming-news`,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`iGaming.News on LinkedIn`,className:`text-foreground
20/60 transition-colors hover:text-accent`,children:(0,k.jsx)(`img`,{src:pf.url,alt:`LinkedIn`,className:`h-5 w-auto`})}),(0,k.jsx)(De,{to:`/news-feed`,"aria-label":`Search`,className:`flex size-9 items-center justify-center rounded-full border border-border text-muted-foreground transition-colors hover:text-foreground`,children:(0,k.jsx)(Gd,{className:`size-4`})}),(0,k.jsx)(De,{to:`/subscribe`,className:`display rounded-full bg-accent px-4 py-2 text-sm font-bold text-accent-foreground transition-opacity hover:opacity-90`,children:`Newsletter`})]}),(0,k.jsx)(De,{to:`/subscribe`,className:`display rounded-full bg-accent px-4 py-2 text-xs font-bold text-accent-foreground lg:hidden`,children:`Newsletter`})]})}),(0,k.jsx)(hf,{}),(0,k.jsx)(`div`,{className:`border-b border-border lg:hidden`,children:(0,k.jsxs)(`ul`,{className:`mx-auto flex w-[min(98%,1280px)] items-center gap-5 overflow-x-auto px-2 sm:w-[min(92%,1280px)] sm:px-6 py-2.5 text-xs font-bold`,children:[(0,k.jsx)(`li`,{className:`shrink-0`,children:(0,k.jsx)(De,{to:`/news-feed`,className:`whitespace-nowrap text-muted-foreground`,activeProps:{className:`text-accent`},children:`News Feed`})}),(0,k.jsx)(`li`,{className:`shrink-0`,children:(0,k.jsx)(De,{to:`/contact`,className:`whitespace-nowrap text-muted-foreground`,activeProps:{className:`text-accent`},children:`Contact`})}),Xd.map(e=>{let t=qd[e];return(0,k.jsx)(`li`,{className:`shrink-0`,children:(0,k.jsx)(De,{to:`/category/$category`,params:{category:t.slug},className:`whitespace-nowrap text-muted-foreground`,activeProps:{className:`text-accent`},children:t.name})},e)})]})})]})}function hf(){let[e,t]=(0,O.useState)(!1),[n,r]=(0,O.useState)(Zd.length),i=(0,O.useRef)(null),a=(0,O.useRef)([]),o=(0,O.useRef)(null),s=(0,O.useCallback)(()=>{let e=i.current,t=o.current;if(!e||!t)return;let n=e.clientWidth,s=t.getBoundingClientRect().width,c=0,l=0;for(let e=0;e<Zd.length;e++){let t=a.current[e];if(!t)continue;let r=t.getBoundingClientRect().width;if(c+=r+(e>0?24:0),c+s<=n)l=e+1;else break}r(l)},[]);(0,O.useLayoutEffect)(()=>{s();let e=new ResizeObserver(s);return i.current&&e.observe(i.current),()=>e.disconnect()},[s]),(0,O.useEffect)(()=>{if(!e)return;let n=e=>{o.current&&!o.current.contains(e.target)&&t(!1)},r=e=>{e.key===`Escape`&&t(!1)};return document.addEventListener(`mousedown`,n),document.addEventListener(`keydown`,r),()=>{document.removeEventListener(`mousedown`,n),document.removeEventListener(`keydown`,r)}},[e]);let c=Zd.slice(n),l=c.length>0;return(0,k.jsx)(`nav`,{"aria-label":`Sectors`,className:`relative border-b border-border bg-surface`,children:(0,k.jsxs)(`ul`,{ref:i,className:`mx-auto flex w-[min(98%,1280px)] items-center gap-6 px-2 py-1.5 sm:w-[min(92%,1280px)] sm:px-6 sm:py-2`,children:[Zd.map((e,t)=>{let r=qd[e],i=t>=n;return(0,k.jsx)(`li`,{ref:e=>{a.current[t]=e},className:Bd(`shrink-0`,i&&`invisible absolute`),"aria-hidden":i,children:(0,k.jsx)(De,{to:`/category/$category`,params:{category:r.slug},className:`display whitespace-nowrap text-xs font-bold uppercase tracking-[0.04em] text-foreground/70 transition-colors hover:text-accent`,activeProps:{className:`text-accent`},children:r.name})},e)}),(0,k.jsx)(`li`,{className:`ml-auto shrink-0`,ref:o,children:(0,k.jsxs)(`div`,{className:`relative`,children:[(0,k.jsxs)(`button`,{type:`button`,onClick:()=>t(e=>
20!e),"aria-expanded":e,className:Bd(`display flex items-center gap-1 whitespace-nowrap text-xs font-bold uppercase tracking-[0.04em] text-foreground/70 transition-colors hover:text-accent`,l&&`text-accent`),children:[`More sectors`,(0,k.jsx)(Ud,{className:`h-3.5 w-3.5 transition-transform ${e?`rotate-180`:``}`})]}),e?(0,k.jsx)(`div`,{className:`absolute right-0 top-[calc(100%+0.5rem)] z-50 w-[min(90vw,640px)] rounded-xl border border-border bg-card p-4 shadow-xl`,children:(0,k.jsxs)(`ul`,{className:`grid grid-cols-2 gap-x-6 gap-y-1 sm:grid-cols-3`,children:[c.map(e=>{let n=qd[e];return(0,k.jsx)(`li`,{children:(0,k.jsx)(De,{to:`/category/$category`,params:{category:n.slug},onClick:()=>t(!1),className:`display block truncate py-1.5 text-[11px] font-bold uppercase tracking-[0.04em] text-foreground/75 transition-colors hover:text-accent`,children:n.name})},n.slug)}),Jd.map(e=>(0,k.jsx)(`li`,{children:(0,k.jsx)(De,{to:`/category/$category`,params:{category:e.slug},onClick:()=>t(!1),className:`display block truncate py-1.5 text-[11px] font-bold uppercase tracking-[0.04em] text-foreground/75 transition-colors hover:text-accent`,children:e.name})},e.slug))]})}):null]})})]})})}var gf=l({method:`GET`}).handler(s(`f1ad5283384711f789586bae11b3843a639b15e625db8eca9c39c6a492ad0215`)),_f=l({method:`GET`}).middleware([je]).handler(s(`4647f713a4c5b1ca9a9e68a77f6791a61f93c79fb04f2439b766e1c9e168002e`)),vf=l({method:`POST`}).middleware([je]).handler(s(`8a1015038911450a6c66ab4fb70053580079bee862c0bd4256364a34ef568754`)),yf=l({method:`POST`}).middleware([je]).handler(s(`a1b023e9c198ea2ddf4263dd789be1b24c8caf450ae5306e74c07ad7ee62515b`)),bf=l({method:`POST`}).middleware([je]).handler(s(`a7d9c34ace421415be2e3f7adc214ddc8e330997e698f324b09121797b0e06d2`)),xf=(0,O.createContext)([]);function Sf({children:e}){let{data:t}=fu({queryKey:[`live-adverts`],queryFn:()=>gf(),staleTime:300*1e3});return(0,k.jsx)(xf.Provider,{value:t??[],children:e})}function Cf(){return(0,O.useContext)(xf)}var wf=[{slug:`editorial-policy`,path:`/editorial-policy`,title:`Editorial Policy`,navLabel:`Editorial Policy`,summary:`How iGaming News reports on the global iGaming industry, what we cover and the standards our editorial team works to.`,sections:[{paragraphs:[`At iGaming News, our mission is to provide accurate, timely and insightful coverage of the global iGaming industry.`,`Our editorial team is committed to maintaining high standards of journalism while delivering independent reporting on developments shaping the online gambling, betting and gaming sectors worldwide.`]},{heading:`Editorial Focus`,paragraphs:[`iGaming News covers key areas of the global gaming industry, including:`],list:[`Online casinos and sportsbook operators`,`Game studios and technology providers`,`Payment solutions and fintech innovations`,`Regulatory developments and compliance updates`,`Industry mergers, acquisitions and investments`,`Market trends and industry analysis`,`Conferences and major industry events`]},{paragraphs:[`Our aim is to inform professionals working across the iGaming ecosystem by delivering reliable news and expert insight.`]},{heading:`Editorial Independence`,paragraphs:[`Editorial decisions at iGaming News are made independently by our editorial team.`,`Advertisers, sponsors and commercial partners do not influence editorial coverage or the selection of news stories. Where commercial relationships exist, these are clearly disclosed to readers.`]},{heading:`Use of Sources`,paragraphs:[`Our journalists aim to ensure that information published by iGaming News is sourced responsibly and accurately. Sources may include:`],list:[`Official company statements and announcements`,`Regulatory filings and official reports`,`Interviews with industry professionals`,`Data from recognised research organisations`]},{paragraphs:[`Where appropriate, we attribute information to its original source.`]},{heading:`Press Releases and Partner Content`,paragraphs:[`iGaming News regularly receives announcements from companies operating within the industry.`,`Editorial staff may report on these developments using independent context and analysis. Content published directly on behalf of a company or c
20ommercial partner will be clearly labelled as Press Release, Partner Content, or Sponsored Content.`]},{heading:`Author Transparency`,paragraphs:[`All editorial articles published by iGaming News include author attribution. Author pages provide additional information about the journalist, including their role and previously published articles.`]},{heading:`Updates`,paragraphs:[`Articles may be updated as new information becomes available. When significant changes are made to a story, the article may be updated to reflect the latest developments.`]}]},{slug:`sponsored-content-policy`,path:`/sponsored-content-policy`,title:`Sponsored Content Policy`,navLabel:`Sponsored Content Policy`,summary:`How sponsored articles, paid features and partner content are labelled and separated from independent editorial reporting.`,sections:[{paragraphs:[`At iGaming News, we may publish sponsored articles, paid features, or partner content from third-party organisations.`,`Any content that is clearly labelled as Sponsored Content, Partner Content, or Press Release is created on behalf of the commissioning party.`,`Such content reflects the views, statements, and opinions of the organisation or individual that has commissioned the material and does not necessarily represent the views of iGaming News or its editorial team.`,`The responsibility for the accuracy, claims, and information contained within sponsored or commissioned content rests solely with the commissioning party.`,`While we aim to ensure that all sponsored content is clearly labelled for transparency, iGaming News does not independently verify every claim made within such material and does not accept liability for its content.`,`Sponsored content is published in accordance with applicable advertising standards and is always clearly distinguished from independent editorial reporting to ensure full transparency for readers.`]}]},{slug:`corrections-policy`,path:`/corrections-policy`,title:`Corrections Policy`,navLabel:`Corrections Policy`,summary:`How errors are identified, corrected and disclosed, and how readers can contact the iGaming News editorial team.`,sections:[{paragraphs:[`Accuracy is a core principle at iGaming News. We strive to ensure that all information published on our platform is correct and properly verified.`,`However, errors can occasionally occur. When they do, we are committed to correcting them quickly and transparently.`]},{heading:`Identifying Errors`,paragraphs:[`Errors may be identified by:`],list:[`Our editorial team`,`Readers or industry professionals`,`Companies or organisations mentioned in an article`]},{paragraphs:[`We review all correction requests carefully before making changes.`]},{heading:`Making Corrections`,paragraphs:[`If an article contains inaccurate or misleading information, we will take appropriate action, which may include:`],list:[`Correcting the inaccurate information`,`Updating the article with verified details`,`Adding a clarification where necessary`]},{paragraphs:[`Where a significant factual error has been corrected, we may include an editorial note explaining the update.`]},{heading:`Updates and Developments`,paragraphs:[`News stories often evolve as new information becomes available. In these cases, articles may be updated to reflect the latest developments without necessarily requiring a correction.`]},{heading:`Contacting the Editorial Team`,paragraphs:[`Readers who believe an article contains an error can contact the editorial team through the website contact page with details of the issue and supporting information where possible.`]}]},{slug:`ethics-policy`,path:`/ethics-policy`,title:`Ethics Policy`,navLabel:`Ethics Policy`,summary:`The journalistic principles that guide accuracy, fairness, editorial integrity and responsible industry coverage.`,sections:[{paragraphs:[`At iGaming News, we are committed to maintaining ethical standards in all aspects of our journalism.`,`Our editorial team follows widely recognised journalistic principles designed to ensure responsible and trustworthy reporting.`]},{heading:`Accuracy and Fairness`,paragraphs:[`We aim to present information accurately and fairly, ensuring that reporting reflects the facts and context of a story.`,`Where appropriate, we seek to include perspectives from relevant stakeholders or parties involved.`]},{heading:`Editorial Integrity`,paragraphs:[`Editorial independence is fundamental to our work. Our journalists are expected to avoid conflicts of interest that could compromise the integrity of their reporting.`,`Editorial decisions are not influenced by advertisers, sponsors or commercial partners.`]},{heading:`Transparency`,paragraphs:[`We believe transparency helps readers understand how content is produced. For this reason:`],list:[`Authors are clearly credited`,`Commercial content is clearly labelled`,`Sources are attributed where possible`]},{heading:`Respect for Intellectual Property`,paragraphs:[`iGaming News respects copyright laws and intellectual property rights. Content produced by other organisations will not be reproduced without appropriate permission, credit or licensing.`]},{heading:`Responsible Industry Coverage`,paragraphs:[`The global gaming sector is regulated in many jurisdictions. Our editorial coverage aims to report responsibly on developments within the industry while providing context around regulatory changes and market developments.`]}]},{slug:`ownership-funding-policy`,path:`/ownership-disclosure`,title:`Ownership & Funding Policy`,n
20avLabel:`Ownership & Funding Policy`,summary:`Who operates iGaming News, how the publication generates revenue and how editorial and commercial activities stay separate.`,sections:[{heading:`Ownership Disclosure`,paragraphs:[`Transparency about ownership and funding is an important part of maintaining trust with readers.`,`iGaming News is an independent digital news publication covering the global iGaming industry.`]},{heading:`Ownership`,paragraphs:[`The website and publication are operated by a private media organisation specialising in news and analysis related to the online gaming and betting sectors.`,`Editorial operations are managed independently by the publication's editorial team.`]},{heading:`Revenue and Funding`,paragraphs:[`iGaming News generates revenue through a combination of:`],list:[`Advertising partnerships`,`Sponsored content and press release distribution`,`Industry partnerships and promotional placements`]},{paragraphs:[`Where content forms part of a commercial agreement, it is clearly labelled to ensure transparency for readers.`]},{heading:`Separation of Editorial and Commercial Activities`,paragraphs:[`The editorial team operates independently from the commercial side of the business.`,`Advertisers and partners do not control editorial decisions, story selection or the content of independent reporting.`]},{heading:`Contact and Transparency`,paragraphs:[`Readers or organisations seeking further information about ownership, partnerships or commercial arrangements may contact the publication through the website's contact page.`]}]}];function Tf(e){return wf.find(t=>t.slug===e)}var Ef={version:1,asset_id:`25ea8f22-4760-40f2-a245-bfb35de9c196`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/25ea8f22-4760-40f2-a245-bfb35de9c196/linkedin-igaming.png`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/25ea8f22-4760-40f2-a245-bfb35de9c196/linkedin-igaming.png`,original_filename:`linkedin-igaming.png`,size:33024,content_type:`image/png`,created_at:`2026-08-20T16:27:11Z`},Df={version:1,asset_id:`4d0f7361-21fb-4884-868a-0f7b7721fcbe`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/4d0f7361-21fb-4884-868a-0f7b7721fcbe/instagram-igaming.png`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/4d0f7361-21fb-4884-868a-0f7b7721fcbe/instagram-igaming.png`,original_filename:`instagram-igaming.png`,size:70145,content_type:`image/png`,created_at:`2026-08-20T16:27:08Z`},Of={version:1,asset_id:`27b11aac-d925-49c0-9b77-11ca9b32aaa6`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/27b11aac-d925-49c0-9b77-11ca9b32aaa6/x-igaming.png`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/27b11aac-d925-49c0-9b77-11ca9b32aaa6/x-igaming.png`,original_filename:`x-igaming.png`,size:139520,content_type:`image/png`,created_at:`2026-08-20T16:27:01Z`},kf={version:1,asset_id:`244a2401-185b-438d-91ac-a676c63fd70e`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/244a2401-185b-438d-91ac-a676c63fd70e/facebook-igaming.png`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/244a2401-185b-438d-91ac-a676c63fd70e/facebook-igaming.png`,original_filename:`facebook-igaming.png`,size:31466,content_type:`image/png`,created_at:`2026-08-20T16:27:04Z`},Af={version:1,asset_id:`546c3e60-8cc2-4918-9ae1-4492af0064fd`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/546c3e60-8cc2-4918-9ae1-4492af0064fd/telegram-igaming.png`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/546c3e60-8cc2-4918-9ae1-4492af0064fd/telegram-igaming.png`,original_filename:`telegram-igaming.png`,size:48727,content_type:`image/png`,created_at:`2026-08-20T16:32:17Z`},jf={version:1,asset_id:`3e390df4-88be-4d6a-98fb-6571f7ce57bd`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/3e390df4-88be-4d6a-98fb-6571f7ce57bd/tiktok-igaming.png`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/3e390df4-88be-4d6a-98fb-6571f7ce57bd/tiktok-igaming.png`,original_filename:`tiktok-igaming.png`,size:42239,content_type:`image/png`,created_at:`2026-08-20T16:32:15Z`},Mf=[{label:`Google News`,href:`https://news.google.com`,img:{version:1,asset_id:`e7044b6e-75a6-4a75-8cbe-49b60b283d81`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/e7044b6e-75a6-4a75-8cbe-49b60b283d81/google-news-transparent.png`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/e7044b6e-75a6-4a75-8cbe-49b60b283d81/google-news-transparent.png`,original_filename:`google-news-transparent.png`,size:28151,content_type:`image/png`,created_at:`2026-08-28T07:34:14Z`}.url},{label:`Medium`,href:`https://igamingnews.medium.com`,img:{version:1,asset_id:`29cbeb83-0802-4d30-bbe3-0cb55d0f1fc5`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/29cbeb83-0802-4d30-bbe3-0cb55d0f1fc5/medium-logo-56.svg.png`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/29cbeb83-0802-4d30-bbe3-0cb55d0f1fc5/medium-logo-56.svg.png`,original_filename:`medium-logo-56.svg.png`,size:11151,content_type:`image/png`,created_at:`2026-08-28T07:34:19Z`}.url}
20,{label:`Cision`,href:`https://news.cision.com/igaming-news`,img:{version:1,asset_id:`d25d03b7-f0a7-47bf-8df0-126ef639208a`,project_id:`f78c3436-0d03-4706-866f-2ac39d808579`,url:`/__l5e/assets-v1/d25d03b7-f0a7-47bf-8df0-126ef639208a/cision-200.png`,r2_key:`a/v1/f78c3436-0d03-4706-866f-2ac39d808579/d25d03b7-f0a7-47bf-8df0-126ef639208a/cision-200.png`,original_filename:`cision-200.png`,size:12466,content_type:`image/png`,created_at:`2026-08-28T07:34:07Z`}.url}],Nf=[{label:`LinkedIn`,href:`https://www.linkedin.com/company/igaming-news`,img:Ef.url},{label:`Instagram`,href:`https://www.instagram.com/igaming_news_?utm_source=qr`,img:Df.url},{label:`Telegram`,href:`https://t.me/igaming_news_updates`,img:Af.url},{label:`X`,href:`https://twitter.com/igaming_news_`,img:Of.url},{label:`Facebook`,href:`https://twitter.com/igaming_news_`,img:kf.url},{label:`TikTok`,href:`https://www.tiktok.com/@igaming_news?_r=1&_t=ZN-992opSvf6pS`,img:jf.url}];function Pf(){let e=[{title:`Verticals`,keys:Xd.slice(0,5)},{title:`News & insights`,keys:Xd.slice(5)},{title:`iGaming Services`,links:[{label:`Affiliate Programs`,to:`/affiliate-programs`},{label:`Payment Processors`,to:`/payment-processors`}]},{title:`Company`,links:[{label:`Meet the team`,to:`/meet-the-team`},{label:`Events`,to:`/events`},{label:`Contact us`,to:`/contact`}]}];return(0,k.jsxs)(`footer`,{className:`border-t-2 border-accent bg-surface`,children:[(0,k.jsxs)(`div`,{className:`mx-auto grid w-[min(98%,1280px)] gap-10 px-2 sm:w-[min(92%,1280px)] sm:px-6 py-14 md:grid-cols-5`,children:[(0,k.jsxs)(`div`,{className:`md:col-span-2`,children:[(0,k.jsx)(`img`,{src:ff.url,alt:`iGaming.News`,width:629,height:108,className:`h-8 w-auto`}),(0,k.jsx)(`p`,{className:`mt-5 max-w-[46ch] text-sm leading-relaxed text-muted-foreground`,children:`iGaming news, market analysis, exclusive interviews and responsible gambling coverage for operators, suppliers and industry professionals.`})]}),e.map(e=>(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`h2`,{className:`display mb-4 text-xs font-bold uppercase tracking-[0.12em] text-muted-foreground`,children:e.title}),(0,k.jsx)(`ul`,{className:`space-y-2.5 text-sm font-semibold`,children:`keys`in e?e.keys.map(e=>{let t=qd[e];return(0,k.jsx)(`li`,{children:(0,k.jsx)(De,{to:`/category/$category`,params:{category:t.slug},className:`transition-colors hover:text-accent`,children:t.name})},e)}):e.links.map(e=>(0,k.jsx)(`li`,{children:(0,k.jsx)(De,{to:e.to,className:`transition-colors hover:text-accent`,children:e.label})},e.to))})]},e.title))]}),(0,k.jsx)(`div`,{className:`border-t border-border`,children:(0,k.jsxs)(`div`,{className:`mx-auto w-[min(98%,1280px)] px-2 sm:w-[min(92%,1280px)] sm:px-6 py-8`,children:[(0,k.jsx)(`h2`,{className:`display mb-4 text-xs font-bold uppercase tracking-[0.12em] text-muted-foreground`,children:`Editorial standards`}),(0,k.jsx)(`ul`,{className:`flex flex-wrap gap-x-6 gap-y-2.5 text-sm font-semibold`,children:wf.map(e=>(0,k.jsx)(`li`,{children:(0,k.jsx)(De,{to:e.path,className:`transition-colors hover:text-accent`,children:e.navLabel})},e.slug))})]})}),(0,k.jsx)(`div`,{className:`border-t border-border`,children:(0,k.jsxs)(`div`,{className:`mx-auto w-[min(98%,1280px)] px-2 sm:w-[min(92%,1280px)] sm:px-6 py-8`,children:[(0,k.jsx)(`p`,{className:`display text-center text-[11px] font-bold uppercase tracking-[0.18em] text-muted-foreground`,children:`Read & syndicated on`}),(0,k.jsx)(`ul`,{className:`mt-4 flex flex-wrap items-center justify-center gap-x-6 gap-y-4`,children:Mf.map(e=>(0,k.jsx)(`li`,{className:`flex items-center justify-center`,children:(0,k.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,"aria-label":e.label,className:`flex h-7 w-auto items-center justify-center rounded-md px-3 opacity-70 grayscale transition duration-200 hover:bg-muted hover:opacity-100 hover:grayscale-0`,children:(0,k.jsx)(`img`,{src:e.img,alt:e.label,loading:`lazy`,className:`max-h-4 w-auto max-w-full object-contain`})})},e.label))})]})}),(0,k.jsxs)(`div`,{className:`mx-auto flex w-[min(98%,1280px)] flex-col items-center justify-between gap-4 border-t border-border px-2 sm:w-[min(92%,1280px)] sm:px-6 py-6 text-xs text-muted-foreground md:flex-row`,children:[(0,k.jsxs)(`span`,{children:[`© `,new Date().getUTCFullYear(),` iGaming.News. All rights reserved.`]}),(0,k.jsx)(`div`,{className:`flex items-center gap-4`,children:Nf.map(e=>(0,k.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,"aria-label":e.label,className:`rounded-full p-1 text-muted-foreground transition-opacity hover:opacity-80`,children:(0,k.jsx)(`img`,{src:e.img,alt:``,"aria-hidden":`true`,className:`h-8 w-8 rounded-full`})},e.label))}),(0,k.jsx)(`span`,{children:`18+ · Please gamble responsibly`})]})]})}var Ff=t(a(),1);function If(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var Lf=e=>{switch(e){case`success`:return Bf;case`info`:return Hf;case`warning`:return Vf;case`error`:return Uf;default:return null}},Rf=Array(12).fill(0),zf=({visible:e,className:t})=>O.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(
20Boolean).join(` `),"data-visible":e},O.createElement(`div`,{className:`sonner-spinner`},Rf.map((e,t)=>O.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),Bf=O.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},O.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),Vf=O.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},O.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),Hf=O.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},O.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),Uf=O.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},O.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),Wf=O.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`},O.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),O.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),Gf=()=>{let[e,t]=O.useState(document.hidden);return O.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},Kf=1,qf=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:Kf++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0||e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>
20this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],O.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(Yf(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!O.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!O.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!O.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!O.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||Kf++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Jf=(e,t)=>{let n=t?.id||Kf++;return qf.addToast({title:e,...t,id:n}),n},Yf=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,Xf=Object.assign(Jf,{success:qf.success,info:qf.info,warning:qf.warning,error:qf.error,custom:qf.custom,message:qf.message,promise:qf.promise,dismiss:qf.dismiss,loading:qf.loading},{getHistory:()=>qf.toasts,getToasts:()=>qf.getActiveToasts()});If(`[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;
20left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true
vendor: 8,838 bytes, line 20
20]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
20`);function Zf(e){return e.label!==void 0}var Qf=3,$f=`24px`,ep=`16px`,tp=4e3,np=356,rp=14,ip=45,ap=200;function op(...e){return e.filter(Boolean).join(` `)}function sp(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var cp=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:m,cancelButtonStyle:h,actionButtonStyle:g,className:_=``,descriptionClassName:v=``,duration:y,position:b,gap:x,expandByDefault:ee,classNames:S,icons:C,closeButtonAriaLabel:te=`Close toast`}=e,[ne,re]=O.useState(null),[ie,ae]=O.useState(null),[oe,se]=O.useState(!1),[ce,le]=O.useState(!1),[ue,w]=O.useState(!1),[T,de]=O.useState(!1),[fe,pe]=O.useState(!1),[me,E]=O.useState(0),[D,he]=O.useState(0),ge=O.useRef(n.duration||y||tp),_e=O.useRef(null),ve=O.useRef(null),ye=c===0,be=c+1<=o,xe=n.type,Se=n.dismissible!==!1,Ce=n.className||``,we=n.descriptionClassName||``,Te=O.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),Ee=O.useMemo(()=>n.closeButton??p,[n.closeButton,p]),De=O.useMemo(()=>n.duration||y||tp,[n.duration,y]),Oe=O.useRef(0),ke=O.useRef(0),Ae=O.useRef(0),je=O.useRef(null),[Me,Ne]=b.split(`-`),Pe=O.useMemo(()=>
20s.reduce((e,t,n)=>n>=Te?e:e+t.height,0),[s,Te]),Fe=Gf(),Ie=n.invert||t,Le=xe===`loading`;ke.current=O.useMemo(()=>Te*x+Pe,[Te,Pe]),O.useEffect(()=>{ge.current=De},[De]),O.useEffect(()=>{se(!0)},[]),O.useEffect(()=>{let e=ve.current;if(e){let t=e.getBoundingClientRect().height;return he(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),O.useLayoutEffect(()=>{if(!oe)return;let e=ve.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,he(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[oe,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let Re=O.useCallback(()=>{le(!0),E(ke.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},ap)},[n,d,a,ke]);O.useEffect(()=>{if(n.promise&&xe===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||Fe?(()=>{if(Ae.current<Oe.current){let e=new Date().getTime()-Oe.current;ge.current-=e}Ae.current=new Date().getTime()})():ge.current!==1/0&&(Oe.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),Re()},ge.current)),()=>clearTimeout(e)},[u,i,n,xe,Fe,Re]),O.useEffect(()=>{n.delete&&(Re(),n.onDismiss==null||n.onDismiss.call(n,n))},[Re,n.delete]);function ze(){return C?.loading?O.createElement(`div`,{className:op(S?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":xe===`loading`},C.loading):O.createElement(zf,{className:op(S?.loader,n?.classNames?.loader),visible:xe===`loading`})}let Be=n.icon||C?.[xe]||Lf(xe);return O.createElement(`li`,{tabIndex:0,ref:ve,className:op(_,Ce,S?.toast,n?.classNames?.toast,S?.default,S?.[xe],n?.classNames?.[xe]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":oe,"data-promise":!!n.promise,"data-swiped":fe,"data-removed":ce,"data-visible":be,"data-y-position":Me,"data-x-position":Ne,"data-index":c,"data-front":ye,"data-swiping":ue,"data-dismissible":Se,"data-type":xe,"data-invert":Ie,"data-swipe-out":T,"data-swipe-direction":ie,"data-expanded":!!(u||ee&&oe),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${ce?me:ke.current}px`,"--initial-height":ee?`auto`:`${D}px`,...m,...n.style},onDragEnd:()=>{w(!1),re(null),je.current=null},onPointerDown:e=>{e.button!==2&&(Le||!Se||(_e.current=new Date,E(ke.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(w(!0),je.current={x:e.clientX,y:e.clientY})))},onPointerUp:()=>{if(T||!Se)return;je.current=null;let e=Number(ve.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(ve.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-_e.current?.getTime(),i=ne===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=ip||a>.11){E(ke.current),n.onDismiss==null||n.onDismiss.call(n,n),ae(ne===`x`?e>0?`right`:`left`:t>0?`down`:`up`),Re(),de(!0);return}else{var o,s;(o=ve.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=ve.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`)}pe(!1),w(!1),re(null)},onPointerMove:t=>{var n,r;if(!je.current||!Se||window.getSelection()?.toString().length>0)return;let i=t.clientY-je.current.y,a=t.clientX-je.current.x,o=e.swipeDirections??sp(b);!ne&&(Math.abs(a)>1||Math.abs(i)>1)&&re(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if(ne===`y`){if(o.includes(`top`)||o.includes(`bottom`))if(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)s.y=i;else{let e=i*c(i);s.y=Math.abs(e)<Math.abs(i)?e:i}}else if(ne===`x`&&(o.includes(`left`)||o.includes(`right`)))if(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)s.x=a;else{let e=a*c(a);s.x=Math.abs(e)<Math.abs(a)?e:a}(Math.abs(s.x)>0||Math.abs(s.y)>0)&&pe(!0),(n=ve.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=ve.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},Ee&&!n.jsx&&xe!==`loading`?O.createElement(`button`,{"aria-label":te,"data-disabled":Le,"data-close-button":!0,onClick:Le||!Se?()=>{}:()=>{Re(),n.onDismiss==null||n.onDismiss.call(n,n)},className:op(S?.closeButton,n?.classNames?.closeButton)}
20,C?.close??Wf):null,(xe||n.icon||n.promise)&&n.icon!==null&&(C?.[xe]!==null||n.icon)?O.createElement(`div`,{"data-icon":``,className:op(S?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||ze():null,n.type===`loading`?null:Be):null,O.createElement(`div`,{"data-content":``,className:op(S?.content,n?.classNames?.content)},O.createElement(`div`,{"data-title":``,className:op(S?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?O.createElement(`div`,{"data-description":``,className:op(v,we,S?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),O.isValidElement(n.cancel)?n.cancel:n.cancel&&Zf(n.cancel)?O.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||h,onClick:e=>{Zf(n.cancel)&&Se&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),Re())},className:op(S?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,O.isValidElement(n.action)?n.action:n.action&&Zf(n.action)?O.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||g,onClick:e=>{Zf(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&Re())},className:op(S?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function lp(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function up(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?ep:$f;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var dp=O.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:f,duration:p,style:m,visibleToasts:h=Qf,toastOptions:g,dir:_=lp(),gap:v=rp,icons:y,containerAriaLabel:b=`Notifications`}=e,[x,ee]=O.useState([]),S=O.useMemo(()=>n?x.filter(e=>e.toasterId===n):x.filter(e=>!e.toasterId),[x,n]),C=O.useMemo(()=>Array.from(new Set([i].concat(S.filter(e=>e.position).map(e=>e.position)))),[S,i]),[te,ne]=O.useState([]),[re,ie]=O.useState(!1),[ae,oe]=O.useState(!1),[se,ce]=O.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),le=O.useRef(null),ue=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),w=O.useRef(null),T=O.useRef(!1),de=O.useCallback(e=>{ee(t=>(t.find(t=>t.id===e.id)?.delete||qf.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return O.useEffect(()=>qf.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{ee(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{Ff.flushSync(()=>{ee(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[x]),O.useEffect(()=>{if(d!==`system`){ce(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?ce(`dark`):ce(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{ce(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{ce(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),O.useEffect(()=>{x.length<=1&&ie(!1)},[x]),O.useEffect(()=>{let e=e=>{if(a.every(t=>e[t]||e.code===t)){var t;ie(!0),(t=le.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===le.current||le.current?.contains(document.activeElement))&&ie(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),O.useEffect(()=>{if(le.current)return()=>{w.current&&(w.current.focus({preventScroll:!0}),w.current=null,T.current=!1)}},[le.current]),O.createElement(`section`,{ref:t,"aria-label":`${b} ${ue}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},C.map((t,n)=>{let[i,a]=t.split(`-`);return S.length?O.createElement(`ol`,{key:t,dir:_===`auto`?lp():_,tabIndex:-1,ref:le,className:c,"data-sonner-toaster":!0,"data-sonner-theme":se,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${te[0]?.height||0}px`,"--width":`${np}px`,"--gap":`${v}px`,...m,...up(l,u)},onBlur:e=>{T.current&&!e.currentTarget.contains(e.relatedTarget)&&(T.current=!1,w.current&&=(w.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`fal
20se`||T.current||(T.current=!0,w.current=e.relatedTarget)},onMouseEnter:()=>ie(!0),onMouseMove:()=>ie(!0),onMouseLeave:()=>{ae||ie(!1)},onDragEnd:()=>ie(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||oe(!0)},onPointerUp:()=>oe(!1)},S.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>O.createElement(cp,{key:n.id,icons:y,index:i,toast:n,defaultRichColors:f,duration:g?.duration??p,className:g?.className,descriptionClassName:g?.descriptionClassName,invert:r,visibleToasts:h,closeButton:g?.closeButton??s,interacting:ae,position:t,style:g?.style,unstyled:g?.unstyled,classNames:g?.classNames,cancelButtonStyle:g?.cancelButtonStyle,actionButtonStyle:g?.actionButtonStyle,closeButtonAriaLabel:g?.closeButtonAriaLabel,removeToast:de,toasts:S.filter(e=>e.position==n.position),heights:te.filter(e=>e.position==n.position),setHeights:ne,expandByDefault:o,gap:v,expanded:re,swipeDirections:e.swipeDirections}))):null}))}),fp=({...e})=>(0,k.jsx)(dp,{className:`toaster group`,toastOptions:{classNames:{toast:`group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg`,description:`group-[.toast]:text-muted-foreground`,actionButton:`group-[.toast]:bg-primary group-[.toast]:text-primary-foreground`,cancelButton:`group-[.toast]:bg-muted group-[.toast]:text-muted-foreground`}},...e}),pp=[{id:`1-article`,priceId:`article_1_onetime`,label:`1 sponsored article`,priceLabel:`£300`,amountPence:3e4,recurring:!1,group:`article`},{id:`2-articles`,priceId:`article_2_onetime`,label:`2 sponsored articles`,priceLabel:`£550`,amountPence:55e3,recurring:!1,group:`article`},{id:`4-articles`,priceId:`article_4_onetime`,label:`4 sponsored articles`,priceLabel:`£950`,amountPence:95e3,recurring:!1,group:`article`},{id:`10-articles`,priceId:`article_10_onetime`,label:`10 sponsored articles`,priceLabel:`£2,200`,amountPence:22e4,recurring:!1,group:`article`},{id:`24-articles`,priceId:`article_24_onetime`,label:`24 sponsored articles`,priceLabel:`£4,800`,amountPence:48e4,recurring:!1,group:`article`},{id:`48-articles`,priceId:`article_48_onetime`,label:`48 sponsored articles`,priceLabel:`£9,000`,amountPence:9e5,recurring:!1,group:`article`},{id:`pr-starter`,priceId:`pr_starter_monthly`,label:`Starter PR package`,priceLabel:`£399 / month`,amountPence:39900,recurring:!0,group:`pr`},{id:`pr-premium`,priceId:`pr_premium_monthly`,label:`Premium PR package`,priceLabel:`£699 / month`,amountPence:69900,recurring:!0,group:`pr`},{id:`pr-ultimate`,priceId:`pr_ultimate_monthly`,label:`Ultimate PR package`,priceLabel:`£1,999 / month`,amountPence:199900,recurring:!0,group:`pr`}];function mp(e){return pp.find(t=>t.id===e)}function hp(e){return`£${(e/100).toLocaleString(`en-GB`,{minimumFractionDigits:0,maximumFractionDigits:2})}`}var gp=`ign-basket-v1`,_p=(0,O.createContext)(null);function vp(){try{let e=localStorage.getItem(gp);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>e&&typeof e.id==`string`&&mp(e.id)).map(e=>({id:e.id,quantity:Math.min(Math.max(Number(e.quantity)||1,1),10)})):[]}catch{return[]}}function yp({children:e}){let[t,n]=(0,O.useState)([]);(0,O.useEffect)(()=>{n(vp())},[]);let r=(0,O.useCallback)(e=>{n(e);try{localStorage.setItem(gp,JSON.stringify(e))}catch{}},[]),i=(0,O.useCallback)((e,t=1)=>{let r=mp(e);r&&n(n=>{let i=n.find(t=>t.id===e)?n.map(n=>n.id===e?{...n,quantity:r.recurring?1:Math.min(n.quantity+t,10)}:n):[...n,{id:e,quantity:r.recurring?1:Math.min(t,10)}];try{localStorage.setItem(gp,JSON.stringify(i))}catch{}return i})},[]),a=(0,O.useCallback)((e,n)=>{let i=Math.min(Math.max(n,1),10);r(t.map(t=>t.id===e?{...t,quantity:i}:t))},[t,r]),o=(0,O.useCallback)(e=>r(t.filter(t=>t.id!==e)),[t,r]),s=(0,O.useCallback)(()=>r([]),[r]),c=(0,O.useMemo)(()=>{let e=t.flatMap(e=>{let t=pp.find(t=>t.id===e.id);return t?[{...t,quantity:e.quantity,lineTotalPence:t.amountPence*e.quantity}]:[]});return{lines:e,count:e.reduce((e,t)=>e+t.quantity,0),subtotalPence:e.reduce((e,t)=>e+t.lineTotalPence,0),hasRecurring:e.some(e=>e.recurring),hasOneOff:e.some(e=>!e.recurring),add:i,setQuantity:a,remove:o,clear:s}},[t,i,a,o,s]);return(0,k.jsx)(_p.Provider,{value:c,children:e})}function bp(){let e=(0,O.useContext)(_p);if(!e)throw Error(`useBasket must be used inside a BasketProvider`);return e}function xp(){let[e,t]=(0,O.useState)(!1),[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)(``),[o,s]=(0,O.useState)(``),[c,l]=(0,O.useState)(!1);return(0,O.useEffect)(()=>{let e=!0,n=async()=>{let{data:n}=await eu.auth.getUser();if(!e)return;let i=n.user,a=!!i?.user_metadata?.must_change_password;t(a),r(i?.email??null)};n();let{data:i}=eu.auth.onAuthStateChange(e=>{if(e===`SIGNED_OUT`){t(!1);return}(e===`SIGNED_IN`||e===`USER_UPDATED`||e===`INITIAL_SESSION`)&&n()});return()=>{e=!1,i.subscription.unsubscribe()}},[]),e?(0,k.jsx)(`div`,{className:`fixed inset-0 z-[200] flex items-center justify-center bg-foreground
20/70 p-4 backdrop-blur-sm`,children:(0,k.jsxs)(`form`,{onSubmit:async e=>{if(e.preventDefault(),i.length<8){Xf.error(`Use at least 8 characters for your new password.`);return}if(i!==o){Xf.error(`Passwords do not match.`);return}l(!0);let{error:n}=await eu.auth.updateUser({password:i,data:{must_change_password:!1}});if(l(!1),n){Xf.error(n.message);return}Xf.success(`Password updated.`),t(!1)},className:`w-full max-w-md rounded-xl border border-border bg-background p-6 shadow-2xl`,children:[(0,k.jsx)(`h2`,{className:`display text-lg font-extrabold uppercase tracking-[0.08em]`,children:`Choose a new password`}),(0,k.jsxs)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:[n?`${n} is`:`This account is`,` using a temporary password. Set a permanent one to continue.`]}),(0,k.jsx)(`label`,{className:`mt-5 block text-xs font-semibold uppercase tracking-[0.1em] text-muted-foreground`,children:`New password`}),(0,k.jsx)(`input`,{type:`password`,value:i,onChange:e=>a(e.target.value),autoComplete:`new-password`,className:`mt-1 w-full rounded-md border border-input bg-background px-3 py-2 text-sm`,required:!0}),(0,k.jsx)(`label`,{className:`mt-4 block text-xs font-semibold uppercase tracking-[0.1em] text-muted-foreground`,children:`Confirm password`}),(0,k.jsx)(`input`,{type:`password`,value:o,onChange:e=>s(e.target.value),autoComplete:`new-password`,className:`mt-1 w-full rounded-md border border-input bg-background px-3 py-2 text-sm`,required:!0}),(0,k.jsx)(`button`,{type:`submit`,disabled:c,className:`display mt-6 w-full rounded-md bg-accent px-4 py-2.5 text-xs font-bold uppercase tracking-[0.1em] text-accent-foreground disabled:opacity-60`,children:c?`Saving…`:`Update password`}),(0,k.jsx)(`button`,{type:`button`,onClick:async()=>{await eu.auth.signOut(),t(!1)},className:`mt-3 w-full text-xs font-semibold text-muted-foreground hover:text-foreground`,children:`Sign out instead`})]})}):null}function Sp({takeover:e}){return e.bgUrl?(0,k.jsx)(`a`,{href:e.clickUrl||void 0,target:`_blank`,rel:`noopener sponsored`,"aria-hidden":!0,className:`pointer-events-auto fixed inset-0 -z-10 hidden bg-center bg-no-repeat lg:block`,style:{backgroundImage:`url(${e.bgUrl})`,backgroundSize:`cover`}}):null}function Cp({takeover:e}){if(!e.topUrl)return null;let t=e.topWidth||970,n=e.topHeight||250;return(0,k.jsx)(`a`,{href:e.clickUrl||void 0,target:`_blank`,rel:`noopener sponsored`,className:`hidden justify-center py-3 lg:flex`,"aria-label":`Advertisement`,children:(0,k.jsx)(`img`,{src:e.topUrl,alt:`Advertisement`,className:`object-contain`,style:{aspectRatio:`${t} / ${n}`,width:`min(${t}px, 92vw)`}})})}function wp({side:e,takeover:t}){let n=e===`left`?t.leftUrl:t.rightUrl,r=e===`left`?`left-0`:`right-0`;return(0,k.jsx)(`div`,{className:`relative z-10 hidden w-[14.2vw] shrink-0 self-stretch lg:block`,children:n?(0,k.jsx)(`a`,{href:t.clickUrl||void 0,target:`_blank`,rel:`noopener sponsored`,"aria-label":`Advertisement`,className:`fixed bottom-0 z-30 block w-[calc(14.2vw_+_30px)] ${r}`,children:(0,k.jsx)(`img`,{src:n,alt:`Advertisement`,className:`h-auto w-full object-contain`})}):null})}var Tp=l({method:`GET`}).handler(s(`523da11346dd108f162938be57bde9ad201dc24320e757443004af41aae7c4b0`)),Ep=l({method:`GET`}).middleware([je]).handler(s(`01bf6a477fa5111b63755d5431383f1dd92b0492b20ffd3fcc8b3ff886df1e87`)),Dp=l({method:`POST`}).middleware([je]).handler(s(`b65fb22a73543980b0049cfcdc91f915eb35ea1c5a54719995811d10b30e5e28`)),Op=l({method:`POST`}).middleware([je]).handler(s(`66adb7fcb21ad5bed8d6a51a22f5264a758d6d824db9e9292625815f946c5c6b`));function kp(){return{pagePath:`/`,name:``,clickUrl:``,bgUrl:``,topUrl:``,leftUrl:``,rightUrl:``,topWidth:970,topHeight:250,isActive:!0}}function Ap(e){let t=(e||``).trim().toLowerCase();return!t||t===`/`?`/`:(t.startsWith(`/`)?t:`/${t}`).replace(/\/+$/,``)||`/`}function jp(e,t){let n=Ap(t);return e.find(e=>e.isActive&&Ap(e.pagePath)===n)??null}function Mp(e,t={}){if(typeof window>`u`)return;window.__lovableEvents?.captureException?.(e,{source:`react_error_boundary`,route:window.location.pathname,...t},{mechanism:`react_error_boundary`,handled:!1,severity:`error`});let n=e instanceof Response?`Response ${e.status}${e.url?` at ${e.url}`:``}`:e instanceof Error?e.message:String(e),r=e instanceof Error?e.stack:void 0;window.__lovableReportRuntimeError?.({message:n,...r!==void 0&&{stack:r},filename:window.location.pathname})}function Np(){return(0,k.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-background px-4`,children:(0,k.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,k.jsx)(`h1`,{className:`text-7xl font-bold text-foreground`,children:`404`}),(0,k.jsx)(`h2`,{className:`mt-4 text-xl font-semibold text-foreground`,children:`Page not found`}),(0,k.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`The page you're looking for doesn't exist or has been moved.`}),(0,k.jsx)(`div`,{className:`mt-6`,children:(0,k.jsx)(De,{to:`/`,className:`inline-flex items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90`,children:`Go home`})})]})})}function Pp({error:e,reset:t}){console.error(e);let n=ke();return(0,O.useEffect)(()=>{Mp(e,{boundary:`tanstack_root_error_component`})},[e]),(0,k.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-background px-4`,children:(0,k.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,k.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-foreground`,children:`This page didn't load`}),(0,k.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Something went wrong on our end. You can try refreshing or head back home.`}),(0,k.jsxs)(`div`,{className:`mt-6 flex flex-wrap justify-center gap-2`,children:[(0,k.jsx)(`button`,{onClick:()=>{n.invalidate(),t()},className:`inline-flex items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90`,children:`Try again`}),(0,k.jsx)(`a`,{href:`/`,className:`inline-flex items-center justify-center rounded-md border border-input bg-background px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-accent`,children:`Go home`})]})]})})}var H=br()({head:()=>({meta:[{charSet:`utf-8`},{name:`viewport`,content:`width=device-width, initial-scale=1`},{title:`iGaming.News — iGaming Industry News`},{name:`author`,content:`iGaming.News`},{property:`og:type`,content:`website`},{property:`og:site_name`,content:`iGaming.News`},{property:`og:locale`,content:`en_GB`},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`stylesheet`,href:Vd}
20,{rel:`icon`,type:`image/png`,href:`/favicon.png`},{rel:`preconnect`,href:`https://fonts.googleapis.com`},{rel:`preconnect`,href:`https://fonts.gstatic.com`,crossOrigin:`anonymous`},{rel:`stylesheet`,href:`https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap`}]}),shellComponent:Fp,component:Ip,notFoundComponent:Np,errorComponent:Pp});function Fp({children:e}){return(0,k.jsxs)(`html`,{lang:`en`,children:[(0,k.jsx)(`head`,{children:(0,k.jsx)(Jr,{})}),(0,k.jsxs)(`body`,{children:[e,(0,k.jsx)(Yr,{})]})]})}function Ip(){let{queryClient:e}=H.useRouteContext(),t=Ur({select:e=>e.location.pathname}),n=t.startsWith(`/admin`)||t===`/auth`||t.startsWith(`/auth/`)||t.startsWith(`/members`),r=t===`/brasil`;return n?(0,k.jsxs)(Xe,{client:e,children:[(0,k.jsx)(yp,{children:(0,k.jsx)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,k.jsx)(Pr,{})})}),(0,k.jsx)(xp,{}),(0,k.jsx)(fp,{})]}):(0,k.jsxs)(Xe,{client:e,children:[(0,k.jsx)(yp,{children:(0,k.jsx)(Sf,{children:(0,k.jsx)(Lp,{isBrasil:r,pathname:t})})}),(0,k.jsx)(xp,{}),(0,k.jsx)(fp,{})]})}function Lp({isBrasil:e,pathname:t}){let{data:n}=fu({queryKey:[`live-takeovers`],queryFn:()=>Tp(),staleTime:300*1e3}),r=jp(n??[],t);return(0,k.jsxs)(k.Fragment,{children:[r?(0,k.jsx)(Sp,{takeover:r}):null,(0,k.jsxs)(`div`,{className:Bd(`flex min-h-screen flex-col text-foreground`,e&&`bg-gradient-to-r from-[#FFCB00] to-[#009440]`),children:[r?(0,k.jsx)(Cp,{takeover:r}):null,(0,k.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[2200px] flex-1 items-stretch justify-center gap-0 px-0`,children:[r?(0,k.jsx)(wp,{side:`left`,takeover:r}):(0,k.jsx)(`div`,{className:`hidden w-[14.2vw] shrink-0 lg:block`}),(0,k.jsxs)(`div`,{className:`min-w-0 flex-1 bg-background shadow-[0_0_60px_rgba(0,0,0,0.25)] xl:max-w-[1400px]`,children:[(0,k.jsx)(mf,{}),(0,k.jsx)(`div`,{className:`flex-1`,children:(0,k.jsx)(Pr,{})})]}),r?(0,k.jsx)(wp,{side:`right`,takeover:r}):(0,k.jsx)(`div`,{className:`hidden w-[14.2vw] shrink-0 lg:block`})]}),(0,k.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[2200px] justify-center px-0`,children:[(0,k.jsx)(`div`,{className:`hidden w-[14.2vw] shrink-0 lg:block`}),(0,k.jsx)(`div`,{className:`min-w-0 flex-1 bg-background shadow-[0_0_60px_rgba(0,0,0,0.25)] xl:max-w-[1400px]`,children:(0,k.jsx)(Pf,{})}),(0,k.jsx)(`div`,{className:`hidden w-[14.2vw] shrink-0 lg:block`})]})]})]})}var Rp=[[`casino`,`betting`,`gambling-law`,`tech`],[`affiliate`,`poker`,`land`,`prediction-markets`],[`women-in-igaming`,`crash-games`,`igaming-events`]],zp=`https://igaming.news`,U=e=>`${zp}${e.startsWith(`/`)?e:`/${e}`}`,Bp=l({method:`GET`}).handler(s(`c1eee3030582b8720860e6aaa354e1b8e04d02b95d3d45df9be605f305dd0d8f`)),Vp=l({method:`GET`}).handler(s(`d0ac30a4b9007cdbb72a1ebc9cc1d0e2edcb736af22d0edc8787f42986044501`)),Hp=l({method:`GET`}).handler(s(`fbfccfb21eb53083298db0f4268c3faf16a0009a40fc325379d6812605289547`)),Up=l({method:`GET`}).handler(s(`56247e6ee3d304c48058f8d110f119240330676c76ca2e2c888dd810ae82630f`)),Wp=l({method:`GET`}).handler(s(`aba8d7c788759afc7ee23b6d3df2c2b1919fa1eb4353f6eabc1ab84b4d77be25`)),Gp=l({method:`GET`}).handler(s(`cd6972408839199ddbed59ad8195fbf2a07d208785d7dadbc287b0ada3443c2b`)),Kp=l({method:`GET`}).handler(s(`3903c02041599dc2cc624a9ea9e8d0988ee7104b6d10d54d30687556ce4ac1b5`)),qp=l({method:`GET`}).handler(s(`a3353af19f48285a0ad3daa6bcc4d86061d39cfdf23acc79731a2033789b07a1`)),Jp=l({method:`GET`}).handler(s(`325b5841ad5514585f8228e20d7a96579862f3149617d239d0a50718398704f6`)),Yp=l({method:`GET`}).handler(s(`30a4f4ac2c9cccbaebd98ea2a0ef6bbaad70a1ac214c33294efd3a5332822668`)),Xp=l({method:`GET`}).handler(s(`9d5eecc955fcd7342987149884bdf9b63c6df39c161c075cf4f4d4e3671f3d3e`)),Zp=l({method:`GET`}).handler(s(`32c861fb3329d9228eb2ecc29f5bff2fdc3a0bc733a06d440d4f4a9def9819f6`)),Qp=l({method:`GET`}).handler(s(`4535cf5735439e8116ce881dd1d9c02e54ee62e2712c088efb90c5c88cc1f791`)),$p=l({method:`GET`}).handler(s(`04cc43d4da19525253c57debaa9ca9bfd5a6b6204ced5e9fad80d769a91d45ad`)),em=l({method:`GET`}).handler(s(`a7d40fc2073c7e628e9b4a9f790a005f6bcc2617d2f4d2b32066e981c468f07d`)),tm=l({method:`GET`}).handler(s(`01df16be1d031374d980c81c530536ded91484dac493bd8493b74ae666ee38fe`)),nm=l({method:`GET`}).handler(s(`be089e0257a10d12fecb835512b22bd85dbe769a6eeec82c99054d0b98d41dad`)),rm=`modulepreload`,im=function(e){return`/`+e},am={},W=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=im(t,n),t=s(t),t in am)return;am[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:rm,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n
20)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},om=A(`/`)({head:()=>({meta:[{title:`iGaming.News — Latest iGaming Industry News`},{name:`description`,content:`Breaking iGaming industry news: casino, sports betting, regulation, affiliate, poker and land-based coverage updated throughout the day.`},{property:`og:title`,content:`iGaming.News — Latest iGaming Industry News`},{property:`og:description`,content:`Breaking iGaming industry news: casino, sports betting, regulation, affiliate, poker and land-based coverage updated throughout the day.`},{property:`og:url`,content:U(`/`)}],links:[{rel:`canonical`,href:U(`/`)}]}),loader:async()=>{let e=(e,t)=>e.catch(()=>t),t=Rp.flat(),n=af(qd.people),[r,i,a,o,s,c,l,u,d,f]=await Promise.all([e(Vp(),[]),e(Xp(),null),e(qp({data:{limit:7}}),[]),e(Yp({data:{limit:5}}),[]),e($p({data:{limit:6}}),[]),e(Bp(),[]),e(tm({data:{limit:4}}),[]),e(tm({data:{limit:6,podcastsOnly:!0}}),[]),e(Hp({data:{category:`people`,limit:7,terms:n.tags,titleTerms:n.title}}),[]),Promise.all(t.map(async t=>[t,await e(Hp({data:{category:t,limit:4}}),[])]))]);return{latest:r,featured:i,advertorials:a,financial:o,byCategory:Object.fromEntries(f),newswire:c,blog:s,videos:l,podcasts:u,people:d}},component:j(()=>W(()=>import(`./routes-BIkCJ4TU.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35])),`component`)}),sm=A(`/_authenticated`)({beforeLoad:async()=>{let{data:e,error:t}=await eu.auth.getUser();if(t||!e.user)throw be({to:`/join`});return{user:e.user??null}},component:j(()=>W(()=>import(`./route-BVkMqlzQ.js`),__vite__mapDeps([36,1])),`component`)}),cm=l({method:`GET`}).middleware([je]).handler(s(`27ed22514313044cbc6e4440e58185d03f2de61de20e5a68b2468ef1f55749c4`)),lm=l({method:`GET`}).middleware([je]).handler(s(`8e035b87823cdee74d7e84a2dda2ef0100403ced5e769704c4d347872b037ab1`)),um=l({method:`GET`}).middleware([je]).handler(s(`e90247e9d4a35171f82852be93e573b3dbf3ebc319d71d1054b65868f2133c3e`)),dm=l({method:`POST`}).middleware([je]).handler(s(`83f8d2a9aff4b7e20c8f0f1af4921cee200d3e12134ce552c6f4307dfeecd699`)),fm=l({method:`POST`}).middleware([je]).handler(s(`767c435d2ac2e0963ebe293524a75deef2d4d51e5dabc72291135ac8e04a5eba`)),pm=l({method:`GET`}).middleware([je]).handler(s(`5409838dbad8e8858018c03160352667dfd0f52e538208e43f3f92840a642e58`)),mm=l({method:`POST`}).middleware([je]).handler(s(`bc160a28c7a7870d0a6adfc4acb6b9f92c95332ecb4d4c1ddb58745974035d01`)),hm=A(`/admin`)({beforeLoad:async()=>{let{data:e,error:t}=await eu.auth.getUser();if(t||!e.user)throw be({to:`/auth`});if(!(await cm().catch(()=>null))?.isStaff)throw be({to:`/`});return{user:e.user}},head:()=>({meta:[{title:`Publisher — iGaming.News newsroom`},{name:`description`,content:`Editorial publishing system for iGaming.News articles.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Publisher — iGaming.News newsroom`},{property:`og:description`,content:`Editorial publishing system for iGaming.News articles.`}]}),component:j(()=>W(()=>import(`./admin-DqgYXwEK.js`),__vite__mapDeps([37,1,6,2,7,8,9,10])),`component`)}),gm=A(`/advertise`)({head:()=>({meta:[{title:`Advertise With Us — 2026 Media Pack | iGaming.News`},{name:`description`,content:`The iGaming.News 2026 media pack: audience data, article packages, catfish and homepage takeover banners, sector and GEO sponsorships, podcast, newsletter and PR bundles with full pricing.`},{property:`og:title`,content:`Advertise With Us — iGaming.News 2026 Media Pack`},{property:`og:description`,content:`Article placements, site-wide banners, homepage takeovers, podcast and newsletter sponsorships, business directory listings and PR packages — all pricing included.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`},{property:`og:url`,content:U(`/advertise`)}],links:[{rel:`canonical`,href:U(`/advertise`)}]}),component:j(()=>W(()=>import(`./advertise-DqR8nK3U.js`),__vite__mapDeps([38,1,6,2,7,8,9,10,12,32,39,15,16,40,41,23])),`component`)}),_m=l({method:`GET`}).handler(s(`e3b48a90db19731c9e7e98ff3c89124781ac6d8f68a2c093c4426b4341e55a7f`)),vm=l({method:`GET`}).middleware([je]).handler(s(`a05a68d2345a5ad8335d87881d69e2eec0779930c378723f3742b3f949326cd7`)),ym=l({method:`POST`}).middleware([je]).handler(s(`73d77e337de69146eb7d9f857dd982a78c0821f6cbfb7d12747ac92108ccff2d`)),bm=l({method:`POST`}).middleware([je]).handler(s(`9f46074c437611828db552b0e1e666f0225889b7327f1d8db99922144be9e98a`)),xm=()=>W(()=>import(`./allstreams-43zGELXn.js`),__vite__mapDeps([42,1,2,12,39,43,44,41,24,45,23,6,7,8,9,10])),Sm=`AllStreams — the influencer review project powered by APERCON`,Cm=`AllStreams is a social project by iGaming.News and APERCON: independent streamers and bloggers review game providers on 13 criteria, with verified video proof.`,
20wm=A(`/allstreams`)({head:()=>({meta:[{title:Sm},{name:`description`,content:Cm},{property:`og:title`,content:Sm},{property:`og:description`,content:Cm},{property:`og:url`,content:U(`/allstreams`)}],links:[{rel:`canonical`,href:U(`/allstreams`)}]}),loader:async()=>({reviews:await _m().catch(()=>[])}),component:j(xm,`component`)}),Tm=A(`/auth`)({head:()=>({meta:[{title:`Newsroom sign in — iGaming.News`},{name:`description`,content:`Staff sign in for the iGaming.News editorial publishing system.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Newsroom sign in — iGaming.News`},{property:`og:description`,content:`Staff sign in for the iGaming.News publishing system.`}]}),component:j(()=>W(()=>import(`./auth-Dv4oEYh-.js`),__vite__mapDeps([46,1,2,6,7,8,9,10])),`component`)}),Em=A(`/brasil`)({loader:async()=>({articles:await Qp({data:{limit:120}})}),head:()=>{let e=`Notícias de iGaming no Brasil — iGaming.News`,t=`Todas as notícias em português sobre apostas, cassinos online, regulamentação e o mercado de iGaming no Brasil.`;return{meta:[{title:e},{name:`description`,content:t},{property:`og:title`,content:e},{property:`og:description`,content:t},{property:`og:type`,content:`website`},{property:`og:url`,content:U(`/brasil`)},{property:`og:locale`,content:`pt_BR`},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:U(`/brasil`)},{rel:`alternate`,hrefLang:`pt-BR`,href:U(`/brasil`)},{rel:`alternate`,hrefLang:`en`,href:U(`/`)},{rel:`alternate`,hrefLang:`x-default`,href:U(`/`)}]}},component:j(()=>W(()=>import(`./brasil-qjFFpCTo.js`),__vite__mapDeps([47,1,2,6,7,8,9,10,11,4,32,12,33,15,34,3,5,35,23,26,27,28,29])),`component`)}),Dm=A(`/contact`)({head:()=>({meta:[{title:`Contact — iGaming.News`},{name:`description`,content:`Get in touch with iGaming.News for general enquiries, advertising, press, partnerships, reporting issues or feedback.`},{property:`og:title`,content:`Contact — iGaming.News`},{property:`og:description`,content:`Get in touch with iGaming.News for general enquiries, advertising, press, partnerships, reporting issues or feedback.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`}]}),component:j(()=>W(()=>import(`./contact-CzAf66lr.js`),__vite__mapDeps([48,1,2,3,4,5,11,10,12,33,15,22,49])),`component`)}),Om=Tf(`corrections-policy`);function km({policy:e}){return(0,k.jsxs)(`main`,{children:[(0,k.jsx)(`section`,{className:`border-b border-border bg-surface`,children:(0,k.jsxs)(`div`,{className:`mx-auto w-[min(98%,1280px)] px-2 sm:w-[min(92%,1280px)] sm:px-6 py-10`,children:[(0,k.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-[11px] font-bold uppercase tracking-[0.12em] text-muted-foreground`,children:[(0,k.jsx)(Qe,{className:`size-3.5 text-accent`}),` Editorial standards`]}),(0,k.jsx)(`h1`,{className:`display mt-3 text-3xl font-extrabold tracking-tight`,children:e.title})]})}),(0,k.jsxs)(`div`,{className:`mx-auto grid w-[min(98%,1280px)] gap-10 px-2 sm:w-[min(92%,1280px)] sm:px-6 py-12 lg:grid-cols-[260px_1fr]`,children:[(0,k.jsx)(`aside`,{className:`lg:sticky lg:top-28 lg:self-start`,children:(0,k.jsxs)(`nav`,{className:`rounded-xl border border-border bg-card p-4`,children:[(0,k.jsx)(`h2`,{className:`display mb-3 border-b border-border pb-3 text-[11px] font-extrabold uppercase tracking-[0.14em] text-muted-foreground`,children:`Our policies`}),(0,k.jsx)(`ul`,{className:`space-y-1`,children:wf.map(t=>{let n=t.slug===e.slug;return(0,k.jsx)(`li`,{children:(0,k.jsx)(De,{to:t.path,className:[`block rounded-md px-3 py-2 text-sm font-semibold transition-colors`,n?`bg-accent/12 text-accent border-l-2 border-accent`:`text-muted-foreground hover:bg-muted hover:text-foreground`].join(` `),children:t.navLabel})},t.slug)})})]})}),(0,k.jsx)(`article`,{className:`min-w-0 rounded-xl border border-border bg-card p-6 sm:p-9`,children:e.sections.map((e,t)=>(0,k.jsxs)(`section`,{className:t>0?`mt-8`:``,children:[e.heading?(0,k.jsx)(`h2`,{className:`display border-t-[3px] border-accent pt-3 text-base font-extrabold uppercase tracking-[0.08em]`,children:e.heading}):null,e.paragraphs?.map(e=>(0,k.jsx)(`p`,{className:`mt-4 max-w-[72ch] text-pretty text-[15px] leading-relaxed text-muted-foreground`,children:e},e.slice(0,40))),e.list?(0,k.jsx)(`ul`,{className:`mt-4 space-y-2`,children:e.list.map(e=>(0,k.jsxs)(`li`,{className:`flex gap-3 text-[15px] leading-relaxed`,children:[(0,k.jsx)(`span`,{className:`mt-2 size-1.5 shrink-0 rounded-full bg-accent`}),(0,k.jsx)(`span`,{children:e})]},e))}):null]},e.heading??`section-${t}`))})]})]})}
20function Am(e,t){let n=`${e.title} — iGaming.News`;return{meta:[{title:n},{name:`description`,content:e.summary},{property:`og:title`,content:n},{property:`og:description`,content:e.summary},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary_large_image`},{property:`og:url`,content:t(e.path)}],links:[{rel:`canonical`,href:t(e.path)}]}}var jm=A(`/corrections-policy`)({head:()=>Am(Om,U),component:j(()=>W(()=>import(`./corrections-policy-Cs6idfAv.js`),__vite__mapDeps([50,1])),`component`)}),Mm=A(`/directory`)({head:()=>({meta:[{title:`iGaming Business Directory | iGaming.News`},{name:`description`,content:`Browse the iGaming.News business directory: affiliate programmes, platform providers, game studios, sportsbook data suppliers, SEO agencies and more.`},{property:`og:title`,content:`iGaming Business Directory`},{property:`og:description`,content:`The iGaming.News directory of affiliate programmes, platforms, game studios and service suppliers across the gambling industry.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`},{property:`og:url`,content:U(`/directory`)}],links:[{rel:`canonical`,href:U(`/directory`)}]}),component:j(()=>W(()=>import(`./directory-0sm-P9DF.js`),__vite__mapDeps([51,1,2,13,12,20,23,6,7,8,9,10,26,27,28])),`component`)}),Nm=Tf(`editorial-policy`),Pm=A(`/editorial-policy`)({head:()=>Am(Nm,U),component:j(()=>W(()=>import(`./editorial-policy-BW5kmoFu.js`),__vite__mapDeps([52,1])),`component`)}),Fm=Tf(`ethics-policy`),Im=A(`/ethics-policy`)({head:()=>Am(Fm,U),component:j(()=>W(()=>import(`./ethics-policy-ytDRqMgU.js`),__vite__mapDeps([53,1])),`component`)}),Lm=A(`/import-status`)({head:()=>({meta:[{title:`Archive Import Status | iGaming News`},{name:`description`,content:`Live progress dashboard for the iGaming News archive import: articles imported, worker count and estimated time remaining.`},{property:`og:title`,content:`Archive Import Status | iGaming News`},{property:`og:description`,content:`Live progress of the iGaming News archive migration.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`},{name:`robots`,content:`noindex`}]}),component:j(()=>W(()=>import(`./import-status-p05vaU6J.js`),__vite__mapDeps([54,1,3,2,4,5])),`component`),errorComponent:j(()=>W(()=>import(`./import-status-Bf4H3AOc.js`),__vite__mapDeps([55,1])),`errorComponent`),notFoundComponent:j(()=>W(()=>import(`./import-status-DIWKmQUp.js`),__vite__mapDeps([56,1])),`notFoundComponent`)}),Rm=A(`/join`)({head:()=>({meta:[{title:`Member sign in & registration — iGaming.News`},{name:`description`,content:`Create a free iGaming.News member account to publish articles, list your company, buy ad space and post jobs.`},{property:`og:title`,content:`Join iGaming.News`},{property:`og:description`,content:`Free membership for iGaming operators, suppliers, affiliates and recruiters.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`},{property:`og:url`,content:U(`/join`)}],links:[{rel:`canonical`,href:U(`/join`)}]}),component:j(()=>W(()=>import(`./join-D5fDFp5R.js`),__vite__mapDeps([57,1,2,6,7,8,9,10])),`component`)}),zm=l({method:`GET`}).handler(s(`b41213180ac702725bbb077f53bd6478ae881dec0a574984f7d772803e73015c`)),Bm=l({method:`GET`}).middleware([je]).handler(s(`a59285f651bfed20be110bd287009af34c7d0d1b6688b12733be915d62674c01`)),Vm=l({method:`POST`}).middleware([je]).handler(s(`f06fdf6d1ea6f6344e4add49ffc15708f717ed0485d7fbfcfd2dd6dbadcd0bfc`)),Hm=l({method:`POST`}).middleware([je]).handler(s(`407ce10db9009b4a0a4b5159dd2d1c7f7dff23ceab11663cfdeb19d85423ac50`)),Um=pu({queryKey:[`public-team`],queryFn:()=>zm()}),Wm=A(`/meet-the-team`)({loader:({context:e})=>e.queryClient.ensureQueryData(Um),head:()=>({meta:[{title:`Meet the Team — iGaming.News`},{name:`description`,content:`Meet the editorial and commercial team behind iGaming.News: Editor and Founder Abigail Welch, Head of Advertising Stephen Welch and Editorial Assistant Roxanne Harding.`},{property:`og:title`,content:`Meet the Team — iGaming.News`},{property:`og:description`,content:`Meet the editorial and commercial team behind iGaming.News, the independent B2B publication covering the global iGaming industry.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`},{property:`og:url`,content:U(`/meet-the-team`)}],links:[{rel:`canonical`,href:U(`/meet-the-team`)}]}),errorComponent:j(()=>W(()=>import(`./meet-the-team-DmHz8OjG.js`),__vite__mapDeps([58,1])),`errorComponent`),notFoundComponent:j(()=>W(()=>
vendor: 13,388 bytes, line 20
20import(`./meet-the-team-SzKVT2Pe.js`),__vite__mapDeps([59,1])),`notFoundComponent`),component:j(()=>W(()=>import(`./meet-the-team-dRSWwUVl.js`),__vite__mapDeps([60,1,6,2,7,8,9,10,61,62,63,64,12,15,49,23])),`component`)}),Gm;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(Gm||={});var Km;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(Km||={});var G=Gm.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),qm=e=>{switch(typeof e){case`undefined`:return G.undefined;case`string`:return G.string;case`number`:return Number.isNaN(e)?G.nan:G.number;case`boolean`:return G.boolean;case`function`:return G.function;case`bigint`:return G.bigint;case`symbol`:return G.symbol;case`object`:return Array.isArray(e)?G.array:e===null?G.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?G.promise:typeof Map<`u`&&e instanceof Map?G.map:typeof Set<`u`&&e instanceof Set?G.set:typeof Date<`u`&&e instanceof Date?G.date:G.object;default:return G.unknown}},K=Gm.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),Jm=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Gm.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};Jm.create=e=>new Jm(e);var Ym=(e,t)=>{let n;switch(e.code){case K.invalid_type:n=e.received===G.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case K.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Gm.jsonStringifyReplacer)}`;break;case K.unrecognized_keys:n=`Unrecognized key(s) in object: ${Gm.joinValues(e.keys,`, `)}`;break;case K.invalid_union:n=`Invalid input`;break;case K.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Gm.joinValues(e.options)}`;break;case K.invalid_enum_value:n=`Invalid enum value. Expected ${Gm.joinValues(e.options)}, received '${e.received}'`;break;case K.invalid_arguments:n=`Invalid function arguments`;break;case K.invalid_return_type:n=`Invalid function return type`;break;case K.invalid_date:n=`Invalid date`;break;case K.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Gm.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case K.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case K.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case K.custom:n=`Invalid input`;break;case K.invalid_intersection_types:n=`Intersection results could not be merged`;break;case K.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case K.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,Gm.assertNever(e)}return{message:n}},Xm=Ym;function Zm(){return Xm}var Qm=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function q(e,t){let n=Zm(),r=Qm({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Ym?void 0:Ym].filter(e=>!!e)});e.common.issues.push(r)}var $m=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return J;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return J;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},J=Object.freeze({status:`aborted`}),eh=e=>({status:`dirty`,value:e}),th=e=>({status:`valid`,value:e}),nh=e=>e.status===`aborted`,rh=e=>e.status===`dirty`,ih=e=>e.status===`valid`,ah=e=>typeof Promise<`u`&&e instanceof Promise,Y;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(Y||={});var oh=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},sh=(e,t)=>{if(ih(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new Jm(e.common.issues);return this._error=t,this._error}}};function X(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var ch=class{get description(){return this._def.description}_getType(e){return qm(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:qm(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new $m,ctx:{common:e.parent.common,data:e.data,parsedType:qm(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(ah(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:qm(e)};return sh(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:qm(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return ih(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>ih(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:qm(e)},r=this._parse({data:e,path:n.path,parent:n});return sh(n,await(ah(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:K.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new dg({schema:this,typeName:Z.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return fg.create(this,this._def)}nullable(){return pg.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Kh.create(this)}promise(){return ug.create(this,this._def)}or(e){return Yh.create([this,e],this._def)}and(e){return $h.create(this,e,this._def)}transform(e){return new dg({...X(this._def),schema:this,typeName:Z.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new mg({...X(this._def),innerType:this,defaultValue:t,typeName:Z.ZodDefault})}brand(){return new _g({typeName:Z.ZodBranded,type:this,...X(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new hg({...X(this._def),innerType:this,catchValue:t,typeName:Z.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return vg.create(this,e)}readonly(){return yg.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},lh=/^c[^\s-]{8,}
vendor: 39,275 bytes, line 20
20$/i,uh=/^[0-9a-z]+$/,dh=/^[0-9A-HJKMNP-TV-Z]{26}$/i,fh=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,ph=/^[a-z0-9_-]{21}$/i,mh=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,hh=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,gh=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_h=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,vh,yh=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,bh=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,xh=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Sh=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ch=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,wh=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Th=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`,Eh=RegExp(`^${Th}$`);function Dh(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Oh(e){return RegExp(`^${Dh(e)}$`)}function kh(e){let t=`${Th}T${Dh(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function Ah(e,t){return!!((t===`v4`||!t)&&yh.test(e)||(t===`v6`||!t)&&xh.test(e))}function jh(e,t){if(!mh.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function Mh(e,t){return!!((t===`v4`||!t)&&bh.test(e)||(t===`v6`||!t)&&Sh.test(e))}var Nh=class e extends ch{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==G.string){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.string,received:t.parsedType}),J}let t=new $m,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),q(n,{code:K.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),q(n,{code:K.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?q(n,{code:K.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&q(n,{code:K.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)gh.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`email`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)vh||=new RegExp(_h,`u`),vh.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`emoji`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)fh.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`uuid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)ph.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`nanoid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)lh.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`cuid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)uh.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`cuid2`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)dh.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`ulid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),q(n,{validation:`url`,code:K.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`regex`,code:K.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?kh(r).test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?Eh.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?Oh(r).test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?hh.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`duration`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?Ah(e.data,r.version)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`ip`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?jh(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`jwt`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?Mh(e.data,r.version)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`cidr`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Ch.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`base64`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?wh.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`base64url`,code:K.invalid_string,message:r.message}),t.dirty()):Gm.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:K.invalid_string,...Y.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...Y.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...Y.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...Y.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...Y.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...Y.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...Y.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...Y.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...Y.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...Y.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...Y.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...Y.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...Y.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...Y.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...Y.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...Y.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...Y.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...Y.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...Y.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...Y.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...Y.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...Y.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...Y.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...Y.errToObj(t)})}nonempty(e){return this.min(1,Y.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};Nh.create=e=>new Nh({checks:[],typeName:Z.ZodString,coerce:e?.coerce??!1,...X(e)});function Ph(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var Fh=class e extends ch{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==G.number){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.number,received:t.parsedType}),J}let t,n=new $m;for(let r of this._def.checks)r.kind===`int`?Gm.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),q(t,{code:K.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?Ph(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),q(t,{code:K.not_finite,message:r.message}),n.dirty()):Gm.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,Y.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,Y.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,Y.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,Y.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Y.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:Y.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:Y.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:Y.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:Y.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:Y.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:Y.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:Y.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:Y.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:Y.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&Gm.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};Fh.create=e=>new Fh({checks:[],typeName:Z.ZodNumber,coerce:e?.coerce||!1,...X(e)});var Ih=class e extends ch{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==G.bigint)return this._getInvalidInput(e);let t,n=new $m;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):Gm.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.bigint,received:t.parsedType}),J}gte(e,t){return this.setLimit(`min`,e,!0,Y.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,Y.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,Y.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,Y.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Y.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:Y.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:Y.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:Y.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:Y.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:Y.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};Ih.create=e=>new Ih({checks:[],typeName:Z.ZodBigInt,coerce:e?.coerce??!1,...X(e)});var Lh=class extends ch{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==G.boolean){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.boolean,received:t.parsedType}),J}return th(e.data)}};Lh.create=e=>new Lh({typeName:Z.ZodBoolean,coerce:e?.coerce||!1,...X(e)});var Rh=class e extends ch{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==G.date){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.date,received:t.parsedType}),J}if(Number.isNaN(e.data.getTime()))return q(this._getOrReturnCtx(e),{code:K.invalid_date}),J;let t=new $m,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),q(n,{code:K.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),q(n,{code:K.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):Gm.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:Y.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:Y.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};Rh.create=e=>new Rh({checks:[],coerce:e?.coerce||!1,typeName:Z.ZodDate,...X(e)});var zh=class extends ch{_parse(e){if(this._getType(e)!==G.symbol){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.symbol,received:t.parsedType}),J}return th(e.data)}};zh.create=e=>new zh({typeName:Z.ZodSymbol,...X(e)});var Bh=class extends ch{_parse(e){if(this._getType(e)!==G.undefined){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.undefined,received:t.parsedType}),J}return th(e.data)}};Bh.create=e=>new Bh({typeName:Z.ZodUndefined,...X(e)});var Vh=class extends ch{_parse(e){if(this._getType(e)!==G.null){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.null,received:t.parsedType}),J}return th(e.data)}};Vh.create=e=>new Vh({typeName:Z.ZodNull,...X(e)});var Hh=class extends ch{constructor(){super(...arguments),this._any=!0}_parse(e){return th(e.data)}};Hh.create=e=>new Hh({typeName:Z.ZodAny,...X(e)});var Uh=class extends ch{constructor(){super(...arguments),this._unknown=!0}_parse(e){return th(e.data)}};Uh.create=e=>new Uh({typeName:Z.ZodUnknown,...X(e)});var Wh=class extends ch{_parse(e){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.never,received:t.parsedType}),J}};Wh.create=e=>new Wh({typeName:Z.ZodNever,...X(e)});var Gh=class extends ch{_parse(e){if(this._getType(e)!==G.undefined){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.void,received:t.parsedType}),J}return th(e.data)}};Gh.create=e=>new Gh({typeName:Z.ZodVoid,...X(e)});var Kh=class e extends ch{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==G.array)return q(t,{code:K.invalid_type,expected:G.array,received:t.parsedType}),J;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(q(t,{code:e?K.too_big:K.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(q(t,{code:K.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(q(t,{code:K.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new oh(t,e,t.path,n)))).then(e=>$m.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new oh(t,e,t.path,n)));return $m.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:Y.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:Y.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:Y.toString(n)}})}nonempty(e){return this.min(1,e)}};Kh.create=(e,t)=>new Kh({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Z.ZodArray,...X(t)});function qh(e){if(e instanceof Jh){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=fg.create(qh(r))}return new Jh({...e._def,shape:()=>t})}else if(e instanceof Kh)return new Kh({...e._def,type:qh(e.element)});else if(e instanceof fg)return fg.create(qh(e.unwrap()));else if(e instanceof pg)return pg.create(qh(e.unwrap()));else if(e instanceof eg)return eg.create(e.items.map(e=>qh(e)));else return e}var Jh=class e extends ch{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=Gm.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==G.object){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.object,received:t.parsedType}),J}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Wh&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new oh(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof Wh){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(q(n,{code:K.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new oh(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>$m.mergeObjectSync(t,e)):$m.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return Y.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:Y.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Z.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of Gm.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of Gm.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return qh(this)}partial(t){let n={};for(let e of Gm.objectKeys(this.shape)){let r=this.shape[e];t&&!t[e]?n[e]=r:n[e]=r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of Gm.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof fg;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return sg(Gm.objectKeys(this.shape))}};Jh.create=(e,t)=>new Jh({shape:()=>e,unknownKeys:`strip`,catchall:Wh.create(),typeName:Z.ZodObject,...X(t)}),Jh.strictCreate=(e,t)=>new Jh({shape:()=>e,unknownKeys:`strict`,catchall:Wh.create(),typeName:Z.ZodObject,...X(t)}),Jh.lazycreate=(e,t)=>new Jh({shape:e,unknownKeys:`strip`,catchall:Wh.create(),typeName:Z.ZodObject,...X(t)});var Yh=class extends ch{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new Jm(e.ctx.common.issues));return q(t,{code:K.invalid_union,unionErrors:n}),J}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new Jm(e));return q(t,{code:K.invalid_union,unionErrors:i}),J}}get options(){return this._def.options}};Yh.create=(e,t)=>new Yh({options:e,typeName:Z.ZodUnion,...X(t)});var Xh=e=>e instanceof ag?Xh(e.schema):e instanceof dg?Xh(e.innerType()):e instanceof og?[e.value]:e instanceof cg?e.options:e instanceof lg?Gm.objectValues(e.enum):e instanceof mg?Xh(e._def.innerType):e instanceof Bh?[void 0]:e instanceof Vh?[null]:e instanceof fg?[void 0,...Xh(e.unwrap())]:e instanceof pg?[null,...Xh(e.unwrap())]:e instanceof _g||e instanceof yg?Xh(e.unwrap()):e instanceof hg?Xh(e._def.innerType):[],Zh=class e extends ch{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==G.object)return q(t,{code:K.invalid_type,expected:G.object,received:t.parsedType}),J;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(q(t,{code:K.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),J)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=Xh(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:Z.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...X(r)})}};function Qh(e,t){let n=qm(e),r=qm(t);if(e===t)return{valid:!0,data:e};if(n===G.object&&r===G.object){let n=Gm.objectKeys(t),r=Gm.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Qh(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===G.array&&r===G.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Qh(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}else if(n===G.date&&r===G.date&&+e==+t)return{valid:!0,data:e};else return{valid:!1}}var $h=class extends ch{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(nh(e)||nh(r))return J;let i=Qh(e.value,r.value);return i.valid?((rh(e)||rh(r))&&t.dirty(),{status:t.value,value:i.data}):(q(n,{code:K.invalid_intersection_types}),J)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};$h.create=(e,t,n)=>new $h({left:e,right:t,typeName:Z.ZodIntersection,...X(n)});var eg=class e extends ch{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==G.array)return q(n,{code:K.invalid_type,expected:G.array,received:n.parsedType}),J;if(n.data.length<this._def.items.length)return q(n,{code:K.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),J;!this._def.rest&&n.data.length>this._def.items.length&&(q(n,{code:K.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new oh(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>$m.mergeArray(t,e)):$m.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};eg.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new eg({items:e,typeName:Z.ZodTuple,rest:null,...X(t)})};var tg=class e extends ch{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==G.object)return q(n,{code:K.invalid_type,expected:G.object,received:n.parsedType}),J;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new oh(n,e,n.path,e)),value:a._parse(new oh(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?$m.mergeObjectAsync(t,r):$m.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof ch?new e({keyType:t,valueType:n,typeName:Z.ZodRecord,...X(r)}):new e({keyType:Nh.create(),valueType:t,typeName:Z.ZodRecord,...X(n)})}},ng=class extends ch{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==G.map)return q(n,{code:K.invalid_type,expected:G.map,received:n.parsedType}),J;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new oh(n,e,n.path,[a,`key`])),value:i._parse(new oh(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return J;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}else{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return J;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};ng.create=(e,t,n)=>new ng({valueType:t,keyType:e,typeName:Z.ZodMap,...X(n)});var rg=class e extends ch{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==G.set)return q(n,{code:K.invalid_type,expected:G.set,received:n.parsedType}),J;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(q(n,{code:K.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(q(n,{code:K.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return J;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new oh(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:Y.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:Y.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};rg.create=(e,t)=>new rg({valueType:e,minSize:null,maxSize:null,typeName:Z.ZodSet,...X(t)});var ig=class e extends ch{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==G.function)return q(t,{code:K.invalid_type,expected:G.function,received:t.parsedType}),J;function n(e,n){return Qm({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Zm(),Ym].filter(e=>!!e),issueData:{code:K.invalid_arguments,argumentsError:n}})}function r(e,n){return Qm({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Zm(),Ym].filter(e=>!!e),issueData:{code:K.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof ug){let e=this;return th(async function(...t){let o=new Jm([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}else{let e=this;return th(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new Jm([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new Jm([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:eg.create(t).rest(Uh.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||eg.create([]).rest(Uh.create()),returns:n||Uh.create(),typeName:Z.ZodFunction,...X(r)})}},ag=class extends ch{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};ag.create=(e,t)=>new ag({getter:e,typeName:Z.ZodLazy,...X(t)});var og=class extends ch{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return q(t,{received:t.data,code:K.invalid_literal,expected:this._def.value}),J}return{status:`valid`,value:e.data}}get value(){return this._def.value}};og.create=(e,t)=>new og({value:e,typeName:Z.ZodLiteral,...X(t)});function sg(e,t){return new cg({values:e,typeName:Z.ZodEnum,...X(t)})}var cg=class e extends ch{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return q(t,{expected:Gm.joinValues(n),received:t.parsedType,code:K.invalid_type}),J}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return q(t,{received:t.data,code:K.invalid_enum_value,options:n}),J}return th(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};cg.create=sg;var lg=class extends ch{_parse(e){let t=Gm.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==G.string&&n.parsedType!==G.number){let e=Gm.objectValues(t);return q(n,{expected:Gm.joinValues(e),received:n.parsedType,code:K.invalid_type}),J}if(this._cache||=new Set(Gm.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=Gm.objectValues(t);return q(n,{received:n.data,code:K.invalid_enum_value,options:e}),J}return th(e.data)}get enum(){return this._def.values}};lg.create=(e,t)=>new lg({values:e,typeName:Z.ZodNativeEnum,...X(t)});var ug=class extends ch{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==G.promise&&t.common.async===!1?(q(t,{code:K.invalid_type,expected:G.promise,received:t.parsedType}),J):th((t.parsedType===G.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};ug.create=(e,t)=>new ug({type:e,typeName:Z.ZodPromise,...X(t)});var dg=class extends ch{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Z.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{q(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return J;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?J:r.status===`dirty`||t.value===`dirty`?eh(r.value):r});{if(t.value===`aborted`)return J;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?J:r.status===`dirty`||t.value===`dirty`?eh(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?J:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?J:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`)if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!ih(e))return J;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>ih(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):J);Gm.assertNever(r)}};
vendor: 4,384 bytes, line 20
20dg.create=(e,t,n)=>new dg({schema:e,typeName:Z.ZodEffects,effect:t,...X(n)}),dg.createWithPreprocess=(e,t,n)=>new dg({schema:t,effect:{type:`preprocess`,transform:e},typeName:Z.ZodEffects,...X(n)});var fg=class extends ch{_parse(e){return this._getType(e)===G.undefined?th(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};fg.create=(e,t)=>new fg({innerType:e,typeName:Z.ZodOptional,...X(t)});var pg=class extends ch{_parse(e){return this._getType(e)===G.null?th(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};pg.create=(e,t)=>new pg({innerType:e,typeName:Z.ZodNullable,...X(t)});var mg=class extends ch{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===G.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};mg.create=(e,t)=>new mg({innerType:e,typeName:Z.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...X(t)});var hg=class extends ch{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ah(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new Jm(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new Jm(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};hg.create=(e,t)=>new hg({innerType:e,typeName:Z.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...X(t)});var gg=class extends ch{_parse(e){if(this._getType(e)!==G.nan){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.nan,received:t.parsedType}),J}return{status:`valid`,value:e.data}}};gg.create=e=>new gg({typeName:Z.ZodNaN,...X(e)});var _g=class extends ch{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},vg=class e extends ch{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?J:e.status===`dirty`?(t.dirty(),eh(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?J:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:Z.ZodPipeline})}},yg=class extends ch{_parse(e){let t=this._def.innerType._parse(e),n=e=>(ih(e)&&(e.value=Object.freeze(e.value)),e);return ah(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};yg.create=(e,t)=>new yg({innerType:e,typeName:Z.ZodReadonly,...X(t)}),Jh.lazycreate;var Z;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(Z||={});var bg=Nh.create,xg=Fh.create;gg.create,Ih.create,Lh.create,Rh.create,zh.create,Bh.create,Vh.create,Hh.create,Uh.create,Wh.create,Gh.create,Kh.create;var Sg=Jh.create;Jh.strictCreate,Yh.create,Zh.create,$h.create,eg.create,tg.create,ng.create,rg.create,ig.create,ag.create,og.create,cg.create,lg.create,ug.create,dg.create,fg.create,pg.create,dg.createWithPreprocess,vg.create;var Cg=e=>{let t=`input`in e?e.input:`input`,n=`output`in e?e.output:`output`,r=`schema`in e?e.schema._input
20:e._input,i=`schema`in e?e.schema._output:e._output;return{types:{input:t===`output`?i:r,output:n===`input`?r:i},parse:t=>`schema`in e?e.schema.parse(t):e.parse(t)}},wg=()=>W(()=>import(`./news-feed-DUv8X7J7.js`),__vite__mapDeps([65,1,2,6,7,8,9,10,23,29])),Tg=Sg({page:xg().min(1).catch(1),q:bg().catch(``)}),Eg=A(`/news-feed`)({validateSearch:Cg(Tg),head:()=>({meta:[{title:`News Feed — iGaming.News`},{name:`description`,content:`Every article published on iGaming.News, listed newest first. Browse the complete chronological feed of industry news.`},{property:`og:title`,content:`News Feed — iGaming.News`},{property:`og:description`,content:`Every article published on iGaming.News, listed newest first. Browse the complete chronological feed of industry news.`},{property:`og:url`,content:U(`/news-feed`)}],links:[{rel:`canonical`,href:U(`/news-feed`)}]}),loaderDeps:({search:{page:e,q:t}})=>({page:e,q:t}),loader:async({deps:{page:e,q:t}})=>await Kp({data:{limit:200,offset:(e-1)*200,q:t}}),component:j(wg,`component`)}),Dg=Tf(`ownership-funding-policy`),Og=A(`/ownership-disclosure`)({head:()=>Am(Dg,U),component:j(()=>W(()=>import(`./ownership-disclosure-BnNJB1Ah.js`),__vite__mapDeps([66,1])),`component`)}),kg=`Every senior hire, promotion and boardroom move across the iGaming industry — tracked daily by the iGaming.News newsdesk.`,Ag=()=>W(()=>import(`./people-DL0fkyHO.js`),__vite__mapDeps([67,1,6,2,7,8,9,10,23,26,27,28,29])),jg=`People & Appointments — iGaming.News`,Mg=A(`/people`)({loader:async()=>{let[e,t]=await Promise.all([Zp({data:{limit:80}}),Gp({data:{limit:5}})]);return{articles:e,mostRead:t}},head:()=>{let e=U(`/people`);return{meta:[{title:jg},{name:`description`,content:kg},{property:`og:title`,content:jg},{property:`og:description`,content:kg},{property:`og:type`,content:`website`},{property:`og:url`,content:e},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:e}]}},component:j(Ag,`component`)}),Ng=A(`/podcasts`)({loader:async()=>({episodes:await tm({data:{limit:120,podcastsOnly:!0}})}),head:()=>{let e=U(`/podcasts`),t=`iGaming News Podcast — every episode | iGaming.News`,n=`Every episode of the iGaming News Podcast: long-form interviews with operators, suppliers, affiliates and gambling lawyers across regulated markets.`;return{meta:[{title:t},{name:`description`,content:n},{property:`og:title`,content:t},{property:`og:description`,content:n},{property:`og:type`,content:`website`},{property:`og:url`,content:e},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:e}]}},component:j(()=>W(()=>import(`./podcasts-Co8SXGSC.js`),__vite__mapDeps([68,1,6,2,7,8,9,10,14,12,16,17,23,26,27,28,29])),`component`),errorComponent:j(()=>W(()=>import(`./podcasts-axij4X06.js`),__vite__mapDeps([69,1])),`errorComponent`),notFoundComponent:j(()=>W(()=>import(`./podcasts-jvrbxB80.js`),__vite__mapDeps([70,1])),`notFoundComponent`)}),Pg=Tf(`sponsored-content-policy`),Fg=A(`/sponsored-content-policy`)({head:()=>Am(Pg,U),component:j(()=>W(()=>import(`./sponsored-content-policy-28syO1MX.js`),__vite__mapDeps([71,1])),`component`)}),Ig=()=>W(()=>import(`./subscribe-2trbBrEz.js`),__vite__mapDeps([72,1,2,7,12,32,21,14,15,40,73,44,74,41,31,11,4,10,33,34,3,5,35
20])),Lg=`Subscribe to the iGaming.News briefing`,Rg=`Join operators, suppliers and affiliates who get the iGaming.News weekly briefing — regulation shifts, launches, deals and exclusive interviews.`,zg=A(`/subscribe`)({head:()=>({meta:[{title:Lg},{name:`description`,content:Rg},{property:`og:title`,content:Lg},{property:`og:description`,content:Rg},{property:`og:type`,content:`website`},{property:`og:url`,content:U(`/subscribe`)},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:U(`/subscribe`)}]}),component:j(Ig,`component`)}),Bg=A(`/top-reads`)({head:()=>{let e=`Top Reads — iGaming.News`,t=`The most-read iGaming industry stories right now. Casino, sports betting, regulation, tech and affiliate news that the industry is talking about.`,n=U(`/top-reads`);return{meta:[{title:e},{name:`description`,content:t},{property:`og:title`,content:e},{property:`og:description`,content:t},{property:`og:url`,content:n},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:n}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`CollectionPage`,name:`Top Reads`,description:t,url:n,isPartOf:{"@type":`WebSite`,name:`iGaming.News`,url:U(`/`)}})}]}},loader:async()=>{let e=(e,t)=>e.catch(()=>t),[t,n]=await Promise.all([e(Gp({data:{limit:21}}),[]),e(Vp(),[])]);return{mostRead:t,latest:n}},component:j(()=>W(()=>import(`./top-reads-BPonxZ-I.js`),__vite__mapDeps([75,1,6,2,7,8,9,10,21,12,74,23,26,27,28,29])),`component`)}),Vg=A(`/_authenticated/members`)({head:()=>({meta:[{title:`Member area — iGaming.News`},{name:`description`,content:`Your iGaming.News member area.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Member area — iGaming.News`},{property:`og:description`,content:`Your iGaming.News member area.`}]}),component:j(()=>W(()=>import(`./members-qY1suTYE.js`),__vite__mapDeps([76,1,6,2,7,8,9,10,63,77,12])),`component`)}),Hg=A(`/admin/`)({head:()=>({meta:[{title:`Article desk — iGaming.News publisher`},{name:`description`,content:`Search, edit and publish iGaming.News articles from the editorial desk.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Article desk — iGaming.News publisher`},{property:`og:description`,content:`Search, edit and publish iGaming.News articles.`}]}),component:j(()=>W(()=>import(`./admin.index-DbA9ekqJ.js`),__vite__mapDeps([78,1,2,6,7,8,9,10])),`component`)}),Ug=A(`/admin/$id`)({head:()=>({meta:[{title:`Edit article — iGaming.News publisher`},{name:`description`,content:`Edit an iGaming.News article, its media, quotes and keyword tags.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Edit article — iGaming.News publisher`},{property:`og:description`,content:`Edit an iGaming.News article.`}]}),component:j(()=>W(()=>import(`./admin._id-C0SiF3do.js`),__vite__mapDeps([79,1,6,2,7,8,9,10,11,4,80,27,81,82,83])),`component`)}),Wg=A(`/admin/ads`)({head:()=>({meta:[{title:`Advert manager — iGaming.News publisher`},{name:`description`,content:`Schedule and target banner campaigns across iGaming.News.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Advert manager — iGaming.News publisher`},{property:`og:description`,content:`Schedule and target banner campaigns across iGaming.News.`}]}),component:j(()=>W(()=>import(`./admin.ads-DaeMdWKe.js`),__vite__mapDeps([84,1,2,11,4,10,85,62,63,83,28])),`component`)}),Gg=A(`/admin/allstreams`)({component:j(()=>W(()=>import(`./admin.allstreams-BDLZRml6.js`),__vite__mapDeps([86,1,2,85,62,63,45])),`component`)}),Kg=A(`/admin/messages`)({beforeLoad:async()=>{if(!(await cm().catch(()=>null))?.canReadMessages)throw be({to:`/admin`})},head:()=>({meta:[{title:`Contact messages — iGaming.News publisher`},{name:`description`,content:`Read and action enquiries sent through the iGaming.News contact form.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Contact messages — iGaming.News publisher`},{property:`og:description`,content:`Read and action enquiries sent through the iGaming.News contact form.`}]}
20),component:j(()=>W(()=>import(`./admin.messages-BqjOD0j4.js`),__vite__mapDeps([87,1,2,3,4,5,11,10,35,85,62,63,12,20,32,15])),`component`)}),qg=A(`/admin/new`)({head:()=>({meta:[{title:`New article — iGaming.News publisher`},{name:`description`,content:`Compose a new iGaming.News article with video, quotes and keyword tags.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`New article — iGaming.News publisher`},{property:`og:description`,content:`Compose a new iGaming.News article.`}]}),component:j(()=>W(()=>import(`./admin.new-CTEr6cfL.js`),__vite__mapDeps([88,1,81,2,7,9,11,4,10,80,27,82,83])),`component`)}),Jg=A(`/admin/subscribers`)({head:()=>({meta:[{title:`Newsletter subscribers — iGaming.News publisher`},{name:`description`,content:`Review and manage iGaming.News newsletter subscribers.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Newsletter subscribers — iGaming.News publisher`},{property:`og:description`,content:`Review and manage iGaming.News newsletter subscribers.`}]}),component:j(()=>W(()=>import(`./admin.subscribers-xjxjT32p.js`),__vite__mapDeps([89,1,2,11,4,10,85,62,63,34,3,5,35])),`component`)}),Yg=A(`/admin/takeovers`)({head:()=>({meta:[{title:`Takeover ads — iGaming.News publisher`},{name:`description`,content:`Upload and schedule full-page takeover campaigns for iGaming.News pages.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Takeover ads — iGaming.News publisher`},{property:`og:description`,content:`Upload and schedule full-page takeover campaigns for iGaming.News pages.`}]}),component:j(()=>W(()=>import(`./admin.takeovers-BT3bnv5q.js`),__vite__mapDeps([90,1,2,11,4,10,85,62,63,83])),`component`)}),Xg=A(`/admin/team`)({head:()=>({meta:[{title:`Authors & editors — iGaming.News publisher`},{name:`description`,content:`Manage the iGaming.News editorial team: authors, editors and commercial staff.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Authors & editors — iGaming.News publisher`},{property:`og:description`,content:`Manage the iGaming.News editorial team.`}]}),component:j(()=>W(()=>import(`./admin.team-NQQu32TR.js`),__vite__mapDeps([91,1,2,11,4,10,85,62,63])),`component`)}),Zg=A(`/affiliate-programs/`)({head:()=>({meta:[{title:`Gambling Affiliate Programs Directory — Commission Rates | iGaming.News`},{name:`description`,content:`Browse 50 gambling affiliate programs: revenue share and CPA rates, promotable brands, verticals, sign-up links and affiliate manager contacts.`},{property:`og:title`,content:`Gambling Affiliate Programs Directory — iGaming.News`},{property:`og:description`,content:`Affiliate programme profiles with commission models, promotable brands, verticals and contacts across sportsbook, casino, poker and bingo.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`},{property:`og:url`,content:U(`/affiliate-programs`)}],links:[{rel:`canonical`,href:U(`/affiliate-programs`)}]}),component:j(()=>W(()=>import(`./affiliate-programs.index-CaAEC53u.js`),__vite__mapDeps([92,1,2,6,7,8,9,10,43,12,93,23,26,27,28])),`component`)}),Qg=[{slug:`10bet`,name:`10bet Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://affiliates.10bet.com`,logo:`/affiliates/logos/10bet-paartners.webp`,about:`10bet Affiliates offers a lucrative partnership for those in the online gaming industry, combining competitive commission structures with tailored support. As a 10bet affiliate, you'll benefit from a robust program designed to convert traffic into loyal customers, thanks to 10bet's comprehensive sportsbook, casino offerings, and high conversion rates. The program provides flexible commission models, including revenue share, CPA, and hybrid options, allowing affiliates to maximise earnings. With a dedicated affiliate management team, 10bet ensures that all partners receive personalised assistance and effective promotional tools.`,commissions:[{model:`CPA`,terms:`From £10`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–35%`},{model:`Hybrid`,terms:`On request`}],brands:[`10bet`],email:`[email protected]`,skype:``},{slug:`7bet`,name:`7Bet Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/7bet-partners.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`888`,name:`888 Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://affiliates.888.com`,logo:`/affiliates/logos/888-partners.webp`,about:`888 Affiliates is a leading partnership program that offers affiliates the opportunity to promote globally recognised brands like 888casino, 888poker, and 888sport. With high conversion rates, reliable payments, and a strong presence in regulated markets, 888 Aff
20iliates provides a competitive edge for partners. The program features tailored commission plans, a wide range of marketing materials, and dedicated account managers to support affiliates in maximising their earnings. Whether you're a blogger, content creator, or large network, 888 Affiliates offers a personalised approach to help you succeed.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`ak-bets`,name:`AK Bets Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/ak-bets-partners.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[`AK Bets`],email:``,skype:``},{slug:`betmgm`,name:`BETMGM Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/betmgm-partners.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`bet-victor`,name:`Bet Victor Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.betvictor.com/lp/affiliates`,logo:`/affiliates/logos/bet-victor-partners.webp`,about:`BetVictor Affiliates offers a robust partnership program for those looking to capitalise on one of the industry's most innovative and trusted brands. As a BetVictor affiliate, you'll earn a standard 30% commission on net revenue generated by your referred players, with options for hybrid, CPA, and tiered revenue share deals tailored to your needs. The program is entirely free and supported by a dedicated affiliate management team ready to assist with site promotion, compliance, and maximising your earnings through personalised deals.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`Up to 30%`},{model:`Hybrid`,terms:`On request`}],brands:[`BetVictor`],email:``,skype:``},{slug:`bet365`,name:`Bet365 Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.bet365partners.com/en`,logo:`/affiliates/logos/bet365-partners.png`,about:`Bet365 Partners is a comprehensive affiliate program that offers a unique opportunity to promote one of the world's most successful online betting brands. As a partner, you’ll gain access to a robust selection of marketing tools, including banners, landing pages, and tracking links tailored to various markets. The program features competitive commission structures, with options for revenue share, CPA, or hybrid deals, ensuring flexibility to suit different business models. Affiliates are supported by a dedicated management team, providing personalised assistance and detailed reporting tools to optimise performance and maximise earnings.
21
22Bet365 Partners also stands out for its extensive market coverage, offering promotions across a wide range of sports, casino games, poker, and bingo, allowing affiliates to reach diverse audiences. The program’s commitment to transparency and timely payments further enhances its appeal, ensuring that affiliates can trust in consistent, reliable earnings. With Bet365’s strong brand reputation and high conversion rates, joining this affiliate program presents a significant opportunity for sustained growth and profitability in the competitive online gaming industry.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`Up to 30%`},{model:`Hybrid`,terms:`On request`}],brands:[`bet365`],email:``,skype:``},{slug:`betdaq`,name:`Betdaq-Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://affiliate.betdaq.com`,logo:`/affiliates/logos/betdaq-partners.webp`,about:`Betdaq Affiliates offers a comprehensive affiliate program designed to leverage the strengths of one of the leading betting exchanges in the market. Affiliates benefit from a competitive commission structure that includes revenue share, CPA, and hybrid models, allowing for flexibility based on individual goals. The program provides an array of marketing materials, including banners and tracking links, to drive traffic and increase conversions. With detailed analytics, timely payments, and dedicated affiliate support, Betdaq ensures a seamless and profitable experience for its partners. Affiliates also benefit from Betdaq’s strong brand presence and commitment to innovation in the betting industry.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–35%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`betfair`,name:`Betfair Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://partnerships.betfair.com`,logo:`/affiliates/logos/betfair-partners.webp`,about:`Betfair Affiliates offers a comprehensive affiliate program for those looking to promote one of the world’s leading betting exchanges. Affiliates benefit from a competitive commission structure that includes revenue share, CPA, and hybrid deals, providing flexibility tailored to different promotional strategies. The program supports its affiliates with a wide range of marketing tools, including banners, tracking links, and detailed reporting, all designed to optimise performance. Betfair’s strong brand reputation, combined with dedicated account management and timely payments, ensures a profitable and seamless experience for its partners.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`betfred`,name:`Betfred Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://betfredaffiliates.com`,logo:`/affiliates/logos/betfred-
22partners.webp`,about:`Betfred Affiliates offers a robust and well-structured affiliate program, making it an attractive choice for partners aiming to capitalise on the strength of one of the UK's premier betting brands. The program is designed with flexibility in mind, offering a variety of commission structures, including revenue share, CPA, and hybrid deals, allowing affiliates to choose the plan that best suits their business model. Affiliates are supported with a comprehensive suite of marketing tools, such as customisable banners, tracking links, and detailed reporting systems, which provide insights into performance and help optimise campaigns.
23
24What sets Betfred Affiliates apart is the strong support network available to partners. Dedicated account managers are on hand to offer personalised assistance, ensuring affiliates can maximise their earnings. The program also features timely and reliable payments, with no negative carryover, ensuring that affiliates can consistently benefit from their efforts. Betfred's long-standing reputation in the betting industry, combined with its innovative approach to promotions and customer engagement, makes this affiliate program a valuable opportunity for those looking to enhance their income streams.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`big-cat`,name:`Big Cat Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/bigcat-affiliates-partners.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–50%`},{model:`Hybrid`,terms:`£20–£50 + 25%–45%`}],brands:[],email:``,skype:``},{slug:`big-win`,name:`Big Win Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.bigwinaffiliates.com`,logo:`/affiliates/logos/bigwin-partners.webp`,about:`BigWin Affiliates specializes in connecting affiliates with leading iGaming brands, particularly in the online casino, slots, and bingo sectors. Their primary brands include popular online platforms such as Slots of Vegas, Cool Cat Casino, and others, which offer a wide variety of games including slots, table games, and live dealer options.
25
26The program supports affiliates with marketing tools, detailed analytics, and a dedicated account management team, ensuring that partners can effectively promote these brands. They also offer various commission structures, such as revenue share, CPA, and hybrid models, catering to different affiliate needs.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–50%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`bigbetty`,name:`BigBetty Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://bit.ly/BigbettyPartners`,logo:`/affiliates/logos/bigbetty-logo.png`,about:`BigBetty Partners 
27A Leading iGaming Affiliate Platform
28Site: https://bigbetty.io
29Big Betty Partners, a leading affiliate program launched in 2021, has quickly built a trusted reputation and continues to gain momentum — proudly recognized with the Betty Best Newcomer award at iGB L!VE. With a diverse marketing portfolio spanning seven reputable online casinos and sportsbooks, we offer partners multiple avenues to grow. Join us today and be part of our exciting journey!
30
31Flexible and Profitable Partnership Models
32
33
34
35Big Betty Partners offers highly competitive and flexible monetization models, allowing affiliates to choose the most effective strategy:
36
37
38	RevShare – Up to 60%
39	CPA – Up to €600 per player
40	Hybrid – CPA + Lifetime Revenue
41
42
43With coverage in 20+ regions, including a strong presence in Europe, Big Betty Partners provides a reliable and scalable opportunity for affiliates seeking long-term profitability.
44
45Exclusive Offer for New Partners: Big Betty Partners provides an exclusive incentive for new affiliates — a +5% RevShare bonus for three months. To activate this offer, new partners must enter the code “RS5” in the "Address" field during registration or inform their account manager.
46
47Key Benefits for Affiliates
48
49Affiliates partnering with Big Betty Partners gain access to a range of exclusive advantages, including:
50
51
52	Diverse marketing portfolio includes seven reputable online casinos and sportsbooks.
53	Diverse GEO coverage across multiple regions
54	Fast and secure payouts
55	A user-friendly affiliate dashboard for real-time insights
56	Detailed performance statistics
57	Personalized support from a dedicated manager
58	Multiple cooperation models tailored to different strategies
59	No negative balance carryover
60
61
62
63Innovative Approach and Advanced Technologies
64
65Big Betty Partners distinguishes itself through the integration of advanced technology. Aff
65iliates benefit from high-quality promotional materials, custom marketing strategies, and dedicated support from a team of industry professionals. They also gain access to real-time performance tracking, gamification solutions, and optimized marketing tools. This approach ensures high conversion rates, full process transparency, and a seamless experience for partners.
66
67Let’s take a closer look at the specific conditions Big Betty Partners operates with.
68
69What traffic do we accept
70
71
72	SEO & Content Marketing
73	PPC
74	Social Media Campaigns (Facebook)
75	Influence Marketing
76	Email Marketing
77	Media Buying
78
79
80Additional traffic sources can also be considered during an individual discussion with the partner. Contact us to discuss!
81
82Which offers do we provide
83
84	CPA: up to €600
85	RevShare: 25-60%
86	HYBRID: CPA + Lifetime Revenue
87	Sub-Affiliate Commission: from 2.5%
88	Bundling: No
89	Calculation formula NGR = GGR-admin fee-bonuses
90
91
92How can you track the partnership
93
94	Affiliate Software: Affilka, ReferOn
95	Tracking Link: Yes
96	Cookie duration: lifetime
97	Supports API: Yes
98	Postbacks: Yes
99	Stats Update Time: Every 20 minutes of the hour 
100	Stats Update Frequency: 1 hour
101	Manual Report Available: Yes
102	Dynamic Variables: Yes
103
104
105How payments are made
106
107	Payment Methods: Wire Transfer, Crypto payments
108	Currencies: EUR, all cryptocurrencies
109	Withdrawal Limit: 100 EUR
110	Negative Carryover: No
111	Payment Frequency: Monthly (on request)
112	Payment Date: until the 25th
113	Admin Fee: Yes
114	Invoice Details: Yes
115	Invoice Required: Yes
116
117
118How to start a partnership
119
120	Register on the website: Big Betty Partners 
121	After registration, your personal manager will contact you within 24 hours to complete the registration.
122	Congratulations! After this, you will gain access to your personal dashboard, where all the necessary tools for the partnership are available.
123
124
125Look for our booth at major events
126Big Betty Partners actively participates in international iGaming conferences such as SiGMA, SBC Summit, iGB L!ve, and iGB Affiliate. These events provide partners with a unique opportunity to meet the team in person, discuss the terms of cooperation, and receive exclusive branded merchandise.
127
128Stay Connected
129Stay tuned to our social media for real-time expo highlights and behind-the-scenes moments.
130
131
132	LinkedIn |
133	Instagram |
134	Telegram |
135	Facebook |
136	X (Twitter)
137
138
139Partners, listen to me — Big Betty! Don’t waste time. Expand your earning potential starting today. Sign up now!`,commissions:[{model:`CPA`,terms:`Up to £600`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`Up to 60%`},{model:`Hybrid`,terms:`Up to £600 + Up to 60%`}],brands:[],email:`[email protected]`,skype:``},{slug:`boylesports`,name:`BoyleSports Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://affiliates.boylesports.com`,logo:`/affiliates/logos/boylesports-partners.webp`,about:`The Boylesports Affiliate Program is designed for partners looking to promote Boylesports' comprehensive range of betting and gaming products, including sports betting, casino games, poker, bingo, and lottery services. Affiliates can benefit from competitive commission structures, which often include revenue share, CPA, and hybrid models. The program provides advanced tracking tools, a variety of promotional materials, and dedicated support to help affiliates optimize their campaigns. Boylesports is a well-established brand, offering affiliates a trusted and reputable partnership opportunity in the iGaming industry.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`brothers-bet`,name:`Brothers Bet`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://affiliates.brothers.bet`,logo:`/affiliates/logos/brothers-bet-partners.webp`,about:`The Brothers Bet Affiliate Program focuses on promoting their licensed online sports betting and casino platform, primarily targeting the UK market. Affiliates can earn a revenue share of up to 30% of the net revenue generated by referred players, with the benefit of no negative carryover, meaning any losses in a month won't affect future earnings. Additionally, the program offers a CPA (Cost Per Acquisition) model, providing a flat rate per player, and also allows for sub-affiliate commissions. Affiliates are supported with a variety of marketing tools and detailed reporting to maximize their potential earnings.`,commissions:[{model:`CPA`,terms:`From £30`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`Up to 30%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`casumo`,name:`Casumo Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.casumoaffiliates.com`,logo:`/affiliates/logos/casumo-partners.webp`,about:`The Casumo Affiliate Program offers a robust partnership opportunity for promoting the Casumo online casino, known for its innovative gaming experience. Affiliates can earn through a tiered revenue share model, with rates based on player activity. The program is attractive for its no negative carryover policy, which ensures that any losses in a month don't impact future earnings. Casumo Affiliates supports its partners with a comprehensive suite of marketing tools, including banners, links, and other creative assets, as well as real-time tracking and reporting tools.
140
141The program also provides personalized support through dedicated account managers who help affiliates optimize their campaigns. This hands-on approach, combined with the detailed analytics available, allows affiliates to track player behavior and performance metrics in real-time, making it easier to refine marketing strategies.
142
143Casumo's brand reputation, known for its player-friendly design and engaging user experience, adds significant value to affiliates promoting their offerings. This brand appeal, coupled with the program’s flexible commission structures, makes it a popular choice for affiliates in the iGaming industry.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–40%`},{model:`Hybrid`,terms:`On request`}],brands:[`Casumo`],email:`[email protected]`,skype:``},{slug:`chilli`,name:`Chilli Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://chillipartners.com`,logo:`/affiliates/logos/chilli-partners.webp`,about:`The Chilli Partners Affiliate Program offers affiliates the opportunity to promote a variety of online casino brands with flexible commission structures, including up to 50% lifetime revenue share, CPA models, and hybrid options. Affiliates benefit from weekly payments, a no negative carryover policy, and 24/7 support. The program is known for its transparency and efficie
143ncy, providing affiliates with advanced tracking tools, creative marketing materials, and custom funnels to maximize conversions. Chilli Partners also emphasizes direct partnerships and offers exclusive deals tailored to affiliate needs.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`Up to 50%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:`live:.cid.d08eec9f81`},{slug:`dafabet`,name:`Dafabet Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/dafabet-partners.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`entain`,name:`Entain Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.entainpartners.com`,logo:`/affiliates/logos/entain-partners.webp`,about:`Entain Partners is a leading affiliate program representing top-tier brands like Ladbrokes, Coral, and Bwin. The program offers a diverse range of marketing materials, including banners, landing pages, and tracking links, tailored to different regions and audiences. Affiliates can choose from various commission structures, such as revenue share, CPA, and hybrid models, allowing for flexibility in earning potential.
144
145With a focus on responsible gaming, Entain Partners provides detailed performance reports, timely payments, and dedicated account management, ensuring affiliates have the support needed to succeed in a competitive market.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–35%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`excel`,name:`Excel Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.excelaffiliates.com`,logo:`/affiliates/logos/excel-partners.webp`,about:`Excel Affiliates offers a comprehensive affiliate program featuring a portfolio of renowned iGaming brands like Mr. Slot, Winner’s Magic, and Lucky Thrillz. The program provides affiliates with competitive commission structures, including revenue share, CPA, and hybrid deals, ensuring flexibility and maximising earning potential. Affiliates benefit from a wide array of marketing tools, timely payments, and dedicated account management, all designed to enhance performance and profitability. Excel Affiliates also places a strong emphasis on compliance and responsible gaming, making it a reliable partner in the online gaming industry.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`35%–50%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:`excelaffiliates`},{slug:`fafabet`,name:`FafaBet Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`fafabetpartners.com`,logo:`/affiliates/logos/fafabet-partners.webp`,about:`Fafabet Partners offers a robust affiliate program focused on promoting the Fafabet brand, a dynamic platform known for its extensive sportsbook and casino options. The program provides a flexible commission structure, including revenue share, CPA, and hybrid deals, allowing affiliates to choose the model that best suits their business needs. Affiliates benefit from a variety of marketing tools, including high-quality banners, tracking links, and comprehensive reporting systems to monitor performance. Dedicated account managers offer personalised support, ensuring that affiliates can optimise their campaigns effectively.
146
147Fafabet Partners is committed to timely payments and transparency, fostering a reliable partnership environment. The program also emphasises compliance and responsible gaming, aligning with industry standards to ensure ethical promotion. Whether you're an experienced marketer or new to the affiliate space, Fafabet Partners provides the resources and support needed to succeed in the competitive online gaming industry.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–35%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`fitzdares`,name:`Fitzdares Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://members.fitzdares.com/partners/`,logo:`/affiliates/logos/fitzdares-partners.webp`,about:`Fitzdares Partners offers an exclusive affiliate program designed to promote the Fitzdares brand, renowned for its high-end, personalised betting experience. Affiliates benefit from a competitive commission structure, typically based on a revenue share model, with custom deals available to suit specific needs. The program provides access to a variety of premium marketing tools, including bespoke banners, landing pages, and detailed tracking software to monitor and optimise campaign performance.
148
149Affiliates are supported by a dedicated management team, ensuring personalised guid
149ance and assistance to help maximise earnings. Fitzdares’ focus on quality, rather than quantity, means affiliates are partnering with a brand that appeals to a discerning, high-value audience, offering the potential for significant returns.
150
151The program also emphasises transparency and reliability, with timely payments and clear communication being core elements of the partnership. Additionally, Fitzdares Partners adheres to strict compliance and responsible gaming standards, ensuring ethical promotion practices. This affiliate program is ideal for those looking to associate with a premium brand that values exclusivity and exceptional service.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`Up to 30%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`go-game`,name:`Go Game Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.gogamepartners.com`,logo:`/affiliates/logos/go-game-partners-affiliate.webp`,about:`GoGame Partners offers a comprehensive affiliate program designed to promote a portfolio of leading online gaming brands, including top-tier casinos and sportsbooks. Affiliates can choose from a variety of commission structures, such as revenue share, CPA, and hybrid models, providing flexibility to maximise earnings. The program features a wide range of marketing tools, including customised banners, landing pages, and advanced tracking software for detailed performance analysis.
152
153Affiliates benefit from timely payments, with clear and transparent reporting to ensure trust and reliability. A dedicated management team provides personalised support to help affiliates optimise their campaigns and achieve their goals. GoGame Partners also places a strong emphasis on compliance and responsible gaming, ensuring that all promotions adhere to industry standards.
154
155The program is ideal for affiliates seeking to partner with well-established brands in the online gaming industry, offering both lucrative earning potential and professional support.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–40%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`interbet`,name:`Interbet Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://interbetpartners.com`,logo:`/affiliates/logos/interbet-affiliates.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`35%–50%`},{model:`Hybrid`,terms:`On request`}],brands:[`NAGS Bet`,`Interbet`],email:``,skype:`live:leon_7687`},{slug:`jumpman`,name:`Jumpman Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/jumpman-partners.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`kindred`,name:`Kindred Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/kindred-parters.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`kwiff`,name:`Kwiff Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://partners.kwiff.com`,logo:`/affiliates/logos/kwiff-partners.webp`,about:`Kwiff Partners offers an innovative affiliate program designed for those looking to partner with a dynamic and forward-thinking betting platform. With the potential to earn up to 50% commission on aggregated net revenue from both SportsBook and Casino, affiliates benefit from robust support, fast payments, and access to a wide range of marketing materials. Kwiff is distinguished by its "supercharged" betting experience, ensuring players enjoy a unique and engaging platform that stands out in the market.
156
157Affiliates joining Kwiff Partners will experience a seamless and professional partnership. The program is backed by strong conversion rates and excellent player retention, making it an ideal choice for affiliates seeking long-term success. The Kwiff team is committed to supporting its partners with dedicated resources, ensuring that their affiliates can maximise their revenue potential while promoting a truly distinctive gaming brand.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`20%–50%`},{model:`Hybrid`,terms:`On request`}],brands:[`Kwiff`],email:`[email protected]`,skype:``},{slug:`leo-vegas`,name:`Leo Vegas Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.leovegasaffiliates.com`,logo:`/affiliates/logos/leovegas-partners.webp`,about:`LeoVegas stands as a leader in the iGaming industry, offering an affiliate program that caters to those looking for both innovation and stability. As part of MGM Resorts International, the program is geared towards continuous growth, with a focus on launching new brands and expanding into new markets. Affiliates are presented with various revenue models, including Revenue Share, CPA, and CPL structures, allowing for flexible earning opportunities.
158
159The LeoVegas Affiliates program starts with a competitive 25% revenue share, with potential increases based on performance and player activity. Affiliates benefit from a dedicated support team that provides guidance on maximising earnings and navigating the different revenue models. This program offers a solid platform for long-term success, backed by a reputable and globally recognised brand.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–40%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`live`,name:`Live Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.livepartners.co.uk`,logo:`/affiliates/logos/live-partners.webp`,about:`The LivePartners affiliate program is designed for affiliates in the online gaming, poker, and sports betting industries, offering a robust and flexible system to help partners grow their business. With over 10,000 subscribers already benefiting from the program, LivePartners provides affiliates with a clear and fair c
159ommission structure that rewards success, starting from a 10% revenue share and scaling up to 35% depending on the number of first-time depositors each month. The program also offers a variety of personalised tools, such as banners, tracking applications, and email kits, to enhance your marketing efforts.
160
161Affiliates working with LivePartners benefit from a dedicated account manager and access to a technical team that ensures the optimal use of all provided tools. The program also includes a state-of-the-art interface designed to improve SEO performance and user navigation, helping to drive more traffic to your site. In addition, LivePartners emphasises the importance of ongoing communication, providing detailed monthly reports, real-time data analysis, and customised promotions tailored to specific markets and audiences. This comprehensive support makes LivePartners a valuable partner for anyone looking to increase their revenue in the online gaming industry.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`10%–35%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`livescore-bet`,name:`LiveScore Bet Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/livescorebet-partners.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`midnite`,name:`Midnite Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://partners.midnite.com`,logo:`/affiliates/logos/midnite-partners.webp`,about:`The Midnite affiliate program offers partners an opportunity to promote a cutting-edge sports and casino betting platform, renowned for its high conversion and retention rates. Affiliates benefit from competitive, customisable commission plans, supported by a world-class app and website that enhance customer engagement and loyalty. The platform features unique live and in-play betting options, along with monthly and weekly promotions, including a daily scratch card. Affiliates also receive personalised support and reliable monthly payments through various channels, ensuring a seamless and profitable partnership.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`mr-play`,name:`Mr Play Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://mrplaypartners.com`,logo:`/affiliates/logos/mr-play-partners.webp`,about:`MrPlay Partners offers a comprehensive commission structure tailored to suit the diverse needs of its affiliates. The Revenue Share model allows partners to earn a percentage of the net revenue generated by their referred players over their lifetime, ensuring long-term income potential. For those preferring upfront rewards, the CPA (Cost Per Acquisition) option provides a one-time payment for each depositing player, with lucrative rates that vary across different markets.
162
163
164MrPlay Partners is an exclusive affiliate program in the online gaming industry, offering partners access to a portfolio of high-performing casino and sports brands. Affiliates benefit from competitive, tailored commission rates designed to reward their efforts in promoting these trusted and well-regarded brands. The program is supported by a state-of-the-art tracking system, ensuring accurate and timely commission payouts. Additionally, MrPlay Partners provides personalized support through experienced affiliate managers, committed to guiding and assisting partners to achieve their goals and succeed in the online gambling industry.
165
166For affiliates seeking a balanced approach, the Hybrid model combines both Revenue Share and CPA, offering flexibility in earning potential. Additionally, the program includes a Sub-affiliate option, allowing partners to earn 2.5% of the net gaming revenue generated by their sub-affiliates whenever they bring in new players. This layered commission structure is designed to maximise earnings and cater to the specific needs of each affiliate, ensuring a profitable and supportive partnership.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`nags`,name:`Nags Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/nags-partners.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`onyx`,name:`Onyx Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://partners.onyxaffiliates.com`,logo:`/affiliates/logos/onyx-partners.webp`,about:`Onyx Affiliates offers a robust and profitable affiliate program, designed to maximize earnings for partners through a variety of high-performing online casino brands. Affiliates can earn up to 50% lifetime commissions on the net revenue generated by players they refer, with the added benefit of a No Negative Carryover policy, ensuring that each month starts with a clean slate. Additionally, the program provides the opportunity to boost earnings through sub-affiliate commissions, offering a 5% share of the revenue generated by referred affiliates.
167
168The program is flexible, catering to both seasoned professionals and newcomers in the iGaming industry. Affiliates can promote a selection of top-tier casino brands, licensed for the UK and other English-speaking regions, such as Canada and New Zealand. Onyx Affiliates also ensures that partners receive personalized support and access to cutting-edge tracking systems, guaranteeing accurate and timely commission payouts. Whether promoting established brands like Slotty Slots and Ace Online Casino or newer ventures like Avenger Slots, affiliates are well-positioned to achieve long-term success in the competitive online gaming market.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`paddypower`,name:`PaddyPower Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://partnerships.paddypower.com`,logo:`/affiliates/logos/paddypower-partners.webp`,about:`The Paddy Power affiliate program is designed to offer affiliates multiple avenues to earn revenue by promoting a variety of Paddy Power's gaming products, including Bingo, Games, Poker, and Sports. Affiliates can choose from different c
168ommission structures, such as Cost Per Acquisition (CPA), Ad Spend, and Hybrid models, depending on their promotional strategies. The program supports its partners with a wide range of marketing materials, technical support, and permissions to use Paddy Power branding and content, ensuring affiliates have everything they need to successfully drive traffic and conversions.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`parimatch`,name:`Parimatch Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://affiliates.parimatch.co.uk`,logo:`/affiliates/logos/parimatch-partners.webp`,about:`The Parimatch UK affiliate program offers an extensive platform for affiliates looking to promote a top-tier sports betting and gaming brand. Affiliates can choose from flexible commission models, including CPA, Revenue Share, and Hybrid plans, which provide tailored earning opportunities. The program is equipped with advanced marketing tools, such as real-time tracking and detailed reporting, to help affiliates optimize their campaigns and maximize conversions. Additionally, Parimatch UK offers dedicated support and resources to ensure that affiliates can effectively target their audience and grow their revenue streams.
169
170Partners benefit from promoting a reputable brand with a strong presence in the UK market, known for its innovative approach to sports betting and casino games. The program also offers attractive promotions and bonuses that affiliates can leverage to increase player engagement and retention. With a commitment to transparency and affiliate success, Parimatch UK provides a lucrative opportunity for those looking to enter or expand their presence in the iGaming affiliate space.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`Up to 30%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`quinn-bet`,name:`Quinn Bet Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.quinnbetaffiliates.com`,logo:`/affiliates/logos/quinnbet-partners.webp`,about:`The QuinnBet Affiliates program is designed to provide partners with a lucrative opportunity to earn substantial commissions by promoting QuinnBet’s well-regarded sportsbook and casino offerings. Affiliates can choose from a variety of commission structures, including a flexible Revenue Share model that allows for ongoing earnings based on player activity, or a CPA (Cost Per Acquisition) model that offers one-time payments for each new depositing player referred.
171
172One of the standout features of the QuinnBet Affiliates program is its commitment to transparency and partner success. Affiliates are supported with a comprehensive suite of marketing tools, including banners, links, and creatives tailored to different target audiences. Real-time tracking and detailed reporting systems are also provided, enabling affiliates to monitor their performance, adjust their strategies, and maximize their earnings effectively.
173
174In addition to the robust support and resources, QuinnBet Affiliates offers dedicated account managers who are on hand to assist with campaign optimization and answer any queries. This ensures that affiliates, whether seasoned professionals or newcomers, have the guidance they need to succeed.
175
176Furthermore, the QuinnBet brand itself is a strong selling point, known for its extensive range of sports betting options, competitive odds, and diverse casino games, which attract a broad audience. The brand’s reputation for fairness, reliability, and customer satisfaction makes it easier for affiliates to convert their traffic into loyal customers.
177
178Affiliates also benefit from regular promotions and bonuses offered by QuinnBet, which can be used to entice new players and encourage existing players to remain active. With a no negative carryover policy, affiliates can start each month afresh, making the program particularly appealing for those looking to build a steady and growing income stream.
179
180Overall, the QuinnBet Affiliates program is a comprehensive and supportive platform for anyone looking to enter or expand their presence in the iGaming affiliate market, backed by a brand that is trusted and respected in the industry.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`Up to 35%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`rank`,name:`Rank Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.rankaffiliates.com`,logo:`/affiliates/logos/rank-partners.webp`,about:`The Rank Affiliates program is a premier platform for affiliates in the iGaming industry, offering a chance to promote renowned brands like Grosvenor Casinos and Mecca Bingo, both of which have a strong reputation and wide player base. The program provides a range of commission structures to suit different affiliate needs, including Revenue Share, CPA, and Hybrid models, allowing for both long-term earnings and upfront rewards.
181
182Affiliates joining Rank Affiliates benefit from an array of high-quality marketing tools, including banners, links, and creatives that are designed to attract and convert traffic efficie
182ntly. The platform’s sophisticated tracking system ensures that affiliates can monitor their performance in real-time, making it easier to optimize campaigns and maximize earnings.
183
184One of the key advantages of Rank Affiliates is the dedicated support provided to affiliates. Experienced account managers are available to offer personalized assistance, helping affiliates refine their strategies and achieve better results. This support extends to providing insights on market trends and helping affiliates understand which products or promotions are most effective for their audience.
185
186The brands under the Rank Group umbrella are known for their robust offerings in both the casino and bingo sectors. Grosvenor Casinos, for example, is one of the UK’s most trusted casino brands, offering a mix of online and physical gaming experiences. Mecca Bingo, another well-established brand, has a significant presence in the bingo community, both online and offline. Promoting these well-respected brands gives affiliates a competitive edge in attracting and retaining players.
187
188Additionally, the Rank Affiliates program operates with a commitment to transparency and fairness. Affiliates benefit from a no negative carryover policy, meaning that any losses in a given month do not impact future earnings. This feature, combined with competitive commission rates, makes the program especially appealing for those looking to build a sustainable and profitable affiliate business.
189
190Rank Affiliates also regularly updates its affiliates with the latest promotions, bonuses, and marketing campaigns, ensuring that partners have the most effective tools to engage and convert players. The program is designed to foster long-term partnerships, making it an ideal choice for affiliates who are serious about growing their presence in the iGaming sector.
191
192In summary, Rank Affiliates offers a comprehensive and supportive environment for affiliates, backed by some of the most reputable brands in the industry. The combination of flexible commission structures, advanced tracking tools, and dedicated support makes it a standout choice for affiliates looking to succeed in the competitive world of online gaming.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–35%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`reach-gaming`,name:`Reach Gaming Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.reachgamingaffiliates.com`,logo:`/affiliates/logos/reach-gaming-affiliates-partners.webp`,about:`Reach Gaming Affiliates offers a robust platform for affiliates to earn significant commissions by promoting high-quality online gaming brands. The program features flexible commission structures, including Revenue Share and CPA models, designed to maximize earning potential. Affiliates benefit from a comprehensive suite of marketing tools, such as banners and tracking links, as well as real-time analytics to monitor and optimize campaign performance.
193
194Dedicated account managers are available to provide personalized support, ensuring that affiliates have all the resources and guidance needed to succeed. With a focus on transparency and long-term partnerships, Reach Gaming Affiliates offers a no negative carryover policy, meaning affiliates can start each month fresh, without the burden of previous losses affecting future earnings.
195
196The program also emphasizes the promotion of brands that are reputable and well-regarded in the iGaming industry, enhancing the ability to attract and retain players. Affiliates are kept informed of the latest promotions and offers, allowing them to continually engage their audience with fresh and appealing content. Overall, Reach Gaming Affiliates is committed to providing a supportive and profitable environment for affiliates aiming to thrive in the competitive online gaming market.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`30%–50%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`shared-bet`,name:`Shared Bet Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://sharedbetaffiliates.com`,logo:`/affiliates/logos/rhino-partners.webp`,about:`SharedBet Affiliates is a comprehensive affiliate program tailored for those in the sports betting and online gaming industry. The program offers flexible commission structures, including Revenue Share and CPA models, allowing affiliates to choose the plan that best suits their marketing strategy. With SharedBet Affiliates, partners gain access to a wide range of marketing tools, including banners, links, and real-time tracking systems that help optimize campaign performance and increase earnings.
197
198A key feature of the program is its commitment to transparency and partner success. Affiliates are supported by dedicated account managers who provide personalized assistance and insights, ensuring that each partner can effectively drive traffic and convert visitors into loyal players. The program’s advanced tracking system allows affiliates to monitor their campaigns in real-time, providing detailed reports that make it easy to adjust strategies and maximize profitability.
199
200SharedBet Affiliates also offers a no negative carryover policy, meaning that any losses incurred in a given month do not carry over to the next, allowing affiliates to start each month with a clean slate. This policy, combined with competitive commission rates, makes the program particularly appealing for affiliates looking to build a sustainable and growing income stream.
201
202In addition to its robust commission structure, SharedBet Affiliates promotes a selection of top-tier gaming brands, known for their reliability and player appeal. The
202se brands offer attractive promotions and bonuses that affiliates can leverage to engage their audience and boost conversion rates. By partnering with SharedBet Affiliates, affiliates can tap into a lucrative market with the backing of a supportive and transparent program, making it an ideal choice for those looking to succeed in the competitive online gaming industry.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`smarkets`,name:`Smarkets Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://smarkets.com/about/affiliates/`,logo:`/affiliates/logos/smarkets-partners.webp`,about:`The Smarkets Affiliate Program offers partners an exceptional opportunity to earn commissions by promoting Smarkets, a leading sports betting and trading platform. Affiliates are provided with a generous revenue share model, which allows for lifetime earnings based on the net revenue generated by their referred users. This program emphasizes transparency and supports affiliates with a suite of advanced tools, including real-time tracking and detailed reporting, enabling precise campaign management and optimization.
203
204Smarkets stands out due to its low-margin betting exchange, which appeals to a broad audience, providing affiliates with a high-conversion product to promote. Affiliates can access a variety of marketing materials, such as banners, links, and custom creatives, to effectively engage their audience. Moreover, the program offers comprehensive support from a dedicated affiliate team, ensuring that partners have the guidance they need to maximize their performance.
205
206Affiliates promoting Smarkets can take advantage of the platform's strong reputation, innovative technology, and competitive odds, all of which contribute to higher player retention and increased lifetime value. This combination of a reliable brand, sophisticated tracking tools, and personalized support makes the Smarkets Affiliate Program an excellent choice for those looking to succeed in the sports betting affiliate market.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`sporting-index`,name:`Sporting Index Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.sportingindex.com/offers/affiliates/`,logo:`/affiliates/logos/sporting-index-partners.webp`,about:`The Sporting Index Affiliate Program is designed for affiliates who want to promote one of the most recognized brands in sports spread betting. Affiliates can earn lifetime commissions through a flexible Revenue Share model based on the net revenue generated by the players they refer. The program provides a range of marketing tools, including high-quality banners, deep linking, and tailored creatives to effectively target and engage audiences.
207
208Sporting Index supports affiliates with advanced tracking systems and detailed reporting, allowing for real-time monitoring and optimization of campaigns. This ensures that affiliates can continually refine their strategies to maximize earnings. Additionally, the program offers robust, personalized support from experienced affiliate managers who are available to assist with campaign setup, strategy advice, and troubleshooting, ensuring a seamless experience.
209
210Sporting Index’s strong brand reputation, combined with its innovative spread betting products, provides affiliates with a unique opportunity to attract and retain high-value players. The platform’s competitive odds and unique betting options appeal to both seasoned bettors and new players alike, making it easier for affiliates to convert traffic and build long-term revenue streams. Affiliates can also benefit from periodic promotions and special offers that enhance player engagement and retention.
211
212Overall, the Sporting Index Affiliate Program offers a comprehensive package for affiliates seeking to promote a distinctive product in the sports betting market, backed by a brand known for its expertise and innovation in spread betting. With the right tools, support, and earning potential, this program is well-suited for affiliates aiming to make a significant impact in the iGaming industry.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``}
212,{slug:`spreadex`,name:`SpreadEx Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.spreadex.com/sports/offers/affiliates/`,logo:`/affiliates/logos/spreadex-partners.webp`,about:`The Spreadex Affiliate Program offers a unique opportunity to promote one of the leading platforms in sports spread betting and fixed odds betting. Affiliates can benefit from a competitive revenue share model that provides lifetime commissions based on the net revenue generated by referred players. The program is designed to support affiliates with a variety of marketing tools, including banners, deep links, and tailored creatives to engage and convert traffic effectively. Real-time tracking and detailed reporting ensure that affiliates can optimize their campaigns for maximum performance.
213
214Dedicated account managers provide personalized support, helping affiliates navigate the complexities of the betting market and optimize their strategies. With Spreadex's strong reputation and innovative betting options, affiliates can attract a diverse audience, from seasoned bettors to newcomers. The platform’s unique blend of sports spread betting and traditional fixed odds betting offers a compelling proposition, making it easier for affiliates to convert traffic into loyal customers.
215
216Spreadex also offers affiliates the chance to leverage regular promotions and special offers to further boost player engagement and retention. The program's no negative carryover policy ensures that affiliates can start each month with a clean slate, enhancing the potential for long-term profitability.
217
218Overall, the Spreadex Affiliate Program is an excellent choice for affiliates looking to partner with a reputable brand in the sports betting industry, offering the tools, support, and earning potential needed for success in this competitive market.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`star-sports`,name:`Star Sports Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/starsports-partners.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`suprnation`,name:`SuprNation Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://supraffiliates.com`,logo:`/affiliates/logos/suprnation-partners.webp`,about:`The SuprAffiliates program is a comprehensive platform for affiliates aiming to promote high-quality online casino brands. The program is designed with flexibility in mind, offering a variety of commission structures, including Revenue Share, CPA (Cost Per Acquisition), and Hybrid models. This flexibility allows affiliates to tailor their earnings based on their specific marketing strategies and goals.
219
220Affiliates benefit from a suite of advanced marketing tools, such as custom banners, deep links, and tracking codes, all designed to optimize traffic and conversion rates. The program’s real-time tracking and detailed analytics provide affiliates with the data they need to continuously refine their strategies and maximize their revenue. These tools are essential for affiliates to monitor the performance of their campaigns, ensuring they can make informed decisions and adjustments as needed.
221
222SuprAffiliates places a strong emphasis on providing dedicated support to its partners. Experienced account managers are available to offer personalized advice and assistance, helping affiliates navigate the complexities of the iGaming market. Whether you are new to affiliate marketing or an experienced professional, the program’s support team is there to ensure you have all the resources and guidance necessary to succeed.
223
224One of the key strengths of the SuprAffiliates program is its commitment to transparency and fostering long-term partnerships. The program operates with a no negative carryover policy, meaning that any negative balances do not roll over to the next month, allowing affiliates to start each month with a clean slate. This policy, coupled with competitive commission rates, makes SuprAffiliates an attractive option for those looking to build a sustainable and profitable affiliate business in the iGaming sector.
225
226Furthermore, the program's focus on promoting reputable and player-friendly casino brands means that affiliates can confidently market products that resonate with their audience. Regular updates on promotions, bonuses, and new game releases keep the marketing materials fresh and engaging, which is crucial for maintaining player interest and driving conversions.
227
228In summary, SuprAffiliates offers a robust, flexible, and supportive environment for affiliates seeking to capitalize on the growing online casino market. With its comprehensive tools, dedicated support, and commitment to long-term success, the program is well-suited for affiliates aiming to achieve significant and sustained growth in their revenue streams.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–40%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`the-pools`,name:`The Pools Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.thepools.com/affiliates`,logo:`/affiliates/logos/thepools-partners.webp`,about:`The Pools Affiliate Program offers a comprehensive platform for partners to promote one of the UK’s most established and trusted sports betting brands. Affiliates can earn competitive commissions through a flexible Revenue Share model, which rewards them based on the net revenue generated by their referred players. The program is designed to help affiliates maximize their earnings through a variety of advanced marketing tools, including customized banners, deep links, and comprehensive tracking systems that provide real-time data and detailed reporting.
229
230The Pools Affiliate Program also emphasizes strong support and partnership, offering affiliates access to dedicated account managers who provide personalized assistance and guidance. This support includes advice on optimizing campaigns, understanding market trends, and maximizing the effectiveness of promotional efforts. Additionally, the program’s transparency and clear reporting systems ensure that affiliates can monitor their performance closely, make informed decisions, and adjust their strategies for maximum impact.
231
232Promoting The Pools comes with the advantage of leveraging a brand with a rich history and strong recognition in the UK market. The Pools has evolved from its traditional football pools heritage into a modern sportsbook, offering a wide range of betting options, including sports betting, lotteries, and casino games. This broad appeal allows affiliates to attract a diverse audience and engage players with various interests.
233
234Affiliates are also supported by regular updates on promotions, bonuses, and special offers that they can use to enhance their marketing efforts. These promotions are designed to increase player retention and lifetime value, further boosting the potential earnings for affiliates. The program’s commitment to no negative carryover ensures that each month starts fresh, allowing affiliates to focus on growing their revenue without the burden of previous losses.
235
236In summary, The Pools Affiliate Program provides a well-rounded and supportive environment for affiliates looking to tap into the UK sports betting market. With competitive commissions, advanced tools, dedicated support, and a brand with deep market penetration, it offers a strong opportunity for affiliates to build a successful and sustainable business.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`20%–35%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`united-commissions`,name:`United Commissions`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.unitedcommissions.com`,logo:`/affiliates/logos/united-commissions-partners.webp`,about:`The United Commissions program is a comprehensive affiliate network that provides affiliates with the opportunity to promote a diverse range of premium online gaming brands across various verticals, including casino, bingo, and sports betting. The program is designed to accommodate different marketing strategies with flexible commission structures, including Revenue Share, CPA, and Hybrid models. These options allow affiliates to maximize their earnings by selecting the plan that best aligns with their promotional efforts and target audience.
237
238United Commissions equips its affiliates with a robust set of marketing tools, including high-quality banners, deep links, and other creative assets that are regularly updated to keep promotional materials fresh and engaging. Affiliates also have access to advanced tracking systems that provide real-time data on player activity and campaign performance, enabling them to optimize their efforts for maximum impact.
239
240One of the standout features of the United Commissions program is its dedication to affiliate support. Each affiliate is assigned a dedicated account manager who provides personalized guidance, helping them navigate the complexities of the iGaming market and offering strategic advice to improve performance. This level of support ensures that affiliates are not only equipped with the tools they need but also have expert assistance available to help them achieve their business goals.
241
242In addition to its robust support system, United Commissions is committed to transparency and fairness. The program operates with a no negative carryover policy, which means that any losses incurred in one month do not affect the earnings potential for the following month. This policy, combined with competitive commission rates, makes United Commissions an attractive option for affiliates seeking to build a sustainable and profitable business in the online gaming industry.
243
244The brands within the United Commissions network are known for their strong market presence, offering attractive player promotions and high-quality gaming experiences. This ensures that affiliates are promoting brands that resonate well with players, leading to higher conversion rates and increased lifetime player value. Regular updates on new games, promotions, and special offers keep affiliates well-equipped to attract and retain players effectively.
245
246Overall, United Commissions provides a robust and supportive environment for affiliates, combining flexible earning options, advanced marketing tools, and dedicated support to foster long-term partnerships and success in the competitive iGaming sector.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`venture`,name:`Venture Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:`https://www.ventureaffiliates.com`,logo:`/affiliates/logos/venture-affiliates-partners.webp`,about:`The Venture Affiliates program offers partners the opportunity to promote a range of top-tier online gaming brands, including casinos and sportsbooks. Affiliates benefit from competitive commission structures, including Revenue Share, CPA, and Hybrid models, which can be tailored to suit their individual marketing strategies. The program provides advanced marketing tools, real-time tracking, and comprehensive reporting, allowing affiliates to optimize their campaigns for maximum performance. Dedicated account managers offer personalized support, ensuring that affiliates have the resources and guidance needed to succeed in the competitive iGaming industry.
247
248Venture Affiliates also emphasizes transparency and long-term relationships, operating with a no negative carryover policy that allows affiliates to start each month with a clean slate, thereby maximizing their earning potential. The program’s brands are known for their strong market presence, offering a wide range of engaging promotions, games, and betting options that appeal to a broad audience. This combination of robust support, flexible earning potential, and high-quality brands makes Venture Affiliates an excellent choice for anyone looking to build a successful affiliate marketing business in the online gaming space.`,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`25%–40%`},{model:`Hybrid`,terms:`On request`}],brands:[],email:`[email protected]`,skype:``},{slug:`william-hill`,name:`William Hill Affiliates`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/william-hill-partners.webp`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``},{slug:`zee`,name:`Zee Partners`,tagline:`Sportsbook, Casino, Poker, Games, Bingo, Financial, Lottery`,url:``,logo:`/affiliates/logos/zee-partners-partners.png`,about:``,commissions:[{model:`CPA`,terms:`On request`},{model:`CPM`,terms:`On request`},{model:`Revenue share`,terms:`On request`},{model:`Hybrid`,terms:`On request`}],brands:[],email:``,skype:``}];function $g(e){return Qg.find(t=>t.slug===e)}var e_=l({method:`GET`}).handler(s(`85afcd02a384383accdbcc51749c963c279282f7bfcd61aa177988e48ee2f205`)),t_=A(`/affiliate-programs/$slug`)({loader:({params:e,context:t})=>{let n=$g(e.slug);if(!n)throw ve();return t.queryClient.ensureQueryData({queryKey:[`affiliate-news`,n.slug],queryFn:()=>e_({data:{terms:[n.name.replace(/ Affiliates?$/,``).replace(/ Partners?$/,``)],limit:6}})}),{program:n}},head:({loaderData:e})=>{if(!e)return{meta:[{title:`Programme unavailable — iGaming.News`},{name:`robots`,content:`noindex`}]};let{program:t}=e,n=`${t.name} — Commission, Brands & Markets | iGaming.News`,r=`${t.name} affiliate programme: ${t.tagline}. Revenue share and CPA terms, promotable brands, verticals and contact details.`;return{meta:[{title:n},{name:`description`,content:r},{property:`og:title`,content:n},{property:`og:description`,content:r},{property:`og:type`,content:`website`},{property:`og:url`,content:U(`/affiliate-programs/${t.slug}`)},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:U(`/affiliate-programs/${t.slug}`)}]}},notFoundComponent:j(()=>W(()=>import(`./affiliate-programs._slug-D7oMf1oZ.js`),__vite__mapDeps([94,1,6,2,7,8,9,10])),`notFoundComponent`),component:j(()=>W(()=>import(`./affiliate-programs._slug-cEmBhYH2.js`),__vite__mapDeps([95,1,6,2,7,8,9,10,61,62,63,12,20,43,15,96,23,26,27,28,29])),`component`)}),n_=l({method:`GET`}).handler(s(`983867d65d6865f757754a57bba2b26dbaf964b05bb113c55cfa5174b33ce531`)),r_=e=>pu({queryKey:[`author-profile`,e],queryFn:()=>n_({data:{slug:e}})}),i_=A(`/authors/$slug`)({loader:({context:e,params:t})=>e.queryClient.ensureQueryData(r_(t.slug)),head:({params:e,loaderData:t})=>{let n=t?.name??e.slug.replace(/-/g,` `),r=`${n} — iGaming.News`,i=`Articles, analysis and industry reporting by ${n} for iGaming.News, the independent B2B iGaming publication.`;return{meta:[{title:r},{name:`description`,content:i},{property:`og:title`,content:r},{property:`og:description`,content:i},{property:`og:type`,content:`profile`},{name:`twitter:card`,content:`summary_large_image`},{property:`og:url`,content:U(`/authors/${e.slug}`)}],links:[{rel:`canonical`,href:U(`/authors/${e.slug}`)}]}},errorComponent:j(()=>W(()=>import(`./authors._slug-h__drA-P.js`),__vite__mapDeps([97,1])),`errorComponent`),component:j(()=>W(()=>import(`./authors._slug-CClixMhz.js`),__vite__mapDeps([98,1,6,2,7,8,9,10,61,62,63,64,12,15,49,23,99,82])),`component`)}),a_=A(`/blog/`)({loader:async()=>({posts:await $p({data:{limit:120}})}),head:()=>{let e=U(`/blog`),t=`iGaming Blog — analysis, guides and opinion | iGaming.News`,n=`Long-read iGaming analysis, operator guides and industry opinion from the iGaming.News editorial team and guest contributors.`;return{meta:[{title:t},{name:`description`,content:n},{property:`og:title`,content:t},{property:`og:description`,content:n},{property:`og:type`,content:`website`},{property:`og:url`,content:e},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:e}]}},component:j(()=>W(()=>
248import(`./blog.index-CqAeb87n.js`),__vite__mapDeps([100,1,6,2,7,8,9,10,23,26,27,28,29])),`component`),errorComponent:j(()=>W(()=>import(`./blog.index-BQ2MxxhE.js`),__vite__mapDeps([101,1])),`errorComponent`),notFoundComponent:j(()=>W(()=>import(`./blog.index-jvrbxB80.js`),__vite__mapDeps([102,1])),`notFoundComponent`)}),o_=A(`/category/$category`)({loader:async({params:e})=>{let t=Qd(e.category);if(!t)throw ve();let[n,r]=await Promise.all([Hp({data:{category:t.key,terms:af(t).tags,titleTerms:af(t).title,limit:60}}),Gp({data:{limit:5}})]);return{category:t,articles:n,mostRead:r}},head:({loaderData:e})=>{if(!e)return{meta:[{title:`Category unavailable — iGaming.News`},{name:`robots`,content:`noindex`}]};let{category:t}=e,n=`${t.name} News — iGaming.News`,r=U(`/category/${t.slug}`);return{meta:[{title:n},{name:`description`,content:t.description},{property:`og:title`,content:n},{property:`og:description`,content:t.description},{property:`og:url`,content:r},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:r}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`CollectionPage`,name:`${t.name} News`,description:t.description,url:r,isPartOf:{"@type":`WebSite`,name:`iGaming.News`,url:U(`/`)}})}]}},component:j(()=>W(()=>import(`./category._category-DUCmdx7g.js`),__vite__mapDeps([103,1,6,2,7,8,9,10,23,26,27,28,29])),`component`)}),s_=A(`/events/`)({head:()=>({meta:[{title:`iGaming Events Calendar 2026–2027 | iGaming.News`},{name:`description`,content:`The complete calendar of B2B iGaming conferences, summits, awards and expos. Filter by type, region and date to find the events that matter to your business.`},{property:`og:title`,content:`iGaming Events Calendar 2026–2027`},{property:`og:description`,content:`Every B2B iGaming conference, summit, awards show and expo in one industry calendar, updated weekly by iGaming.News.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`},{property:`og:url`,content:U(`/events`)}],links:[{rel:`canonical`,href:U(`/events`)}]}),component:j(()=>W(()=>import(`./events.index-CcexHcBT.js`),__vite__mapDeps([104,1,2,6,7,8,9,10,12,105,22,41,26,27,28])),`component`)}),Q=e=>`https://www.igamingcalendar.com/${e}.aspx`,c_=[{slug:`gat-expo-puerto-rico`,name:`GAT Expo Puerto Rico`,kind:`Expo`,venue:`San Juan Convention District`,city:`San Juan`,country:`Puerto Rico`,start:`2026-09-08`,end:`2026-09-10`,tags:[`Casino`,`Latin America`,`Suppliers`],url:Q(`GAT-Expo-Puerto-Rico_95489780`)},{slug:`egr-power-us-summit`,name:`EGR Power US Summit`,kind:`Summit`,venue:`Pelican Hill Resort`,city:`Newport Coast, California`,country:`United States`,start:`2026-09-14`,end:`2026-09-16`,tags:[`Operators`,`North America`,`Executive`],url:Q(`EGR-Power-US-Summit-2026_96172045`)},{slug:`bis-joao-pessoa`,name:`BiS João Pessoa`,kind:`Conference`,venue:`Tauá Resort`,city:`João Pessoa`,country:`Brazil`,start:`2026-09-16`,end:`2026-09-17`,tags:[`Brazil`,`Latin America`,`Operators`],url:Q(`BiS-Joao-Pessoa_05915451`)},{slug:`gm-events-argentina`,name:`G&M Events Argentina`,kind:`Conference`,venue:`Rosario`,city:`Rosario`,country:`Argentina`,start:`2026-09-16`,end:`2026-09-17`,tags:[`Latin America`,`Regulation`,`Operators`],url:Q(`G-M-Events-Argentina-2026_86664292`)},{slug:`latam-igaming-affiliate-summit`,name:`LATAM iGaming Affiliate Summit`,kind:`Summit`,venue:`Lima`,city:`Lima`,country:`Peru`,start:`2026-09-17`,end:`2026-09-18`,tags:[`Affiliates`,`Latin America`,`Marketing`],url:Q(`LATAM-iGaming-Affiliate-Summit_95362149`)},{slug:`naspl-2026`,name:`NASPL Annual Conference & Trade Show`,kind:`Conference`,venue:`Orlando`,city:`Orlando, Florida`,country:`United States`,start:`2026-09-21`,end:`2026-09-24`,tags:[`Lottery`,`North America`,`Suppliers`],url:`https://www.naspl.org/`},{slug:`awsummit-bucharest`,name:`AWSummit Bucharest`,kind:`Summit`,venue:`Bucharest`,city:`Bucharest`,country:`Romania`,start:`2026-09-21`,end:`2026-09-23`,tags:[`Affiliates`,`Europe`,`Marketing`],url:`https://awsummit.com/`}
248,{slug:`spice-central-asia`,name:`SPiCE Central Asia`,kind:`Conference`,venue:`Yerevan`,city:`Yerevan`,country:`Armenia`,start:`2026-09-23`,end:`2026-09-24`,tags:[`Asia`,`Operators`,`Regulation`],url:Q(`SPiCE-Central-Asia-2026_95362750`)},{slug:`igaming-club-lisbon`,name:`iGaming Club Lisbon`,kind:`Awards`,venue:`Lisbon`,city:`Lisbon`,country:`Portugal`,start:`2026-09-28`,end:`2026-09-28`,tags:[`Networking`,`Europe`],url:Q(`iGaming-Club-Lisbon-2026_04459475`)},{slug:`infinity-lisbon-at-sbc`,name:`Infinity Lisbon at SBC`,kind:`Awards`,venue:`Salão Tejo, MEO Arena`,city:`Lisbon`,country:`Portugal`,start:`2026-10-01`,end:`2026-10-01`,tags:[`Networking`,`Europe`],url:Q(`Infinity-Lisbon-at-SBC_04724646`)},{slug:`sbc-awards-lisbon`,name:`SBC Awards`,kind:`Awards`,venue:`MEO Arena`,city:`Lisbon`,country:`Portugal`,start:`2026-10-01`,end:`2026-10-01`,tags:[`Awards`,`Sports Betting`,`Europe`],url:`https://sbcevents.com/sbc-awards/`},{slug:`zambia-sports-betting-igaming-summit`,name:`Zambia Sports Betting & iGaming Summit`,kind:`Summit`,venue:`InterContinental Hotel Lusaka`,city:`Lusaka`,country:`Zambia`,start:`2026-10-08`,end:`2026-10-09`,tags:[`Africa`,`Sports Betting`,`Regulation`],url:Q(`Zambia-Sports-Betting-iGaming-Summit_05016350`)},{slug:`gefa-dakar`,name:`GEFA — Gaming Expo Francophone Africa`,kind:`Expo`,venue:`Dakar`,city:`Dakar`,country:`Senegal`,start:`2026-10-14`,end:`2026-10-15`,tags:[`Africa`,`Operators`,`Suppliers`],url:Q(`GEFA_05779526`)},{slug:`gaming-in-spain`,name:`Gaming in Spain Conference`,kind:`Conference`,venue:`Madrid`,city:`Madrid`,country:`Spain`,start:`2026-10-15`,end:`2026-10-15`,tags:[`Regulation`,`Europe`,`Operators`],url:Q(`Gaming-in-Spain_00430848`)},{slug:`gat-bogota`,name:`GAT Bogotá`,kind:`Expo`,venue:`Bogotá`,city:`Bogotá`,country:`Colombia`,start:`2026-10-15`,end:`2026-10-16`,tags:[`Latin America`,`Casino`,`Suppliers`],url:Q(`GAT-Bogota_95490046`)},{slug:`igf-east-africa`,name:`iGF East Africa`,kind:`Conference`,venue:`Carnivore Grounds`,city:`Nairobi`,country:`Kenya`,start:`2026-10-15`,end:`2026-10-16`,tags:[`Africa`,`Operators`,`Payments`],url:Q(`iGF-East-Africa-2026_96420924`)},{slug:`affhub-amsterdam`,name:`AffHub Affiliate Conference Amsterdam`,kind:`Conference`,venue:`EXPO Greater Amsterdam`,city:`Amsterdam`,country:`Netherlands`,start:`2026-10-16`,end:`2026-10-17`,tags:[`Affiliates`,`Europe`,`Marketing`],url:Q(`AFFHUB-AFFILIATE-IMAGINARYARIUM-CONF_96172392`)},{slug:`spark-sofia`,name:`SPARK — Software, Payments, Affiliates, Revenue Kickoff`,kind:`Conference`,venue:`Sofia`,city:`Sofia`,country:`Bulgaria`,start:`2026-10-19`,end:`2026-10-21`,tags:[`Payments`,`Affiliates`,`Europe`],url:Q(`SPARK-Software-Payments-Affiliates-Revenue-Kickoff-_95362632`)},{slug:`sbc-summit-tbilisi`,name:`SBC Summit Tbilisi`,kind:`Summit`,venue:`Sheraton Grand Tbilisi Metechi Palace`,city:`Tbilisi`,country:`Georgia`,start:`2026-10-19`,end:`2026-10-21`,tags:[`Sports Betting`,`Emerging Markets`,`Operators`],url:`https://sbcevents.com/`},{slug:`pgri-lottery-expo-nashville`,name:`PGRI Lottery Expo`,kind:`Expo`,venue:`Nashville`,city:`Nashville, Tennessee`,country:`United States`,start:`2026-10-20`,end:`2026-10-22`,tags:[`Lottery`,`North America`,`Regulation`],url:Q(`PGRI-Public-Gaming-Research-Institute-Lottery-Expo_03352104`)},{slug:`egr-italy-awards`,name:`EGR Italy Awards & Briefing`,kind:`Awards`,venue:`Rome Cavalieri`,city:`Rome`,country:`Italy`,start:`2026-10-20`,end:`2026-10-20`,tags:[`Awards`,`Europe`,`Operators`],url:Q(`EGR-Italy-Awards-2026_94638684`)},{slug:`scandinavian-nordic-gaming-show`,name:`Scandinavian & Nordic Gaming Show (SNGS)`,kind:`Expo`,venue:`Copenhagen`,city:`Copenhagen`,country:`Denmark`,start:`2026-10-22`,end:`2026-10-23`,tags:[`Nordics`,`Europe`,`Operators`],url:Q(`Scandinavian-Nordic-Gaming-Show-SNGS-_95362755`)}
248,{slug:`hipther-warsaw-summit`,name:`HIPTHER Warsaw Summit & EiGE Awards`,kind:`Summit`,venue:`InterContinental Warsaw`,city:`Warsaw`,country:`Poland`,start:`2026-10-27`,end:`2026-10-28`,tags:[`Europe`,`Awards`,`Technology`],url:`https://hipther.com/events/`},{slug:`gm-events-mexico`,name:`G&M Events Mexico`,kind:`Conference`,venue:`Mexico City`,city:`Mexico City`,country:`Mexico`,start:`2026-11-04`,end:`2026-11-05`,tags:[`Latin America`,`Regulation`,`Operators`],url:Q(`G-M-Events-Mexico-2026_88145544`)},{slug:`spice-international-png`,name:`SPiCE International`,kind:`Conference`,venue:`Port Moresby`,city:`Port Moresby`,country:`Papua New Guinea`,start:`2026-11-04`,end:`2026-11-06`,tags:[`Asia Pacific`,`Operators`,`Regulation`],url:Q(`SPiCE-International_78500216`)},{slug:`world-lottery-summit-sydney`,name:`World Lottery Summit`,kind:`Summit`,venue:`ICC Sydney`,city:`Sydney`,country:`Australia`,start:`2026-11-09`,end:`2026-11-12`,tags:[`Lottery`,`Asia Pacific`,`Suppliers`],url:Q(`World-Lottery-Summit_89608056`)},{slug:`prediction-markets-summit-europe`,name:`Prediction Markets Summit Europe`,kind:`Summit`,venue:`Gibraltar`,city:`Gibraltar`,country:`Gibraltar`,start:`2026-11-09`,end:`2026-11-10`,tags:[`Prediction Markets`,`Regulation`,`Europe`],url:Q(`Prediction-Markets-Summit-Europe_05779556`)},{slug:`igi-expo-sao-paulo`,name:`IGI Expo — iGaming International Expo Brazil`,kind:`Expo`,venue:`Blue Tree Premium Morumbi`,city:`São Paulo`,country:`Brazil`,start:`2026-11-11`,end:`2026-11-12`,tags:[`Brazil`,`Latin America`,`Suppliers`],url:Q(`IGI-Expo-iGaming-International-Expo_93419868`)},{slug:`nags-conference-sydney`,name:`National Association for Gambling Studies Conference`,kind:`Conference`,venue:`Sydney`,city:`Sydney`,country:`Australia`,start:`2026-11-16`,end:`2026-11-18`,tags:[`Responsible Gambling`,`Research`,`Asia Pacific`],url:Q(`National-Association-of-Gambling-Studies-Annual-Conference_03352127`)},{slug:`worldgaming-leaders-summit-miami`,name:`WorldGaming Leaders' Summit`,kind:`Summit`,venue:`Miami`,city:`Miami, Florida`,country:`United States`,start:`2026-11-16`,end:`2026-11-18`,tags:[`Executive`,`North America`,`Investment`],url:Q(`WorldGaming-Leaders-Summit_05456544`)},{slug:`gat-santo-domingo`,name:`GAT Santo Domingo`,kind:`Expo`,venue:`Santo Domingo`,city:`Santo Domingo`,country:`Dominican Republic`,start:`2026-11-17`,end:`2026-11-18`,tags:[`Latin America`,`Casino`,`Suppliers`],url:Q(`GAT-Santo-Domingo_95490144`)},{slug:`next-io-retreat-latam`,name:`NEXT.io Retreat Latam`,kind:`Summit`,venue:`Cancún`,city:`Cancún`,country:`Mexico`,start:`2026-11-17`,end:`2026-11-19`,tags:[`Latin America`,`Executive`,`Networking`],url:`https://next.io/events/`},{slug:`vixio-global-regulatory-awards`,name:`Vixio Global Regulatory Awards`,kind:`Awards`,venue:`De Vere Grand Connaught Rooms`,city:`London`,country:`United Kingdom`,start:`2026-11-18`,end:`2026-11-18`,tags:[`Awards`,`Compliance`,`Europe`],url:Q(`Vixio-Global-Regulatory-Awards-GRAs-_03348470`)},{slug:`gm-events-ecuador`,name:`G&M Events Ecuador`,kind:`Conference`,venue:`Quito`,city:`Quito`,country:`Ecuador`,start:`2026-11-26`,end:`2026-11-26`,tags:[`Latin America`,`Regulation`],url:Q(`G-M-Events-Ecuador-2026_04172774`)},{slug:`sigma-south-asia-bangkok`,name:`SiGMA South Asia`,kind:`Expo`,venue:`Bangkok`,city:`Bangkok`,country:`Thailand`,start:`2026-11-30`,end:`2026-12-03`,tags:[`Asia`,`Operators`,`Suppliers`],url:`https://sigma.world/`},{slug:`lottery-cx-summit-vienna`,name:`Lottery CX Summit`,kind:`Summit`,venue:`Vienna`,city:`Vienna`,country:`Austria`,start:`2026-12-03`,end:`2026-12-04`,tags:[`Lottery`,`Europe`,`Marketing`],url:Q(`Lottery-CX-Summit_95368622`)},{slug:`ai-in-gaming-summit-vienna`,name:`AI in Gaming Summit`,kind:`Summit`,venue:`Vienna`,city:`Vienna`,country:`Austria`,start:`2026-12-03`,end:`2026-12-04`,tags:[`Technology`,`Europe`,`AI`],url:Q(`AI-in-Gaming-Summit_95365619`)},{slug:`nclgs-winter-meeting`,name:`NCLGS Winter Meeting`,kind:`Conference`,venue:`JW Marriott Savannah Plant Riverside District`,city:`Savannah, Georgia`,country:`United States`,start:`2026-12-08`,end:`2026-12-10`,tags:[`Regulation`,`North America`,`Policy`],url:Q(`NCLGS-Winter-Meeting_96610495`)},{slug:`awsummit-thailand`,name:`AWSummit Thailand`,kind:`Summit`,venue:`Koh Chang`,city:`Koh Chang`,country:`Thailand`,start:`2026-12-12`,end:`2026-12-14`,tags:[`Affiliates`,`Asia`,`Networking`],url:`https://awsummit.com/`},{slug:`european-igaming-awards`,name:`European iGaming Awards`,kind:`Awards`,venue:`Barcelona`,city:`Barcelona`,country:`Spain`,start:`2027-01-18`,end:`2027-01-18`,tags:[`Awards`,`Europe`,`Networking`],url:Q(`European-iGaming-Awards_06332828`)}
248,{slug:`big-africa-summit`,name:`BiG Africa Summit`,kind:`Summit`,venue:`Gaborone`,city:`Gaborone`,country:`Botswana`,start:`2027-02-15`,end:`2027-02-16`,tags:[`Africa`,`Regulation`,`Operators`],url:Q(`BiG-Africa-Summit_05779559`)},{slug:`sigma-africa-cape-town`,name:`SiGMA Africa`,kind:`Expo`,venue:`Cape Town`,city:`Cape Town`,country:`South Africa`,start:`2027-02-15`,end:`2027-02-17`,tags:[`Africa`,`Operators`,`Suppliers`],url:`https://sigma.world/`},{slug:`mega-summit-mexico`,name:`MEGA Summit`,kind:`Summit`,venue:`Mexico City`,city:`Mexico City`,country:`Mexico`,start:`2027-02-24`,end:`2027-02-25`,tags:[`Latin America`,`Operators`,`Regulation`],url:Q(`MEGA-Summit_05779560`)},{slug:`africa-gaming-expo-lagos`,name:`Africa Gaming Expo (AGE)`,kind:`Expo`,venue:`Lagos`,city:`Lagos`,country:`Nigeria`,start:`2027-03-16`,end:`2027-03-17`,tags:[`Africa`,`Operators`,`Suppliers`],url:Q(`Africa-Gaming-Expo-AGE-_06219606`)},{slug:`global-game-connect-2027`,name:`Global Game Connect (GGC)`,kind:`Conference`,venue:`Cinnamon Life, The Forum & Lumina Ballroom`,city:`Colombo`,country:`Sri Lanka`,start:`2027-03-24`,end:`2027-03-25`,tags:[`Asia`,`Operators`,`Suppliers`],url:Q(`Global-Game-Connect-GGC-2027_06399048`)},{slug:`hipther-ai-summit-prague`,name:`HIPTHER AI Summit`,kind:`Summit`,venue:`OREA Hotel Andel's Prague`,city:`Prague`,country:`Czech Republic`,start:`2027-03-25`,end:`2027-03-25`,tags:[`AI`,`Technology`,`Europe`],url:`https://hipther.com/events/`},{slug:`gat-expo-cartagena`,name:`GAT Expo Cartagena`,kind:`Expo`,venue:`Cartagena`,city:`Cartagena`,country:`Colombia`,start:`2027-03-30`,end:`2027-04-01`,tags:[`Latin America`,`Casino`,`Suppliers`],url:Q(`GAT-EXPO-CARTAGENA_05779036`)},{slug:`next-io-focus-emerging-verticals`,name:`NEXT.io Focus: Emerging Verticals`,kind:`Conference`,venue:`Convene Hudson Yards`,city:`New York`,country:`United States`,start:`2027-04-12`,end:`2027-04-12`,tags:[`North America`,`Prediction Markets`,`Technology`],url:`https://next.io/events/`},{slug:`next-io-summit-new-york`,name:`NEXT.io Summit New York`,kind:`Summit`,venue:`Convene Hudson Yards`,city:`New York`,country:`United States`,start:`2027-04-13`,end:`2027-04-14`,tags:[`North America`,`Operators`,`Investment`],url:`https://next.io/events/`},{slug:`sports-betting-east-africa-summit`,name:`Sports Betting East Africa+ Summit`,kind:`Summit`,venue:`Addis Ababa`,city:`Addis Ababa`,country:`Ethiopia`,start:`2027-04-21`,end:`2027-04-22`,tags:[`Africa`,`Sports Betting`,`Regulation`],url:Q(`Sports-Betting-East-Africa-Summit_05779660`)},{slug:`igaming-afrika-summit`,name:`iGaming AFRIKA Summit`,kind:`Summit`,venue:`Sarit Expo Centre`,city:`Nairobi`,country:`Kenya`,start:`2027-05-04`,end:`2027-05-05`,tags:[`Africa`,`Operators`,`Suppliers`],url:Q(`iGaming-AFRIKA-Summit-iGA-Summit-_04248082`)},{slug:`igaming-germany-munich`,name:`iGaming Germany`,kind:`Conference`,venue:`Munich`,city:`Munich`,country:`Germany`,start:`2027-05-13`,end:`2027-05-13`,tags:[`Europe`,`Regulation`,`Operators`],url:Q(`iGaming-Germany_05779940`)},{slug:`gaming-retail-summit-dusseldorf`,name:`Gaming Retail Summit`,kind:`Summit`,venue:`Düsseldorf`,city:`Düsseldorf`,country:`Germany`,start:`2027-05-18`,end:`2027-05-19`,tags:[`Retail`,`Europe`,`Land-based`],url:Q(`Gaming-Retail-Summit_05779941`)},{slug:`gat-expo-mexico`,name:`GAT Expo México`,kind:`Expo`,venue:`Centro de Convenciones Santa Fe`,city:`Mexico City`,country:`Mexico`,start:`2027-06-02`,end:`2027-06-03`,tags:[`Latin America`,`Casino`,`Suppliers`],url:Q(`GAT-EXPO-MEXICO-2027_05778657`)},{slug:`igaming-business-zone-ibiza`,name:`iGaming Business Zone (IBZ)`,kind:`Conference`,venue:`Ibiza`,city:`Ibiza`,country:`Spain`,start:`2027-06-17`,end:`2027-06-18`,tags:[`Networking`,`Europe`,`Affiliates`],url:Q(`IGAMING-BUSINESS-ZONE-IBZ-_05373241`)}],l_=[`Operators and sportsbooks`,`Suppliers and platform providers`,`Affiliates and marketing agencies`,`Payment providers and PSPs`,`Compliance, legal and AML professionals`,`Commercial and business development leads`];function $(e,t,n,r,i,a,o,s=[]){return{organiser:e,tagline:t,overview:n,highlights:r,whoAttends:[...s,...l_],tracks:i,ticketing:a,travel:o}}var u_={"gat-expo-puerto-rico":$(`GAT — Gaming & Technology`,`GAT's Caribbean stop for operators and suppliers`,[`GAT Expo Puerto Rico brings the GAT circuit to the Caribbean, pairing a supplier floor of slots, live casino and sportsbook technology with a conference programme aimed at regional operators.`,`The audience skews towards casino and route operators from Puerto Rico, the Dominican Republic and the wider Caribbean, alongside Latin American suppliers using the show to open new territories.`],[`Slot and cabinet showcases from regional distributors`,`Sportsbook and online platform demonstrations`,`Regulatory sessions on Caribbean licensing`,`Operator-supplier matchmaking meetings`],[`Land-based operations`,`Online and sportsbook`,`Payments`,`Regulation`],`Paid delegate passes; complimentary trade entry is often available for verified operators.`,`Held in San Juan, around 20 minutes from Luis Muñoz Marín International Airport.`,[`Casino and route operators`,`Regional regulators`]),"egr-power-us-summit":$(`EGR (Emerging Gaming Regulation / Pageant Media)`,`Invite-level strategy summit for US online gaming leaders`,[`EGR Power US Summit gathers senior leadership from US online casino and sportsbook operators for a closed-door programme of strategy sessions and roundtables.`,`The format is deliberately small: fewer stages, more structured executive conversation on state-by-state economics, retention and product roadmaps.`],[`Executive roundtables on state profitability`,`Product and CRM strategy sessions`,`Networking dinners and resort activities`,`Supplier meetings with senior decision-makers`],[`Market strategy`,`Retention and CRM`,`Product`,`Regulation`],`Invitation and paid delegate model aimed at senior executives.`,`Pelican Hill Resort, Newport Coast, roughly 30 minutes from John Wayne Airport.`,[`C-level operator executives`,`Investors and analysts`]),"bis-joao-pessoa":$(`BiS / SiGMA Brazil`,`Regional Brazilian gaming conference on the northeast coast`,[`BiS João Pessoa takes the BiS format to Paraíba, focusing on Brazil's regulated betting market and the operators, agents and suppliers working in the northeast.`,`Sessions cover licensing obligations, payments via Pix, responsible gambling rules and local marketing practice under the federal framework.`],[`Brazilian regulation and licensing panels`,`Pix and payments workshops`,`Regional operator networking`,`Supplier exhibition area`],[`Brazilian regulation`,`Payments`,`Marketing`,`Sportsbook`],`Paid passes with regional operator discounts.`,`Tauá Resort in João Pessoa, about 40 minutes from Presidente Castro Pinto Airport.`,[`Brazilian operators and agents`,`Regulators and legal advisers`]),"gm-events-argentina":$(`G&M Events`,`Argentina's provincial gaming and betting forum`,[`G&M Events Argentina convenes provincial regulators, lottery bodies and operators to work through Argentina's province-by-province licensing landscape.`,`The programme mixes public policy discu
248ssion with commercial sessions on online launches, payments and player acquisition in the region.`],[`Provincial regulatory panels`,`Online licensing case studies`,`Payments and cash-in networks`,`Operator and supplier networking`],[`Regulation`,`Online launches`,`Payments`,`Marketing`],`Paid delegate passes; public-sector attendance is usually complimentary.`,`Hosted in Rosario, a short flight or three-hour drive from Buenos Aires.`,[`Provincial regulators and lotteries`,`Argentine operators`]),"latam-igaming-affiliate-summit":$(`LATAM iGaming Affiliate Summit`,`Affiliate-first meeting point for the Andean markets`,[`The LATAM iGaming Affiliate Summit is built around performance marketing in Peru, Colombia, Chile and Ecuador, bringing affiliates together with affiliate managers and networks.`,`Content is practical: SEO in Spanish-language markets, paid social compliance, tracking and commercial deal structures.`],[`Spanish-language SEO and content workshops`,`Affiliate manager speed meetings`,`Tracking and attribution sessions`,`Evening networking events`],[`Affiliate acquisition`,`SEO and content`,`Paid media`,`Compliance`],`Paid delegate tickets; affiliate applications reviewed for free or reduced passes.`,`Held in Lima, around 40 minutes from Jorge Chávez International Airport.`,[`Affiliates and media buyers`,`Affiliate managers and networks`]),"naspl-2026":$(`North American Association of State and Provincial Lotteries`,`The annual meeting of North American lotteries`,[`NASPL's annual conference and trade show is the central gathering for US state and Canadian provincial lotteries, their suppliers and their retail partners.`,`Programming covers instant and draw game design, retail modernisation, digital play, responsible gambling and the growing overlap with iLottery and sports betting.`],[`Lottery supplier trade show floor`,`iLottery and digital growth sessions`,`Retail and instant ticket workshops`,`Responsible gambling programming`],[`Lottery operations`,`Digital and iLottery`,`Retail`,`Responsible gambling`],`Member and paid delegate registration; trade show access included with most passes.`,`Hosted in Orlando, Florida, close to Orlando International Airport.`,[`State and provincial lotteries`,`Lottery suppliers and printers`]),"awsummit-bucharest":$(`Affiliate World / AWSummit`,`Affiliate and performance marketing week in Romania`,[`AWSummit Bucharest gathers affiliates, networks and traffic sources across gambling, finance and nutra verticals for a compact conference and expo.`,`The gambling track focuses on Central and Eastern European traffic, SEO and app-based acquisition.`],[`CEE traffic and SEO sessions`,`Networks and traffic source expo`,`One-to-one affiliate meetings`,`Evening networking parties`],[`Affiliate acquisition`,`SEO`,`Paid media`,`Apps and push traffic`],`Paid tickets with early-bird tiers; affiliate passes available on application.`,`Bucharest, roughly 40 minutes from Henri Coandă International Airport.`,[`Affiliates and media buyers`,`Traffic networks`]),"spice-central-asia":$(`SPiCE (Eventus International)`,`Emerging-market gaming forum for the Caucasus and Central Asia`,[`SPiCE Central Asia focuses on gaming opportunity across Armenia, Georgia, Kazakhstan and neighbouring markets, where regulation and online play are developing quickly.`,`Sessions cover licensing routes, payments in local currencies, localisation and responsible gambling frameworks.`],[`Regional licensing overviews`,`Local payments and currency panels`,`Localisation and product workshops`,`Operator-supplier networking`],[`Regulation`,`Payments`,`Product localisation`,`Marketing`],`Paid delegate passes with group rates.`,`Held in Yerevan, around 20 minutes from Zvartnots International Airport.`,[`Emerging-market operators`,`Regulators and legal advisers`]),"igaming-club-lisbon":$(`iGaming Club`,`Invite-only networking evening during Lisbon's gaming week`,[`iGaming Club Lisbon is a hosted networking evening running alongside the city's main gaming week, designed for informal deal-making rather than stage content.`,`Guest lists are dominated by senior commercial staff from operators, affiliates and suppliers already in town for the week.`],[`Hosted networking with a curated guest list`,`Sponsor tables for one-to-one meetings`,`Live entertainment and hospital
248ity`,`Co-located with the wider Lisbon gaming week`],[`Networking`,`Partnerships`],`Guest list and sponsor invitations only.`,`Central Lisbon venue, walkable from the main hotel district.`,[`Senior commercial and BD staff`,`Affiliates and operators`]),"infinity-lisbon-at-sbc":$(`Infinity Events`,`Late-night industry party inside the MEO Arena complex`,[`Infinity Lisbon runs on the closing night of the city's betting week, taking over Salão Tejo at the MEO Arena for an evening of hosted entertainment.`,`It functions as the informal wrap party for delegates, with the industry's commercial teams continuing conversations started on the show floor.`],[`Late-night entertainment programme`,`Sponsored bars and hosted areas`,`Guest list drawn from the week's delegates`,`Adjacent to the main conference venue`],[`Networking`],`Guest list and sponsor invitations; some passes bundled with conference tickets.`,`Salão Tejo at the MEO Arena, Parque das Nações, Lisbon.`,[`Commercial and BD teams`,`Affiliates and suppliers`]),"sbc-awards-lisbon":$
248(`SBC Events`,`The betting and gaming industry's flagship awards night`,[`The SBC Awards close Lisbon's betting week with a black-tie ceremony recognising operators, suppliers, affiliates and individuals across dozens of categories.`,`Shortlists are judged by an independent panel, and the night doubles as one of the largest single gatherings of senior industry figures in the calendar.`],[`Award categories spanning operator, supplier and affiliate work`,`Independent judging panel`,`Table hosting for teams and partners`,`Held at the MEO Arena alongside the summit`],[`Awards`,`Networking`],`Tables and individual seats sold in advance; entry to award categories is separate.`,`MEO Arena, Parque das Nações, Lisbon.`,[`Operator and supplier leadership`,`Affiliate businesses`]),"zambia-sports-betting-igaming-summit":$(`Eventus International`,`Zambia's dedicated betting and iGaming summit`,[`The Zambia Sports Betting & iGaming Summit brings together local operators, regulators and mobile money partners to work through licensing, taxation and responsible gambling.`,`Mobile-first betting and agent networks dominate the commercial discussion, alongside content and platform supply for the region.`],[`Zambian licensing and taxation panels`,`Mobile money and agent network sessions`,`Responsible gambling programming`,`Supplier exhibition and networking`],[`Regulation`,`Mobile payments`,`Retail and agents`,`Responsible gambling`],`Paid delegate passes; regulator and government attendance typically hosted.`,`InterContinental Hotel, Lusaka, close to Kenneth Kaunda International Airport.`,[`Zambian and regional operators`,`Regulators and government`]),"gefa-dakar":$(`GEFA — Gaming Expo Francophone Africa`,`Francophone Africa's gaming exhibition`,[`GEFA is aimed squarely at francophone West Africa, gathering operators, lottery bodies and suppliers in Dakar for a bilingual conference and exhibition.`,`Retail betting, mobile money and lottery distribution are the core commercial themes, with regulation discussed market by market.`],[`Francophone regulatory panels`,`Retail and agent distribution sessions`,`Mobile money and payments workshops`,`Supplier exhibition floor`],[`Regulation`,`Retail betting`,`Payments`,`Lottery`],`Paid delegate passes; exhibition packages for suppliers.`,`Dakar, around 45 minutes from Blaise Diagne International Airport.`,[`West African operators and lotteries`,`Regulators`]),"gaming-in-spain":$(`Gaming in Spain / Gaming in Holland`,`One-day briefing on the Spanish regulated market`,[`The Gaming in Spain conference is a single-day briefing on Spanish licensing, advertising restrictions and market performance, run in English for international operators.`,`It is a compact, policy-heavy event: regulators, lawyers and operator compliance leads make up much of the room.`],[`Regulator keynote and Q&A`,`Advertising and sponsorship rules sessions`,`Market data and performance review`,`Legal and compliance panels`],[`Regulation`,`Advertising rules`,`Market data`,`Compliance`],`Paid single-day delegate tickets.`,`Central Madrid venue, well served by metro and Barajas Airport links.`,[`Regulators and policy makers`,`Legal and compliance leads`]),"gat-bogota":$(`GAT — Gaming & Technology`,`GAT's Colombian conference and exhibition`,[`GAT Bogotá serves Colombia's mature regulated market, where Coljuegos licensing has supported one of Latin America's most developed online sectors.`,`The show pairs land-based supply with online platform, payments and affiliate content for operators across the Andean region.`],[`Coljuegos regulatory sessions`,`Online platform and content showcases`,`Payments and cash network exhibitors`,`Operator networking programme`],[`Regulation`,`Online gaming`,`Land-based`,`Payments`],`Paid delegate passes; trade entry available for verified operators.`,`Bogotá, around 30 minutes from El Dorado International Airport.`,[`Colombian operators`,`Regulators and legal advisers`]),"igf-east-africa":$(`iGaming Future (iGF)`,`East African gaming forum in Nairobi`,[`iGF East Africa gathers Kenyan, Ugandan and Tanzanian operators with suppliers and payment partners for two days of regional programming.`,`Mobile-first product, agent retail and taxation dominate the agenda, alongside responsible gambling and advertising standards.`],[`East African taxation and licensing panels`,`Mobile money integration sessions`,`Agent and retail distribution workshops`,`Supplier exhibition and networking`],[`Regulation`,`Mobile payments`,`Retail`,`Responsible gambling`],`Paid delegate passes with regional rates.`,`Carnivore Grounds, Nairobi, around 30 minutes from Jomo Kenyatta International Airport.`,[`East African operators`,`Mobile money providers`]),"affhub-amsterdam":$(`AffHub`,`Affiliate conference and expo near Amsterdam`,[`AffHub's Amsterdam edition is an affiliate-led conference combining a compact expo with structured networking for gambling and finance traffic.`,`Sessions cover SEO, content scaling, tracking and how affiliates work with operators across Europe's regulated markets.`],[`SEO and content scaling sessions`,`Affiliate programme exhibition`,`One-to-one meeting scheduling`,`Evening networking events`],[`Affiliate acquisition`,`SEO`,`Paid media`,`Compliance for affiliates`],`Paid delegate tickets; affiliate passes on application.`,`EXPO Greater Amsterdam, around 25 minutes from Schiphol Airport.`,[`Affiliates and media buyers`,`Affiliate managers`]),"spark-sofia":$(`SPARK`,`Software, payments, affiliates and revenue in one week`,[`SPARK gathers platform, payments and affiliate businesses in Sofia, a major development hub for the gaming supply chain.`,`The programme is built for commercial and technical teams together: integrations, payment routing, affiliate economics and revenue operations.`],[`Payments and PSP routing sessions`,`Platform and integration workshops`,`Affiliate and revenue operations tracks`,`Co-located technology stream`],[`Payments`,`Platform and software`,`Affiliates`,`Revenue operations`],`Paid delegate passes; supplier exhibition packages.`,`Sofia, around 20 minutes from Sofia Airport.`,[`Platform and payment providers`,`Affiliate businesses`]),"sbc-summit-tbilisi":$
248(`SBC Events`,`SBC's summit for the Caucasus and CIS betting markets`,[`SBC Summit Tbilisi focuses on betting and gaming across Georgia, Armenia, Azerbaijan and neighbouring CIS markets, where online betting is growing fast.`,`Programming covers regulation, payments, sportsbook trading and player acquisition tuned to the region.`],[`Regional regulatory panels`,`Sportsbook trading and odds sessions`,`Payments and crypto discussion`,`Operator-supplier networking`],[`Regulation`,`Sportsbook`,`Payments`,`Marketing`],`Paid delegate passes with regional and group pricing.`,`Sheraton Grand Tbilisi Metechi Palace, around 30 minutes from Tbilisi International Airport.`,[`CIS and Caucasus operators`,`Trading and odds teams`]),"pgri-lottery-expo-nashville":$(`Public Gaming Research Institute (PGRI)`,`US lottery leadership conference and expo`,[`PGRI's Lottery Expo brings US lottery directors and senior staff together with suppliers for a programme focused on sales growth, digital play and responsible gambling.`,`The event is smaller and more discussion-led than the large trade shows, which makes it a practical forum for lottery policy and product debate.`],[`Lottery director keynotes`,`iLottery and digital sales sessions`,`Retail and instant product workshops`,`Supplier exhibition`],[`Lottery operations`,`Digital play`,`Retail`,`Responsible gambling`],`Paid delegate registration; lottery staff often hosted.`,`Nashville, Tennessee, close to Nashville International Airport.`,[`US lotteries`,`Lottery suppliers`]),"egr-italy-awards":$(`EGR (Pageant Media)`,`Italy's online gaming awards and market briefing`,[`EGR Italy pairs a daytime briefing on the Italian regulated market with an evening awards ceremony recognising operators, suppliers and affiliates active in Italy.`,`Content focuses on ADM licensing, the advertising ban, retail-online convergence and market share movements.`],[`ADM licensing and policy sessions`,`Advertising restriction workshops`,`Awards ceremony for Italian market work`,`Senior operator networking`],[`Regulation`,`Marketing under restrictions`,`Product`,`Awards`],`Paid briefing passes; awards tables and seats sold separately.`,`Rome Cavalieri, around 40 minutes from Fiumicino Airport.`,[`Italian operators and suppliers`,`Regulators and legal advisers`]),"scandinavian-nordic-gaming-show":$(`Scandinavian & Nordic Gaming Show`,`Nordic-focused gaming conference and exhibition`,[`SNGS covers the Nordic regulated markets — Sweden, Denmark, Norway and Finland — where licensing, channelisation and responsible gambling rules differ sharply.`,`The agenda pairs regulatory analysis with practical sessions on CRM, bonusing limits and payments in the region.`],[`Nordic licensing and channelisation panels`,`Bonus and marketing restriction sessions`,`Payments and Trustly-style flows`,`Supplier exhibition and networking`],[`Regulation`,`CRM and retention`,`Payments`,`Responsible gambling`],`Paid delegate passes with early-bird pricing.`,`Copenhagen, around 20 minutes from Copenhagen Airport.`,[`Nordic operators`,`Regulators and compliance leads`]),"hipther-warsaw-summit":$(`HIPTHER (formerly European Gaming Media)`,`Polish and CEE summit with the EiGE Awards`,[`The HIPTHER Warsaw Summit combines a CEE-focused conference with the European iGaming Excellence (EiGE) Awards in a single evening programme.`,`Sessions cover Polish regulation, CEE market entry, technology supply and responsible gambling across the region.`],[`Polish and CEE regulatory panels`,`Technology and platform sessions`,`EiGE Awards ceremony`,`Networking reception`],[`Regulation`,`Technology`,`Marketing`,`Awards`],`Paid delegate passes; award entries submitted separately.`,`InterContinental Warsaw, central city, 20 minutes from Chopin Airport.`,[`CEE operators and suppliers`,`Regulators and legal advisers`]),"gm-events-mexico":$(`G&M Events`,`Mexican gaming and betting conference`,[`G&M Events Mexico gathers Mexican operators, casino groups and suppliers to work through the country's federal permit structure and its long-awaited regulatory modernisation.`,`Commercial sessions cover online launches, cash-based payments and player acquisition in a market dominated by a handful of large permit holders.`],[`Federal permit and reform panels`,`Online launch case studies`,`C
248ash payments and OXXO-style networks`,`Operator and supplier networking`],[`Regulation`,`Online gaming`,`Payments`,`Marketing`],`Paid delegate passes.`,`Mexico City, with venues typically 40 minutes from Benito Juárez International Airport.`,[`Mexican permit holders and operators`,`Regulators and legal advisers`]),"spice-international-png":$(`SPiCE (Eventus International)`,`Asia Pacific gaming forum in Papua New Guinea`,[`SPiCE International in Port Moresby focuses on Pacific and Southeast Asian gaming markets, from land-based licensing to emerging online frameworks.`,`Delegates are a mix of regional operators, government bodies and suppliers exploring less-crowded Asia Pacific territories.`],[`Pacific licensing and policy sessions`,`Land-based operations workshops`,`Payments and connectivity panels`,`Government and operator networking`],[`Regulation`,`Land-based operations`,`Online entry`,`Payments`],`Paid delegate passes; government attendance usually hosted.`,`Port Moresby, close to Jacksons International Airport.`,[`Pacific operators`,`Government and regulators`]),"world-lottery-summit-sydney":$(`World Lottery Association & Australasian Gaming Council partners`,`The global lottery sector's biennial summit`,[`The World Lottery Summit is the WLA's flagship gathering, combining a large supplier exhibition with a programme on lottery strategy, digital play and responsible gambling standards.`,`State lotteries, charitable operators and sports lotteries from every region attend, making it the widest lottery audience in the calendar.`],[`Global lottery exhibition floor`,`Digital and iLottery strategy sessions`,`WLA responsible gaming certification content`,`Regional lottery association meetings`],[`Lottery strategy`,`Digital play`,`Responsible gambling`,`Technology`],`Paid delegate registration; WLA members receive preferential rates.`,`ICC Sydney at Darling Harbour, around 25 minutes from Sydney Airport.`,[`State and national lotteries`,`Lottery technology suppliers`]),"prediction-markets-summit-europe":$(`Prediction Markets Summit`,`Europe's dedicated prediction markets gathering`,[`The Prediction Markets Summit Europe examines event contracts and prediction platforms as they collide with established betting regulation in Europe.`,`Sessions bring together exchange operators, regulators, lawyers and betting executives on market structure, licensing and consumer protection.`],[`Event contract regulation panels`,`Exchange and market-making sessions`,`Licensing and legal analysis`,`Operator and investor networking`],[`Prediction markets`,`Regulation`,`Market structure`,`Technology`],`Paid delegate passes; limited capacity.`,`Gibraltar, a short walk from the airport and the Spanish border.`,[`Exchange and prediction platforms`,`Regulators and legal advisers`,`Investors and analysts`]),"igi-expo-sao-paulo":$(`IGI Expo`,`Brazilian iGaming exhibition in São Paulo`,[`IGI Expo gathers Brazilian operators, agents and suppliers in São Paulo as the regulated market matures under federal licensing.`,`The floor is weighted towards platforms, content aggregators and payment providers serving newly licensed Brazilian brands.`],[`Platform and aggregator exhibition`,`Brazilian licensing compliance sessions`,`Pix and payments panels`,`Affiliate and agent networking`],[`Brazilian regulation`,`Platforms`,`Payments`,`Affiliates`],`Paid delegate passes; supplier stand packages.`,`Blue Tree Premium Morumbi, São Paulo, around 40 minutes from Guarulhos Airport.`,[`Brazilian operators and agents`,`Platform and content suppliers`]),"nags-conference-sydney":$(`National Association for Gambling Studies (NAGS)`,`Australia's academic and treatment-led gambling conference`,[`The NAGS annual conference is a research and clinical event rather than a commercial one, presenting new work on gambling harm, treatment and policy.`,`Academics, clinicians, regulators and industry safer-gambling teams use it to review evidence on harm minimisation and advertising.`],[`Peer-reviewed research presentations`,`Treatment and clinical practice sessions`,`Policy and advertising evidence reviews`,`Lived-experience contributions`],[`Research`,`Treatment`,`Policy`,`Harm minimisation`],`Paid academic registration with student and member rates.`,`Sydney, with venues close to the CBD and Sydney Airport links.`,[`Researchers and academics`,`Clinicians and treatment providers`,`Regulators and policy makers`]),"worldgaming-leaders-summit-miami":$(`WorldGaming Leaders' Summit`,`Executive-level summit for the Americas`,[`The WorldGaming Leaders' Summit is pitched at senior leadership across the Americas, mixing land-based, online and lottery executives in a single room.`,`The agenda leans towards strategy, capital and consolidation rather than day-to-day operations.`],[`C-level keynotes and fireside sessions`,`M&A and investment discussion`,`Cross-border expansion panels`,`Hosted executive networking`],[`Strategy`,`Investment and M&A`,`Regulation`,`Technology`],`Invitation and paid executive passes.`,`Miami, Florida, around 25 minutes from Miami International Airport.`,[`C-level executives`,`Investors, VCs and M&A advisers`]),"gat-santo-domingo":$(`GAT — Gaming & Technology`,`GAT's Dominican Republic edition`,[`GAT Santo Domingo serves the Dominican Republic's casino and sports betting sector, one of the Caribbean's most active gaming markets.`,`Exhibitors cover slots, live casino, sportsbook platforms and payment services for Caribbean and Central American operators.`],[`C
248asino floor technology showcases`,`Sports betting platform demonstrations`,`Regional regulatory sessions`,`Operator networking programme`],[`Land-based operations`,`Sportsbook`,`Payments`,`Regulation`],`Paid delegate passes; trade entry for verified operators.`,`Santo Domingo, around 40 minutes from Las Américas International Airport.`,[`Caribbean casino operators`,`Regional regulators`]),"next-io-retreat-latam":$(`NEXT.io`,`Small-format executive retreat for Latin America`,[`NEXT.io Retreat Latam is a hosted, small-group retreat where senior operator and supplier executives working on Latin American growth meet away from the trade-show floor.`,`The format prioritises scheduled meetings, workshops and shared activities over stage content.`],[`Curated one-to-one meeting programme`,`Executive workshops on Latam expansion`,`Hosted hospitality and activities`,`Small, vetted delegate list`],[`Latam expansion`,`Payments`,`Product`,`Partnerships`],`Invitation-led with paid delegate and sponsor packages.`,`Cancún, Mexico, with resort venues close to Cancún International Airport.`,[`Senior operator executives`,`Suppliers and investors`]),"vixio-global-regulatory-awards":$(`Vixio Regulatory Intelligence`,`Awards for compliance and regulatory work in gambling and payments`,[`The Vixio Global Regulatory Awards recognise compliance teams, regulators and advisers across gambling and payments — a rare awards night focused on the regulatory function.`,`Categories cover compliance teams, technology, individual contribution and regulatory best practice.`],[`Compliance and regulatory award categories`,`Independent judging panel`,`Table hosting for compliance teams`,`London black-tie format`],[`Compliance`,`Regulation`,`Awards`],`Tables and individual seats sold in advance; entries submitted earlier in the year.`,`De Vere Grand Connaught Rooms, central London.`,[`Compliance and legal teams`,`Regulators and policy makers`]),"gm-events-ecuador":$(`G&M Events`,`Ecuadorian gaming and betting briefing`,[`G&M Events Ecuador focuses on a market in transition, where online betting activity has grown ahead of a settled licensing framework.`,`Sessions cover likely regulatory routes, payments and how international operators can work compliantly in the country.`],[`Regulatory outlook panels`,`Payments and local rails sessions`,`Market entry case studies`,`Operator networking`],[`Regulation`,`Market entry`,`Payments`,`Marketing`],`Paid delegate passes.`,`Quito, around 45 minutes from Mariscal Sucre International Airport.`,[`Andean operators`,`Regulators and legal advisers`]),"sigma-south-asia-bangkok":$(`SiGMA Group`,`SiGMA's South and Southeast Asia edition`,[`SiGMA South Asia gathers Asian operators, affiliates and suppliers in Bangkok, with a strong focus on emerging regulation in Thailand and the wider region.`,`The show combines a large exhibition floor with startup pitching, affiliate programming and regulatory panels.`],[`Large Asian supplier exhibition`,`Regional regulatory and policy panels`,`Affiliate and marketing programming`,`Startup pitch and investment sessions`],[`Regulation`,`Affiliates`,`Technology`,`Investment`],`Free and paid pass tiers; affiliate and startup programmes on application.`,`Bangkok, around 45 minutes from Suvarnabhumi Airport.`,[`Asian operators and affiliates`,`Suppliers and startups`]),"lottery-cx-summit-vienna":$(`HIPTHER`,`Customer experience summit for lotteries`,[`The Lottery CX Summit looks specifically at player experience in lottery: digital onboarding, retail-to-online journeys, loyalty and responsible play messaging.`,`It runs alongside a sister AI summit in Vienna, giving lottery teams access to both agendas.`],[`Digital onboarding and UX sessions`,`Retail-to-online journey workshops`,`Loyalty and CRM case studies`,`Co-located AI in Gaming Summit`],[`Customer experience`,`Digital play`,`CRM`,`Responsible gambling`],`Paid delegate passes; combined tickets with the AI summit are usually offered.`,`Vienna, around 25 minutes from Vienna International Airport.`,[`Lottery operators`,`CX and CRM teams`]),"ai-in-gaming-summit-vienna":$(`HIPTHER`,`Applied AI for gaming and betting teams`,[`The AI in Gaming Summit focuses on practical deployment: model-driven personalisation, fraud and AML detection, trading automation and safer gambling monitoring.`,`Sessions pair vendor demonstrations with operator case studies and the compliance implications of the EU AI Act.`],[`Personalisation and recommendation case studies`,`Fraud, AML and risk detection sessions`,`EU AI Act compliance workshops`,`Co-located Lottery CX Summit`],[`AI and machine learning`,`Risk and fraud`,`Personalisation`,`Regulation`],`Paid delegate passes; combined tickets with the lottery summit are usually offered.`,`Vienna, around 25 minutes from Vienna International Airport.`,[`Data, BI and analytics teams`,`AI and technology vendors`]),"nclgs-winter-meeting":$(`National Council of Legislators from Gaming States (NCLGS)`,`US state legislators and regulators on gaming policy`,[`The NCLGS Winter Meeting brings state legislators, regulators and industry together to work through US gam
248ing policy — sports betting, iGaming, sweepstakes and prediction markets.`,`Sessions are policy-first, with committee meetings on responsible gaming, taxation and emerging verticals.`],[`Legislator committee sessions`,`Sports betting and iGaming policy debate`,`Sweepstakes and prediction market panels`,`Responsible gaming committee work`],[`Policy`,`Regulation`,`Responsible gambling`,`Taxation`],`Paid registration; legislator attendance is supported by the organisation.`,`JW Marriott Savannah Plant Riverside District, Savannah, Georgia.`,[`State legislators and regulators`,`Policy and government affairs teams`]),"awsummit-thailand":$(`Affiliate World / AWSummit`,`Affiliate retreat on the Thai coast`,[`AWSummit Thailand is a retreat-style affiliate event on Koh Chang, mixing sessions with extended networking for Asian and global traffic teams.`,`Content covers app traffic, SEO, and monetising Asian gambling and finance verticals.`],[`App and push traffic sessions`,`Asian market monetisation workshops`,`Extended informal networking`,`Sponsor hosted activities`],[`Affiliate acquisition`,`App traffic`,`SEO`,`Asian markets`],`Paid tickets including accommodation packages in some tiers.`,`Koh Chang, reached via Trat Airport or a road transfer from Bangkok.`,[`Affiliates and media buyers`,`Traffic networks`]),"european-igaming-awards":$(`European iGaming Awards`,`Awards night opening Barcelona's gaming week`,[`The European iGaming Awards run at the start of Barcelona's gaming week, recognising operators, suppliers and affiliates working across European markets.`,`It doubles as an early-week networking fixture for delegates arriving for the main exhibition.`],[`European award categories`,`Independent judging`,`Table hosting for teams`,`Timed with Barcelona's gaming week`],[`Awards`,`Networking`],`Tables and individual seats sold in advance; entries submitted in advance.`,`Central Barcelona venue, close to the Fira Gran Via exhibition site.`,[`Operator and supplier leadership`,`Affiliate businesses`]),"big-africa-summit":$(`BiG Africa Summit (Eventus International)`,`Southern African betting and gaming summit`,[`The BiG Africa Summit gathers southern African operators, regulators and suppliers in Botswana, covering licensing, retail betting and mobile-first product.`,`The agenda combines policy sessions with practical workshops on payments, agent networks and responsible gambling.`],[`Southern African licensing panels`,`Retail and agent network sessions`,`Mobile payments workshops`,`Supplier exhibition and networking`],[`Regulation`,`Retail betting`,`Payments`,`Responsible gambling`],`Paid delegate passes; regulator attendance usually hosted.`,`Gaborone, close to Sir Seretse Khama International Airport.`,[`Southern African operators`,`Regulators and government`]),"sigma-africa-cape-town":$(`SiGMA Group`,`SiGMA's African exhibition and conference`,[`SiGMA Africa brings the SiGMA format to Cape Town, combining a supplier exhibition with African regulatory and affiliate programming.`,`Operators across South Africa, Nigeria, Kenya and Ghana use it as a single point to meet platform, content and payment suppliers.`],[`Pan-African supplier exhibition`,`Regulatory panels by market`,`Affiliate and marketing programming`,`Startup pitch and investment sessions`],[`Regulation`,`Affiliates`,`Payments`,`Technology`],`Free and paid pass tiers; affiliate applications reviewed.`,`Cape Town, around 25 minutes from Cape Town International Airport.`,[`African operators and affiliates`,`Suppliers and investors`]),"mega-summit-mexico":$(`MEGA Summit`,`Mexican and Central American gaming summit`,[`The MEGA Summit focuses on Mexico and Central America, bringing permit holders, online brands and suppliers together as the region's online market grows.`,`Sessions cover reform prospects, cash payment rails, retail conversion and player acquisition.`],[`Mexican reform and permit panels`,`Cash and voucher payment sessions`,`Retail-to-online conversion workshops`,`Supplier exhibition and networking`],[`Regulation`,`Payments`,`Marketing`,`Product`],`Paid delegate passes.`,`Mexico City, around 40 minutes from Benito Juárez International Airport.`,[`Mexican and Central American operators`,`Regulators and legal advisers`]),"africa-gaming-expo-lagos":$(`Africa Gaming Expo`,`Nigeria's gaming exhibition and conference`,[`The Africa Gaming Expo in Lagos is aimed at Nigeria's fast-moving betting sector, where mobile play and agent retail sit side by side.`,`Programming addresses state-by-state licensing, payments, responsible gambling and content supply for local brands.`],[`Nigerian licensing and tax panels`,`Agent retail and mobile sessions`,`Payments and settlement workshops`,`Supplier exhibition floor`],[`Regulation`,`Retail and agents`,`Payments`,`Content supply`],`Paid delegate passes with local rates.`,`Lagos, with venues on the mainland and island reachable from Murtala Muhammed Airport.`,[`Nigerian operators and agents`,`Regulators`]),"global-game-connect-2027":$
248(`Global Game Connect`,`South Asian gaming conference in Sri Lanka`,[`Global Game Connect gathers South Asian operators, suppliers and investors at Cinnamon Life in Colombo, covering both land-based resorts and online play.`,`The agenda spans licensing across South Asia, tourism-led casino development and digital product supply.`],[`South Asian licensing panels`,`Integrated resort development sessions`,`Online platform and content showcases`,`Investor and operator networking`],[`Regulation`,`Land-based resorts`,`Online gaming`,`Investment`],`Paid delegate passes; exhibition packages for suppliers.`,`Cinnamon Life, Colombo, around 45 minutes from Bandaranaike International Airport.`,[`South Asian operators`,`Investors and developers`]),"hipther-ai-summit-prague":$(`HIPTHER`,`AI-focused day alongside Prague's gaming week`,[`The HIPTHER AI Summit runs beside the Prague gaming week, concentrating on how gaming operators put AI into production across marketing, risk and safer gambling.`,`Sessions favour deployed case studies over vendor theory, with compliance framing from the EU AI Act.`],[`Operator AI case studies`,`Risk, fraud and AML model sessions`,`Safer gambling detection workshops`,`Co-located with the Prague gaming week`],[`AI and machine learning`,`Risk and fraud`,`Safer gambling`,`Regulation`],`Paid delegate passes; combined tickets with the Prague summit are usually offered.`,`OREA Hotel Andel's, Prague, 25 minutes from Václav Havel Airport.`,[`Data and analytics teams`,`AI and technology vendors`]),"gat-expo-cartagena":$(`GAT — Gaming & Technology`,`GAT's flagship Colombian gathering in Cartagena`,[`GAT Expo Cartagena is the longest-running date on the GAT circuit, drawing Latin American operators to the Caribbean coast for three days of exhibition and conference sessions.`,`The floor covers land-based cabinets, live casino, sportsbook platforms and payment services for the region.`],[`Three-day supplier exhibition`,`Latin American regulatory panels`,`Sportsbook and online sessions`,`Extensive networking programme`],[`Land-based operations`,`Online gaming`,`Payments`,`Regulation`],`Paid delegate passes; trade entry for verified operators.`,`Cartagena, around 20 minutes from Rafael Núñez International Airport.`,[`Latin American operators`,`Regulators and suppliers`]),"next-io-focus-emerging-verticals":$(`NEXT.io`,`One-day focus event on gaming's newer verticals`,[`NEXT.io Focus: Emerging Verticals examines prediction markets, sweepstakes, social casino and other formats sitting alongside licensed gambling in the US.`,`The single-day format is built for executives assessing whether and how to enter these verticals.`],[`Prediction markets and event contracts`,`Sweepstakes and social casino models`,`Legal and regulatory risk sessions`,`Investor perspectives`],[`Emerging verticals`,`Regulation`,`Investment`,`Product`],`Paid delegate passes; often bundled with the New York summit.`,`Convene Hudson Yards, Manhattan, New York.`,[`Operator strategy teams`,`Investors and legal advisers`]),"next-io-summit-new-york":$(`NEXT.io`,`NEXT.io's US summit for operators and investors`,[`NEXT.io Summit New York gathers US-facing operators, suppliers and investors for two days of strategy, product and regulatory content in Manhattan.`,`The event's editorial roots keep the agenda analytical, with a strong investment and M&A thread.`],[`US market strategy sessions`,`Investment and M&A programming`,`Product and technology panels`,`Curated networking meetings`],[`Strategy`,`Investment`,`Product`,`Regulation`],`Paid delegate passes; sponsor and meeting packages available.`,`Convene Hudson Yards, Manhattan, New York.`,[`US operators and suppliers`,`Investors, VCs and M&A advisers`]),"sports-betting-east-africa-summit":$(`Eventus International`,`East African sports betting summit`,[`The Sports Betting East Africa+ Summit moves between regional capitals, gathering operators, regulators and payment partners from Ethiopia, Kenya, Uganda and Tanzania.`,`Taxation, mobile money and agent retail dominate the commercial agenda, with responsible gambling running throughout.`],[`Regional taxation and licensing panels`,`Mobile money integration sessions`,`Agent and retail distribution workshops`,`Responsible gambling programming`],[`Regulation`,`Mobile payments`,`Retail and agents`,`Responsible gambling`],`Paid delegate passes; regulator attendance usually hosted.`,`Addis Ababa, around 20 minutes from Bole International Airport.`,[`East African operators`,`Regulators and mobile money providers`]),"igaming-afrika-summit":$(`iGaming AFRIKA`,`Pan-African summit and expo in Nairobi`,[`The iGaming AFRIKA Summit has grown into one of the continent's largest gatherings, pairing an exhibition with programming on African licensing, payments and content.`,`Delegates come from operators, agents, affiliates and mobile money providers across East, West and Southern Africa.`],[`Pan-African exhibition floor`,`Market-by-market regulatory sessions`,`Affiliate and marketing programming`,`Mobile money and payments panels`],[`Regulation`,`Payments`,`Affiliates`,`Content supply`],`Paid delegate passes; free trade tiers are often offered.`,`Sarit Expo Centre, Westlands, Nairobi, around 40 minutes from Jomo Kenyatta International Airport.`,[`African operators and affiliates`,`Mobile money providers`]),"igaming-germany-munich":$(`iGaming Germany`,`One-day briefing on the German regulated market`,[`iGaming Germany is a focused briefing on the German state treaty regime — deposit limits, slot restrictions, channelisation and enforcement against unlicensed play.`,`The audience is heavy with compliance, legal and commercial leads working under one of Europe's strictest frameworks.`],[`GGL regulator sessions`,`Channelisation and enforcement analysis`,`Payment blocking and compliance workshops`,`Operator and legal networking`],[`Regulation`,`Compliance`,`Payments`,`Market data`],`Paid single-day delegate tickets.`,`Munich, around 40 minutes from Munich Airport.`,[`German-facing operators`,`Regulators, legal and compliance leads`]),"gaming-retail-summit-dusseldorf":$(`Gaming Retail Summit`,`Retail and land-based gaming in German-speaking Europe`,[`The Gaming Retail Summit covers arcades, betting shops and retail gaming across Germany, Austria and Switzerland, where regional rules shape every location.`,`Sessions run from machine compliance and cashless play to staffing, player protection and retail-online convergence.`],[`Arcade and betting shop compliance`,`Cashless and payment terminal sessions`,`Player protection in retail`,`Retail-to-online convergence panels`],[`Retail operations`,`Regulation`,`Payments`,`Player protection`],`Paid delegate passes with operator group rates.`,`Düsseldorf, around 20 minutes from Düsseldorf Airport.`,[`Retail and arcade operators`,`Machine and terminal suppliers`]),"gat-expo-mexico":$(`GAT — Gaming & Technology`,`GAT's Mexican exhibition`,[`GAT Expo México brings the GAT exhibition model to Mexico City, serving casino groups, route operators and the country's growing online sector.`,`Suppliers use it to reach permit holders and their commercial partners in a single week.`],[`C
248asino and cabinet exhibition`,`Online platform showcases`,`Mexican regulatory panels`,`Operator networking programme`],[`Land-based operations`,`Online gaming`,`Payments`,`Regulation`],`Paid delegate passes; trade entry for verified operators.`,`Centro de Convenciones Santa Fe, Mexico City.`,[`Mexican operators and permit holders`,`Suppliers and distributors`]),"igaming-business-zone-ibiza":$(`iGaming Business Zone`,`Summer networking conference in Ibiza`,[`The iGaming Business Zone pairs a short conference programme with an extended networking format in Ibiza, aimed at affiliates, operators and suppliers closing deals before the summer break.`,`Sessions are compact; the value sits in scheduled meetings and hosted evening events.`],[`Compact conference programme`,`Scheduled one-to-one meetings`,`Hosted evening networking`,`Affiliate and operator matchmaking`],[`Affiliates`,`Partnerships`,`Marketing`,`Payments`],`Paid delegate passes; sponsor packages include hospitality.`,`Ibiza, Spain, close to Ibiza Airport.`,[`Affiliates and operators`,`Suppliers and BD teams`])},d_=[`Conference`,`Summit`,`Awards`,`Expo`,`Webinar`,`Workshop`],f_=[{slug:`tes-affiliate-conference-prague`,name:`TES Affiliate Conference Prague`,kind:`Conference`,venue:`Prague Congress Centre`,city:`Prague`,country:`Czech Republic`,start:`2026-09-25`,end:`2026-09-28`,attendees:`2,000+`,tags:[`Affiliates`,`Networking`,`Europe`],url:`https://tesaffiliateconferences.com/`},{slug:`g2e-las-vegas`,name:`Global Gaming Expo (G2E)`,kind:`Expo`,venue:`The Venetian Expo`,city:`Las Vegas`,country:`United States`,start:`2026-09-28`,end:`2026-10-01`,attendees:`25,000+`,tags:[`Casino`,`North America`,`Suppliers`],url:`https://www.globalgamingexpo.com/`},{slug:`sbc-summit-lisbon`,name:`SBC Summit Lisbon`,kind:`Summit`,venue:`Feira Internacional de Lisboa & MEO Arena`,city:`Lisbon`,country:`Portugal`,start:`2026-09-29`,end:`2026-10-01`,attendees:`35,000 targeted`,tags:[`Sports Betting`,`Operators`,`Suppliers`],url:`https://sbcevents.com/sbc-summit/`},{slug:`sbc-affiliate-leaders-summit`,name:`SBC Affiliate Leaders Summit`,kind:`Summit`,venue:`Feira Internacional de Lisboa`,city:`Lisbon`,country:`Portugal`,start:`2026-09-29`,end:`2026-10-01`,attendees:`Co-located with SBC Summit`,tags:[`Affiliates`,`Awards`],url:`https://sbcevents.com/affiliate-leaders-summit/`},{slug:`next-retreat-europe-cyprus`,name:`NEXT Retreat Europe`,kind:`Summit`,venue:`Cap St Georges Resort`,city:`Peyia`,country:`Cyprus`,start:`2026-10-12`,end:`2026-10-14`,attendees:`100 (invite-only)`,tags:[`Operators`,`Suppliers`,`Invite-only`],url:`https://next.io/next-retreats/europe-cyprus/`},{slug:`sigma-world-rome`,name:`SiGMA World Rome`,kind:`Expo`,venue:`Fiera Roma`,city:`Rome`,country:`Italy`,start:`2026-11-02`,end:`2026-11-05`,attendees:`30,000+`,tags:[`Operators`,`Affiliates`,`Italy`],url:`https://sigma.world/summits/world/`},{slug:`sigma-europe-awards-rome`,name:`SiGMA Awards Rome`,kind:`Awards`,venue:`Fiera Roma`,city:`Rome`,country:`Italy`,start:`2026-11-03`,end:`2026-11-03`,tags:[`Awards`,`B2B`],url:`https://sigma.world/summits/world/`},{slug:`gaming-in-germany-conference`,name:`Gaming in Germany Conference`,kind:`Conference`,venue:`DoubleTree by Hilton Ku'damm`,city:`Berlin`,country:`Germany`,start:`2026-11-10`,end:`2026-11-10`,tags:[`Regulation`,`Compliance`,`Germany`],url:`https://www.gamingin.eu/germany/conference2026`},{slug:`ice-barcelona-2027`,name:`ICE Barcelona`,kind:`Expo`,venue:`Fira Barcelona Gran Via`,city:`Barcelona`,country:`Spain`,start:`2027-01-18`,end:`2027-01-20`,attendees:`65,000+`,tags:[`Global Flagship`,`Suppliers`,`Regulators`],url:`https://www.icegaming.com/`},{slug:`igb-affiliate-barcelona-2027`,name:`iGB Affiliate Barcelona`,kind:`Conference`,venue:`Fira Barcelona Gran Via`,city:`Barcelona`,country:`Spain`,start:`2027-01-19`,end:`2027-01-21`,tags:[`Affiliates`,`Performance Marketing`],url:`https://www.igbaffiliate.com/`},{slug:`sigma-asia-2027`,name:`SiGMA Asia Summit`,kind:`Summit`,venue:`TBA`,city:`Manila`,country:`Philippines`,start:`2027-02-15`,end:`2027-02-17`,attendees:`20,000+`,tags:[`Asia`,`Operators`,`Regulation`],url:`https://sigma.world/summits/asia/`}
248,{slug:`sbc-summit-rio-2027`,name:`SBC Summit Rio`,kind:`Summit`,venue:`Riocentro`,city:`Rio de Janeiro`,country:`Brazil`,start:`2027-03-02`,end:`2027-03-04`,attendees:`20,000+`,tags:[`Brazil`,`LATAM`,`Sports Betting`],url:`https://sbcevents.com/en/sbc-summit-rio/`},{slug:`sigma-eurasia-2027`,name:`SiGMA Eurasia`,kind:`Summit`,venue:`Dubai World Trade Centre`,city:`Dubai`,country:`UAE`,start:`2027-03-15`,end:`2027-03-17`,attendees:`14,000+`,tags:[`Emerging Markets`,`Operators`,`MENA`],url:`https://sigma.world/summits/eurasia/`},{slug:`prague-gaming-tech-summit-2027`,name:`Prague Gaming & TECH Summit`,kind:`Summit`,venue:`OREA Hotel Andel's Prague`,city:`Prague`,country:`Czech Republic`,start:`2027-03-23`,end:`2027-03-24`,attendees:`400+`,tags:[`CEE`,`Regulation`,`Technology`],url:`https://hipther.com/`},{slug:`bis-sigma-south-america-2027`,name:`BiS SiGMA South America`,kind:`Expo`,venue:`Transamerica Expo Center`,city:`São Paulo`,country:`Brazil`,start:`2027-04-05`,end:`2027-04-08`,attendees:`17,500+`,tags:[`Brazil`,`LATAM`,`Affiliates`],url:`https://sigma.world/summits/south-america/`},{slug:`sigma-europe-malta-2027`,name:`SiGMA Europe Malta`,kind:`Expo`,venue:`Malta Fairs & Conventions Centre`,city:`Ta' Qali`,country:`Malta`,start:`2027-05-03`,end:`2027-05-05`,attendees:`25,000+`,tags:[`Malta`,`Operators`,`Suppliers`],url:`https://sigma.world/summits/europe/`},{slug:`sbc-summit-lisbon-2027`,name:`SBC Summit Lisbon 2027`,kind:`Summit`,venue:`Feira Internacional de Lisboa`,city:`Lisbon`,country:`Portugal`,start:`2027-09-21`,end:`2027-09-23`,attendees:`35,000+`,tags:[`Sports Betting`,`Operators`],url:`https://sbcevents.com/sbc-summit/`},{slug:`g2e-las-vegas-2027`,name:`Global Gaming Expo (G2E) 2027`,kind:`Expo`,venue:`The Venetian Expo`,city:`Las Vegas`,country:`United States`,start:`2027-09-27`,end:`2027-09-30`,attendees:`25,000+`,tags:[`Casino`,`North America`,`Suppliers`],url:`https://www.globalgamingexpo.com/`},...c_].sort((e,t)=>e.start.localeCompare(t.start)||e.name.localeCompare(t.name)),p_=[`SBC Events`,`SiGMA`,`iGB Live`,`ICE Gaming`,`AffPapa`,`Eventus International`],m_=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],h_=m_.map(e=>e.slice(0,3));function g_(e){let t=e.split(`-`).map(Number);return new Date(Date.UTC(t[0]??1970,(t[1]??1)-1,t[2]??1))}function __(e){let t=g_(e);return`${m_[t.getUTCMonth()]} ${t.getUTCFullYear()}`}function v_(e){return h_[g_(e).getUTCMonth()]??``}function y_(e){return String(g_(e).getUTCDate())}function b_(e,t){let n=g_(e),r=g_(t),i=h_[n.getUTCMonth()],a=h_[r.getUTCMonth()];return e===t?`${i} ${n.getUTCDate()}, ${n.getUTCFullYear()}`:i===a?`${i} ${n.getUTCDate()}–${r.getUTCDate()}, ${r.getUTCFullYear()}`:`${i} ${n.getUTCDate()} – ${a} ${r.getUTCDate()}, ${r.getUTCFullYear()}`}function x_(e){let t=[];for(let n of e){let e=__(n.start),r=t[t.length-1];r&&r.label===e?r.events.push(n):t.push({label:e,events:[n]})}return t}var S_={"tes-affiliate-conference-prague":{organiser:`TES Affiliate Conferences`,tagline:`Europe's longest-running affiliate networking week`,overview:[`TES Prague is built around deal-making rather than stage time. The format pairs a compact exhibition floor with a week of hosted meet-ups, so affiliates, operators and networks can work through partnership pipelines face to face.`,`Expect a heavy affiliate contingent from casino, sportsbook, crypto and finance verticals, alongside affiliate managers from most tier-one European brands.`],highlights:[`Affiliate speed-networking sessions across all four days`,`Sponsor lounges dedicated to one-to-one meetings`,`Late-night networking parties hosted by major networks`,`Compact expo floor focused on affiliate programmes`],whoAttends:[`Super affiliates and media buyers`,`Affiliate managers`,`Networks and aggregators`,`Payment and SEO suppliers`,`C-level executives and founders`,`Commercial and BD directors`,`Marketing and acquisition leads`,`CRM and retention managers`,`Affiliate and partnership managers`,`Product and platform teams`,`Game studios and content aggregators`,`Sportsbook and trading teams`,`Payment providers and PSPs`,`Compliance, legal and AML professionals`],tracks:[`Affiliate acquisition`,`SEO and content`,`Paid media`,`Compliance for affiliates`],ticketing:`Paid delegate passes with early-bird tiers; affiliate applications are reviewed before approval.`,travel:`Prague Congress Centre sits on the Vyšehrad metro line, roughly 30 minutes from Václav Havel Airport.`},"g2e-las-vegas":{organiser:`American Gaming Association & RX (Reed Exhibitions)`,tagline:`The largest gathering of the global casino industry`,overview:[`G2E is the anch
248or event for the North American casino sector, combining a vast supplier floor with a policy and operations conference programme run with the American Gaming Association.`,`Land-based technology dominates the floor — slots, table games, cage and cashless systems — but the iGaming, sports betting and payments halls have grown every year as US states continue to regulate online play.`],highlights:[`Slot and table game launches from every major supplier`,`AGA-led regulatory and responsible gaming sessions`,`Cashless, loyalty and casino management technology zones`,`Tribal gaming and sports betting focused programming`],whoAttends:[`Casino operators and executives`,`Suppliers and manufacturers`,`Regulators and tribal leadership`,`Sportsbook and iGaming teams`,`Product and platform teams`,`Game studios and content aggregators`,`Sportsbook and trading teams`,`Payment providers and PSPs`,`Compliance, legal and AML professionals`,`Regulators and policy makers`,`Responsible gambling specialists`,`Data, BI and analytics teams`,`AI and technology vendors`,`Investors, VCs and M&A advisers`],tracks:[`Casino operations`,`Sports betting and iGaming`,`Payments and cashless`,`Regulation and responsible gaming`],ticketing:`Free expo-only registration typically available for qualified industry; conference passes are paid.`,travel:`The Venetian Expo is on the Las Vegas Strip, around 15 minutes from Harry Reid International Airport.`},"sbc-summit-lisbon":{organiser:`SBC Events`,tagline:`SBC's global flagship for betting and iGaming`,overview:[`SBC Summit has become the largest autumn gathering for the online betting and gaming industry, spread across the Lisbon exhibition centre with a stadium-scale main stage at the MEO Arena.`,`The agenda spans sportsbook trading, affiliate marketing, payments, player safety and emerging market regulation, with a strong LATAM and African delegation alongside the European operator base.`],highlights:[`Multi-stage conference with 450+ speakers`,`Player-safety and compliance dedicated zone`,`Affiliate Leaders Summit co-located on site`,`Large-scale evening networking programme across Lisbon`],whoAttends:[`Operators and sportsbooks`,`Affiliates and marketers`,`Payment providers`,`Regulators and law firms`,`Regulators and policy makers`,`Responsible gambling specialists`,`Data, BI and analytics teams`,`AI and technology vendors`,`Investors, VCs and M&A advisers`,`Recruiters and HR teams`,`Media, analysts and journalists`,`Land-based and retail operators`,`Crypto and blockchain gaming teams`,`Esports and fantasy sports operators`],tracks:[`Sportsbook and trading`,`Casino and content`,`Payments and fraud`,`Marketing and affiliation`],ticketing:`Paid passes by tier; operator and regulator delegations often qualify for complimentary access.`,travel:`FIL is a 15-minute taxi from Lisbon Airport and on the Oriente transport hub.`,coLocated:[`SBC Affiliate Leaders Summit`]},"sbc-affiliate-leaders-summit":{organiser:`SBC Events`,tagline:`Affiliate-only programming inside SBC Summit`,overview:[`The Affiliate Leaders Summit runs inside SBC Summit Lisbon as a dedicated space for performance marketers, with its own stage, meeting areas and awards ceremony.`,`It is designed for senior affiliate and acquisition leaders rather than general delegates, so sessions dig into media buying economics, SEO volatility and long-term operator relationships.`],highlights:[`Dedicated affiliate stage and meeting lounge`,`Affiliate Leaders Awards ceremony`,`Curated operator-to-affiliate matchmaking`,`Full access to the wider SBC Summit floor`],whoAttends:[`Affiliate business owners`,`Acquisition and CRM leads`,`Networks and tracking platforms`,`Content and SEO agencies`,`Recruiters and HR teams`,`Media, analysts and journalists`,`Land-based and retail operators`,`Crypto and blockchain gaming teams`,`Esports and fantasy sports operators`,`Lottery and bingo operators`,`Customer support and BPO providers`,`Localisation and translation agencies`,`SEO, content and PR agencies`,`Streaming and influencer networks`],tracks:[`SEO and organic growth`,`Paid acquisition`,`Deal structures and revenue share`,`Compliance in marketing`],ticketing:`Included with SBC Summit passes; affiliate applications are vetted.`,travel:`Same venue as SBC Summit Lisbon at Feira Internacional de Lisboa.`},"next-retreat-europe-cyprus":{organiser:`NEXT.io`,tagline:`Invite-only senior retreat for 100 decision makers`,overview:[`NEXT Retreat replaces the expo model with a small residential format: around 100 senior executives at a single resort for structured roundtables, workshops and shared social time.`,`Attendance is curated, so the value sits in the depth of conversation rather than the volume of meetings. Suppliers attend as partners rather than exhibitors.`],highlights:[`Closed-door roundtables on strategy and M&A`,`Peer workshops limited to a single table of executives`,`Shared accommodation and dining for continuous networking`,`No exhibition floor — meetings only`],whoAttends:[`C-level operators`,`Investors and M&A advisers`,`Senior supplier leadership`,`Regulatory strategists`,`Lottery and bingo operators`,`Customer support and BPO providers`,`Localisation and translation agencies`,`SEO, content and PR agencies`,`Streaming and influencer networks`,`C-level executives and founders`,`Commercial and BD directors`,`Marketing and acquisition leads`,`CRM and retention managers`,`Affiliate and partnership managers`],tracks:[`Growth strategy`,`M&A and investment`,`Market entry`,`Leadership and talent`],ticketing:`Invite-only; applications reviewed by the NEXT.io team with limited partner places.`,travel:`Cap St Georges is roughly 45 minutes from Paphos International Airport.`},"sigma-world-rome":{organiser:`SiGMA Group`,tagline:`SiGMA's European flagship at Fiera Roma`,overview:[`SiGMA World Rome combines a large exhibition floor with affiliate, startup and investment programming, drawing operators from Italy, wider Europe and emerging markets.`,`The Italian market focus makes it a practical stop for anyone selling into or launching within a mature but tightly regulated jurisdiction.`],highlights:[`Large multi-hall expo with operator and supplier stands`,`SiGMA Pitch startup competition`,`Affiliate zone with dedicated matchmaking`,`SiGMA Awards ceremony during the week`],whoAttends:[`Operators and affiliates`,`Game studios and platforms`,`Payments and compliance suppliers`,`Investors`,`C-level executives and founders`,`Commercial and BD directors`,`Marketing and acquisition leads`,`CRM and retention managers`,`Affiliate and partnership managers`,`Product and platform teams`,`Game studios and content aggregators`,`Sportsbook and trading teams`,`Payment providers and PSPs`,`Compliance, legal and AML professionals`],tracks:[`Italian and European regulation`,`Casino content`,`Affiliation`,`Emerging technology`],ticketing:`Tiered paid passes; free expo passes are often released closer to the event.`,travel:`Fiera Roma has its own train station on the Rome–Lido line, close to Fiumicino Airport.`,coLocated:[`SiGMA Awards Rome`]},"sigma-europe-awards-rome":{organiser:`SiGMA Group`,tagline:`Industry awards night inside SiGMA World Rome`,overview:[`The SiGMA Awards re
248cognise operators, suppliers, affiliates and individuals across B2B and B2C categories, judged from public shortlists and an industry panel.`,`It runs as an evening ceremony during the Rome summit week, making it a natural close to a day on the expo floor.`],highlights:[`B2B and B2C award categories`,`Shortlist voting open to the industry`,`Seated dinner and after-party`,`Attended by senior operator and supplier teams`],whoAttends:[`Nominated brands and teams`,`Senior executives`,`Media and analysts`,`Sponsors`,`Product and platform teams`,`Game studios and content aggregators`,`Sportsbook and trading teams`,`Payment providers and PSPs`,`Compliance, legal and AML professionals`,`Regulators and policy makers`,`Responsible gambling specialists`,`Data, BI and analytics teams`,`AI and technology vendors`,`Investors, VCs and M&A advisers`],tracks:[`Awards ceremony`,`Networking dinner`],ticketing:`Table and seat purchases; some places included with premium summit passes.`,travel:`Held at the Fiera Roma complex alongside the main summit.`},"gaming-in-germany-conference":{organiser:`Gaming in Holland / Gaming in Germany`,tagline:`The reference conference for German regulation`,overview:[`A single-day, single-track conference focused entirely on the German regulated market: GGL enforcement, deposit limits, channelisation, advertising rules and tax.`,`The room is deliberately small and senior, with regulators, operators and lawyers debating the practical effects of the State Treaty on Gambling.`],highlights:[`Regulator participation from the GGL`,`Channelisation and black-market data sessions`,`Legal panels on advertising and tax`,`Compact format with high-quality networking`],whoAttends:[`Compliance and legal teams`,`Operators active in Germany`,`Regulators and policymakers`,`Payment providers`,`Regulators and policy makers`,`Responsible gambling specialists`,`Data, BI and analytics teams`,`AI and technology vendors`,`Investors, VCs and M&A advisers`,`Recruiters and HR teams`,`Media, analysts and journalists`,`Land-based and retail operators`,`Crypto and blockchain gaming teams`,`Esports and fantasy sports operators`],tracks:[`Regulation and enforcement`,`Taxation`,`Player protection`,`Market data`],ticketing:`Paid delegate pass, single day, limited capacity.`,travel:`Held in central Berlin near Kurfürstendamm, well served by U-Bahn.`},"ice-barcelona-2027":{organiser:`Clarion Gaming`,tagline:`The global gaming industry's largest trade show`,overview:[`ICE is the industry's flagship expo, now settled in Barcelona across three halls covering land-based, online, lottery, payments and esports.`,`For most suppliers it is the single biggest commercial week of the year, with product launches timed to the show and full operator leadership teams in attendance.`],highlights:[`Three halls covering every industry vertical`,`Product launches from all major suppliers`,`ICE Esports and payments zones`,`Consumer protection and regulatory programming`],whoAttends:[`Operators worldwide`,`Suppliers and manufacturers`,`Regulators`,`Affiliates and media`,`Recruiters and HR teams`,`Media, analysts and journalists`,`Land-based and retail operators`,`Crypto and blockchain gaming teams`,`Esports and fantasy sports operators`,`Lottery and bingo operators`,`Customer support and BPO providers`,`Localisation and translation agencies`,`SEO, content and PR agencies`,`Streaming and influencer networks`],tracks:[`Land-based gaming`,`Online casino and betting`,`Payments and fintech`,`Regulation and compliance`],ticketing:`Free registration for verified trade in advance; conference add-ons paid. Strictly trade only.`,travel:`Fira Gran Via is on the L9 Sud metro line, 10 minutes from Barcelona El Prat Airport.`,coLocated:[`iGB Affiliate Barcelona`]},"igb-affiliate-barcelona-2027":{organiser:`Clarion Gaming / iGB`,tagline:`The world's largest affiliate marketing event for gaming`,overview:[`iGB Affiliate runs alongside ICE and is the largest dedicated affiliate event in the sector, with a floor made up almost entirely of affiliate programmes and marketing suppliers.`,`Content leans practical: search volatility, AI-driven content, paid social, and how affiliate deals are being restructured in newly regulated markets.`],highlights:[`Hundreds of affiliate programme stands`,`Dedicated SEO and paid media conference tracks`,`iGB Affiliate Awards`,`Cross-access with the ICE exhibition`],whoAttends:[`Affiliates and publishers`,`Affiliate managers`,`SEO and content agencies`,`Tracking and CRM vend
248ors`,`Lottery and bingo operators`,`Customer support and BPO providers`,`Localisation and translation agencies`,`SEO, content and PR agencies`,`Streaming and influencer networks`,`C-level executives and founders`,`Commercial and BD directors`,`Marketing and acquisition leads`,`CRM and retention managers`,`Affiliate and partnership managers`],tracks:[`SEO`,`Paid and social media`,`AI in content`,`Regulated market marketing`],ticketing:`Paid affiliate and operator passes; verified affiliates often receive discounted or free entry.`,travel:`Same Fira Barcelona Gran Via campus as ICE.`},"sigma-asia-2027":{organiser:`SiGMA Group`,tagline:`SiGMA's Asian gateway show`,overview:[`SiGMA Asia focuses on the Philippines and wider Asian market, covering licensing, offshore operations, payments and the region's fast-moving regulatory picture.`,`It attracts a mix of Asian operators, Western suppliers looking for regional distribution, and a large affiliate contingent.`],highlights:[`Regional licensing and compliance sessions`,`Asian payments and crypto programming`,`Affiliate and traffic marketplace`,`Startup pitch and investor meetings`],whoAttends:[`Asian operators`,`Suppliers entering Asia`,`Affiliates and traffic providers`,`Payment specialists`,`C-level executives and founders`,`Commercial and BD directors`,`Marketing and acquisition leads`,`CRM and retention managers`,`Affiliate and partnership managers`,`Product and platform teams`,`Game studios and content aggregators`,`Sportsbook and trading teams`,`Payment providers and PSPs`,`Compliance, legal and AML professionals`],tracks:[`Asian regulation`,`Payments and crypto`,`Live casino and content`,`Affiliation`],ticketing:`Tiered paid passes with early-bird pricing; expo passes usually available free.`,travel:`Venue in Metro Manila; allow extra time for city traffic between hotels and the show.`},"sbc-summit-rio-2027":{organiser:`SBC Events`,tagline:`Brazil's regulated market in focus`,overview:[`SBC Summit Rio is the industry's main first-quarter Brazilian event, taking place as the regulated market continues to bed in after licensing.`,`Programming covers SPA regulation, local payments via Pix, sponsorship of football clubs, and the practical realities of scaling a licensed Brazilian operation.`],highlights:[`Brazilian regulatory and tax sessions`,`Football sponsorship and media rights panels`,`Pix and local payments programming`,`Large LATAM affiliate presence`],whoAttends:[`Brazilian and LATAM operators`,`Affiliates and media buyers`,`Payment providers`,`Regulators and lawyers`,`Product and platform teams`,`Game studios and content aggregators`,`Sportsbook and trading teams`,`Payment providers and PSPs`,`Compliance, legal and AML professionals`,`Regulators and policy makers`,`Responsible gambling specialists`,`Data, BI and analytics teams`,`AI and technology vendors`,`Investors, VCs and M&A advisers`],tracks:[`Brazilian regulation`,`Payments`,`Sports sponsorship`,`Affiliation and acquisition`],ticketing:`Paid passes with operator and affiliate categories; early-bird tiers apply.`,travel:`Riocentro is in Barra da Tijuca, around 30 minutes from Galeão International Airport.`},"sigma-eurasia-2027":{organiser:`SiGMA Group`,tagline:`Emerging markets meeting point in Dubai`,overview:[`SiGMA Eurasia gathers operators and suppliers targeting the Middle East, Central Asia, Africa and the Indian subcontinent, held at Dubai World Trade Centre.`,`It is one of the more deal-oriented SiGMA shows, with a high proportion of affiliates, platform providers and payment specialists focused on emerging market traffic.`],highlights:[`Emerging market regulatory sessions`,`Large affiliate and traffic marketplace`,`Crypto and alternative payments focus`,`Investor and startup programming`],whoAttends:[`Emerging market operators`,`Affiliates and traffic networks`,`Platform and content suppliers`,`Payment providers`,`Regulators and policy makers`,`Responsible gambling specialists`,`Data, BI and analytics teams`,`AI and technology vendors`,`Investors, VCs and M&A advisers`,`Recruiters and HR teams`,`Media, analysts and journalists`,`Land-based and retail operators`,`Crypto and blockchain gaming teams`,`Esports and fantasy sports operators`],tracks:[`MENA and Asia regulation`,`Crypto payments`,`Traffic and acquisition`,`Platform technology`],ticketing:`Tiered paid passes; expo access frequently free for verified trade.`,travel:`DWTC is served by the Dubai Metro red line, 15 minutes from DXB.`},"prague-gaming-tech-summit-2027":{organiser:`Hipther Agency`,tagline:`Central and Eastern Europe's compliance-first summit`,overview:[`A boutique summit of a few hundred delegates focused on CEE regulation, technology and responsible gaming, with a format built around panels and small-group networking.`,`Useful for operators and suppliers planning entry into Czechia, Poland, Romania, Hungary and the Baltics.`],highlights:[`CEE country-by-country regulatory updates`,`Technology and platform innovation panels`,`Responsible gaming workshops`,`Small-format networking dinners`],whoAttends:[`CEE operators`,`Compliance and legal professionals`,`Technology suppliers`,`Regulators and academics`,`Recruiters and HR teams`,`Media, analysts and journalists`,`Land-based and retail operators`,`Crypto and blockchain gaming teams`,`Esports and fantasy sports operators`,`Lottery and bingo operators`,`Customer support and BPO providers`,`Localisation and translation agencies`,`SEO, content and PR agencies`,`Streaming and influencer networks`],tracks:[`CEE regulation`,`Technology and data`,`Responsible gaming`,`Payments`],ticketing:`Paid delegate passes; limited capacity venue.`,travel:`Held in Prague, with the venue a short tram ride from the city centre.`},"bis-sigma-south-america-2027":{organiser:`SiGMA Group & BiS (Games Magazine Brasil)`,tagline:`São Paulo's large-scale LATAM expo`,overview:[`BiS SiGMA South America is the largest gaming exhibition in Latin America, combining a broad supplier floor with regional conference content in Portuguese, Spanish and English.`,`Expect heavy Brazilian operator and affiliate attendance, plus growing participation from Argentina, Peru, Colombia and Mexico.`],highlights:[`Multi-language conference programme`,`Large expo floor with LATAM platforms and studios`,`Affiliate and traffic zone`,`Regional awards and networking events`],whoAttends:[`LATAM operators`,`Affiliates and media`,`Game studios and aggregators`,`Payment providers`,`Lottery and bingo operators`,`Customer support and BPO providers`,`Localisation and translation agencies`,`SEO, content and PR agencies`,`Streaming and influencer networks`,`C-level executives and founders`,`Commercial and BD directors`,`Marketing and acquisition leads`,`CRM and retention managers`,`Affiliate and partnership managers`],tracks:[`Brazilian regulation`,`LATAM market entry`,`Content and live casino`,`Affiliation`],ticketing:`Free expo registration commonly offered; paid conference and VIP tiers.`,travel:`Transamerica Expo Center is in southern São Paulo, close to Congonhas Airport.`},"sigma-europe-malta-2027":{organiser:`SiGMA Group`,tagline:`SiGMA's home show on the island`,overview:[`SiGMA Europe Malta returns to the island where the group started, taking advantage of the dense concentration of MGA-licensed operators and suppliers based there.`,`The show mixes expo business with an unusually strong social programme, and the local talent market makes it a practical recruitment week too.`],highlights:[`MGA and European compliance sessions`,`Recruitment and careers zone`,`Startup pitch and investor track`,`Island-wide side events and parties`],whoAttends:[`Malta-based operators and suppliers`,`Affiliates`,`Compliance professionals`,`Recruiters and job seekers`,`C-level executives and founders`,`Commercial and BD directors`,`Marketing and acquisition leads`,`CRM and retention managers`,`Affiliate and partnership managers`,`Product and platform teams`,`Game studios and content aggregators`,`Sportsbook and trading teams`,`Payment providers and PSPs`,`Compliance, legal and AML professionals`],tracks:[`European regulation`,`Talent and HR`,`Casino content`,`Payments`],ticketing:`Tiered paid passes; expo passes frequently released free.`,travel:`MFCC at Ta' Qali is about 20 minutes by road from Malta International Airport.`},"sbc-summit-lisbon-2027":{organiser:`SBC Events`,tagline:`The 2027 edition of SBC's global flagship`,overview:[`The 2027 edition returns to Lisbon with the same multi-hall format: a main arena stage, themed conference zones and a large exhibition covering betting, casino, payments and affiliation.`,`Dates are confirmed by SBC; the full agenda and speaker list are typically published in the first half of the year.`],highlights:[`Arena-scale keynote stage`,`Dedicated payments and compliance zones`,`Co-located affiliate summit`,`Extensive Lisbon-wide side events`],whoAttends:[`Operators and sportsbooks`,`Affiliates`,`Suppliers and platforms`,`Regulators`,`Product and platform teams`,`Game studios and content aggregators`,`Sportsbook and trading teams`,`Payment providers and PSPs`,`Compliance, legal and AML professionals`,`Regulators and policy makers`,`Responsible gambling specialists`,`Data, BI and analytics teams`,`AI and technology vendors`,`Investors, VCs and M&A advisers`],tracks:[`Sportsbook`,`Casino`,`Payments`,`Marketing and affiliation`],ticketing:`Paid passes by tier with early-bird pricing well ahead of the show.`,travel:`FIL Lisbon, 15 minutes from Humberto Delgado Airport.`},"g2e-las-vegas-2027":{organiser:`American Gaming Association & RX`,tagline:`The 2027 edition of the global casino expo`,overview:[`G2E returns to The Venetian Expo for its 2027 edition, again pairing the largest casino supplier floor in North America with an AGA-curated conference programme.`,`Content is expected to continue expanding around cashless payments, digital-land-based convergence and responsible gaming technology.`],highlights:[`Full supplier floor with new cabinet launches`,`Cashless and loyalty technology zone`,`Sports betting and iGaming programming`,`Tribal gaming sessions`],whoAttends:[`Casino operators`,`Manufacturers and suppliers`,`Regulators and tribal leaders`,`Online gaming teams`,`Regulators and policy makers`,`Responsible gambling specialists`,`Data, BI and analytics teams`,`AI and technology vendors`,`Investors, VCs and M&A advisers`,`Recruiters and HR teams`,`Media, analysts and journalists`,`Land-based and retail operators`,`Crypto and blockchain gaming teams`,`Esports and fantasy sports operators`],tracks:[`Casino operations`,`iGaming and betting`,`Payments`,`Responsible gaming`],ticketing:`Free trade expo registration expected; paid conference passes.`,travel:`The Venetian Expo, Las Vegas Strip.`},...u_};function C_(e){return f_.find(t=>t.slug===e)}function w_(e){return S_[e]}function T_(e,t=4){let n=C_(e);return n?f_.filter(t=>t.slug!==e).map(e=>{let t=0;return e.country===n.country&&(t+=3),e.kind===n.kind&&(t+=1),t+=e.tags.filter(e=>n.tags.includes(e)).length*2,{e,score:t}}).sort((e,t)=>
248t.score-e.score||e.e.start.localeCompare(t.e.start)).slice(0,t).map(e=>e.e):[]}var E_=A(`/events/$slug`)({loader:({params:e})=>{let t=C_(e.slug);if(!t)throw ve();return{event:t,detail:w_(e.slug)??null}},head:({loaderData:e})=>{if(!e)return{meta:[{title:`Event unavailable — iGaming.News`},{name:`robots`,content:`noindex`}]};let{event:t,detail:n}=e,r=`${t.name} ${g_(t.start).getUTCFullYear()} — Dates, Venue & Details | iGaming.News`,i=n?.overview[0]?.slice(0,155)??`${t.name} runs ${b_(t.start,t.end)} at ${t.venue}, ${t.city}, ${t.country}.`;return{meta:[{title:r},{name:`description`,content:i},{property:`og:title`,content:r},{property:`og:description`,content:i},{property:`og:type`,content:`website`},{property:`og:url`,content:U(`/events/${t.slug}`)},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:U(`/events/${t.slug}`)}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`Event`,name:t.name,startDate:t.start,endDate:t.end,eventStatus:`https://schema.org/EventScheduled`,eventAttendanceMode:`https://schema.org/OfflineEventAttendanceMode`,url:U(`/events/${t.slug}`),description:i,location:{"@type":`Place`,name:t.venue,address:{"@type":`PostalAddress`,addressLocality:t.city,addressCountry:t.country}},organizer:n?.organiser?{"@type":`Organization`,name:n.organiser,url:t.url}:void 0})}]}},notFoundComponent:j(()=>W(()=>import(`./events._slug-CEXcqmJO.js`),__vite__mapDeps([106,1,6,2,7,8,9,10])),`notFoundComponent`),component:j(()=>W(()=>import(`./events._slug-DdoBfC26.js`),__vite__mapDeps([107,1,6,2,7,8,9,10,12,108,20,105,43,22,41,26,27,28])),`component`)}),D_={world:[],"uk-ireland":[`UK`,`United Kingdom`,`Britain`,`British`,`England`,`Scotland`,`Wales`,`Gambling Commission`,`UKGC`,`Ireland`,`Irish`,`Dublin`,`London`],france:[`France`,`French`,`ANJ`,`Paris`,`FDJ`],"eastern-europe":[`Poland`,`Polish`,`Romania`,`Romanian`,`Bulgaria`,`Hungary`,`Czech`,`Slovakia`,`Ukraine`,`Serbia`,`Croatia`,`Greece`,`Baltic`,`Estonia`,`Latvia`,`Lithuania`,`ONJN`],scandinavia:[`Sweden`,`Swedish`,`Spelinspektionen`,`Norway`,`Norwegian`,`Denmark`,`Danish`,`Spillemyndigheden`,`Finland`,`Finnish`,`Iceland`,`Nordic`],"central-europe":[`Germany`,`German`,`GGL`,`Austria`,`Austrian`,`Switzerland`,`Swiss`,`Netherlands`,`Dutch`,`KSA`,`Belgium`,`Belgian`],"western-europe":[`Spain`,`Spanish`,`DGOJ`,`Portugal`,`Portuguese`,`SRIJ`,`Italy`,`Italian`,`ADM`,`Malta`,`MGA`,`Gibraltar`],usa:[`USA`,`U.S.`,`United States`,`American`,`Nevada`,`New Jersey`,`Michigan`,`Pennsylvania`,`Ohio`,`Illinois`,`New York`,`Massachusetts`,`Colorado`,`Arizona`,`Tennessee`,`North Carolina`,`Las Vegas`],canada:[`Canada`,`Canadian`,`Ontario`,`AGCO`,`iGaming Ontario`,`Alberta`,`British Columbia`],brazil:[`Brazil`,`Brazilian`,`Brasil`,`SPA`,`Sao Paulo`,`São Paulo`,`bets.com.br`],latam:[`LATAM`,`Latin America`,`Mexico`,`Mexican`,`Colombia`,`Coljuegos`,`Peru`,`Chile`,`Argentina`,`Buenos Aires`,`Ecuador`,`Paraguay`,`Costa Rica`],"middle-east":[`Middle East`,`UAE`,`Dubai`,`Abu Dhabi`,`Saudi`,`Israel`,`Turkey`,`Turkish`,`Qatar`],"south-east-asia":[`Asia`,`Philippines`,`PAGCOR`,`Macau`,`Japan`,`Japanese`,`Singapore`,`Thailand`,`Vietnam`,`Indonesia`,`Malaysia`,`India`,`Indian`,`Korea`,`China`,`Chinese`],africa:[`Africa`,`African`,`Nigeria`,`Nigerian`,`South Africa`,`Kenya`,`Ghana`,`Tanzania`,`Uganda`,`Zambia`,`Morocco`,`Egypt`],oceania:[`Australia`,`Australian`,`ACMA`,`New Zealand`,`Oceania`,`Sydney`,`Melbourne`]};function O_(e,t){let n=D_[e];return n&&n.length?n:[t]}var k_=[{key:`world`,label:`Global / Worldwide`,group:`Global`},{key:`uk-ireland`,label:`UK & Ireland`,group:`Europe`},{key:`france`,label:`France`,group:`Europe`},{key:`eastern-europe`,label:`Eastern Europe`,group:`Europe`},{key:`scandinavia`,label:`Scandinavia`,group:`Europe`},{key:`central-europe`,label:`Central Europe`,group:`Europe`},{key:`western-europe`,label:`Western Europe`,group:`Europe`},{key:`usa`,label:`USA`,group:`Americas`},{key:`canada`,label:`Canada`,group:`Americas`},{key:`brazil`,label:`Brazil`,group:`Americas`},{key:`latam`,label:`LATAM`,group:`Americas`},{key:`middle-east`,label:`Middle East`,group:`Asia`},{key:`south-east-asia`,label:`South East Asia`,group:`Asia`},{key:`africa`,label:`Africa`,group:`Rest of world`},{key:`oceania`,label:`Oceania`,group:`Rest of world`}];k_.map(e=>e.key);function A_(e){return k_.find(t=>t.key===e)?.label??e}var j_=A(`/geo/$geo`)({loader:async({params:e})=>{let t=sf(e.geo);if(!t)throw ve();if(t.slug!==e.geo)throw be({to:`/geo/$geo`,params:{geo:t.slug}});let[n,r]=await Promise.all([Promise.all(t.keys.map(e=>Jp({data:{region:A_(e),regionKey:e,terms:O_(e,A_(e)),limit:60}}))),Gp({data:{limit:5}})]),i=new Set;return{articles:n.flat().filter(e=>i.has(e.slug)?!1:(i.add(e.slug),!0)).sort((e,t)=>
248e.date<t.date?1:e.date>t.date?-1:0).slice(0,60),mostRead:r,label:t.label}},head:({params:e,loaderData:t})=>{if(!t)return{meta:[{title:`Region unavailable — iGaming.News`},{name:`robots`,content:`noindex`}]};let n=`${t.label} iGaming News — iGaming.News`,r=`${t.label} iGaming news, regulation, operator launches and market updates.`,i=U(`/geo/${e.geo}`);return{meta:[{title:n},{name:`description`,content:r},{property:`og:title`,content:n},{property:`og:description`,content:r},{property:`og:type`,content:`website`},{property:`og:url`,content:i},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:i}]}},component:j(()=>W(()=>import(`./geo._geo-BHJUm0fq.js`),__vite__mapDeps([109,1,6,2,7,8,9,10,23,26,27,28,29])),`component`),errorComponent:j(()=>W(()=>import(`./geo._geo-DmBHg-MV.js`),__vite__mapDeps([110,1])),`errorComponent`),notFoundComponent:j(()=>W(()=>import(`./geo._geo-BQl5FcsS.js`),__vite__mapDeps([111,1,6,2,7,8,9,10])),`notFoundComponent`)}),M_=A(`/jobs/`)({head:()=>({meta:[{title:`iGaming Jobs Board | iGaming.News`},{name:`description`,content:`Browse the latest iGaming jobs, careers and recruitment listings from operators, suppliers, affiliates and regulators around the world.`},{property:`og:title`,content:`iGaming Jobs Board | iGaming.News`},{property:`og:description`,content:`Browse the latest iGaming jobs, careers and recruitment listings from operators, suppliers, affiliates and regulators around the world.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`},{property:`og:url`,content:U(`/jobs`)}],links:[{rel:`canonical`,href:U(`/jobs`)}]}),component:j(()=>W(()=>import(`./jobs.index-BztdVKTp.js`),__vite__mapDeps([112,1,18,6,2,7,8,9,10,12,19,20,21,22,23])),`component`)}),N_=[{slug:`tigerbet-head-of-affiliates`,role:`Head of Affiliate Management`,company:`Tigerbet`,location:`Remote`,city:`Remote`,country:`Remote`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`£40,000 - £50,000`,salaryMin:4e4,salaryMax:5e4,currency:`GBP`,posted:`2026-09-19`,postedLabel:`New`,validThrough:`2026-12-18`,department:`Affiliates`,tags:[`iGaming`,`Affiliates`,`Management`],summary:`Tigerbet is hiring a Head of Affiliate Management to own and grow its affiliate programme end to end, recruiting and managing high-value partners across casino and sportsbook markets.`,about:`Tigerbet is an ambitious online casino and sportsbook brand expanding its acquisition footprint through Big Cat Affiliates. As Head of Affiliate Management you will set the affiliate strategy, lead partner recruitment and negotiation, and be accountable for affiliate-driven FTDs, revenue and ROI. You will work closely with marketing, CRM and compliance teams to make the affiliate channel a primary growth engine.`,responsibilities:[`Own the affiliate programme strategy, targets and P&L for the channel.`,`Recruit, negotiate with and onboard new affiliate partners, networks and media buyers.`,`Manage and grow relationships with existing top-tier affiliates through regular reviews, tailored deals and exclusive promotions.`,`Negotiate commission structures (rev share, CPA, hybrid) and commercial terms within budget guardrails.`,`Monitor affiliate performance, traffic quality and player value; act quickly on underperforming or non-compliant partners.`,`Work with compliance to ensure affiliate marketing meets UKGC and other regulatory standards.`,`Represent the brand at industry events such as iGB Affiliate, SBC and Sigma.`,`Report channel performance, forecasts and insights to senior leadership.`],requirements:[`5+ years in iGaming affiliate management, with at least 2 years in a senior or lead role.`,`Proven track record of growing affiliate revenue for an online casino or sportsbook.`,`Strong existing network of affiliate contacts in casino and/or sports verticals.`,`Hands-on experience with affiliate platforms such as Income Access, MyAffiliates, Cellxpert or NetRefer.`,`Commercially sharp negotiator with solid understanding of rev share, CPA and hybrid deal economics.`,`Strong analytical skills; comfortable with tracking, attribution and reporting tools.`,`Excellent communication and relationship-building skills; self-starter who thrives remotely.`],benefits:[`Fully remote working.`,`Performance-based bonus scheme.`,`Flexible working hours.`,`Travel to major industry conferences and affiliate events.`],applyUrl:`https://bigcataffiliates.com/contact`},{slug:`tigerbet-junior-affiliate-manager`,role:`Junior Affiliate Manager`,company:`Tigerbet`,location:`Remote`,city:`Remote`,country:`Remote`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`£30,000 - £35,000`,salaryMin:3e4,salaryMax:35e3,currency:`GBP`,posted:`2026-09-19`,postedLabel:`New`,validThrough:`202
2486-12-18`,department:`Affiliates`,tags:[`iGaming`,`Affiliates`,`Entry Level`],summary:`Tigerbet is looking for a Junior Affiliate Manager to support the growth of its affiliate programme through Big Cat Affiliates, managing day-to-day partner relationships and campaign admin.`,about:`This is an ideal first or second role in iGaming affiliate marketing. Reporting to the Head of Affiliate Management, you will help recruit new affiliates, keep partner campaigns up to date, prepare performance reports and make sure affiliate queries are answered quickly. Full training on affiliate platforms and deal structures will be provided.`,responsibilities:[`Support recruitment and onboarding of new affiliate partners.`,`Act as a day-to-day contact for affiliate queries and requests.`,`Update banners, tracking links, landing pages and promotional materials for partners.`,`Prepare weekly and monthly affiliate performance reports.`,`Monitor partner sites to ensure campaigns are live, accurate and compliant.`,`Assist with negotiating smaller affiliate deals and testing new traffic sources.`,`Help coordinate affiliate promotions with the CRM and marketing teams.`],requirements:[`1-2 years of experience in affiliate marketing, digital marketing or a related commercial role (iGaming experience a plus, not essential).`,`Understanding of how affiliate marketing works, including tracking links and commission models.`,`Strong organisational skills and attention to detail.`,`Confident communicator, comfortable building relationships over email, chat and calls.`,`Good Excel/Google Sheets skills and a willingness to learn reporting and affiliate platforms.`,`Proactive, reliable and able to work independently in a remote team.`],benefits:[`Fully remote working.`,`Structured training and clear progression path to Affiliate Manager.`,`Flexible working hours.`,`Opportunity to attend industry events as you develop.`],applyUrl:`https://bigcataffiliates.com/contact`},{slug:`head-of-investment-office`,role:`Head of Investment Office`,company:`Apercon Consulting Group`,location:`Cyprus`,city:`Cyprus`,country:`Cyprus`,remote:!1,type:`Full-time`,workplace:`On-site`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`],summary:`APERCON is looking for an Head of Investment Office to join a newly launching international investment fund focused on the iGaming industry.`,about:`The key objective is to identify and source high-potential projects and businesses for large-scale strategic investments, build a strong investment pipeline and bring the best opportunities directly to the investor. You will work directly with the investor, identifying attractive investment opportunities, establishing relationships with founders and shareholders, and bringing the strongest projects forward for investment consideration.`,responsibilities:[],requirements:[`5-7 years of experience in investments, private equity, venture capital, M&A, investment banking or family offices.`,`Proven track record in deal sourcing and investment origination.`,`Strong international network of founders, investors, funds and business owners.`,`Experience evaluating businesses, investment opportunities and transaction structures.`,`Strong understanding of valuation, investment economics, risks and growth potential.`,`Ability to manage the investment pipeline from sourcing and initial screening to presentation to the investor.`,`Experience in iGaming, fintech, technology or digital businesses is a strong advantage.`],benefits:[],applyUrl:`https://apercon.com/jobs/head-of-investment-office/`},{slug:`head-of-international-recruitment`,role:`Head of International Recruitment`,company:`Apercon Consulting Group`,location:`Remotely`,city:`Remotely`,country:`Remotely`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`Executive search`,tags:[`iGaming`,`Remote`],summary:`APERCON is looking for a Head of International Recruitment to lead recruitment operations and develop talent acquisition across key markets.`,about:`The role involves managing recruitment processes, developing sourcing strategies, working with senior stakeholders, and ensuring effective hiring across multiple international markets.`,responsibilities:[`Develop and implement international recruitment strategies`,`Lead hiring across Europe, and other international markets`,`Manage recruitment for senior and key business positions`,`Build and optimize sourcing and hiring processes`,`Lead and develop the recruitment team`,`Work closely with C-Level and senior management on hiring priorities`],requirements:[`3+ years of experience in recruitment leadership roles (Head of TA, Head of Recruiting, Recruitment Director, Head of agency)`,`Proven experience hiring senior and managerial positions`,`Mandatory iGaming experience`,`Strong knowledge of European and CIS talent markets`,`Experience managing recruitment teams and processes`,`Strong communication skills and confident interaction with senior management`,`English — Upper-Intermediate+`],benefits:[],applyUrl:`https://apercon.com/jobs/head-of-international-recruitment/`},{slug:`head-of-gr`,role:`Head of GR`,company:`Apercon Consulting Group`,location:`International`,city:`International`,country:`International`,remote:!1,type:`Full-time`,workplace:`On-site`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`202
2486-12-18`,department:`iGaming`,tags:[`iGaming`,`B2B`],summary:`APERCON is looking for an experienced Head of GR to join an international B2B group of companies operating in the iGaming industry.`,about:`This is a key strategic role for a government relations professional who will be responsible for building and maintaining effective relationships with Ukrainian and European government institutions, regulatory authorities and other key stakeholders, while representing the interests of the Group in legislative and regulatory matters. You will work closely with the Group’s management and legal teams, taking responsibility for Government Relations and representing the company’s interests in legislative and regulatory matters.`,responsibilities:[],requirements:[`5+ years of experience in Government Relations, Public Affairs, Regulatory Affairs, Legal or a related field.`,`Strong understanding of the Ukrainian legislative and regulatory environment.`,`Established network and experience working with government authorities, regulators and relevant state institutions.`,`Practical experience monitoring and analysing legislation and regulatory changes.`,`Experience representing business interests in discussions with government bodies and industry regulators.`,`Strong understanding of the iGaming / gambling regulatory framework in Ukraine is a strong advantage.`,`Experience working with draft legislation, regulatory initiatives and public policy matters.`,`Strong communication, negotiation and stakeholder management skills.`,`Ability to build long-term relationships with government and industry stakeholders.`,`Strong analytical skills and the ability to translate regulatory developments into clear business implications.`,`High level of discretion, political awareness and ability to operate in a complex regulatory environment.`,`Ukrainian and English — strong professional proficiency.`],benefits:[],applyUrl:`https://apercon.com/jobs/head-of-gr/`},{slug:`cfo-investment-fund`,role:`CFO — Investment Fund`,company:`Apercon Consulting Group`,location:`Cyprus`,city:`Cyprus`,country:`Cyprus`,remote:!1,type:`Full-time`,workplace:`On-site`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`],summary:`APERCON is looking for an experienced Chief Finance Officer to join a newly launching international investment fund focused on investments in the iGaming industry.`,about:`This is a key role for a finance professional who can build the fund’s financial operations and structure from the ground up — from international structuring and tax efficiency to financial control and management of a diversified portfolio of iGaming assets. You will work closely with the fund’s founders and investment team, taking responsibility for the financial architecture of the fund and its portfolio.`,responsibilities:[],requirements:[`7+ years of senior-level experience in finance, investment management, private equity, venture capital, or similar environments.`,`Strong understanding of international corporate and financial structuring across multiple jurisdictions.`,`Practical expertise in tax optimization, cross-border transactions and international capital flows.`,`Experience building and managing financial operations for investment funds, holding companies or multi-entity businesses.`,`Strong understanding of portfolio and asset management, including businesses with different ownership and equity participation structures.`,`Experience establishing financial reporting, budgeting, cash-flow management, controls and performance monitoring across portfolio companies.`,`Experience working with legal, tax, banking, compliance and external advisory teams across multiple jurisdictions.`,`Strong understanding of investment economics, financial risks and capital allocation.`,`Experience in iGaming, fintech, private equity, venture capital or other high-risk / investment-driven industries is a strong advantage. Strategic mindset with a hands-on approach — someone who can build the finance function, not simply manage an existing one.`],benefits:[],applyUrl:`https://apercon.com/jobs/cfo-investment-fund/`},{slug:`b2b-sales-manager-business-club`,role:`B2B Sales Manager | Business Club`,company:`Apercon Consulting Group`,location:`Cyprus / Limassol`,city:`Cyprus`,country:`Limassol`,remote:!1,type:`Full-time`,workplace:`Hybrid`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`202
2486-12-18`,department:`B2B`,tags:[`B2B`,`Hybrid`],summary:`APERCON is looking for a B2B Sales Manager for a leading business club in Cyprus.`,about:`We are looking for a proactive sales professional with experience in B2B sales, who will be responsible for attracting new members and clients from the small and medium-sized business segment.`,responsibilities:[`Identify and attract new SME clients and members`,`Conduct sales meetings and presentations`,`Sell business club memberships, products and services`,`Develop and maintain relationships with existing clients`,`Build a strong pipeline of potential members and partners`,`Work towards monthly and quarterly sales targets`,`Represent the club at business events and networking activities`],requirements:[`2+ years of experience in B2B sales`,`Proven track record of acquiring new clients`,`Experience working with small and medium-sized businesses Experience in banking, insurance, iGaming or other structured/systemic businesses will be a strong advantage`,`Strong communication and negotiation skills`,`Ability to build and maintain long-term client relationships`,`Result-oriented approach and strong sales skills Fluent Russian or Ukrainian is mandatory`],benefits:[],applyUrl:`https://apercon.com/jobs/b2b-sales-manager-business-club/`},{slug:`commercial-director-business-club`,role:`Commercial Director | Business Club`,company:`Apercon Consulting Group`,location:`Cyprus / Limassol`,city:`Cyprus`,country:`Limassol`,remote:!1,type:`Full-time`,workplace:`Hybrid`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`B2B`,tags:[`B2B`,`Hybrid`],summary:`APERCON is looking for an experienced Commercial Director for a leading business club in Cyprus.`,about:`We are looking for a strong commercial professional with proven experience in B2B sales and the VIP / premium segment, who can drive the club’s growth, build strategic partnerships, and develop new commercial products.`,responsibilities:[`Drive the development and growth of the business club`,`Manage and develop strategic partnerships`,`Build relationships with medium and large businesses in Cyprus`,`Attract new members and partners to the club`,`Develop, package and sell business club products and services`,`Build and maintain long-term relationships with key clients and partners`],requirements:[`Proven experience in B2B sales and VIP / premium segment`,`Strong negotiation and partnership management skills`,`Experience working with business owners and senior executives of medium and large companies`,`Strong understanding of commercial strategy and business development`,`Excellent communication and networking skills Fluent Russian or Ukrainian is mandatory`],benefits:[],applyUrl:`https://apercon.com/jobs/commercial-director-business-club/`},{slug:`head-of-traffic-igaming`,role:`Head of Traffic — iGaming`,company:`Apercon Consulting Group`,location:`Europe`,city:`Europe`,country:`Europe`,remote:!1,type:`Full-time`,workplace:`On-site`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`],summary:`We are looking for an experienced Head of Traffic to lead traffic acquisition and scale paid traffic across iGaming projects.`,about:`We are looking for an experienced Head of Traffic to lead traffic acquisition and scale paid traffic across iGaming projects.`,responsibilities:[`Develop and execute traffic acquisition strategy.`,`Scale paid traffic channels and new GEOs.`,`Manage advertising budgets and traffic performance.`,`Monitor CPA, ROI, ROAS, FTD, NGR and other key KPIs.`,`Lead the traffic team and drive performance.`,`Collaborate with Marketing, Affiliate, Product and Analytics teams.`],requirements:[`5+ years of experience in traffic acquisition / performance marketing.`,`3+ years in a Head of Traffic or similar leadership role.`,`Experience in iGaming.`,`Strong hands-on experience with paid traffic and scaling.`,`Experience managing significant budgets and multiple GEOs.`,`Strong analytical and leadership skills. Apply`],benefits:[],applyUrl:`https://apercon.com/jobs/head-of-traffic-igaming/`},{slug:`country-head-european-markets`,role:`Country Head — European Markets`,company:`Apercon Consulting Group`,location:`Europe / Kyiv`,city:`Europe`,country:`Kyiv`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`202
2486-12-18`,department:`iGaming`,tags:[`iGaming`,`Remote`],summary:`We are looking for an experienced Country Head to lead and scale operations in one of Europe’s key Tier-1 iGaming markets.`,about:`We are looking for an experienced Country Head to lead and scale operations in one of Europe’s key Tier-1 iGaming markets.`,responsibilities:[`Take full ownership of the product’s market entry, development and business performance`,`Develop and execute growth strategies to increase revenue and market share`,`Manage local operations and coordinate cross-functional teams`,`Analyse market trends, competitors and user behaviour`,`Identify new business opportunities and growth areas`,`Work closely with C-level leadership on key business decisions`],requirements:[`Proven experience launching an iGaming product in a European market is mandatory`,`5+ years of experience in iGaming, with strong knowledge of Tier-1 European markets`,`Proven track record as a Country Manager / Head of Region`,`Strong understanding of market strategy, P&L, budgeting, KPIs and growth metrics`,`Experience managing cross-functional teams`,`Strong analytical and strategic mindset`,`Fluent English`],benefits:[],applyUrl:`https://apercon.com/jobs/country-head-european-markets/`},{slug:`head-of-influence`,role:`Head of Influence`,company:`Apercon Consulting Group`,location:`Europe`,city:`Europe`,country:`Europe`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`,`Remote`],summary:`APERCON is hiring a Head of Influence to build and scale an iGaming Influencer ecosystem across international markets.`,about:`APERCON is hiring a Head of Influence to build and scale an iGaming Influencer ecosystem across international markets.`,responsibilities:[`Build and manage Influencer & Streamers partnerships`,`Launch sponsorships and creator collaborations`,`Develop Influencer Marketing strategy within iGaming`,`Work closely with B2C operators, game providers, and media partners`,`Support audience growth, engagement, and brand visibility Conditions`,`Remote work format`,`International iGaming environment`,`High-level bonus system`,`Competitive compensation package Interested in the opportunity? Get in touch with us Share your CV`],requirements:[`5+ years of experience in Influencer Management, including 2+ years in a leadership role`,`Strong communication and management skills`,`Hands-on mentality`,`Existing network among influencers, micro-influencers, streamers`,`Experience with iGaming B2C operators is a must`,`Understanding of Influencer Marketing economics and business processes`,`Experience building influencer ecosystems or agencies is a plus`,`Advanced English`],benefits:[],applyUrl:`https://apercon.com/jobs/head-of-influence/`},{slug:`head-of-country-country-manager-tier-1`,role:`Head of Country / Country Manager Tier-1`,company:`Apercon Consulting Group`,location:`Cyprus / Europe`,city:`Cyprus`,country:`Europe`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`,`Remote`],summary:`APERCON is hiring a Head of Country / Country Manager for a Tier-1 iGaming B2C market, with full ownership of country operations and market performance.`,about:`The role carries P&L and GGR responsibility across acquisition, retention, marketing performance, traffic, payments and local team build-out in a competitive Tier-1 market.`,responsibilities:[`Full ownership of country operations and market performance.`,`Managing P&L, GGR, and key business performance indicators.`,`Driving growth strategy, acquisition, retention, and market expansion.`,`Managing marketing campaigns, traffic channels, affiliates, and media buying efficiency.`,`Overseeing payment solutions, conversion rates, and player funnel optimization.`,`Building and managing high-performing local teams and operational processes.`],requirements:[`5+ years of experience in Head of Country / Country Manager / C-level roles in iGaming B2C.`,`5+ years of experience working with Tier-1 markets.`,`Strong expertise in P&L ownership, GGR growth, marketing performance, traffic, payments, and operational KPIs.`,`Proven ability to scale country operations and manage business performance in competitive markets.`,`Strong leadership, communication, and team management skills.`],benefits:[],applyUrl:`https://apercon.com/jobs/head-of-country-country-manager-tier-1/`},{slug:`head-of-influence-and-streamers`,role:`Head of Influence and Streamers`,company:`Apercon Consulting Group`,location:`Europe`,city:`Europe`,country:`Europe`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`202
2486-12-18`,department:`iGaming`,tags:[`iGaming`,`Remote`],summary:`APERCON is hiring a Head of Influence and Streamers to build and scale an iGaming Influencer ecosystem focused on streamers, sponsorships, creator partnerships, and audience growth across international markets`,about:`APERCON is hiring a Head of Influence and Streamers to build and scale an iGaming Influencer ecosystem focused on streamers, sponsorships, creator partnerships, and audience growth across international markets`,responsibilities:[`Build and manage Influencer & Streamers partnerships`,`Launch sponsorships and creator collaborations`,`Develop Influencer Marketing strategy within iGaming`,`Work closely with B2C operators, game providers, and media partners`,`Support audience growth, engagement, and brand visibility`],requirements:[`5+ years in Influencer, Streamers, or Sponsorship Management`,`Strong communication and management skills`,`Hands-on mentality`,`Existing network among influencers, streamers, and gaming media`,`Experience with iGaming game providers and B2C operators is a must`,`Understanding of Influencer Marketing economics and business processes`,`Experience building influencer ecosystems or agencies is a plus`,`Advanced English required Conditions`,`Remote work format`,`International iGaming environment`,`High-level bonus system`,`Competitive compensation package Share your CV via`],benefits:[],applyUrl:`https://apercon.com/jobs/head-of-influence-and-streamers/`},{slug:`chief-commercial-officer-cco-b2b-game-provider`,role:`Chief Commercial Officer (CCO) — B2B Game Provider`,company:`Apercon Consulting Group`,location:`Europe`,city:`Europe`,country:`Europe`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`B2B`,tags:[`B2B`,`Remote`],summary:`APERCON is hiring a Chief Commercial Officer to build and scale the full commercial function for a fast-growing high quality B2B game provider.`,about:`APERCON is hiring a Chief Commercial Officer to build and scale the full commercial function for a fast-growing high quality B2B game provider.`,responsibilities:[`Build and lead the end-to-end commercial function (Sales, Business Development, Account Management)`,`Develop and execute a comprehensive commercial strategy aligned with company growth targets`,`Organize and scale distribution of video content (games for casino operators) across global markets`,`Establish and manage direct sales to B2C operators`,`Lead integrations with top-tier platforms and aggregators`,`Drive cross-market expansion across Tier 1, Tier 2, and Tier 3 geographies`,`Build, hire, and structure high-performing commercial teams`,`Implement account management processes to maximize client retention and revenue growth`,`Contribute to marketing strategy and go-to-market execution`,`Own and deliver коммерческие KPI: revenue growth, GGR scaling, client acquisition`,`Ensure performance delivery in line with current P&L objectives`],requirements:[`5+ years in Head / Chief-level commercial roles within game providers or game aggregators`,`Proven track record in building commercial functions from scratch or scaling existing ones`,`Deep expertise in B2B sales within iGaming / digital gaming ecosystems`,`Strong understanding of content distribution, platform integrations, and aggregator partnerships`,`Experience operating across Tier 1, Tier 2, Tier 3 markets`,`Advanced English proficiency (C1+ required)`,`Europe-based candidates preferred Conditions`,`Remote work format`,`Compensation: discussed individually (highly competitive, performance-driven) Apercon Share your CV via`],benefits:[],applyUrl:`https://apercon.com/jobs/chief-commercial-officer-cco-b2b-game-provider/`},{slug:`senior-product-manager`,role:`Senior Product Manager`,company:`Apercon Consulting Group`,location:`International`,city:`International`,country:`International`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`,`Remote`],summary:`APERCON is searching for a Senior Product Manager to join an international iGaming business.`,about:`This opportunity is designed for a data-driven and commercially focused product leader who can take full ownership of product strategy across multiple regions, improve c
248ore performance metrics, enhance customer journeys, and drive execution in a fast-scaling environment.`,responsibilities:[`Own and execute product roadmap across multiple target markets`,`Design and optimize promotional mechanics including welcome offers, cascading bonuses, no-deposit flows and gamification features`,`Improve registration funnels, conversion flows, retention triggers and on-site user experience`,`Prepare technical briefs and manage platform setup including groups, domains, localization and provider integrations`,`Conduct competitor benchmarking and identify growth opportunities`],requirements:[`3+ years of Product Management experience within iGaming`,`Strong knowledge of sportsbook and casino product mechanics`,`Proven experience managing bonus systems, CRM flows, retention and conversion initiatives`,`Hands-on experience with GA4, Amplitude, Hotjar or equivalent analytics tools`,`Experience working with Tier-2 / Tier-3 markets such as MENA, Africa or CIS is highly advantageous`,`English working proficiency, Russian or Ukrainian fluent More about us`],benefits:[],applyUrl:`https://apercon.com/jobs/senior-product-manager/`},{slug:`head-of-aso-igaming`,role:`Head of ASO/ iGaming`,company:`Apercon Consulting Group`,location:`International`,city:`International`,country:`International`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`,`Global B2C`,`Remote`],summary:`APERCON is searching for a Head of ASO to drive organic growth and visibility of mobile products across tier-2/tier3 markets in global iGaming holding.`,about:`The role focuses on building and executing a data-driven ASO strategy, optimizing app store performance, and scaling user acquisition through organic channels.`,responsibilities:[`Develop and execute global ASO strategy across App Store & Google Play`,`Optimize app visibility, conversion rates, and keyword rankings`,`Lead A/B testing for creatives, metadata, and store assets`,`Collaborate with product, marketing, and UA teams`,`Monitor performance, analytics, and market trends to drive growth`],requirements:[`Proven ASO experience in iGaming / betting / mobile apps`,`Strong understanding of App Store & Google Play algorithms`,`Experience with ASO tools (AppTweak, Sensor Tower, etc.)`,`Data-driven mindset with strong analytical skills`,`Fluent English Ready to scale organic growth in a global iGaming product? Salary level: competitive + performance-based @hanna_radchenko`],benefits:[],applyUrl:`https://apercon.com/jobs/head-of-aso-igaming/`},{slug:`chief-financial-officer-cfo-fintech`,role:`Chief Financial Officer (CFO), FinTech`,company:`Apercon Consulting Group`,location:`Europe`,city:`Europe`,country:`Europe`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`,`Remote`],summary:`We are looking for a strategic Chief Financial Officer with experience in iGaming/gambling/fintech/high-risk operations to lead our FinTech partner!`,about:`We are seeking a CFO who will take full ownership of building and developing the company’s financial function at a strategic level, including cash flow management, financial control, banking infrastructure, management reporting, tax compliance in line with legal and regulatory requirements, and supporting the company’s international growth. This role requires a high level of independence and responsibility.`,responsibilities:[],requirements:[`5+ years of experience as a CFO / Deputy CFO / Head of Finance / Finance Director in fintech, payments, e-commerce, crypto, PSP, EMI, MSB, or high-risk environments.`,`Proven experience building a financial function in a fast-growing company or international group.`,`Strong expertise in management reporting, budgeting, financial analysis, cash flow management, and financial modeling.`,`Hands-on experience working with international banks, payment providers, compliance procedures, account opening, and managing banking relationships.`,`Understanding of cross-border payments, FX, liquidity, settlements, client flows, and high-risk business models.`,`Experience working with international projects and multiple jurisdictions.`,`Experience interacting with shareholders, investors, auditors, and external 
248consultants.`,`Experience in financial automation and implementation of financial controls is a strong advantage. To apply @Katerina_Asauliuk or email`],benefits:[],applyUrl:`https://apercon.com/jobs/chief-financial-officer-cfo-fintech/`},{slug:`chief-product-officer-igaming`,role:`Chief Product Officer (iGaming)`,company:`Apercon Consulting Group`,location:`Cyprus`,city:`Cyprus`,country:`Cyprus`,remote:!1,type:`Full-time`,workplace:`On-site`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`],summary:`We invite you to consider the position of Chief Product Officer — a key executive role within an international iGaming holding, responsible for steering the global product ecosystem and defining the long-term strategic direction of the business.`,about:`What we expect 7+ years in Product Management, including at least 4 years in a CPO/VP of Product role within major B2C iGaming companies Hands-on experience in building and scaling complex product ecosystems Demonstrated success launching products Strong expertise in data-driven product leadership, analytics, monetization, unit economics and forecasting Deep understanding of regulation, compliance, risk management and operating models in iGaming`,responsibilities:[`Develop and execute the global product strategy for the holding`,`Centralize product leadership and establish unified standards for product planning and execution`,`Scale existing products and lead the launch of new solutions across international markets`,`Build and strengthen a high-performing product organization, including development of product directors and vertical leads`,`Maintain full oversight of product delivery: quality, velocity, operational efficiency`,`Manage the product portfolio: prioritization, roadmap oversight, investment evaluation and business impact analysis`,`Collaborate with the CEO/Board on long-term strategic initiatives If you are ready to take ownership of the global product strategy within a leading iGaming group — we look forward to reviewing your profile.`],requirements:[],benefits:[],applyUrl:`https://apercon.com/jobs/chief-product-officer-igaming/`},{slug:`ceo-global-igaming`,role:`CEO Global iGaming`,company:`Apercon Consulting Group`,location:`International`,city:`International`,country:`International`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`,`Global B2C`,`Remote`],summary:`APERCON is searching for a CEO Global to lead and scale an international iGaming ecosystem built on a proprietary platform across multiple markets.`,about:`The role focuses on building a strong global management architecture, managing country managers, and expanding operations across Mexico, Africa, Asia and Tier-1 markets.`,responsibilities:[`Build global management structure for multi-regional iGaming operations`,`Lead and scale existing gaming assets on a proprietary platform`,`Manage regional expansion across Mexico, Africa, Asia and Tier-1 markets`,`Supervise country managers and regional leadership teams`,`Drive growth, operational performance and market expansion`],requirements:[`Executive leadership experience in iGaming / betting / online casino`,`Proven track record of scaling global B2C gaming operations`,`Experience managing multi-regional teams and country managers`,`Strong strategic and operational leadership skills`,`Fluent English Ready to lead and scale a global iGaming ecosystem? Salary level 200,000–250,000€ yearly gross @hanna_radchenko`],benefits:[],applyUrl:`https://apercon.com/jobs/ceo-global-igaming/`},{slug:`head-of-b2c-division`,role:`Head of B2C Division`,company:`Apercon Consulting Group`,location:`Cyprus / Europe`,city:`Cyprus`,country:`Europe`,remote:!0,type:`Full-time`,workplace:`Remote`,salary:`Competitive`,posted:`2026-09-19`,postedLabel:`Currently open`,validThrough:`2026-12-18`,department:`iGaming`,tags:[`iGaming`,`Remote`],summary:`APERCON is searching for a Head of B2C Division to lead and scale a portfolio of iGaming projects across Tier-1 and Tier-2 markets.`,about:`APERCON is searching for a Head of B2C Division to lead and scale a portfolio of iGaming projects across Tier-1 and Tier-2 markets.`,responsibilities:[`Lead and scale a portfolio of 4 iGaming projects across Tier-1 and Tier-2 markets`,`Conduct strategic audit and restructuring of teams and operational structures`,`Build and manage C-level and senior leadership teams`,`Drive achievement of commercial targets, growth KPIs, and performance metrics`,`Scale business operations and expand market presence`,`Oversee core business verticals including legal, finance, operations, B2B and B2C ecosystem`],requirements:[`Senior leadership experience in iGaming / betting / online casino industry`,`Proven track record of scaling complex gaming projects or platforms`,`Strong experience managing cross-functional teams and C-level executives`,`Strategic mindset with focus on growth, performance and operational efficiency`,`Fluent English Read to lead and scale multiple iGaming projects across global markets? Salary level 150,000-200,000€ /yearly gross`],benefits:[],applyUrl:`https://apercon.com/jobs/head-of-b2c-division/`}],P_=e=>N_.find(t=>t.slug===e),F_=(e,t=3)=>N_.filter(t=>t.slug!==e).slice(0,t),I_=A(`/jobs/$slug`)({loader:({params:e})=>{let t=P_(e.slug);
248if(!t)throw ve();return{job:t,related:F_(e.slug)}},head:({loaderData:e})=>{if(!e)return{meta:[{title:`Job unavailable — iGaming.News`},{name:`robots`,content:`noindex`}]};let{job:t}=e,n=U(`/jobs/${t.slug}`),r=`${t.role} at ${t.company} — ${t.location} | iGaming Jobs`,i=t.summary.slice(0,155);return{meta:[{title:r},{name:`description`,content:i},{property:`og:title`,content:r},{property:`og:description`,content:i},{property:`og:type`,content:`article`},{property:`og:url`,content:n},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:n}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`JobPosting`,title:t.role,description:`${t.summary} ${t.about}`,datePosted:t.posted,validThrough:t.validThrough,employmentType:t.type===`Full-time`?`FULL_TIME`:t.type===`Part-time`?`PART_TIME`:`CONTRACTOR`,industry:`Gambling & iGaming`,url:n,directApply:!1,hiringOrganization:{"@type":`Organization`,name:t.company},jobLocationType:t.remote?`TELECOMMUTE`:void 0,jobLocation:t.remote?void 0:{"@type":`Place`,address:{"@type":`PostalAddress`,addressLocality:t.city,addressCountry:t.country}},applicantLocationRequirements:t.remote?{"@type":`Country`,name:t.country}:void 0,baseSalary:t.salaryMin&&t.currency?{"@type":`MonetaryAmount`,currency:t.currency,value:{"@type":`QuantitativeValue`,minValue:t.salaryMin,maxValue:t.salaryMax??t.salaryMin,unitText:`YEAR`}}:void 0})},{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:[{"@type":`ListItem`,position:1,name:`Home`,item:U(`/`)},{"@type":`ListItem`,position:2,name:`iGaming Jobs`,item:U(`/jobs`)},{"@type":`ListItem`,position:3,name:`${t.role} — ${t.company}`,item:n}]})}]}},component:j(()=>W(()=>import(`./jobs._slug-PlTX4-tz.js`),__vite__mapDeps([113,1,6,2,7,8,9,10,108,12,19,20,105,114,21,22,73])),`component`),notFoundComponent:j(()=>W(()=>import(`./jobs._slug-Cv98HEBG.js`),__vite__mapDeps([115,1,6,2,7,8,9,10])),`notFoundComponent`)}),L_=A(`/payment-processors/`)({head:()=>({meta:[{title:`iGaming Payment Processors — PSP Directory, Fees & Coverage | iGaming.News`},{name:`description`,content:`Directory of payment processors for iGaming operators: card acquiring and APM fees, rolling reserve, settlement cycles, licences, accepted markets, payout speed and integration options.`},{property:`og:title`,content:`iGaming Payment Processors Directory — iGaming.News`},{property:`og:description`,content:`Compare PSPs, acquirers, orchestration platforms and crypto processors serving licensed gambling operators — pricing, coverage, compliance and technical detail.`},{property:`og:type`,content:`website`},{property:`og:url`,content:U(`/payment-processors`)},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:U(`/payment-processors`)}]}),component:j(()=>W(()=>import(`./payment-processors.index-CTtUqXlc.js`),__vite__mapDeps([116,1,2,6,7,8,9,10,117,12,22,93,118,23,26,27,28])),`component`)}),R_=`Tailored — priced to your volume, market mix and product set`,z_=[{slug:`nuvei`,name:`Nuvei`,tagline:`Global acquiring, 700+ payment methods and the deepest US gaming licence stack in the business`,url:`https://www.nuvei.com/industries/igaming`,founded:`2003`,headquarters:`Montreal, Canada`,category:`Acquirer / PSP`,about:[`Nuvei is one of the most trusted names in regulated online gambling, combining its own card acquiring with a gateway that reaches 700+ alternative payment methods and 150+ currencies through a single integration.`,`Its standout strength is regulatory reach: money transmitter licences across 39+ US states, plus gaming vendor registrations in regulated US jurisdictions and Ontario, let operators launch state by state on infrastructure that is already approved.`,`Backed by Advent International since 2024, Nuvei pairs owned acquiring licences in the UK, EU and North America with multi-acquirer routing, so approval rates keep improving as volume grows.`,`For operators running both sides of the Atlantic, it is the rare provider that can cover a European cashier and a US sportsbook on one contract and one API.`],stats:[{label:`Payment methods`,value:`700+`},{label:`Currencies`,value:`150+`},{label:`US MTL states`,value:`39+`},{label:`PCI Level 1 since`,value:`2007`}],pricing:[{item:`Card acquiring`,rate:R_,note:`Interchange++ at scale, blended pricing for growth merchants.`},{item:`APM processing`,rate:R_,note:`Priced per method — local rails typically sit well below card rates.`},{item:`Payouts / withdrawals`,rate:R_,note:`Instant payout rails available in key markets.`},{item:`FX & multi-currency settlement`,rate:R_,note:`Dynamic currency conversion and multi-currency settlement included.`}],setupFee:`Commonly waived for established licensed operators`,monthlyMinimum:`Agreed with your account team as part of the commercial package`,rollingReserve:`Risk-based and reviewed on performance — strong processing history reduces or removes it`,chargebackFee:`Set in the merchant agreement, with representment support included`,settlementCycle:`Flexible; weekly is standard for gambling card volume, faster cycles available`,currencies:[`USD`,`CAD`,`EUR`,`GBP`,`SEK`,`BRL`,`MXN`,`AUD`,`150+ supported`],methods:[{name:`Visa / Mastercard / Amex`,type:`Cards`,markets:[`Global`],payouts:!0},{name:`Interac e-Transfer & Online`,type:`Bank transfer`,markets:[`Canada`,`Ontario`],payouts:!0},{name:`ACH / instant bank`,type:`Bank transfer`,markets:[`United States`],payouts:!0},{name:`Open banking (Pay-by-Bank)`,type:`Open banking`,markets:[`EEA`,`UK`,`US`],payouts:!0},{name:`Skrill / Neteller / PayPal`,type:`Wallet`,markets:[`Europe`],payouts:!0},{name:`Pix`,type:`Bank transfer`,markets:[`Brazil`],payouts:!0},{name:`Play+ prepaid`,type:`Wallet`,markets:[`United States`],payouts:!0}],acceptedMarkets:[`United States`,`Canada`,`United Kingdom`,`Sweden`,`Denmark`,`Netherlands`,`Germany`,`Spain`,`Italy`,`Brazil`,`Mexico`,`Australia`],focusMarkets:[`US state-by-state launches`,`Ontario`,`Nordics`,`Brazil (Pix)`,`Enterprise multi-market operators`],verticals:[`Online casino`,`Sportsbook`,`Poker`,`Lottery`,`Daily fantasy`,`Land-based / omnichannel`],licences:[`Nuvei Financial Services Ltd — FCA e-money institution (FRN 994233)`,`Nuvei Limited — EMI authorised by the Central Bank of Cyprus`,`Nuvei US LLC — FinCEN MSB with money transmitter licences in 39+ US states`,`Gaming vendor / supplier registrations across regulated US states and Ontario`],pciLevel:`PCI DSS Level 1 certified since 2007`,amlKyc:[`Full merchant underwriting and ongoing KYB monitoring`,`Sanctions and PEP screening built in`,`Transaction monitoring with regulatory reporting`,`State-specific gaming compliance controls in the US`],riskTools:[`3DS2 with smart exemption handling`,`Multi-acquirer smart routing`,`Chargeback management and alerts`,`Account updater and network tokens`],integration:[`REST API + webhooks`,`Hosted and embedded checkout`,`Web and mobile SDKs`,`Cashier and payout APIs`,`Full sandbox environment`],approvalRate:`Approval optimisation through multi-acquirer routing, network tokens and exemption logic`,uptimeSla:`Enterprise uptime commitments with 24/7 monitoring`,payoutSpeed:`Instant on Interac and select APMs; card payouts same-to-next day`,onboardingTime:`Guided underwriting and scheme registration with a dedicated project manager`,support:`24/7 technical support with named account management`,contacts:[{name:`Sales`,role:`New business enquiries`,email:`[email protected]`},{name:`Support`,role:`Merchant and technical support`,email:`[email protected]`}
248],terms:[{label:`One integration, every market`,detail:`A single API covers cards, APMs and payouts across North America, Europe and LATAM.`},{label:`US-ready`,detail:`Existing state licences and gaming approvals shorten the path to launch in regulated US markets.`},{label:`Growth pricing`,detail:`Commercials are reviewed as volume grows, with IC++ available at scale.`},{label:`Compliance partnership`,detail:`Dedicated compliance and risk teams work alongside your own.`}]},{slug:`paysafe`,name:`Paysafe`,tagline:`The one-stop iGaming payments group behind Skrill, Neteller, paysafecard and Paysafecash`,url:`https://www.paysafe.com/en/industries-we-serve/igaming/`,founded:`1996`,headquarters:`London, United Kingdom`,category:`Acquirer / PSP`,about:[`Paysafe has spent nearly three decades in gambling payments and offers acquiring, a gateway, digital wallets and eCash from one integration — a genuine one-stop shop for an operator cashier.`,`Its owned brands give operators something no gateway can replicate: direct access to millions of active Skrill, Neteller and paysafecard users who already fund and cash out through those products.`,`Coverage spans 120+ countries, 250+ payment methods and 40+ currencies, with gaming approvals in regulated US states and long-standing relationships across Europe, Canada and LATAM.`,`Operators get in-house risk expertise built specifically for high-risk verticals, plus account management that understands gambling economics rather than generic e-commerce.`],stats:[{label:`Countries`,value:`120+`},{label:`Payment methods`,value:`250+`},{label:`Currencies`,value:`40+`},{label:`In payments since`,value:`1996`}],pricing:[{item:`Card acquiring`,rate:R_},{item:`Skrill / Neteller acceptance`,rate:R_,note:`Wallet acceptance priced separately from card volume.`},{item:`paysafecard / Paysafecash`,rate:R_,note:`eCash reaches players who prefer to fund with cash.`},{item:`Payouts to wallets`,rate:R_,note:`Near-instant withdrawals with no chargeback exposure.`}],setupFee:`Agreed as part of the merchant package`,monthlyMinimum:`Agreed with your account team`,rollingReserve:`Risk-based at underwriting, reviewed as your processing history builds`,chargebackFee:`Per-case in the merchant agreement — wallet and eCash volume carries no chargeback risk`,settlementCycle:`Flexible, weekly is typical for card volume`,currencies:[`EUR`,`GBP`,`USD`,`CAD`,`SEK`,`PLN`,`40+ supported`],methods:[{name:`Visa / Mastercard`,type:`Cards`,markets:[`Global`],payouts:!0},{name:`Skrill`,type:`Wallet`,markets:[`Europe`,`LATAM`,`APAC`,`NJ / PA / MI / WV`],payouts:!0},{name:`Neteller`,type:`Wallet`,markets:[`Europe`,`LATAM`,`APAC`],payouts:!0},{name:`paysafecard`,type:`Voucher`,markets:[`Europe`,`Canada`,`Australia`],payouts:!1},{name:`Paysafecash`,type:`Voucher`,markets:[`Europe`,`LATAM`],payouts:!1},{name:`Rapid Transfer`,type:`Open banking`,markets:[`EEA`,`UK`],payouts:!1}],acceptedMarkets:[`United Kingdom`,`Germany`,`Austria`,`Sweden`,`Denmark`,`Spain`,`Italy`,`Canada`,`United States`,`Brazil`,`Mexico`],focusMarkets:[`Wallet-led cashiers`,`eCash / cash funding`,`DACH`,`Canada`,`Regulated US states`],verticals:[`Online casino`,`Sportsbook`,`Poker`,`Bingo`,`Lottery`,`Retail betting`],licences:[`Skrill Limited — FCA e-money institution (FRN 900001)`,`Paysafe Payment Solutions Limited — regulated by the Central Bank of Ireland`,`Paysafe Financial Services Limited — FCA authorised`,`US state money transmitter licences and gaming approvals (NJ DGE, PGCB, MGCB)`],pciLevel:`PCI DSS Level 1`,amlKyc:[`Consumer KYC handled by Paysafe at wallet level`,`Merchant KYB and ongoing monitoring`,`Sanctions and PEP screening`,`Regulatory reporting in licensed jurisdictions`],riskTools:[`In-house fraud and risk team`,`3DS2 and exemption handling`,`Chargeback representment support`,`Velocity and device rules`],integration:[`One API for cards, wallets and eCash`,`Hosted checkout`,`Mobile SDKs`,`Payout API for wallet withdrawals`,`Sandbox`],approvalRate:`High acceptance through multi-method cascading across cards, wallets and eCash`,uptimeSla:`Enterprise SLA available`,payoutSpeed:`Near-instant to Skrill and Neteller wallets; card and bank payouts in 1–3 business days`,onboardingTime:`Managed onboarding with a dedicated underwriting contact`,supp
248ort:`Dedicated account management and 24/7 merchant support`,contacts:[{name:`iGaming sales`,role:`New business enquiries`,email:`[email protected]`},{name:`Merchant support`,role:`Live account support`,email:`[email protected]`}],terms:[{label:`One-stop shop`,detail:`Cards, wallets, eCash, APMs and crypto through a single point of integration.`},{label:`Built-in audience`,detail:`Millions of active Skrill, Neteller and paysafecard users to convert on day one.`},{label:`High-risk expertise`,detail:`30 years of underwriting gambling volume rather than treating it as an exception.`},{label:`Player choice`,detail:`Cash, wallet, bank and card funding options in one cashier improves deposit conversion.`}]},{slug:`skrill`,name:`Skrill`,tagline:`The wallet players reach for when they want fast withdrawals`,url:`https://www.skrill.com/en/business/`,founded:`2001`,headquarters:`London, United Kingdom`,category:`Wallet / e-money`,about:[`Skrill is one of the most recognised deposit and withdrawal brands in online gambling, with more than two decades of history and a player base that actively chooses operators offering it.`,`For operators the win is on the cash-out side: wallet payouts land in minutes and carry no card-scheme chargeback exposure, which lifts player satisfaction while cutting fraud losses.`,`Skrill Limited was among the first e-money institutions authorised by the FCA, and Skrill USA holds money transmitter licences with gambling approvals in New Jersey, Pennsylvania, Michigan and West Virginia.`,`Skrill 1-Tap, Rapid Transfer and crypto services extend the product beyond a simple wallet into a full funding suite, all contracted through Paysafe.`],stats:[{label:`Launched`,value:`2001`},{label:`Part of`,value:`Paysafe`},{label:`FCA EMI ref`,value:`900001`},{label:`Withdrawals`,value:`Minutes`}],pricing:[{item:`Merchant acceptance fee`,rate:R_,note:`Contracted through Paysafe as a percentage of deposit value.`},{item:`Withdrawals to player wallet`,rate:R_,note:`No chargeback exposure on wallet payouts.`},{item:`Skrill 1-Tap`,rate:R_,note:`One-tap repeat deposits lift returning-player conversion.`}],setupFee:`Included in the Paysafe merchant agreement`,monthlyMinimum:`Agreed with your account team`,rollingReserve:`Not typically applied to wallet volume`,chargebackFee:`None — wallet transfers are final`,settlementCycle:`Per your Paysafe merchant agreement`,currencies:[`EUR`,`GBP`,`USD`,`CAD`,`PLN`,`SEK`,`40+ supported`],methods:[{name:`Skrill wallet deposit`,type:`Wallet`,markets:[`Europe`,`LATAM`,`APAC`,`NJ / PA / MI / WV`],payouts:!0},{name:`Skrill 1-Tap`,type:`Wallet`,markets:[`Europe`],payouts:!1},{name:`Rapid Transfer`,type:`Open banking`,markets:[`EEA`,`UK`],payouts:!1},{name:`Skrill Crypto`,type:`Crypto`,markets:[`Selected markets`],payouts:!1}],acceptedMarkets:[`United Kingdom`,`Ireland`,`Malta`,`Germany`,`Italy`,`Spain`,`Poland`,`Canada`,`Brazil`,`India`],focusMarkets:[`Fast withdrawals`,`High-value players`,`Europe`,`Poker and sportsbook cashiers`],verticals:[`Online casino`,`Sportsbook`,`Poker`,`Bingo`,`Esports betting`],licences:[`Skrill Limited — FCA e-money institution (ref 900001)`,`EU operations via Paysafe Payment Solutions Limited (Central Bank of Ireland)`,`Skrill USA Inc — FinCEN MSB with state money transmitter licences`,`FCA-registered cryptoasset firm; VASP registrations in Ireland and Italy`],pciLevel:`Covered by Paysafe's PCI DSS Level 1 certification`,amlKyc:[`Consumer KYC performed by Skrill at wallet level`,`Sanctions and PEP screening on wallet holders`,`Source-of-funds checks at threshold`,`Reduces duplicated verification work in your cashier`],riskTools:[`Wallet-level fraud screening`,`Irrevocable transfers remove cash-out fraud`,`Country and merchant-category controls`],integration:[`Skrill Quick Checkout (hosted)`,`REST API for payouts and refunds`,`Automated withdrawal calls`,`Test merchant account`],approvalRate:`Very high conversion among existing wallet holders — no card decline exposure`,uptimeSla:`Per the Paysafe merchant agreement`,payoutSpeed:`Minutes to the player's wallet, including weekends`,onboardingTime:`Enabled alongside a Paysafe merchant account`,support:`Paysafe merchant support with account management`,contacts:[{name:`Skrill business team`,role:`Merchant enquiries`,email:`[email protected]`}],terms:[{label:`Withdrawal speed sells`,detail:`Minutes-fast payouts are one of the strongest retention levers in a cashier.`},{label:`No chargebacks`,detail:`Wallet transfers are final, removing card-scheme dispute costs.`},{label:`Brand recognition`,detail:`Players actively search for operators that accept Skrill.`},{label:`Method parity`,detail:`Deposits can be refunded to the same wallet, satisfying licensed-market payout rules.`}]},{slug:`trustly`,name:`Trustly`,tagline:`The global leader in Pay by Bank — instant deposits and payouts, no cards required`,url:`https://www.trustly.com/`,founded:`2008`,headquarters:`Stockholm, Sweden`,category:`Open banking`,about:[`Trustly pioneered Pay by Bank and remains the global leader, letting players deposit and withdraw straight from their bank account with no card, no wallet sign-up and no friction.`,`It is a licensed Payment Institution under PSD2, supervised by Sweden's Finansinspektionen in the EEA and the FCA in the UK, with state-level regulation in the US.`,`The scale is exceptional: 9,000+ merchants across 30+ markets, connections to roughly 12,000 banks reaching 650m+ consumers, and close to $100bn in total payment volume in 2024.`,`Bank-ver
248ified account data comes as part of the flow, so operators get payer name-match and affordability signals that support compliance in the UK and Nordics — a genuine dual benefit alongside conversion.`],stats:[{label:`Founded`,value:`2008`},{label:`Connected banks`,value:`12,000+`},{label:`Markets`,value:`30+`},{label:`2024 volume`,value:`~$100bn`}],pricing:[{item:`Pay-by-Bank deposit`,rate:R_,note:`Per-transaction or low-percentage pricing depending on market.`},{item:`Payouts / withdrawals`,rate:R_,note:`Instant payouts including weekends in supported markets.`},{item:`Account & identity data`,rate:R_,note:`KYC and affordability data available as an add-on.`}],setupFee:`Agreed as part of the merchant package`,monthlyMinimum:`Agreed with your account team`,rollingReserve:`Not typically applied — bank transfers are not chargeback-exposed`,chargebackFee:`None on standard bank transfers`,settlementCycle:`Daily settlement is common, configurable by contract`,currencies:[`SEK`,`EUR`,`GBP`,`NOK`,`DKK`,`USD`,`CAD`],methods:[{name:`Trustly Pay-by-Bank (deposit)`,type:`Open banking`,markets:[`Sweden`,`Finland`,`Germany`,`Netherlands`,`UK`,`Spain`],payouts:!0},{name:`Trustly payouts`,type:`Open banking`,markets:[`EEA`,`UK`],payouts:!0},{name:`Trustly US (ACH / instant bank)`,type:`Bank transfer`,markets:[`United States`],payouts:!0},{name:`Account verification / KYC data`,type:`Data service`,markets:[`EEA`,`UK`,`US`],payouts:!1}],acceptedMarkets:[`Sweden`,`Finland`,`Denmark`,`Norway`,`Germany`,`Netherlands`,`United Kingdom`,`Spain`,`Estonia`,`United States`,`Canada`],focusMarkets:[`Nordics`,`US Pay by Bank`,`Instant payouts`,`Affordability & KYC data`],verticals:[`Online casino`,`Sportsbook`,`Poker`,`Lottery`,`Daily fantasy`],licences:[`Licensed Payment Institution under PSD2 — Swedish FSA (Finansinspektionen)`,`FCA authorised for UK operations`,`State-regulated in the US as required per market`],pciLevel:`No cardholder data in scope — nothing to store or secure`,amlKyc:[`Verified account-holder name returned at payment time`,`Payer name-match against the player account`,`Bank data available for affordability checks`,`Sanctions screening on payer data`],riskTools:[`Name-match verification`,`Settlement guarantee options`,`Return-payment handling`,`Bank-data driven risk scoring`],integration:[`REST API + webhooks`,`Hosted bank-selection widget`,`App-to-app bank redirect on mobile`,`Payout API`,`Sandbox with test banks`],approvalRate:`Market-leading completion in Nordic markets where Pay by Bank is the default deposit habit`,uptimeSla:`Enterprise SLA with real-time bank monitoring`,payoutSpeed:`Instant or same-day payouts, including weekends`,onboardingTime:`Managed onboarding per market`,support:`Account management plus dedicated technical support`,contacts:[{name:`Sales`,role:`New business enquiries`,email:`[email protected]`}],terms:[{label:`No cards, no chargebacks`,detail:`Bank-initiated payments settle without scheme fees or dispute exposure.`},{label:`Compliance built in`,detail:`Verified payer identity and bank data support UK and Nordic affordability duties.`},{label:`Instant both ways`,detail:`Deposits and withdrawals in real time keeps players in the session.`},{label:`Proven at scale`,detail:`Trusted by FanDuel, PayPal, eBay and leading European operators.`}]},{slug:`praxis-tech`,name:`Praxis Tech`,tagline:`The iGaming-first cashier connecting you to 600+ PSPs through one integration`,url:`https://praxis.tech/`,founded:`2014`,headquarters:`Limassol, Cyprus`,category:`Payment orchestration`,about:[`Praxis Tech built its orchestration platform and hosted cashier specifically for online gambling, and it shows: 600+ connected PSPs, 1,000+ alternative payment methods and 200+ currencies, all behind a single integration.`,`Smart routing, cascading and dynamic currency conversion push more transactions through, while geo rules, limits and method toggles let payment teams tune the cashier without a release cycle.`,`Because Praxis never holds funds, operators keep their own PSP and acquiring relationships and commercial terms — the platform adds routing, UI and reconciliation on top of contracts you already own.`,`The themeable Praxis Cashier is a genuine product in its own right, and there is a direct API for operators who prefer to run their own front end.`],stats:[{label:`Connected PSPs`,value:`600+`},{label:`APMs`,value:`1,000+`},{label:`Currencies`,value:`200+`},{label:`Founded`,value:`2014`}],pricing:[{item:`Platform licence`,rate:R_,note:`Monthly licence plus per-transaction routing fee.`},{item:`Per-transaction routing`,rate:R_,note:`Tiered down as volume grows.`},{item:`Custom PSP connector`,rate:R_,note:`Catalogue connectors are included as standard.`},{item:`Implementation`,rate:R_,note:`Delivered with a dedicated integration team.`}],setupFee:`Implementation project, quoted per operator`,monthlyMinimum:`The platform licence covers it`,rollingReserve:`None — Praxis never holds your funds`,chargebackFee:`Handled by your acquirer; Praxis reconciles the data`,settlementCycle:`Your existing PSP cycles, reconciled centrally by Praxis`,currencies:[`200+ supported across connected providers`],methods:[{name:`Card acquiring (multi-acquirer)`,type:`Cards`,markets:[`Global`],payouts:!0},{name:`Open banking aggregation`,type:`Open banking`,markets:[`EEA`,`UK`],payouts:!0},{name:`Wallets`,type:`Wallet`,markets:[`Global`],payouts:!0},{name:`Local bank rails`,type:`Bank transfer`,markets:[`LATAM`,`APAC`,`Africa`],payouts:!0},{name:`Crypto providers`,type:`Crypto`,markets:[`Global`],payouts:!0}],acceptedMarkets:[`Global — every market your own PSPs and licences reach`],focusMarkets:[`Multi-PSP operators`,`Fast market entry`,`Cashier conversion optimisation`,`Emerging-market corridors`],verticals:[`Online casino`,`Sportsbook`,`Poker`,`Lottery`,`Retail / omnichannel`],licences:[`Technology platform — funds stay with your own licensed PSPs and acquirers`,`Your existing acquiring relationships and pricing remain intact`],pciLevel:`Enterprise-grade security controls; certification details confirmed during onboarding`,amlKyc:[`Connectors to leading KYC and fraud vendors`,`Unified transaction audit trail across every provider`,`Rules engine for limits, geo and method controls`,`Central reporting for finance and compliance teams`],riskTools:[`Smart routing and cascading`,`Provider health monitoring with automatic failover`,`A/B testing of routing rules`,`Fraud-vendor connectors`],integration:[`Hosted Praxis Cashier, fully themeable`,`Direct API for in-house cashiers`,`Webhooks and reporting APIs`,`Sandbox`],approvalRate:`Cascading and intelligent routing recover transactions a single PSP would decline`,uptimeSla:`Enterprise SLA with automatic provider failover`,payoutSpeed:`Routed to the fastest available payout provider per market`,onboardingTime:`Phased migration with a dedicated integration team`,support:`Dedicated integration engineers and account management`,contacts:[{name:`Sales`,role:`New business enquiries`,email:`[email protected]`}
248],terms:[{label:`Built for iGaming`,detail:`Designed around operator cashiers from day one, not adapted from e-commerce.`},{label:`Keep your contracts`,detail:`You stay merchant of record with your acquirers and keep your negotiated rates.`},{label:`Add methods in clicks`,detail:`New PSPs and APMs go live from the catalogue without a new integration.`},{label:`Own your data`,detail:`Full transaction data, reporting and exports remain yours.`}]},{slug:`paymentiq`,name:`PaymentIQ`,tagline:`Stockholm-built orchestration with deep iGaming heritage, independent again since 2026`,url:`https://www.paymentiq.io/`,founded:`2014`,headquarters:`Stockholm, Sweden`,category:`Payment orchestration`,about:[`PaymentIQ was created in 2014 by DevCode Payments in Sweden expressly for iGaming operators, and its early adopters read like a who's who of the Nordic industry — Betsson Group, Casumo and Mr Green among them.`,`After a decade inside Bambora, Ingenico and Worldline, the platform returned to independence in March 2026 under Incore Invest, with renewed investment and a focused product roadmap.`,`It is a pure SaaS routing layer that never touches merchant funds, so operators keep their own PSP contracts, pricing and settlement while gaining unified routing, cashier components and reporting.`,`For payment teams, the appeal is control: rules, cascading and method configuration live in the platform, so commercial experiments no longer require engineering time.`],stats:[{label:`Founded`,value:`2014`},{label:`Model`,value:`SaaS orchestration`},{label:`Independent`,value:`Since 2026`},{label:`Origin`,value:`iGaming-first`}],pricing:[{item:`Platform licence`,rate:R_},{item:`Per-transaction fee`,rate:R_,note:`Volume tiers available.`},{item:`Custom connector development`,rate:R_},{item:`Implementation`,rate:R_}],setupFee:`Implementation quoted per operator`,monthlyMinimum:`Covered by the platform licence`,rollingReserve:`None — funds stay with your own providers`,chargebackFee:`Handled by your acquirer`,settlementCycle:`Your existing PSP cycles, reconciled centrally`,currencies:[`Inherited from your connected providers`],methods:[{name:`Card acquiring (multi-acquirer)`,type:`Cards`,markets:[`Global`],payouts:!0},{name:`Open banking / Pay by Bank`,type:`Open banking`,markets:[`EEA`,`UK`],payouts:!0},{name:`Wallets`,type:`Wallet`,markets:[`Global`],payouts:!0},{name:`Local rails`,type:`Bank transfer`,markets:[`Europe`,`LATAM`,`APAC`],payouts:!0}],acceptedMarkets:[`Global — determined by your own PSP coverage`],focusMarkets:[`Nordic operators`,`Multi-brand groups`,`Cashier A/B testing`,`PSP migration projects`],verticals:[`Online casino`,`Sportsbook`,`Poker`,`Lottery`,`General e-commerce`],licences:[`Pure SaaS orchestration — your licensed PSPs continue to hold the funds`,`Your acquiring contracts and pricing stay unchanged`],pciLevel:`Security posture reviewed with your team during onboarding`,amlKyc:[`Connector support for leading KYC vendors`,`Central transaction audit trail across providers`,`Configurable limits and blocking rules`],riskTools:[`Routing rules and cascading`,`Fraud-vendor connectors`,`Method and limit configuration`,`Reconciliation and reporting`],integration:[`One API for every connected provider`,`Hosted cashier components`,`Webhooks`,`Sandbox`],approvalRate:`Cascading and rule-based routing recover otherwise-declined transactions`,uptimeSla:`Contractual SLA available`,payoutSpeed:`Routed to your fastest available payout provider`,onboardingTime:`Phased provider migration with solution engineering support`,support:`Solution engineering and named account management`,contacts:[{name:`Sales`,role:`New business enquiries`,email:`[email protected]`}],terms:[{label:`iGaming DNA`,detail:`Built for operator cashiers in 2014 and refined with tier-one Nordic brands.`},{label:`Independent focus`,detail:`Standalone since 2026 with renewed investment in the platform roadmap.`},{label:`Vendor neutral`,detail:`No incentive to route volume to an in-house acquirer — routing serves your economics.`}
248,{label:`Control without code`,detail:`Payment teams change rules, methods and limits from the platform.`}]},{slug:`ecommpay`,name:`ECOMMPAY`,tagline:`London-based direct acquirer and gateway with 100+ methods and a named account manager for every merchant`,url:`https://ecommpay.com/`,founded:`2012`,headquarters:`London, United Kingdom`,category:`Acquirer / PSP`,about:[`ECOMMPAY is an international payment service provider and direct card acquirer, bringing acquiring, 100+ payment methods and mass payouts together in a single seamless integration.`,`As an FCA-authorised payment institution and principal scheme member, it controls its own acquiring stack, which means faster decisions on routing, risk configuration and pricing.`,`Every merchant gets a personal account manager from day one, with in-house technology tailored to the client rather than an off-the-shelf configuration.`,`For a European licensed operator that wants one partner covering both card acquiring and local APMs, it removes the need to stitch together several niche providers.`],stats:[{label:`Founded`,value:`2012`},{label:`Payment methods`,value:`100+`},{label:`Model`,value:`Direct acquirer + gateway`},{label:`Regulator`,value:`FCA (UK)`}],pricing:[{item:`Card acquiring`,rate:R_,note:`Blended or IC++ depending on volume.`},{item:`APM processing`,rate:R_},{item:`Mass payouts`,rate:R_,note:`Payouts to cards and bank accounts in bulk.`},{item:`FX / multi-currency settlement`,rate:R_}],setupFee:`Quoted per merchant`,monthlyMinimum:`Quoted per merchant`,rollingReserve:`Risk-based and reviewed as processing history builds`,chargebackFee:`Per-case, with dispute management support included`,settlementCycle:`Flexible; weekly is typical for gambling volume`,currencies:[`EUR`,`GBP`,`USD`,`PLN`,`SEK`,`and more`],methods:[{name:`Visa / Mastercard`,type:`Cards`,markets:[`Europe`,`Global`],payouts:!0},{name:`Open banking`,type:`Open banking`,markets:[`UK`,`EEA`],payouts:!1},{name:`Local bank transfers`,type:`Bank transfer`,markets:[`Europe`,`LATAM`,`Asia`],payouts:!0},{name:`Wallets`,type:`Wallet`,markets:[`Europe`,`Asia`],payouts:!0},{name:`Mass payouts to cards`,type:`Cards`,markets:[`Europe`],payouts:!0}],acceptedMarkets:[`United Kingdom`,`Ireland`,`Germany`,`Poland`,`Spain`,`Italy`,`Latvia`,`Estonia`,`Brazil`,`India`],focusMarkets:[`UK & EEA acquiring`,`CEE local methods`,`Mass payouts`,`Omnichannel checkout`],verticals:[`Online casino`,`Sportsbook`,`Lottery`,`Forex`,`General e-commerce`],licences:[`FCA Authorised Payment Institution (UK)`,`EU entity for EEA processing`,`Principal member acquiring with Visa and Mastercard`],pciLevel:`PCI DSS Level 1`,amlKyc:[`Merchant KYB and underwriting handled in-house`,`Sanctions and PEP screening`,`Ongoing transaction monitoring`],riskTools:[`Proprietary antifraud engine`,`3DS2 and exemption logic`,`Chargeback management`,`Cascading between acquirers`],integration:[`REST API + webhooks`,`Hosted and embedded payment page`,`Plugins and 
248SDKs`,`Payout API`,`Sandbox`],approvalRate:`Optimised through in-house routing, 3DS logic and acquirer cascading`,uptimeSla:`Contractual SLA available`,payoutSpeed:`Card payouts same-to-next day; local rails faster still`,onboardingTime:`Guided underwriting with your account manager`,support:`Personal account manager plus technical support`,contacts:[{name:`Sales`,role:`New business enquiries`,email:`[email protected]`}],terms:[{label:`Direct acquiring`,detail:`Owning the acquiring stack means faster risk decisions and sharper pricing.`},{label:`One integration`,detail:`Acquiring, APMs and mass payouts through a single connection.`},{label:`Personal service`,detail:`A named account manager from onboarding onwards, not a ticket queue.`},{label:`Bespoke by default`,detail:`Payment flows are engineered around your business, market by market.`}]},{slug:`coinspaid`,name:`CoinsPaid`,tagline:`The crypto payment engine trusted by leading online casinos`,url:`https://coinspaid.com/`,founded:`2014`,headquarters:`Tallinn, Estonia`,category:`Crypto payment processor`,about:[`CoinsPaid is one of the largest crypto payment processors in gambling, handling deposits and withdrawals in major coins and stablecoins with optional instant conversion to fiat.`,`Its product set covers a hosted crypto cashier, per-player deposit addresses, mass payouts and business wallets, with on-chain analytics screening applied to every incoming transaction.`,`Crypto settlement is final, so operators gain a rail with zero chargeback exposure, minute-fast payouts and 24/7 availability including weekends and bank holidays.`,`Instant conversion into stablecoin or fiat lets finance teams take crypto deposits without carrying price risk on the balance sheet.`],stats:[{label:`Founded`,value:`2014`},{label:`Focus`,value:`iGaming crypto`},{label:`Chargebacks`,value:`Zero`},{label:`Payouts`,value:`Minutes, 24/7`}],pricing:[{item:`Crypto deposits`,rate:R_,note:`Percentage of value with volume tiers.`},{item:`Crypto payouts`,rate:R_,note:`Plus network fee.`},{item:`Crypto-to-fiat conversion`,rate:R_,note:`Instant conversion removes volatility exposure.`},{item:`Fiat off-ramp (SEPA)`,rate:R_}],setupFee:`Quoted per merchant`,monthlyMinimum:`Quoted per merchant`,rollingReserve:`None — on-chain settlement is final`,chargebackFee:`None`,settlementCycle:`Real time to your wallet, or scheduled fiat off-ramp`,currencies:[`BTC`,`ETH`,`USDT`,`USDC`,`LTC`,`TRX`,`EUR`,`USD`],methods:[{name:`USDT (TRC20 / ERC20)`,type:`Crypto`,markets:[`Global`],payouts:!0},{name:`USDC`,type:`Crypto`,markets:[`Global`],payouts:!0},{name:`Bitcoin`,type:`Crypto`,markets:[`Global`],payouts:!0},{name:`Ethereum`,type:`Crypto`,markets:[`Global`],payouts:!0},{name:`Fiat off-ramp (SEPA)`,type:`Bank transfer`,markets:[`EEA`],payouts:!0}],acceptedMarkets:[`Global reach through a single crypto integration`],focusMarkets:[`Crypto-first casinos`,`Instant payouts`,`Stablecoin treasury`,`High-volume affiliates and B2B settlement`],verticals:[`Crypto casino`,`Sportsbook`,`Crash / originals`,`Esports betting`],licences:[`Estonian virtual asset service provider authorisation`,`Established EU regulatory footprint since 2014`],pciLevel:`No card data in scope for crypto flows`,amlKyc:[`On-chain analytics screening of every deposit`,`Sanctions screening and clean-funds assurance`,`Travel Rule messaging with counterparty VASPs`,`Source-of-funds escalation workflows`],riskTools:[`Address risk scoring`,`Deposit review and refund workflow`,`Payout address whitelisting`,`Wallet clustering to spot multi-accounting`],integration:[`REST API + webhooks`,`Hosted crypto cashier with QR`,`Per-player deposit addresses`,`Mass payout API`,`Testnet sandbox`],approvalRate:`No authorisation declines — transactions confirm on-chain`,uptimeSla:`24/7 API availability with real-time monitoring`,payoutSpeed:`Minutes for stablecoins on fast chains, any day of the week`,onboardingTime:`Days rather than weeks`,support:`24/7 support with dedicated managers for larger merchants`,contacts:[{name:`Sales`,role:`New business enquiries`,email:`[email protected]`}],terms:[{label:`No chargebacks`,detail:`On-chain settlement is final, removing dispute costs entirely.`},{label:`No volatility risk`,detail:`Instant conversion to stablecoin or fiat keeps treasury predictable.`},{label:`Always on`,detail:`Deposits and payouts run 24/7, including weekends and holidays.`},{label:`Clean funds`,detail:`Analytics screening gives compliance teams assurance on every deposit.`}]},{slug:`isettle`,name:`iSettle`,tagline:`An iGaming-only payment engine with 120+ methods across Europe, LATAM, Asia and Africa`,url:`https://isettlepay.com/`,founded:`2024`,headquarters:`London, United Kingdom`,category:`PSP / gateway`,about:[`iSettle is a specialised iGaming payment platform built to simplify and optimise processing for operators, with a gateway and cashier designed around gambling flows rather than generic e-commerce.`,`It supports 120+ payment methods spanning cards, bank transfers, e-wallets, P2P and crypto — including modern rails such as Binance Pay and Telegram Wallet Pay that older gateways rarely offer.`,`Level 1 PCI DSS certification, auto-reconciliation and robust fraud prevention come as standard, and methods can be enabled or disabled per market from the merchant dashboard in a few clicks.`,`Operators trade in Turkey, India, Brazil, Peru, Thailand and Nigeria alongside Europe and North America, with new corridors being added continuously and a genuinely fast onboarding process.`],stats:[{label:`Payment methods`,value:`120+`},{label:`Focus`,value:`iGaming only`},{label:`Security`,value:`PCI DSS Level 1`},{label:`HQ`,value:`London`}],pricing:[{item:`Deposits (local rails)`,rate:R_,note:`Corridor-specific pricing for emerging markets.`},{item:`Payouts`,rate:R_,note:`Fast settlement on local rails and crypto.`},{item:`Card processing`,rate:R_},{item:`Crypto processing`,rate:R_}],setupFee:`Quoted per merchant`,monthlyMinimum:`Quoted per merchant`,rollingReserve:`Risk-based and agreed at onboarding`,chargebackFee:`Applies to card volume only — local rails and crypto are final`,settlementCycle:`Agreed per merchant, with auto-reconciliation for your finance team`,currencies:[`EUR`,`USD`,`TRY`,`INR`,`BRL`,`PEN`,`THB`,`NGN`],methods:[{name:`Local bank transfer / P2P`,type:`Bank transfer`,markets:[`Turkey`,`India`,`Brazil`,`Peru`,`Thailand`,`Nigeria`],payouts:!0},{name:`Cards`,type:`Cards`,markets:[`Europe`,`LATAM`],payouts:!1},{name:`E-wallets / APMs`,type:`Wallet`,markets:[`Asia`,`Africa`,`LATAM`],payouts:!0},{name:`Crypto incl. Binance Pay`,type:`Crypto`,markets:[`Global`],payouts:!0},{name:`Telegram Wallet Pay`,type:`Crypto`,markets:[`Global`],payouts:!0}],acceptedMarkets:[`Turkey`,`India`,`Brazil`,`Peru`,`Thailand`,`Nigeria`,`Europe`,`Canada`,`South Africa`],focusMarkets:[`Emerging-market corridors`,`P2P and local bank rails`,`Crypto and Binance Pay`,`Fast go-live`],verticals:[`Online casino`,`Sportsbook`,`Crash / instant games`,`Esports betting`],licences:[`UK-registered platform serving licensed operators across multiple regions`],pciLevel:`PCI DSS Level 1 certified`,amlKyc:[`Merchant onboarding due diligence`,`Fraud prevention tooling on every transaction`,`Auto-reconciliation for finance teams`,`Compliance-aware configuration per market`],riskTools:[`Fraud prevention engine`,`Per-market method controls`,`Smart automation and routing`,`Auto-reconciliation`],integration:[`User-friendly REST API`,`Hosted cashier`,`Webhooks`,`Method toggles in the merchant dashboard`],approvalRate:`High acceptance in emerging-market corridors through localised routing`,uptimeSla:`Monitored platform with responsive incident handling`,payoutSpeed:`Fast payouts on local rails and crypto`,onboardingTime:`Days to a couple of weeks`,support:`Hands-on merchant support with dedicated onboarding`,contacts:[{name:`Sales`,role:`New business enquiries`,email:`[email protected]`}
248],terms:[{label:`Built for iGaming`,detail:`Every feature is designed around operator cashiers and player behaviour.`},{label:`Emerging-market reach`,detail:`Local rails in Turkey, India, Brazil, Peru, Thailand and Nigeria out of the box.`},{label:`Modern rails`,detail:`Binance Pay and Telegram Wallet Pay alongside cards and bank transfers.`},{label:`Fast to launch`,detail:`Quick onboarding and simple method toggles get new markets live sooner.`}]},{slug:`nordea`,name:`Nordea`,tagline:`The Nordic banking rail behind instant bank deposits in Finland, Sweden, Denmark and Norway`,url:`https://www.nordea.com/en/our-services/business-customers`,founded:`2000 (present group structure)`,headquarters:`Helsinki, Finland`,category:`Bank / e-payment method`,about:[`Nordea is the largest bank in the Nordics, and its e-payment and open banking rails power a huge share of bank-funded deposits for licensed operators across Finland, Sweden, Denmark and Norway.`,`For players, paying from a Nordea account is the familiar, trusted route — authentication happens inside their own bank, and the transfer is instant and final.`,`Operators reach the rail through licensed payment initiation providers such as Trustly and Brite, or via a Nordic PSP, so a single PSP contract can unlock Nordea alongside the other major Nordic banks.`,`Nordea's own PSD2 Payments and Accounts APIs are published in a developer portal with a sandbox, giving licensed providers direct, well-documented access.`],stats:[{label:`Region`,value:`Nordics`},{label:`HQ`,value:`Helsinki`},{label:`Rails`,value:`PSD2 payment initiation`},{label:`Player trust`,value:`Bank-native`}],pricing:[{item:`Bank e-payment acceptance`,rate:`Set by the PSP or open banking provider enabling the rail`},{item:`Corporate banking services`,rate:`Bank pricing on application`},{item:`Payouts to Nordea accounts`,rate:`Standard SEPA / domestic instant transfer pricing`}],setupFee:`Handled through your chosen PSP`,monthlyMinimum:`Not applicable at bank level`,rollingReserve:`None — bank transfers carry no chargeback exposure`,chargebackFee:`None`,settlementCycle:`Instant or same-day via payment initiation, depending on your PSP`,currencies:[`EUR`,`SEK`,`DKK`,`NOK`],methods:[{name:`Nordea e-payment (bank redirect)`,type:`Bank transfer`,markets:[`Finland`,`Sweden`,`Denmark`,`Norway`],payouts:!1},{name:`PSD2 payment initiation`,type:`Open banking`,markets:[`Nordics`],payouts:!1},{name:`SEPA / domestic instant (payouts)`,type:`Bank transfer`,markets:[`EEA`],payouts:!0}],acceptedMarkets:[`Finland`,`Sweden`,`Denmark`,`Norway`],focusMarkets:[`Finland deposits`,`Nordic bank-funded cashiers`,`High-trust player segments`],verticals:[`Online casino`,`Sportsbook`,`Lottery`],licences:[`Licensed credit institution supervised by the ECB and Nordic national regulators`],pciLevel:`No card data involved`,amlKyc:[`Bank-grade KYC on the account holder`,`Verified payer name passed to the payment provider`,`Sanctions screening performed at bank level`],riskTools:[`Strong customer authentication in the bank's own app`,`Final, irrevocable transfers`,`Payer name-match data for the operator`],integration:[`Enabled via Trustly, Brite or a Nordic PSP`,`Nordea Open Banking APIs for licensed providers`,`Developer portal with sandbox`],approvalRate:`Very high completion in Finland, where bank payment is the default deposit habit`,uptimeSla:`Bank-grade availability with published maintenance windows`,payoutSpeed:`Instant domestic payments where supported, otherwise same or next business day`,onboardingTime:`As fast as your PSP onboarding`,support:`Delivered by your PSP, backed by Nordea's developer documentation`,contacts:[{name:`Nordea Business`,role:`Corporate banking enquiries`}],terms:[{label:`Trusted brand`,detail:`Players authenticate inside their own bank, which lifts deposit conversion.`},{label:`Instant and final`,detail:`No chargebacks and no card-scheme fees on bank-initiated deposits.`},{label:`Easy access`,detail:`One PSP or open banking contract unlocks Nordea plus the other Nordic banks.`}
248,{label:`Verified identity`,detail:`Bank-verified payer names support Nordic compliance requirements.`}]},{slug:`sporopay`,name:`Sporopay (Slovenská sporiteľňa)`,tagline:`Slovakia's bank payment button, backed by the country's largest retail bank`,url:`https://www.slsp.sk/en/business/receiving-payments/sporopay`,founded:`1994 (bank)`,headquarters:`Bratislava, Slovakia`,category:`Bank / e-payment method`,about:[`Sporopay is the online bank payment button of Slovenská sporiteľňa, the largest retail bank in Slovakia and part of Erste Group, letting customers pay directly from their bank account.`,`The bank's award-winning George platform is used by over a million Slovak customers, so the payment flow is instantly familiar and authenticated inside an app people use every day.`,`For operators targeting Slovakia, it is the local method players expect at checkout, settling in euro with no card-scheme fees and no chargeback exposure.`,`It is enabled through a Slovak acquiring relationship or a CEE-focused PSP that bundles regional bank buttons, so adding it alongside Czech and Polish rails is straightforward.`],stats:[{label:`Bank`,value:`Slovenská sporiteľňa`},{label:`Group`,value:`Erste Group`},{label:`Market`,value:`Slovakia`},{label:`Digital users`,value:`1m+ on George`}],pricing:[{item:`Transaction fee`,rate:`Set by the bank or your CEE PSP`},{item:`Merchant account`,rate:`Bank pricing on application`}],setupFee:`Per your bank or PSP agreement`,monthlyMinimum:`Per your bank or PSP agreement`,rollingReserve:`None on bank transfers`,chargebackFee:`None`,settlementCycle:`Domestic bank settlement, typically next business day`,currencies:[`EUR`],methods:[{name:`Sporopay bank redirect`,type:`Bank transfer`,markets:[`Slovakia`],payouts:!1},{name:`SEPA credit transfer (payouts)`,type:`Bank transfer`,markets:[`EEA`],payouts:!0}],acceptedMarkets:[`Slovakia`],focusMarkets:[`Slovak market entry`,`CEE bank-button bundles`,`Euro settlement`],verticals:[`Online casino`,`Sportsbook`,`Lottery`],licences:[`Licensed credit institution supervised by the National Bank of Slovakia`],pciLevel:`No card data involved`,amlKyc:[`Bank-level KYC on the payer`,`Sanctions screening at bank level`],riskTools:[`Strong customer authentication in the George platform`,`Final, irrevocable transfers`],integration:[`Enabled via a Slovak acquirer or CEE-focused PSP`,`Familiar bank-redirect checkout flow`],approvalRate:`High completion among Slovenská sporiteľňa customers`,uptimeSla:`Bank-grade availability`,payoutSpeed:`Withdrawals returned by SEPA or domestic instant transfer`,onboardingTime:`As fast as your PSP onboarding`,support:`Provided by the bank or your PSP`,contacts:[{name:`Slovenská sporiteľňa business banking`,role:`Merchant enquiries`}],terms:[{label:`Local trust`,detail:`Backed by Slovakia's largest retail bank and the Erste Group.`},{label:`No card fees`,detail:`Bank-initiated payments avoid scheme fees and chargebacks.`},{label:`Familiar flow`,detail:`Players authenticate in the George app they already use daily.`},{label:`Easy to add`,detail:`Bundles neatly with other CEE bank buttons through one PSP.`}]}];function B_(e){return z_.find(t=>t.slug===e)}var V_=A(`/payment-processors/$slug`)({loader:({params:e})=>{let t=B_(e.slug);if(!t)throw ve();return{processor:t}},head:({loaderData:e})=>{if(!e)return{meta:[{title:`Provider unavailable — iGaming.News`},{name:`robots`,content:`noindex`}]};let{processor:t}=e,n=`${t.name} — iGaming Payment Processor Profile, Fees & Markets | iGaming.News`,r=`${t.name}: ${t.tagline}. Pricing, rolling reserve, settlement, licences, supported payment methods, accepted markets, payout speed and integration options.`;return{meta:[{title:n},{name:`description`,content:r},{property:`og:title`,content:n},{property:`og:description`,content:r},{property:`og:type`,content:`website`},{property:`og:url`,content:U(`/payment-processors/${t.slug}`)},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:U(`/payment-processors/${t.slug}`)}]}},notFoundComponent:j(()=>W(()=>import(`./payment-processors._slug-CeChjAg6.js`),__vite__mapDeps([119,1,6,2,7,8,9,10])),`notFoundComponent`),component:j(()=>W(()=>import(`./payment-processors._slug-a_uD8Dwr.js`),__vite__mapDeps([120,1,6,2,7,8,9,10,12,20,121,117,43,15,22,49,96,118,23,26,27,28])),`component`)}),H_=A(`/policies/$slug`)({loader:({params:e})=>{let t=Tf(e.slug);throw t?be({href:t.path,statusCode:301}):ve()},notFoundComponent:j(()=>W(()=>import(`./policies._slug-Co0WGBYa.js`),__vite__mapDeps([122,1,6,2,7,8,9,10])),`notFoundComponent`)}),U_=A(`/region/$region`)({loader:({params:e})=>{let t=cf(e.region);throw be(t?{to:`/geo/$geo`,params:{geo:t},statusCode:301}:{to:`/`})}}),W_=A(`/studios/`)({head:()=>({meta:[{title:`Casino Game Studios — Profiles & Release Pipelines | iGaming.News`},{name:`description`,content:`Profiles of casino game studios: full game libraries, upcoming releases, licences, company information and commercial contacts.`},{property:`og:title`,content:`Casino Game Studio Profiles — iGaming.News`},{property:`og:description`,content:`Browse casino game studio profiles with live game lists, release pipelines, licensing detail and direct commercial contacts.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`},{property:`og:url`,content:U(`/studios`)}],links:[{rel:`canonical`,href:U(`/studios`)}]}),component:j(()=>W(()=>import(`./studios.index-CCp36cWd.js`),__vite__mapDeps([123,1,6,2,7,8,9,10,22,12,23])),`component`)}),G_=[{slug:`neon-valley-studios`,name:`Neon Valley Studios`,tagline:`Jackpot-led slot content for regulated markets`,about:[`Neon Valley Studios is a boutique slot developer building jackpot-led content for regulated European and North American markets. The studio operates as an independent content house with distribution through a single aggregation partner, allowing a small team to reach more than 400 operator brands.`,`Its output is deliberately narrow: six to eight premium titles a year, each built around a proprietary progressive jackpot engine and a maths model designed for long-session retention rather than short-burst volatility.`],founded:`2018`,headquarters:`Stockholm, Sweden`,headcount:`45–60`,ceo:`Annika Lindqvist`,licences:[`MGA (Malta)`,`UKGC`,`Romania ONJN`,`Ontario AGCO`],markets:[`UK`,`Sweden`,`Denmark`,`Ontario`,`Romania`,`Netherlands`],verticals:[`Video slots`,`Progressive jackpots`,`Bonus buy`],platforms:[`Desktop`,`Mobile web`,`Native iOS / Android`],stats:[{label:`Live titles`,value:`38`},{label:`Operator brands`,value:`400+`},{label:`Regulated markets`,value:`12`},{label:`Releases per year`,value:`8`}],games:[{title:`Atlantean Treasures`,type:`Video slot`,released:`14 Aug 2026`,rtp:`96.21%`,maxWin:`12,500x`,volatility:`High`,image:nt,blurb:`Dive beneath the waves in an Atlantis-themed slot with expanding wilds and a four-tier progressive jackpot.`},{title:`Lucky Leprechauns`,type:`Video slot`,released:`02 Jun 2026`,rtp:`96.04%`,maxWin:`7,700x`,volatility:`Medium`,image:tt,blurb:`Irish-luck theme with cascading multipliers and a pick-and-click bonus round.`},{title:`Gold Mine Dream Drop`,type:`Jackpot slot`,released:`18 Mar 2026`,rtp:`95.87%`,maxWin:`20,000x`,volatility:`High`,image:et,blurb:`Mining-themed jackpot slot running on the studio's shared Dream Drop network prize pool.`},{title:`Tigers Ice`,type:`Video slot`,released:`27 Jan 2026`,rtp:`96.35%`,maxWin:`5,000x`,volatility:`Medium`,image:it,blurb:`Frozen-tundra five-reel with sticky wild respins and a low-variance free spins mode.`},{title:`Jungle Cash Combo`,type:`Video slot`,released:`09 Nov 2025`,rtp:`96.11%`,maxWin:`9,400x`,volatility:`High`,image:rt,blurb:`Hold-and-win jungle title with a collect-all feature and instant cash symbols.`},{title:`Dragons Empire`,type:`Video slot`,released:`22 Aug 2025`,rtp:`96.50%`,maxWin:`15,000x`,volatility:`High`,image:$e,blurb:`Mythical dragon kingdom with a three-level bonus ladder and expanding reel set
248s.`}],upcoming:[{title:`Big Mouth Fishin`,type:`Fishing slot`,due:`24 Aug 2026`,status:`Certification`,image:rt,note:`Submitted to test labs for UK and Sweden; Ontario certification follows in September.`},{title:`Age of Conquest`,type:`Megaways-style slot`,due:`12 Sep 2026`,status:`Exclusive window`,image:$e,note:`30-day exclusivity with a tier-one European operator before general release.`},{title:`Blazing Piranhas`,type:`Cluster pays`,due:`Q4 2026`,status:`In development`,image:it,note:`First title built on the studio's new cluster engine with persistent multiplier grid.`},{title:`Atlantean Treasures II`,type:`Jackpot slot`,due:`Q1 2027`,status:`In development`,image:nt,note:`Sequel to the studio's best-performing title, with a cross-game jackpot tie-in.`}],news:[{date:`12 Aug 2026`,title:`Neon Valley Studios goes live in Ontario with aggregator deal`,source:`iGaming.News`,excerpt:`The Stockholm developer has certified its first eight titles for the Ontario market, opening distribution to regulated Canadian operators.`},{date:`29 Jul 2026`,title:`Dream Drop jackpot network passes €40m in paid prizes`,source:`Press release`,excerpt:`The studio's shared progressive network has now paid out more than €40m since launch, with its largest single win at €3.1m.`},{date:`04 Jul 2026`,title:`Studio signs multi-year content deal with Nordic operator group`,source:`iGaming.News`,excerpt:`A three-year agreement covers exclusive launch windows across Sweden, Denmark and Finland from Q4 2026.`},{date:`16 May 2026`,title:`Neon Valley hires former NetEnt maths lead as game design director`,source:`iGaming.News`,excerpt:`The appointment supports a shift towards higher-volatility mechanics and a doubled release schedule for 2027.`}],contacts:[{name:`Annika Lindqvist`,role:`Chief Executive Officer`,email:`[email protected]`},{name:`Tom Bergström`,role:`Commercial Director`,email:`[email protected]`},{name:`Studio press office`,role:`Media & PR enquiries`,email:`[email protected]`},{name:`Integration desk`,role:`Technical onboarding`,email:`[email protected]`}],web:[{label:`Website`,url:`https://example.com/neon-valley`},{label:`LinkedIn`,url:`https://linkedin.com`},{label:`Media kit`,url:`https://example.com/neon-valley/press`}],address:[`Neon Valley Studios AB`,`Kungsgatan 12`,`111 43 Stockholm`,`Sweden`]}];function K_(e){return G_.find(t=>t.slug===e)}var q_=A(`/studios/$slug`)({loader:({params:e})=>{let t=K_(e.slug);if(!t)throw ve();return{studio:t}},head:({loaderData:e})=>{if(!e)return{meta:[{title:`Studio not found — iGaming.News`},{name:`robots`,content:`noindex`}]};let{studio:t}=e,n=`${t.name} — Studio Profile, Games & Contacts | iGaming.News`,r=`${t.name} studio profile: ${t.tagline}. Full game list, upcoming releases, company information, licences and commercial contacts.`;return{meta:[{title:n},{name:`description`,content:r},{property:`og:title`,content:n},{property:`og:description`,content:r},{property:`og:type`,content:`profile`},{property:`og:url`,content:U(`/studios/${t.slug}`)},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:U(`/studios/${t.slug}`)}]}},notFoundComponent:j(()=>W(()=>import(`./studios._slug-D_10LIv4.js`),__vite__mapDeps([124,1,6,2,7,8,9,10])),`notFoundComponent`),component:j(()=>W(()=>import(`./studios._slug-CexZcTj5.js`),__vite__mapDeps([125,1,6,2,7,8,9,10,12,20,121,43,15,22,96,41,23,26,27,28])),`component`)}),J_=A(`/videos/`)({loader:async()=>({videos:await tm({data:{limit:120}})}),head:()=>{let e=U(`/videos`),t=`iGaming Videos — interviews and industry film | iGaming.News`,n=`Watch iGaming.News video: operator and supplier interviews, conference films and podcast episodes from across the regulated gambling industry.`;return{meta:[{title:t},{name:`description`,content:n},{property:`og:title`,content:t},{property:`og:description`,content:n},{property:`og:type`,content:`website`},{property:`og:url`,content:e},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:e}]}},component:j(()=>W(()=>import(`./videos.index-CEjqP2Hv.js`),__vite__mapDeps([126,1,6,2,7,8,9,10,17,12,23,26,27,28,29])),`component`),errorComponent:j(()=>W(()=>import(`./videos.index-DOxvgCbC.js`),__vite__mapDeps([127,1])),`errorComponent`),notFoundComponent:j(()=>W(()=>import(`./videos.index-jvrbxB80.js`),__vite__mapDeps([128,1])),`notFoundComponent`)}),Y_=A(`/_authenticated/members/`)({component:j(()=>W(()=>import(`./members.index-BEbB5j4e.js`),__vite__mapDeps([129,1,2,3,4,5,6,7,8,9,10,11,35,12,19,20,117,40,130,131,132])),`component`)}),X_=A(`/_authenticated/members/account`)({component:j(()=>W(()=>import(`./members.account-93gJfCq5.js`),__vite__mapDeps([133,1,2,6,7,8,9,10,85,62,63])),`component`)}),Z_=A(`/_authenticated/members/basket`)({component:j(()=>W(()=>import(`./members.basket-BpLZlI57.js`),__vite__mapDeps([134,1,2,3,4,5,6,7,8,9,10,11,35,114,12,33,77,135,130])),`component`)}),Q_=A(`/_authenticated/members/benefits`)({head:()=>({meta:[{title:`Package benefits — iGaming.News member area`},{name:`description`,content:`Use the directory, banner, newsletter and jobs benefits in your PR package.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Package benefits — iGaming.News member area`},{property:`og:description`,content:`Use the directory, banner, newsletter and jobs benefits in your PR package.`}]}
248),component:j(()=>W(()=>import(`./members.benefits-D2FTbarm.js`),__vite__mapDeps([136,1,2,3,4,5,6,7,8,9,10,11,35,63,73,12,131,132])),`component`)}),$_=A(`/_authenticated/members/orders`)({component:j(()=>W(()=>import(`./members.orders-D1_3eGM_.js`),__vite__mapDeps([137,1,3,2,4,5,6,7,8,9,10,11,35])),`component`)}),ev=A(`/_authenticated/members/publish`)({component:j(()=>W(()=>import(`./members.publish-BRfMJIxm.js`),__vite__mapDeps([138,1,2,6,7,8,9,10,11,4,85,62,63,32,12,117,77,131,3,5,35])),`component`)}),tv=A(`/_authenticated/members/receipts`)({head:()=>({meta:[{title:`Receipts — iGaming.News member area`},{name:`description`,content:`View and print receipts for your iGaming.News bookings.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Receipts — iGaming.News member area`},{property:`og:description`,content:`View and print receipts for your iGaming.News bookings.`}]}),component:j(()=>W(()=>import(`./members.receipts-C4wjEocj.js`),__vite__mapDeps([139,1,3,2,4,5,11,10,35,12,132])),`component`)}),nv=A(`/_authenticated/members/thank-you`)({validateSearch:e=>({session_id:typeof e.session_id==`string`?e.session_id:void 0}),component:j(()=>W(()=>import(`./members.thank-you-H2rbFT8r.js`),__vite__mapDeps([140,1,2,6,7,8,9,10,11,4,85,62,63,12,114,117,33,135,3,5,35,130,131])),`component`)}),rv=A(`/blog/$date/$slug`)({loader:async({params:e})=>{let t=await em({data:{date:e.date,slug:e.slug}});if(!t)throw ve();return{post:t,more:(await $p({data:{limit:12}})).filter(e=>e.slug!==t.slug).slice(0,3)}},head:({params:e,loaderData:t})=>{if(!t)return{meta:[{title:`Blog post unavailable — iGaming.News`},{name:`robots`,content:`noindex`}]};let{post:n}=t,r=n.metaTitle?.trim()||`${n.title} — iGaming.News Blog`,i=n.metaDescription?.trim()||n.excerpt,a=U(`/blog/${e.date}/${e.slug}`),o=n.image?.startsWith(`http`)?n.image:void 0,s=`${n.date}T${n.time}:00Z`;return{meta:[{title:r},{name:`description`,content:i},{name:`author`,content:n.author||`iGaming.News`},{property:`og:title`,content:r},{property:`og:description`,content:i},{property:`og:type`,content:`article`},{property:`og:url`,content:a},{property:`og:site_name`,content:`iGaming.News`},...o?[{property:`og:image`,content:o},{property:`og:image:alt`,content:n.title},{name:`twitter:image`,content:o}]:[],{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:title`,content:r},{name:`twitter:description`,content:i},{property:`article:published_time`,content:s}],links:[{rel:`canonical`,href:a}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`BlogPosting`,headline:n.title.slice(0,110),description:i,datePublished:s,dateModified:s,inLanguage:`en`,mainEntityOfPage:{"@type":`WebPage`,"@id":a},author:{"@type":`Person`,name:n.author||`iGaming.News`},publisher:{"@type":`Organization`,name:`iGaming.News`},...o?{image:[o]}:{}})}]}},component:j(()=>W(()=>import(`./blog._date._slug-CEijVXHG.js`),__vite__mapDeps([141,1,6,2,7,8,9,10,142,12,14,17,99,82,27,80,23,26,28,29])),`component`),errorComponent:j(()=>W(()=>import(`./blog._date._slug-DwZ-F-67.js`),__vite__mapDeps([143,1])),`errorComponent`),notFoundComponent:j(()=>W(()=>import(`./blog._date._slug-CxJp6bIO.js`),__vite__mapDeps([144,1])),`notFoundComponent`)}),iv=[`casino`,`betting`,`gambling-law`,`tech`],av=A(`/news/$date/$slug`)({loader:async({params:e})=>{let t=await Up({data:{date:e.date,slug:e.slug}});if(!t)throw ve();let n=t.language===`pt`?`pt`:`en`,[r,i,a]=await Promise.all([Gp({data:{limit:5,language:n}}),Wp({data:{category:t.category,slug:t.slug,limit:4,language:n}}),Promise.all(iv.map(e=>Hp({data:{category:e,limit:4}})))]);return{article:t,mostRead:r,related:i,byCategory:Object.fromEntries(iv.map((e,t)=>[e,a[t]]))}},head:({params:e,loaderData:t})=>{if(!t)return{meta:[{title:`Article unavailable — iGaming.News`},{name:`robots`,content:`noindex`}]};let{article:n}=t,r=n.metaTitle?.trim()||`${n.title} — iGaming.News`,i=n.metaDescription?.trim()||n.excerpt,a=U(`/news/${e.date}/${e.slug}`),o=n.image?.startsWith(`http`)?n.image:void 0,s=`${n.date}T${n.time}:00Z`,c=tf(n.category)?.name??`iGaming`,l=n.keywords&&n.keywords.length>0?n.keywords.join(`, `):void 0;return{meta:[{title:r},{name:`description`,content:i},...l?[{name:`keywords`,content:l},{name:`news_keywords`,content:l}]:[],{name:`author`,content:n.author||`iGaming.News`},{property:`og:title`,content:r},{property:`og:description`,content:i},{property:`og:type`,content:`article`},{property:`og:url`,content:a},{property:`og:site_name`,content:`iGaming.News`},...o?[{property:`og:image`,content:o},{property:`og:image:alt`,content:n.title},{name:`twitter:image`,content:o}]:[],{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:title`,content:r},{name:`twitter:description`,content:i},{property:`article:published_time`,content:s},{property:`article:modified_time`,content:s},{property:`article:section`,content:c},{property:`article:author`,content:n.author||`iGaming.News`},...(n.keywords??[]).map(e=>({property:`article:tag`,content:e}))],links:[{rel:`canonical`,href:a}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`NewsArticle`,headline:n.title.slice(0,110),description:i,...l?{keywords:l}:{},articleSection:c,inLanguage:`en`,datePublished:s,dateModified:s,url:a,mainEntityOfPage:{"@type":`WebPage`,"@id":a},...o?{image:[o]}:{},author:{"@type":n.author?`Person`:`Organization`,name:n.author||`iGaming.News`,...n.author?{}:{url:U(`/`)}},publisher:{"@type":`NewsMediaOrganization`,name:`iGaming.News`,url:U(`/`),logo:{"@type":`ImageObject`,url:U(`/favicon.png`)}}})},{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:[{"@type":`ListItem`,position:1,name:`Home`,item:U(`/`)},{"@type":`ListItem`,position:2,name:c,item:U(`/category/${n.category}`)},{"@type":`ListItem`,position:3,name:n.title,item:a}]})}]}},component:j(()=>W(()=>import(`./news._date._slug-D6565RDK.js`),__vite__mapDeps([145,1,6,2,7,8,9,10,142,12,14,17,99,82,27,80,23,26,28,29,30])),`component`)}),ov=A(`/video/$date/$slug`)({loader:async({params:e})=>{let t=await nm({data:{date:e.date,slug:e.slug}});if(!t)throw ve();return{video:t,more:(await tm({data:{limit:12}})).filter(e=>e.slug!==t.slug).slice(0,3)}},head:({params:e,loaderData:t})=>{if(!t)return{meta:[{title:`Video unavailable — iGaming.News`},{name:`robots`,content:`noindex`}]};let{video:n}=t,r=n.metaTitle?.trim()||`${n.title} — iGaming.News`,i=n.metaDescription?.trim()||n.excerpt,a=U(`/video/${e.date}/${e.slug}`),o=n.image?.startsWith(`http`)?n.image:void 0,s=`${n.date}T${n.time}:00Z`;return{meta:[{title:r},{name:`description`,content:i},{property:`og:title`,content:r},{property:`og:description`,content:i},{property:`og:type`,content:`video.other`},{property:`og:url`,content:a},{property:`og:site_name`,content:`iGaming.News`},...o?[{property:`og:image`,content:o},{property:`og:image:alt`,content:n.title},{name:`twitter:image`,content:o}]:[],{name:`twitter:card`,content:`summary_large_image`},{property:`article:published_time`,content:s}],links:[{rel:`canonical`,href:a}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`VideoObject`,name:n.title.slice(0,110),description:i,uploadDate:s,...o?{thumbnailUrl:[o]}:{},...n.videoUrl?{embedUrl:n.videoUrl}:{},publisher:{"@type":`Organization`,name:`iGaming.News`}})}]}},component:j(()=>W(()=>import(`./video._date._slug-sN-qNTIU.js`),__vite__mapDeps([146,1,6,2,7,8,9,10,27,80,23,26,28,29])),`component`),errorComponent:j(()=>W(()=>import(`./video._date._slug-DDRib7SJ.js`),__vite__mapDeps([147,1])),`errorComponent`),notFoundComponent:j(()=>W(()=>import(`./video._date._slug-CZKfyTsy.js`),__vite__mapDeps([148,1])),`notFoundComponent`)}),sv=om.update({id:`/`,path:`/`,getParentRoute:()=>H}),cv=sm.update({id:`/_authenticated`,getParentRoute:()=>H}),lv=hm.update({id:`/admin`,path:`/admin`,getParentRoute:()=>H}),uv=gm.update({id:`/advertise`,path:`/advertise`,getParentRoute:()=>H}),dv=wm.update({id:`/allstreams`,path:`/allstreams`,getParentRoute:()=>H}),fv=Tm.update({id:`/auth`,path:`/auth`,getParentRoute:()=>H}),pv=Em.update({id:`/brasil`,path:`/brasil`,getParentRoute:()=>H}),mv=Dm.update({id:`/contact`,path:`/contact`,getParentRoute:()=>H}),hv=jm.update({id:`/corrections-policy`,path:`/corrections-policy`,getParentRoute:()=>H}),gv=Mm.update({id:`/directory`,path:`/directory`,getParentRoute:()=>H}),_v=Pm.update({id:`/editorial-policy`,path:`/editorial-policy`,getParentRoute:()=>H}),vv=Im.update({id:`/ethics-policy`,path:`/ethics-policy`,getParentRoute:()=>H}),yv=Lm.update({id:`/import-status`,path:`/import-status`,getParentRoute:()=>H}),bv=Rm.update({id:`/join`,path:`/join`,getParentRoute:()=>H}),xv=Wm.update({id:`/meet-the-team`,path:`/meet-the-team`,getParentRoute:()=>H}),Sv=Eg.update({id:`/news-feed`,path:`/news-feed`,getParentRoute:()=>H}),Cv=Og.update({id:`/ownership-disclosure`,path:`/ownership-disclosure`,getParentRoute:()=>H}),wv=Mg.update({id:`/people`,path:`/people`,getParentRoute:()=>H}),Tv=Ng.update({id:`/podcasts`,path:`/podcasts`,getParentRoute:()=>H}),Ev=Fg.update({id:`/sponsored-content-policy`,path:`/sponsored-content-policy`,getParentRoute:()=>H}),Dv=zg.update({id:`/subscribe`,path:`/subscribe`,getParentRoute:()=>H}),Ov=Bg.update({id:`/top-reads`,path:`/top-reads`,getParentRoute:()=>H}),kv=Vg.update({id:`/members`,path:`/members`,getParentRoute:()=>cv}),Av=Hg.update({id:`/`,path:`/`,getParentRoute:()=>lv}),jv=Ug.update({id:`/$id`,path:`/$id`,getParentRoute:()=>lv}),Mv=Wg.update({id:`/ads`,path:`/ads`,getParentRoute:()=>lv}),Nv=Gg.update({id:`/allstreams`,path:`/allstreams`,getParentRoute:()=>lv}),Pv=Kg.update({id:`/messages`,path:`/messages`,getParentRoute:()=>lv}),Fv=qg.update({id:`/new`,path:`/new`,getParentRoute:()=>lv}),Iv=Jg.update({id:`/subscribers`,path:`/subscribers`,getParentRoute:()=>lv}),Lv=Yg.update({id:`/takeovers`,path:`/takeovers`,getParentRoute:()=>lv}),Rv=Xg.update({id:`/team`,path:`/team`,getParentRoute:()=>lv}),zv=Zg.update({id:`/affiliate-programs/`,path:`/affiliate-programs/`,getParentRoute:()=>H}),Bv=t_.update({id:`/affiliate-programs/$slug`,path:`/affiliate-programs/$slug`,getParentRoute:()=>H}),Vv=i_.update({id:`/authors/$slug`,path:`/authors/$slug`,getParentRoute:()=>H}),Hv=a_.update({id:`/blog/`,path:`/blog/`,getParentRoute:()=>H}),Uv=o_.update({id:`/category/$category`,path:`/category/$category`,getParentRoute:()=>H}),Wv=s_.update({id:`/events/`,path:`/events/`,getParentRoute:()=>H}),Gv=E_.update({id:`/events/$slug`,path:`/events/$slug`,getParentRoute:()=>H}),Kv=j_.update({id:`/geo/$geo`,path:`/geo/$geo`,getParentRoute:()=>H}),qv=M_.update({id:`/jobs/`,path:`/jobs/`,getParentRoute:()=>H}),Jv=I_.update({id:`/jobs/$slug`,path:`/jobs/$slug`,getParentRoute:()=>H}),Yv=L_.update({id:`/payment-processors/`,path:`/payment-processors/`,getParentRoute:()=>H}),Xv=V_.update({id:`/payment-processors/$slug`,path:`/payment-processors/$slug`,getParentRoute:()=>H}),Zv=H_.update({id:`/policies/$slug`,path:`/policies/$slug`,getParentRoute:()=>H}),Qv=U_.update({id:`/region/$region`,path:`/region/$region`,getParentRoute:()=>H}),$v=W_.update({id:`/studios/`,path:`/studios/`,getParentRoute:()=>H}),ey=q_.update({id:`/studios/$slug`,path:`/studios/$slug`,getParentRoute:()=>H}),ty=J_.update({id:`/videos/`,path:`/videos/`,getParentRoute:()=>H}),ny=Y_.update({id:`/`,path:`/`,getParentRoute:()=>kv}),ry=X_.update({id:`/account`,path:`/account`,getParentRoute:()=>kv}),iy=Z_.update({id:`/basket`,path:`/basket`,getParentRoute:()=>kv}),ay=Q_.update({id:`/benefits`,path:`/benefits`,getParentRoute:()=>kv}),oy=$_.update({id:`/orders`,path:`/orders`,getParentRoute:()=>kv}),sy=ev.update({id:`/publish`,path:`/publish`,getParentRoute:()=>kv}),cy=tv.update({id:`/receipts`,path:`/receipts`,getParentRoute:()=>kv}),ly=nv.update({id:`/thank-you`,path:`/thank-you`,getParentRoute:()=>kv}),uy=rv.update({id:`/blog/$date/$slug`,path:`/blog/$date/$slug`,getParentRoute:()=>H}),dy=av.update({id:`/news/$date/$slug`,path:`/news/$date/$slug`,getParentRoute:()=>H}),fy=ov.update({id:`/video/$date/$slug`,path:`/video/$date/$slug`,getParentRoute:()=>H}),py={AuthenticatedMembersAccountRoute:ry,AuthenticatedMembersBasketRoute:iy,AuthenticatedMembersBenefitsRoute:ay,AuthenticatedMembersOrdersRoute:oy,AuthenticatedMembersPublishRoute:sy,AuthenticatedMembersReceiptsRoute:cy,AuthenticatedMembersThankYouRoute:ly,AuthenticatedMembersIndexRoute:ny},my={AuthenticatedMembersRoute:kv._addFileChildren(py)},hy=cv._addFileChildren(my),gy={AdminIdRoute:jv,AdminAdsRoute:Mv,AdminAllstreamsRoute:Nv,AdminMessagesR
248oute:Pv,AdminNewRoute:Fv,AdminSubscribersRoute:Iv,AdminTakeoversRoute:Lv,AdminTeamRoute:Rv,AdminIndexRoute:Av},_y={IndexRoute:sv,AuthenticatedRouteRoute:hy,AdminRoute:lv._addFileChildren(gy),AdvertiseRoute:uv,AllstreamsRoute:dv,AuthRoute:fv,BrasilRoute:pv,ContactRoute:mv,CorrectionsPolicyRoute:hv,DirectoryRoute:gv,EditorialPolicyRoute:_v,EthicsPolicyRoute:vv,ImportStatusRoute:yv,JoinRoute:bv,MeetTheTeamRoute:xv,NewsFeedRoute:Sv,OwnershipDisclosureRoute:Cv,PeopleRoute:wv,PodcastsRoute:Tv,SponsoredContentPolicyRoute:Ev,SubscribeRoute:Dv,TopReadsRoute:Ov,AffiliateProgramsSlugRoute:Bv,AuthorsSlugRoute:Vv,CategoryCategoryRoute:Uv,EventsSlugRoute:Gv,GeoGeoRoute:Kv,JobsSlugRoute:Jv,PaymentProcessorsSlugRoute:Xv,PoliciesSlugRoute:Zv,RegionRegionRoute:Qv,StudiosSlugRoute:ey,AffiliateProgramsIndexRoute:zv,BlogIndexRoute:Hv,EventsIndexRoute:Wv,JobsIndexRoute:qv,PaymentProcessorsIndexRoute:Yv,StudiosIndexRoute:$v,VideosIndexRoute:ty,BlogDateSlugRoute:uy,NewsDateSlugRoute:dy,VideoDateSlugRoute:fy},vy=H._addFileChildren(_y),yy=()=>zr({routeTree:vy,context:{queryClient:new du},scrollRestoration:!0,defaultPreloadStaleTime:0});async function by(){let e=await yy(),t;if(au){let n=await au.getOptions();n.serializationAdapters=n.serializationAdapters??[],window.__TSS_START_OPTIONS__=n,t=n.serializationAdapters,e.options.defaultSsr=n.defaultSsr}else t=[],window.__TSS_START_OPTIONS__={serializationAdapters:t};return t.push(Pn),e.options.serializationAdapters&&t.push(...e.options.serializationAdapters),e.update({basepath:``,serializationAdapters:t}),e.stores.matchesId.get().length||await Ln(e),e}var xy=by;async function Sy(){let e=await xy();return window.$_TSR?.h(),e}var Cy;function wy(){return Cy||=Sy(),(0,k.jsx)(zn,{promise:Cy,children:e=>(0,k.jsx)(Hr,{router:e})})}var Ty=ct();(0,O.startTransition)(()=>{(0,Ty.hydrateRoot)(document,(0,k.jsx)(O.StrictMode,{children:(0,k.jsx)(wy,{})}))});export{fm as $,e_ as A,Hd as At,Um as B,g_ as C,Xd as Ct,i_ as D,Gd as Dt,a_ as E,Kd as Et,Ng as F,Pr as Ft,Nm as G,Bm as H,Mg as I,gr as It,Em as J,km as K,kg as L,Ug as M,fu as Mt,Bg as N,su as Nt,r_ as O,Wd as Ot,Pg as P,eu as Pt,ym as Q,Dg as R,x_ as S,Yd as St,o_ as T,nf as Tt,Vm as U,Hm as V,Fm as W,bm as X,wm as Y,vm as Z,d_ as _,yf as _t,nv as a,mm as at,b_ as b,bf as bt,G_ as c,kp as ct,I_ as d,Dp as dt,um as et,N_ as f,bp as ft,T_ as g,Cf as gt,E_ as h,Xf as ht,rv as i,dm as it,Qg as j,Bd as jt,t_ as k,Ud as kt,V_ as l,Op as lt,k_ as m,hp as mt,av as n,lm as nt,J_ as o,om as ot,j_ as p,mp as pt,Om as q,iv as r,pm as rt,q_ as s,Rp as st,ov as t,cm as tt,z_ as u,Ep as ut,p_ as v,_f as vt,v_ as w,tf as wt,y_ as x,qd as xt,f_ as y,vf as yt,Eg as z};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.