1import{o as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{i as n,t as r}from"./backend-CC2lXJt_.js";import{b as i}from"./vendor-react-Ccu8BlQU.js";import{a,i as o,l as s,o as c}from"./i18n-pkgydE_c.js";import{K as l}from"./vendor-data-D4IPhVFk.js";import{g as u,r as ee,y as te}from"./errorReporting-C8KVtz7O.js";import{bt as ne}from"./vendor-utils-C8Ev1Z53.js";import{_ as re,h as d,p as f,v as ie}from"./mixpanelUtils-CtEUaRBr.js";import{n as ae}from"./bridge-Cq_Szqk4.js";function p(e){let t=new URLSearchParams(window.location.search);t.delete(e);let n=window.location.pathname+(t.toString()?`?`+t.toString():``);window.history.replaceState({},``,n)}function oe(e){let{or:t,and:n,...r}=e;return{...m(r),or:(...e)=>oe({$or:[r,...e]}),and:(...e)=>oe({$and:[r,...e]}),query:()=>m(r)??{}}}function m(e,t=49){if(t<=0)return e;if(typeof e!=`function`){if(Array.isArray(e)){let n=e.map(e=>m(e,t-1)).filter(e=>e!=null);return n.length===0?void 0:n}if(typeof e==`object`&&e){let n={};for(let r in e){let i=m(e[r],t-1);i!=null&&(n[r]=i)}return Object.keys(n).length===0||Object.keys(n).length===1&&n.$options!=null?void 0:n}return e===null?void 0:e}}var se=[`sso_access_token`,`sso_token_type`,`sso_expires_at`,`sso_scope`,`sso_provider`,`sso_id_token`],ce={accessToken:null,authMethod:null,ssoWorkspaceId:null,legacySsoTokens:null,sessionCode:null,sessionExchangePath:null};function le(){let e=new URLSearchParams(window.location.search),t=e.get(`access_token`),n=e.get(`sso_workspace_id`),r=!!e.get(`session_code`)&&!!e.get(`session_exchange_path`),i=r?e.get(`session_code`):null,a=r?e.get(`session_exchange_path`):null,o=r?null:t;t&&(p(`access_token`),p(`auth_method`)),n&&p(`sso_workspace_id`),r&&(p(`session_code`),p(`session_exchange_path`));let s=null;if(e.has(`sso_access_token`)){let t=e.get(`sso_access_token`);if(t){s={access_token:t};let n=e.get(`sso_id_token`);n&&(s.id_token=n);let r=e.get(`sso_token_type`);r&&(s.token_type=r);let i=e.get(`sso_expires_at`);i&&(s.expires_at=i);let a=e.get(`sso_scope`);a&&(s.scope=a);let o=e.get(`sso_provider`);o&&(s.provider=o)}se.forEach(p)}return{accessToken:o,authMethod:o?e.get(`auth_method`):null,ssoWorkspaceId:n,legacySsoTokens:s,sessionCode:i,sessionExchangePath:a}}var h=le(),ue=h.authMethod;function de(){if(!h)return ce;let e=h;return h=null,e}function fe(){return ue}var pe=`00000000-0000-0000-0000-000000000000`,me=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function he(e){return typeof e==`string`&&me.test(e)}function ge(e){if(!he(e))throw TypeError(`Invalid UUID`);let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,t&255,(t=parseInt(e.slice(9,13),16))>>>8,t&255,(t=parseInt(e.slice(14,18),16))>>>8,t&255,(t=parseInt(e.slice(19,23),16))>>>8,t&255,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255)}var g=[];for(let e=0;e<256;++e)g.push((e+256).toString(16).slice(1));function _e(e,t=0){return(g[e[t+0]]+g[e[t+1]]+g[e[t+2]]+g[e[t+3]]+`-`+g[e[t+4]]+g[e[t+5]]+`-`+g[e[t+6]]+g[e[t+7]]+`-`+g[e[t+8]]+g[e[t+9]]+`-`+g[e[t+10]]+g[e[t+11]]+g[e[t+12]]+g[e[t+13]]+g[e[t+14]]+g[e[t+15]]).toLowerCase()}var ve,ye=new Uint8Array(16);function be(){if(!ve){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);ve=crypto.getRandomValues.bind(crypto)}return ve(ye)}function xe(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}var Se=`6ba7b810-9dad-11d1-80b4-00c04fd430c8`,Ce=`6ba7b811-9dad-11d1-80b4-00c04fd430c8`;function we(e,t,n,r,i,a){let o=typeof n==`string`?xe(n):n,s=typeof r==`string`?ge(r):r;if(typeof r==`string`&&(r=ge(r)),r?.length!==16)throw TypeError(`Namespace must be array-like (16 iterable integer values, 0-255)`);let c=new Uint8Array(16+o.length);if(c.set(s),c.set(o,s.length),c=t(c),c[6]=c[6]&15|e,c[8]=c[8]&63|128,i){a||=0;for(let e=0;e<16;++e)i[a+e]=c[e];return i}return _e(c)}var Te={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Ee(e,t,n){e||={};let r=e.random??e.rng?.()??be();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return _e(r)}function De(e,t,n){return Te.randomUUID&&!t&&!e?Te.randomUUID():Ee(e,t,n)}function Oe(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function ke(e,t){return e<<t|e>>>32-t}function Ae(e){let t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new
1Uint8Array(e.length+1);r.set(e),r[e.length]=128,e=r;let i=e.length/4+2,a=Math.ceil(i/16),o=Array(a);for(let t=0;t<a;++t){let n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[t*64+r*4]<<24|e[t*64+r*4+1]<<16|e[t*64+r*4+2]<<8|e[t*64+r*4+3];o[t]=n}o[a-1][14]=(e.length-1)*8/2**32,o[a-1][14]=Math.floor(o[a-1][14]),o[a-1][15]=(e.length-1)*8&4294967295;for(let e=0;e<a;++e){let r=new Uint32Array(80);for(let t=0;t<16;++t)r[t]=o[e][t];for(let e=16;e<80;++e)r[e]=ke(r[e-3]^r[e-8]^r[e-14]^r[e-16],1);let i=n[0],a=n[1],s=n[2],c=n[3],l=n[4];for(let e=0;e<80;++e){let n=Math.floor(e/20),o=ke(i,5)+Oe(n,a,s,c)+l+t[n]+r[e]>>>0;l=c,c=s,s=ke(a,30)>>>0,a=i,i=o}n[0]=n[0]+i>>>0,n[1]=n[1]+a>>>0,n[2]=n[2]+s>>>0,n[3]=n[3]+c>>>0,n[4]=n[4]+l>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}function je(e,t,n,r){return we(80,Ae,e,t,n,r)}je.DNS=Se,je.URL=Ce;var Me=e(ne()),_=Object.create(null);_.open=`0`,_.close=`1`,_.ping=`2`,_.pong=`3`,_.message=`4`,_.upgrade=`5`,_.noop=`6`;var v=Object.create(null);Object.keys(_).forEach(e=>{v[_[e]]=e});var Ne={type:`error`,data:`parser error`},Pe=typeof Blob==`function`||typeof Blob<`u`&&Object.prototype.toString.call(Blob)===`[object BlobConstructor]`,Fe=typeof ArrayBuffer==`function`,Ie=e=>typeof ArrayBuffer.isView==`function`?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,Le=({type:e,data:t},n,r)=>Pe&&t instanceof Blob?n?r(t):Re(t,r):Fe&&(t instanceof ArrayBuffer||Ie(t))?n?r(t):Re(new Blob([t]),r):r(_[e]+(t||``)),Re=(e,t)=>{let n=new FileReader;return n.onload=function(){let e=n.result.split(`,`)[1];t(`b`+(e||``))},n.readAsDataURL(e)};function ze(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}var Be;function Ve(e,t){if(Pe&&e.data instanceof Blob)return e.data.arrayBuffer().then(ze).then(t);if(Fe&&(e.data instanceof ArrayBuffer||Ie(e.data)))return t(ze(e.data));Le(e,!1,e=>{Be||=new TextEncoder,t(Be.encode(e))})}var He=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,y=typeof Uint8Array>`u`?[]:new Uint8Array(256);for(let e=0;e<64;e++)y[He.charCodeAt(e)]=e;var Ue=e=>{let t=e.length*.75,n=e.length,r,i=0,a,o,s,c;e[e.length-1]===`=`&&(t--,e[e.length-2]===`=`&&t--);let l=new ArrayBuffer(t),u=new Uint8Array(l);for(r=0;r<n;r+=4)a=y[e.charCodeAt(r)],o=y[e.charCodeAt(r+1)],s=y[e.charCodeAt(r+2)],c=y[e.charCodeAt(r+3)],u[i++]=a<<2|o>>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},We=typeof ArrayBuffer==`function`,Ge=(e,t)=>{if(typeof e!=`string`)return{type:`message`,data:qe(e,t)};let n=e.charAt(0);return n===`b`?{type:`message`,data:Ke(e.substring(1),t)}:v[n]?e.length>1?{type:v[n],data:e.substring(1)}:{type:v[n]}:Ne},Ke=(e,t)=>We?qe(Ue(e),t):{base64:!0,data:e},qe=(e,t)=>{switch(t){case`blob`:return e instanceof Blob?e:new Blob([e]);default:return e instanceof ArrayBuffer?e:e.buffer}},Je=`�`,Ye=(e,t)=>
1{let n=e.length,r=Array(n),i=0;e.forEach((e,a)=>{Le(e,!1,e=>{r[a]=e,++i===n&&t(r.join(Je))})})},Xe=(e,t)=>{let n=e.split(Je),r=[];for(let e=0;e<n.length;e++){let i=Ge(n[e],t);if(r.push(i),i.type===`error`)break}return r};function Ze(){return new TransformStream({transform(e,t){Ve(e,n=>{let r=n.length,i;if(r<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,r);else if(r<65536){i=new Uint8Array(3);let e=new DataView(i.buffer);e.setUint8(0,126),e.setUint16(1,r)}else{i=new Uint8Array(9);let e=new DataView(i.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(r))}e.data&&typeof e.data!=`string`&&(i[0]|=128),t.enqueue(i),t.enqueue(n)})}})}var Qe;function b(e){return e.reduce((e,t)=>e+t.length,0)}function x(e,t){if(e[0].length===t)return e.shift();let n=new Uint8Array(t),r=0;for(let i=0;i<t;i++)n[i]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function $e(e,t){Qe||=new TextDecoder;let n=[],r=0,i=-1,a=!1;return new TransformStream({transform(o,s){for(n.push(o);;){if(r===0){if(b(n)<1)break;let e=x(n,1);a=(e[0]&128)==128,i=e[0]&127,r=i<126?3:i===126?1:2}else if(r===1){if(b(n)<2)break;let e=x(n,2);i=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),r=3}else if(r===2){if(b(n)<8)break;let e=x(n,8),t=new DataView(e.buffer,e.byteOffset,e.length),a=t.getUint32(0);if(a>2**21-1){s.enqueue(Ne);break}i=a*2**32+t.getUint32(4),r=3}else{if(b(n)<i)break;let e=x(n,i);s.enqueue(Ge(a?e:Qe.decode(e),t)),r=0}if(i===0||i>e){s.enqueue(Ne);break}}}})}function S(e){if(e)return et(e)}function et(e){for(var t in S.prototype)e[t]=S.prototype[t];return e}S.prototype.on=S.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks[`$`+e]=this._callbacks[`$`+e]||[]).push(t),this},S.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},S.prototype.off=S.prototype.removeListener=S.prototype.removeAllListeners=S.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks[`$`+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks[`$`+e],this;for(var r,i=0;i<n.length;i++)if(r=n[i],r===t||r.fn===t){n.splice(i,1);break}return n.length===0&&delete this._callbacks[`$`+e],this},S.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=Array(arguments.length-1),n=this._callbacks[`$`+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){n=n.slice(0);for(var r=0,i=n.length;r<i;++r)n[r].apply(this,t)}return this},S.prototype.emitReserved=S.prototype.emit,S.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[`$`+e]||[]},S.prototype.hasListeners=function(e){return!!this.listeners(e).length};var C=typeof Promise==`function`&&typeof Promise.resolve==`function`?e=>Promise.resolve().then(e):(e,t)=>t(e,0),w=typeof self<`u`?self:typeof window<`u`?window:Function(`return this`)(),tt=`arraybuffer`;function nt(e,...t){return t.reduce((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t),{})}var rt=w.setTimeout,it=w.clearTimeout;function T(e,t){t.useNativeTimers?(e.setTimeoutFn=rt.bind(w),e.clearTimeoutFn=it.bind(w)):(e.setTimeoutFn=w.setTimeout.bind(w),e.clearTimeoutFn=w.clearTimeout.bind(w))}var at=1.33;function ot(e){return typeof e==`string`?st(e):Math.ceil((e.byteLength||e.size)*at)}function st(e){let t=0,n=0;for(let r=0,i=e.length;r<i;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}function ct(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function lt(e){let t=``;for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+=`&`),t+=encodeURIComponent(n)+`=`+encodeURIComponent(e[n]));return t}function ut(e){let t={},n=e.split(`&`);for(let e=0,r=n.length;e<r;e++){let r=n[e].split(`=`);t[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return t}var dt=class extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type=`TransportError`}},ft=class extends S{constructor(e){super(),this.writable=!1,T(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}
1onError(e,t,n){return super.emitReserved(`error`,new dt(e,t,n)),this}open(){return this.readyState=`opening`,this.doOpen(),this}close(){return(this.readyState===`opening`||this.readyState===`open`)&&(this.doClose(),this.onClose()),this}send(e){this.readyState===`open`&&this.write(e)}onOpen(){this.readyState=`open`,this.writable=!0,super.emitReserved(`open`)}onData(e){let t=Ge(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved(`packet`,e)}onClose(e){this.readyState=`closed`,super.emitReserved(`close`,e)}pause(e){}createUri(e,t={}){return e+`://`+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(`:`)===-1?e:`[`+e+`]`}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?`:`+this.opts.port:``}_query(e){let t=lt(e);return t.length?`?`+t:``}},pt=class extends ft{constructor(){super(...arguments),this._polling=!1}get name(){return`polling`}doOpen(){this._poll()}pause(e){this.readyState=`pausing`;let t=()=>{this.readyState=`paused`,e()};if(this._polling||!this.writable){let e=0;this._polling&&(e++,this.once(`pollComplete`,function(){--e||t()})),this.writable||(e++,this.once(`drain`,function(){--e||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved(`poll`)}onData(e){Xe(e,this.socket.binaryType).forEach(e=>{if(this.readyState===`opening`&&e.type===`open`&&this.onOpen(),e.type===`close`)return this.onClose({description:`transport closed by the server`}),!1;this.onPacket(e)}),this.readyState!==`closed`&&(this._polling=!1,this.emitReserved(`pollComplete`),this.readyState===`open`&&this._poll())}doClose(){let e=()=>{this.write([{type:`close`}])};this.readyState===`open`?e():this.once(`open`,e)}write(e){this.writable=!1,Ye(e,e=>{this.doWrite(e,()=>{this.writable=!0,this.emitReserved(`drain`)})})}uri(){let e=this.opts.secure?`https`:`http`,t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=ct()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}},mt=!1;try{mt=typeof XMLHttpRequest<`u`&&`withCredentials`in new XMLHttpRequest}catch{}var ht=mt;function gt(){}var _t=class extends pt{constructor(e){if(super(e),typeof location<`u`){let t=location.protocol===`https:`,n=location.port;n||=t?`443`:`80`,this.xd=typeof location<`u`&&e.hostname!==location.hostname||n!==e.port}}doWrite(e,t){let n=this.request({method:`POST`,data:e});n.on(`success`,t),n.on(`error`,(e,t)=>{this.onError(`xhr post error`,e,t)})}doPoll(){let e=this.request();e.on(`data`,this.onData.bind(this)),e.on(`error`,(e,t)=>{this.onError(`xhr poll error`,e,t)}),this.pollXhr=e}},E=class e extends S{constructor(e,t,n){super(),this.createRequest=e,T(this,n),this._opts=n,this._method=n.method||`GET`,this._uri=t,this._data=n.data===void 0?null:n.data,this._create()}_create(){var t;let n=nt(this._opts,`agent`,`pfx`,`key`,`passphrase`,`cert`,`ca`,`ciphers`,`rejectUnauthorized`,`autoUnref`);n.xdomain=!!this._opts.xd;let r=this._xhr=this.createRequest(n);try{r.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let e in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(e)&&r.setRequestHeader(e,this._opts.extraHeaders[e])}}catch{}if(this._method===`POST`)try{r.setRequestHeader(`Content-type`,`text/plain;charset=UTF-8`)}catch{}try{r.setRequestHeader(`Accept`,`*/*`)}catch{}(t=this._opts.cookieJar)==null||t.addCookies(r),`withCredentials`in r&&(r.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(r.timeout=this._opts.requestTimeout),r.onreadystatechange=()=>{var e;r.readyState===3&&((e=this._opts.cookieJar)==null||e.parseCookies(r.getResponseHeader(`set-cookie`))),r.readyState===4&&(r.status===200||r.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof r.status==`number`?r.status:0)},0))},r.send(this._data)}catch(e){this.setTimeoutFn(()=>{this._onError(e)},0);return}typeof document<`u`&&(this._index=e.requestsCount++,e.requests[this._index]=this)}_onError(e){this.emitReserved(`error`,e,this._xhr),this._cleanup(!0)}_cleanup(t){if(this._xhr!==void 0&&this._xhr!==null){if(this._xhr.onreadystatechange=gt,t)try{this._xhr.abort()}catch{}typeof document<`u`&&delete e.requests[this._index],this._xhr=null}}_onLoad(){let e=this._xhr.responseText;e!==null&&(this.emitReserved(`data`,e),this.emitReserved(`success`),this._cleanup())}abort(){this._cleanup()}};if(E.requestsCount=0,E.requests={},typeof document<`u`){if(typeof attachEvent==`function`)attachEvent(`onunload`,vt);else if(typeof addEventListener==`function`){let e=`onpagehide`in w?`pagehide`:`unload`;addEventListener(e,vt,!1)}}function vt(){for(let e in E.requests)E.requests.hasOwnProperty(e)&&E.requests[e].abort()}var yt=(function(){let e=xt({xdomain:!1});return e&&e.responseType!==null}
1)(),bt=class extends _t{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=yt&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new E(xt,this.uri(),e)}};function xt(e){let t=e.xdomain;try{if(typeof XMLHttpRequest<`u`&&(!t||ht))return new XMLHttpRequest}catch{}if(!t)try{return new w[[`Active`,`Object`].join(`X`)](`Microsoft.XMLHTTP`)}catch{}}var St=typeof navigator<`u`&&typeof navigator.product==`string`&&navigator.product.toLowerCase()===`reactnative`,Ct=class extends ft{get name(){return`websocket`}doOpen(){let e=this.uri(),t=this.opts.protocols,n=St?{}:nt(this.opts,`agent`,`perMessageDeflate`,`pfx`,`key`,`passphrase`,`cert`,`ca`,`ciphers`,`rejectUnauthorized`,`localAddress`,`protocolVersion`,`origin`,`maxPayload`,`family`,`checkServerIdentity`);this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,n)}catch(e){return this.emitReserved(`error`,e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:`websocket connection closed`,context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError(`websocket error`,e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],r=t===e.length-1;Le(n,this.supportsBinary,e=>{try{this.doWrite(n,e)}catch{}r&&C(()=>{this.writable=!0,this.emitReserved(`drain`)},this.setTimeoutFn)})}}doClose(){this.ws!==void 0&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?`wss`:`ws`,t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=ct()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},D=w.WebSocket||w.MozWebSocket,wt={websocket:class extends Ct{createSocket(e,t,n){return St?new D(e,t,n):t?new D(e,t):new D(e)}doWrite(e,t){this.ws.send(t)}},webtransport:class extends ft{get name(){return`webtransport`}doOpen(){try{this._transport=new WebTransport(this.createUri(`https`),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved(`error`,e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError(`webtransport error`,e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=$e(2**53-1,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),r=Ze();r.readable.pipeTo(e.writable),this._writer=r.writable.getWriter();let i=()=>{n.read().then(({done:e,value:t})=>{e||(this.onPacket(t),i())}).catch(e=>{})};i();let a={type:`open`};this.query.sid&&(a.data=`{"sid":"${this.query.sid}"}`),this._writer.write(a).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],r=t===e.length-1;this._writer.write(n).then(()=>{r&&C(()=>{this.writable=!0,this.emitReserved(`drain`)},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)==null||e.close()}},polling:bt},Tt=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Et=[`source`,`protocol`,`authority`,`userInfo`,`user`,`password`,`host`,`port`,`relative`,`path`,`directory`,`file`,`query`,`anchor`];function O(e){if(e.length>8e3)throw`URI too long`;let t=e,n=e.indexOf(`[`),r=e.indexOf(`]`);n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,`;`)+e.substring(r,e.length));let i=Tt.exec(e||``),a={},o=14;for(;o--;)a[Et[o]]=i[o]||``;return n!=-1&&r!=-1&&(a.source=t,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,`:`),a.authority=a.authority.replace(`[`,``).replace(`]`,``).replace(/;/g,`:`),a.ipv6uri=!0),a.pathNames=Dt(a,a.path),a.queryKey=Ot(a,a.query),a}function Dt(e,t){let n=t.replace(/\/{2,9}/g,`/`).split(`/`);return(t.slice(0,1)==`/`||t.length===0)&&n.splice(0,1),t.slice(-1)==`/`&&n.splice(n.length-1,1),n}function Ot(e,t){let n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(e,t,r){t&&(n[t]=r)}),n}var kt=typeof addEventListener==`function`&&typeof removeEventListener==`function`,k=[];kt&&addEventListener(`offline`,()=>
1{k.forEach(e=>e())},!1);var A=class e extends S{constructor(e,t){if(super(),this.binaryType=tt,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e==`object`&&(t=e,e=null),e){let n=O(e);t.hostname=n.host,t.secure=n.protocol===`https`||n.protocol===`wss`,t.port=n.port,n.query&&(t.query=n.query)}else t.host&&(t.hostname=O(t.host).host);T(this,t),this.secure=t.secure==null?typeof location<`u`&&location.protocol===`https:`:t.secure,t.hostname&&!t.port&&(t.port=this.secure?`443`:`80`),this.hostname=t.hostname||(typeof location<`u`?location.hostname:`localhost`),this.port=t.port||(typeof location<`u`&&location.port?location.port:this.secure?`443`:`80`),this.transports=[],this._transportsByName={},t.transports.forEach(e=>{let t=e.prototype.name;this.transports.push(t),this._transportsByName[t]=e}),this.opts=Object.assign({path:`/engine.io`,agent:!1,withCredentials:!1,upgrade:!0,timestampParam:`t`,rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,``)+(this.opts.addTrailingSlash?`/`:``),typeof this.opts.query==`string`&&(this.opts.query=ut(this.opts.query)),kt&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener(`beforeunload`,this._beforeunloadEventListener,!1)),this.hostname!==`localhost`&&(this._offlineEventListener=()=>{this._onClose(`transport close`,{description:`network connection lost`})},k.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){let t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);let n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved(`error`,`No transports available`)},0);return}let t=this.opts.rememberUpgrade&&e.priorWebsocketSuccess&&this.transports.indexOf(`websocket`)!==-1?`websocket`:this.transports[0];this.readyState=`opening`;let n=this.createTransport(t);n.open(),this.setTransport(n)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on(`drain`,this._onDrain.bind(this)).on(`packet`,this._onPacket.bind(this)).on(`error`,this._onError.bind(this)).on(`close`,e=>this._onClose(`transport close`,e))}onOpen(){this.readyState=`open`,e.priorWebsocketSuccess=this.transport.name===`websocket`,this.emitReserved(`open`),this.flush()}_onPacket(e){if(this.readyState===`opening`||this.readyState===`open`||this.readyState===`closing`)switch(this.emitReserved(`packet`,e),this.emitReserved(`heartbeat`),e.type){case`open`:this.onHandshake(JSON.parse(e.data));break;case`ping`:this._sendPacket(`pong`),this.emitReserved(`ping`),this.emitReserved(`pong`),this._resetPingTimeout();break;case`error`:let t=Error(`server error`);t.code=e.data,this._onError(t);break;case`message`:this.emitReserved(`data`,e.data),this.emitReserved(`message`,e.data)}}onHandshake(e){this.emitReserved(`handshake`,e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!==`closed`&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose(`ping timeout`)},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved(`drain`):this.flush()}flush(){if(this.readyState!==`closed`&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved(`flush`)}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name===`polling`&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let t=0;t<this.writeBuffer.length;t++){let n=this.writeBuffer[t].data;if(n&&(e+=ot(n)),t>0&&e>this._maxPayload)return this.writeBuffer.slice(0,t);e+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,C(()=>{this._onClose(`ping timeout`)},this.setTimeoutFn)),e}write(e,t,n){return this._sendPacket(`message`,e,t,n),this}send(e,t,n){return this._sendPacket(`message`,e,t,n),this}_sendPacket(e,t,n,r){if(typeof t==`function`&&(r=t,t=void 0),typeof n==`function`&&(r=n,n=null),this.readyState===`closing`||this.readyState===`closed`)return;n||={}
1,n.compress=!1!==n.compress;let i={type:e,data:t,options:n};this.emitReserved(`packetCreate`,i),this.writeBuffer.push(i),r&&this.once(`flush`,r),this.flush()}close(){let e=()=>{this._onClose(`forced close`),this.transport.close()},t=()=>{this.off(`upgrade`,t),this.off(`upgradeError`,t),e()},n=()=>{this.once(`upgrade`,t),this.once(`upgradeError`,t)};return(this.readyState===`opening`||this.readyState===`open`)&&(this.readyState=`closing`,this.writeBuffer.length?this.once(`drain`,()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}_onError(t){if(e.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState===`opening`)return this.transports.shift(),this._open();this.emitReserved(`error`,t),this._onClose(`transport error`,t)}_onClose(e,t){if(this.readyState===`opening`||this.readyState===`open`||this.readyState===`closing`){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners(`close`),this.transport.close(),this.transport.removeAllListeners(),kt&&(this._beforeunloadEventListener&&removeEventListener(`beforeunload`,this._beforeunloadEventListener,!1),this._offlineEventListener)){let e=k.indexOf(this._offlineEventListener);e!==-1&&k.splice(e,1)}this.readyState=`closed`,this.id=null,this.emitReserved(`close`,e,t),this.writeBuffer=[],this._prevBufferLen=0}}};A.protocol=4;var At=class extends A{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState===`open`&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let t=this.createTransport(e),n=!1;A.priorWebsocketSuccess=!1;let r=()=>{n||(t.send([{type:`ping`,data:`probe`}]),t.once(`packet`,e=>{if(!n){if(e.type===`pong`&&e.data===`probe`){if(this.upgrading=!0,this.emitReserved(`upgrading`,t),!t)return;A.priorWebsocketSuccess=t.name===`websocket`,this.transport.pause(()=>{n||this.readyState!==`closed`&&(l(),this.setTransport(t),t.send([{type:`upgrade`}]),this.emitReserved(`upgrade`,t),t=null,this.upgrading=!1,this.flush())})}else{let e=Error(`probe error`);e.transport=t.name,this.emitReserved(`upgradeError`,e)}}}))};function i(){n||(n=!0,l(),t.close(),t=null)}let a=e=>{let n=Error(`probe error: `+e);n.transport=t.name,i(),this.emitReserved(`upgradeError`,n)};function o(){a(`transport closed`)}function s(){a(`socket closed`)}function c(e){t&&e.name!==t.name&&i()}let l=()=>{t.removeListener(`open`,r),t.removeListener(`error`,a),t.removeListener(`close`,o),this.off(`close`,s),this.off(`upgrading`,c)};t.once(`open`,r),t.once(`error`,a),t.once(`close`,o),this.once(`close`,s),this.once(`upgrading`,c),this._upgrades.indexOf(`webtransport`)!==-1&&e!==`webtransport`?this.setTimeoutFn(()=>{n||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let n=0;n<e.length;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}},jt=class extends At{constructor(e,t={}){let n=typeof e==`object`?e:t;(!n.transports||n.transports&&typeof n.transports[0]==`string`)&&(n.transports=(n.transports||[`polling`,`websocket`,`webtransport`]).map(e=>wt[e]).filter(e=>!!e)),super(e,n)}};jt.protocol;function Mt(e,t=``,n){let r=e;n||=typeof location<`u`&&location,e??=n.protocol+`//`+n.host,typeof e==`string`&&(e.charAt(0)===`/`&&(e=e.charAt(1)===`/`?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=n===void 0?`https://`+e:n.protocol+`//`+e),r=O(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port=`80`:/^(http|ws)s$/.test(r.protocol)&&(r.port=`443`)),r.path=r.path||`/`;let i=r.host.indexOf(`:`)===-1?r.host:`[`+r.host+`]`;return r.id=r.protocol+`://`+i+`:`+r.port+t,r.href=r.protocol+`://`+i+(n&&n.port===r.port?``:`:`+r.port),r}var Nt=typeof ArrayBuffer==`function`,Pt=e=>typeof ArrayBuffer.isView==`function`?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,Ft=Object.prototype.toString,It=typeof Blob==`function`||typeof Blob<`u`&&Ft.call(Blob)===`[object BlobConstructor]`,Lt=typeof File==`function`||typeof File<`u`&&Ft.call(File)===`[object FileConstructor]`;function Rt(e){return Nt&&(e instanceof ArrayBuffer||Pt(e))||It&&e instanceof Blob||Lt&&e instanceof File}function j(e,t){if(!e||typeof e!=`object`)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(j(e[t]))return!0;return!1}if(Rt(e))return!0;
1if(e.toJSON&&typeof e.toJSON==`function`&&arguments.length===1)return j(e.toJSON(),!0);for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&j(e[t]))return!0;return!1}function zt(e){let t=[],n=e.data,r=e;return r.data=Bt(n,t),r.attachments=t.length,{packet:r,buffers:t}}function Bt(e,t){if(!e)return e;if(Rt(e)){let n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=Bt(e[r],t);return n}if(typeof e==`object`&&!(e instanceof Date)){let n={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=Bt(e[r],t));return n}return e}function Vt(e,t){return e.data=Ht(e.data,t),delete e.attachments,e}function Ht(e,t){if(!e)return e;if(e&&e._placeholder===!0){if(typeof e.num==`number`&&e.num>=0&&e.num<t.length)return t[e.num];throw Error(`illegal attachments`)}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=Ht(e[n],t);else if(typeof e==`object`)for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=Ht(e[n],t));return e}var Ut=t({Decoder:()=>Kt,Encoder:()=>Gt,PacketType:()=>M,isPacketValid:()=>Qt,protocol:()=>5}),Wt=[`connect`,`connect_error`,`disconnect`,`disconnecting`,`newListener`,`removeListener`],M;(function(e){e[e.CONNECT=0]=`CONNECT`,e[e.DISCONNECT=1]=`DISCONNECT`,e[e.EVENT=2]=`EVENT`,e[e.ACK=3]=`ACK`,e[e.CONNECT_ERROR=4]=`CONNECT_ERROR`,e[e.BINARY_EVENT=5]=`BINARY_EVENT`,e[e.BINARY_ACK=6]=`BINARY_ACK`})(M||={});var Gt=class{constructor(e){this.replacer=e}encode(e){return(e.type===M.EVENT||e.type===M.ACK)&&j(e)?this.encodeAsBinary({type:e.type===M.EVENT?M.BINARY_EVENT:M.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=``+e.type;return(e.type===M.BINARY_EVENT||e.type===M.BINARY_ACK)&&(t+=e.attachments+`-`),e.nsp&&e.nsp!==`/`&&(t+=e.nsp+`,`),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){let t=zt(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}},Kt=class e extends S{constructor(e){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},typeof e==`function`?{reviver:e}:e)}add(e){let t;if(typeof e==`string`){if(this.reconstructor)throw Error(`got plaintext data when reconstructing a packet`);t=this.decodeString(e);let n=t.type===M.BINARY_EVENT;n||t.type===M.BINARY_ACK?(t.type=n?M.EVENT:M.ACK,this.reconstructor=new qt(t),t.attachments===0&&super.emitReserved(`decoded`,t)):super.emitReserved(`decoded`,t)}else if(Rt(e)||e.base64){if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved(`decoded`,t));else throw Error(`got binary data when not reconstructing a packet`)}else throw Error(`Unknown type: `+e)}decodeString(t){let n=0,r={type:Number(t.charAt(0))};if(M[r.type]===void 0)throw Error(`unknown packet type `+r.type);if(r.type===M.BINARY_EVENT||r.type===M.BINARY_ACK){let e=n+1;for(;t.charAt(++n)!==`-`&&n!=t.length;);let i=t.substring(e,n);if(i!=Number(i)||t.charAt(n)!==`-`)throw Error(`Illegal attachments`);let a=Number(i);if(!Yt(a)||a<0)throw Error(`Illegal attachments`);if(a>this.opts.maxAttachments)throw Error(`too many attachments`);r.attachments=a}if(t.charAt(n+1)===`/`){let e=n+1;for(;++n&&t.charAt(n)!==`,`&&n!==t.length;);r.nsp=t.substring(e,n)}else r.nsp=`/`;let i=t.charAt(n+1);if(i!==``&&Number(i)==i){let e=n+1;for(;++n;){let e=t.charAt(n);if(e==null||Number(e)!=e){--n;break}if(n===t.length)break}r.id=Number(t.substring(e,n+1))}if(t.charAt(++n)){let i=this.tryParse(t.substr(n));if(e.isPayloadValid(r.type,i))r.data=i;else throw Error(`invalid payload`)}return r}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case M.CONNECT:return N(t);case M.DISCONNECT:return t===void 0;case M.CONNECT_ERROR:return typeof t==`string`||N(t);case M.EVENT:case M.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]==`number`||typeof t[0]==`string`&&Wt.indexOf(t[0])===-1);case M.ACK:case M.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&=(this.reconstructor.finishedReconstruction(),null)}},qt=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let e=Vt(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function Jt(e){return typeof e==`string`}var Yt=Number.isInteger||function(e){return typeof e==`number`&&isFinite(e)&&Math.floor(e)===e};function Xt(e){return e===void 0||Yt(e)}function N(e){return Object.prototype.toString.call(e)===`[object Object]`}function Zt(e,t){switch(e){case M.CONNECT:return t===void 0||N(t);case M.DISCONNECT:return t===void 0;case M.EVENT:return Array.isArray(t)&&(typeof t[0]==`number`||typeof t[0]==`string`&&Wt.indexOf(t[0])===-1);case M.ACK:return Array.isArray(t);case M.CONNECT_ERROR:return typeof t==`string`||N(t);default:return!1}}function Qt(e){return Jt(e.nsp)&&Xt(e.id)&&Zt(e.type,e.data)}function P(e,t,n){return e.on(t,n),function(){e.off(t,n)}}var $t=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),en=class extends S{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[P(e,`open`,this.onopen.bind(this)),P(e,`packet`,this.onpacket.b
1ind(this)),P(e,`error`,this.onerror.bind(this)),P(e,`close`,this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState===`open`&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift(`message`),this.emit.apply(this,e),this}emit(e,...t){if($t.hasOwnProperty(e))throw Error(`"`+e.toString()+`" is a reserved event name`);if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let n={type:M.EVENT,data:t};if(n.options={},n.options.compress=this.flags.compress!==!1,typeof t[t.length-1]==`function`){let e=this.ids++,r=t.pop();this._registerAckCallback(e,r),n.id=e}let r=this.io.engine?.transport?.writable,i=this.connected&&!this.io.engine?._hasPingExpired();return this.flags.volatile&&!r||(i?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n)),this.flags={},this}_registerAckCallback(e,t){let n=this.flags.timeout??this._opts.ackTimeout;if(n===void 0){this.acks[e]=t;return}let r=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,Error(`operation has timed out`))},n),i=(...e)=>{this.io.clearTimeoutFn(r),t.apply(this,e)};i.withError=!0,this.acks[e]=i}emitWithAck(e,...t){return new Promise((n,r)=>{let i=(e,t)=>e?r(e):n(t);i.withError=!0,t.push(i),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]==`function`&&(t=e.pop());let n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((e,...r)=>(this._queue[0],e===null?(this._queue.shift(),t&&t(null,...r)):n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;let t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth==`function`?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:M.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved(`connect_error`,e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved(`disconnect`,e,t),this._clearAcks()}
1_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(t=>String(t.id)===e)){let t=this.acks[e];delete this.acks[e],t.withError&&t.call(this,Error(`socket has been disconnected`))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case M.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved(`connect_error`,Error(`It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)`));break;case M.EVENT:case M.BINARY_EVENT:this.onevent(e);break;case M.ACK:case M.BINARY_ACK:this.onack(e);break;case M.DISCONNECT:this.ondisconnect();break;case M.CONNECT_ERROR:this.destroy();let t=Error(e.data.message);t.data=e.data.data,this.emitReserved(`connect_error`,t)}}onevent(e){let t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]==`string`&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,n=!1;return function(...r){n||(n=!0,t.packet({type:M.ACK,id:e,data:r}))}}onack(e){let t=this.acks[e.id];typeof t==`function`&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved(`connect`)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose(`io server disconnect`)}destroy(){this.subs&&=(this.subs.forEach(e=>e()),void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:M.DISCONNECT}),this.destroy(),this.connected&&this.onclose(`io client disconnect`),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let n of t)n.apply(this,e.data)}}};function F(e){e||={},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}F.prototype.duration=function(){var e=this.ms*this.factor**+this.attempts++;if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0},F.prototype.reset=function(){this.attempts=0},F.prototype.setMin=function(e){this.ms=e},F.prototype.setMax=function(e){this.max=e},F.prototype.setJitter=function(e){this.jitter=e};var tn=class extends S{constructor(e,t){super(),this.nsps={},this.subs=[],e&&typeof e==`object`&&(t=e,e=void 0),t||={},t.path=t.path||`/socket.io`,this.opts=t,T(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(t.randomizationFactor??.5),this.backoff=new F({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState=`closed`,this.uri=e;let n=t.parser||Ut;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)==null||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)==null||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)==null||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf(`open`))return this;this.engine=new jt(this.uri,this.opts);let t=this.engine,n=this;this._readyState=`opening`,this.skipReconnect=!1;let r=P(t,`open`,function(){n.onopen(),e&&e()}),i=t=>{this.cleanup(),this._readyState=`closed`,this.emitReserved(`error`,t),e?e(t):this.maybeReconnectOnOpen()},a=P(t,`error`,i);if(!1!==this._timeout){let e=this._timeout,n=this.setTimeoutFn(()=>{r(),i(Error(`timeout`)),t.close()},e);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}return this.subs.push(r),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState=`open`,this.emitReserved(`open`);let e=this.engine;this.subs.push(P(e,`ping`,this.onping.bind(this)),P(e,`data`,this.ondata.bind(this)),P(e,`error`,this.onerror.bind(this)),P(e,`close`,this.onclose.bind(this)),P(this.decoder,`decoded`,this.ondecoded.bind(this)))}onping(){this.emitReserved(`ping`)}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose(`parse error`,e)}}ondecoded(e){C(()=>{this.emitReserved(`packet`,e)},this.setTimeoutFn)}onerror(e){this.emitReserved(`error`,e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new en(this,e,t),this.nsps[e]=n),n}_destroy(e){let t=Object.keys(this.nsps);for(let e of t)if(this.nsps[e].active)return;this._close()}_packet(e){let t=this.encoder.encode(e);for(let n=0;n<t.length;
1n++)this.engine.write(t[n],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose(`forced close`)}disconnect(){return this._close()}onclose(e,t){var n;this.cleanup(),(n=this.engine)==null||n.close(),this.backoff.reset(),this._readyState=`closed`,this.emitReserved(`close`,e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved(`reconnect_failed`),this._reconnecting=!1;else{let t=this.backoff.duration();this._reconnecting=!0;let n=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved(`reconnect_attempt`,e.backoff.attempts),!e.skipReconnect&&e.open(t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved(`reconnect_error`,t)):e.onreconnect()}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved(`reconnect`,e)}},I={};function L(e,t){typeof e==`object`&&(t=e,e=void 0),t||={};let n=Mt(e,t.path||`/socket.io`),r=n.source,i=n.id,a=n.path,o=I[i]&&a in I[i].nsps,s=t.forceNew||t[`force new connection`]||!1===t.multiplex||o,c;return s?c=new tn(r,t):(I[i]||(I[i]=new tn(r,t)),c=I[i]),n.query&&!t.query&&(t.query=n.queryKey),c.socket(n.path,t)}Object.assign(L,{Manager:tn,Socket:en,io:L,connect:L});var nn={signup:{src:189,evid:1204},login:{src:189,evid:1200},message_sent:{src:189,evid:1020},message_completed:{src:189,evid:1019},page_view:{src:189,evid:1023},user_clicked:{src:189,evid:1021},help_center_clicked:{src:189,evid:1308},support_main_page_view:{src:189,evid:1311},support_main_open_ticket_hover:{src:189,evid:1309},support_main_open_ticket_click:{src:189,evid:1310},support_my_tickets_page_view:{src:189,evid:1312},support_my_tickets_new_ticket_click:{src:189,evid:1302},support_ticket_modal_submitted:{src:189,evid:1304},support_ticket_modal_closed:{src:189,evid:1303},support_ticket_modal_view:{src:189,evid:1307},support_ticket_modal_help_type_click:{src:189,evid:1305},support_ticket_modal_bot_helped_click:{src:189,evid:1313},support_ticket_modal_still_need_help_click:{src:189,evid:1314},support_ticket_modal_bot_answered:{src:189,evid:1319},support_admin_escalate_click:{src:189,evid:1301},support_admin_unescalate_click:{src:189,evid:1315},support_admin_resolved_open_click:{src:189,evid:1316},support_admin_internal_note_content_change:{src:189,evid:1317},support_admin_category_change:{src:189,evid:1318}};function rn(e){return nn[e]||null}function an(e,t=2500){return new Promise((n,r)=>{let i=setTimeout(()=>r(Error(`timeout`)),t);e.then(e=>{clearTimeout(i),n(e)},e=>{clearTimeout(i),r(e)})})}async function on(e,t,{timeoutMs:n=2500}={}){let r=JSON.stringify(t),i=await an(fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:r}),n);if(!i.ok)throw Error(`HTTP ${i.status}`);return i}function sn(e,t){try{let n=new Blob([JSON.stringify(t)],{type:`application/json`});return navigator.sendBeacon(e,n)}catch{return!1}}var cn=`b4f00d44-0000-4000-8000-000000000044`,ln=e=>e?he(e)?e.toLowerCase():je(e,cn):pe,R=`https://frog.wix.com/base44`,un=new class{constructor(){this._ready=!1,this._readyPromise=null,this._eventQueue=[],this._flushTimer=null,this._isFlushInProgress=!1,this.BATCH_SIZE=10,this.FLUSH_INTERVAL=2e3,this.MAX_QUEUE_SIZE=100}getCookie(e){if(typeof document>`u`)return null;let t=`; ${document.cookie}`.split(`; ${e}=`);return t.length===2&&t.pop()?.split(`;`).shift()||null}getClientId(){return this.getCookie(`_wixCIDX`)||`no-cookie-found`}async ensureReady(){if(!this._ready)return this._readyPromise||=(async()=>{this._ready=!0})(),this._readyPromise}async track(e,t={},n={},r={}
1){if(u())try{if(await this.ensureReady(),!rn(e))return;let i;try{i=await n}catch{i={}}let a=Date.now();if(r.immediate||r.useBeacon)return this._sendImmediately(e,t,i,a,r);let o={eventKey:e,session:t,additionalData:i,timestamp:a,useBeacon:r.useBeacon};if(this._eventQueue.push(o),this._eventQueue.length>this.MAX_QUEUE_SIZE&&this._eventQueue.shift(),this._eventQueue.length>=this.BATCH_SIZE)try{await this._flush()}catch{}else this._scheduleFlush()}catch{}}async flush(){try{return await this._flush()}catch{}}async _sendImmediately(e,t,n,r,i){if(u())try{let a=rn(e),o={dt:0,e:[{dt:0,f:{src:a.src,evid:a.evid,timestamp:r,...n,...t}}],g:{uuid:ln(t.user_id),client_id:this.getClientId(),session_id:re()}};if(i.useBeacon&&sn(R,o))return;await on(R,o,{timeoutMs:2500})}catch{}}async _flush(){if(!(this._isFlushInProgress||this._eventQueue.length===0)){if(!u()){this._eventQueue=[];return}this._isFlushInProgress=!0;try{this._flushTimer&&=(clearTimeout(this._flushTimer),null);let e=this._eventQueue.splice(0,this.BATCH_SIZE),t;try{t=this._groupEventsBySession(e)}catch{return}try{await Promise.all(t.map(e=>this._sendEventBatch(e)))}catch{}}catch{}finally{this._isFlushInProgress=!1,this._eventQueue.length>0&&this._scheduleFlush()}}}_groupEventsBySession(e){let t=new Map;for(let n of e){let e=n?.session||{},r=`${typeof e==`object`&&e&&e.user_id||`no-user`}-${typeof e==`object`&&e&&e.app_id||`no-app`}-${typeof e==`object`&&e&&e.conversation_id||`no-conversation`}`;t.has(r)||t.set(r,[]),t.get(r).push(n)}return Array.from(t.values())}_scheduleFlush(){this._flushTimer&&=(clearTimeout(this._flushTimer),null),this._flushTimer=setTimeout(async()=>{try{await this._flush()}catch{}},this.FLUSH_INTERVAL)}async _sendEventBatch(e){if(e.length!==0)try{let t=e.some(e=>e.useBeacon),n={dt:0,e:e.map(t=>{let n=rn(t.eventKey);return{dt:t.timestamp-e[0].timestamp,f:{src:n.src,evid:n.evid,timestamp:t.timestamp,...t.additionalData,...t.session}}}),g:{uuid:ln(e[0]?.session?.user_id),client_id:this.getClientId(),session_id:re(),batch_size:e.length}};if(t){if(!sn(R,n))throw Error(`Beacon send failed`)}else await on(R,n,{timeoutMs:2500})}catch{}}destroy(){this._flushTimer&&=(clearTimeout(this._flushTimer),null),this._eventQueue.length>0&&this._flush().catch(e=>void 0)}};typeof window<`u`&&window.addEventListener(`beforeunload`,()=>{un.destroy()});var dn={signup:{src:189,evid:1204},login:{src:189,evid:1200}},fn=(e,t=`signup`,n={})=>{try{if(!e)return;let r=dn[t];if(!r)return;let i=ie(`_wixCIDX`)||`no-cookie-found`,a=ln(e),o={dt:0,e:[{dt:0,f:{src:r.src,evid:r.evid,user_id:e||void 0}}],g:{uuid:a,client_id:i}};Object.keys(n).length>0&&(o.additional_data=n),fetch(`https://frog.wix.com/base44`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(o),keepalive:!0}).then(e=>{if(!e.ok)throw Error(`Frog service responded with status: ${e.status}`);return e.text()}).then(e=>{}).catch(e=>{})}catch{}},pn=e=>{fn(e,`signup`,{event_type:`signup`,timestamp:new Date().toISOString()})},mn=e=>{fn(e,`login`,{event_type:`login`,timestamp:new Date().toISOString()})},hn={email:`/register`,google:`/auth/login`,github:`/auth/github/login`,apple:`/auth/apple/login`,google_one_tap:`/auth/mobile/google/token-exchange`},z=e=>{un.track(`user_clicked`,{},{cta:`signup_attempt_${e}`,origin:`register`,target_route:hn[e]},{useBeacon:!0})},gn=e=>{if(!e)return null;let t=e.indexOf(`@`);return t===-1?null:e.slice(t+1).toLowerCase().trim()||null},_n=(e,t,n)=>{let{params:r}=d();f(`User Login`,{auth_method:e,...n,...r}),mn(t??null)},vn=e=>{f(`Auth: Login - login with SSO clicked`,{auth_method:`workspace_sso`,entry_point:e.entryPoint,email_prefilled:e.emailPrefilled},{transport:`sendBeacon`})},yn=e=>{let{params:t}=d();f(`Auth: SSO - prompt page viewed`,{page_path:typeof window<`u`?window.location.pathname:``,email_prefilled:e.emailPrefilled,has_from_url:e.hasFromUrl,has_ref:e.hasRef,has_mcp_context:e.hasMcpContext,...t})},bn=e=>{let t={outcome:e.outcome,email_domain:e.emailDomain};e.workspaceId&&(t.workspace_id=e.workspaceId),e.ssoProvider&&(t.sso_provider=e.ssoProvider),f(`Auth: SSO - check resolved`,t,e.outcome===`found`?{transport:`sendBeacon`}:void 0)},xn=e=>{f(`Auth: Login - SSO discovered button clicked`,{entry_point:e.entryPoint,email_domain:e.emailDomain,workspace_id:e.workspaceId,sso_provider:e.ssoProvider},{transport:`sendBeacon`})},Sn=()=>{let{params:e}=d();f(`Auth: Register - page viewed`,{page_path:typeof window<`u`?window.location.pathname:``,...e})},Cn=e=>{let{params:t}=d();f(`Auth: Login - page viewed`,{page_path:typeof window<`u`?window.location.pathname:``,email_prefilled:e.emailPrefilled,has_from_url:e.hasFromUrl,has_mfa_challenge:e.hasMfaChallenge,...t})},wn=()=>{f(`Auth: Signup - signup clicked`,{auth_method:`google`},{transport:`sendBeacon`}),z(`google`)},Tn=()=>{f(`Auth: Signup - signup clicked`,{auth_method:`github`},{transport:`sendBeacon`}),z(`github`)},En=()=>{f(`Auth: Login - login with google clicked`,{auth_method:`google`},{transport:`sendBeacon`})},Dn=()=>{f(`Auth: Signup - signup clicked`,{auth_method:`apple`},{transport:`sendBeacon`}),z(`apple`)},On=()=>{f(`Auth: Login - login with apple clicked`,{auth_method:`apple`},{transport:`sendBeacon`})},kn=e=>{f(`Auth: Register - page left`,{reason:e,page_path:typeof window<`u`?window.location.pathname:``},{transport:`sendBeacon`})},An=()=>
1({reportGoogleOneTapEvent:(e,t,n)=>{f(`Google One Tap ${e}: ${t}`,{...n}),e===`register`&&t===`Redirect`&&z(`google_one_tap`)},reportVerifyEmailClick:()=>{f(`Auth: Verify Email - verify email clicked`)},reportResendVerifyEmailClick:()=>{f(`Auth: Verify Email - resend email clicked`)},reportSignupOnClick:()=>{f(`Auth: Signup - signup clicked`,{auth_method:`email`}),z(`email`)},reportRegisterEmailInputFocus:()=>{f(`Auth: Register - email input focused`)},reportRegisterPasswordInputFocus:()=>{f(`Auth: Register - password input focused`)},reportRegisterPageView:Sn,reportGoogleSignupButtonClick:wn,reportGoogleLoginButtonClick:En,reportGitHubSignupButtonClick:Tn,reportAppleSignupButtonClick:Dn,reportAppleLoginButtonClick:On,reportRegisterPageLeave:kn});function jn(e){try{let t=e.split(`.`)[1],n=JSON.parse(atob(t.replace(/-/g,`+`).replace(/_/g,`/`)));return n.sub??n.user_id??null}catch{return null}}var B=new class{constructor(){this.listeners=new Set,this._refreshPromise=null;let{accessToken:e,authMethod:t,ssoWorkspaceId:n,legacySsoTokens:r,sessionCode:i,sessionExchangePath:a}=de();this.capturedAccessToken=e,this.capturedSsoWorkspaceId=n,this.oauthRedirectAuthMethod=e?t:null,this.oauthRedirectUserId=e?jn(e):null,this.sessionReady=this.exchangeSessionCode(i,a);let o=e,s=r;setTimeout(()=>{this.fetchAndStoreSSOTokens(o,s),this.trackLoginFromRedirect()},0)}trackLoginFromRedirect(){this.oauthRedirectAuthMethod&&(_n(this.oauthRedirectAuthMethod,this.oauthRedirectUserId),this.oauthRedirectAuthMethod=null,this.oauthRedirectUserId=null)}ensureSessionReady(){return this.sessionReady}async exchangeSessionCode(e,t){if(!e||!t)return;let n=/^\/api\/[A-Za-z0-9_/-]+\/auth\/sso\/exchange$/.test(t),r=t===`/api/auth/oidc/session/exchange`;if(t.includes(`..`)||!n&&!r){this.setToken(null);return}n&&this.setToken(null);try{let n=await fetch(t,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({code:e})});if(n.ok){let e=await n.json();e?.access_token&&(this.setToken(e.access_token),this.oauthRedirectAuthMethod=e.auth_method===`oidc`?`oidc`:`sso`,this.oauthRedirectUserId=jn(e.access_token),this.trackLoginFromRedirect())}}catch{}}async fetchAndStoreSSOTokens(e,t=null){let n=this.capturedSsoWorkspaceId;if(!n||!/^[\w-]+$/.test(n)||t?.access_token){t?.access_token&&e!==null&&(c(`SSO_AUTHORIZATION`),this.setSSOTokens({...t}),this.notifyListeners(`sso_tokens_updated`,{tokens:this.getSSOTokens()}));return}if(this.capturedSsoWorkspaceId=null,e===null)return;c(`SSO_AUTHORIZATION`);let i={Authorization:`Bearer ${e}`};try{let e=await fetch(`${r()}/workspaces/${encodeURIComponent(n)}/auth/sso/my-tokens`,{credentials:`include`,headers:i});if(e.ok){let t=await e.json();this.setSSOTokens(t),this.notifyListeners(`sso_tokens_updated`,{tokens:this.getSSOTokens()})}else e.status===404&&this.clearSSOTokens()}catch{}}getToken(){return this.fetchToken(!1)||localStorage.getItem(`token`)||localStorage.getItem(`base44_access_token`)}getPrincipalId(){let e=this.getToken();return e&&jn(e)||`anon`}fetchToken(e=!0){let t=this.capturedAccessToken||localStorage.getItem(`token`)||localStorage.getItem(`base44_access_token`);return e&&this.capturedAccessToken&&(this.capturedAccessToken=null),t}setToken(e){e?(localStorage.setItem(`token`,e),localStorage.setItem(`base44_access_token`,e),o(`Authorization`,`Bearer ${e}`)):(localStorage.removeItem(`token`),localStorage.removeItem(`base44_access_token`),c(`Authorization`)),this.notifyListeners(`token_changed`,{token:e})}addListener(e){return this.listeners.add(e),()=>this.listeners.delete(e)}notifyListeners(e,t={}){this.listeners.forEach(n=>{try{n(e,t)}catch{}})}async refreshAccessToken(){if(this._refreshPromise)return this._refreshPromise;this._refreshPromise=this._doRefresh();try{return await this._refreshPromise}finally{this._refreshPromise=null}}async _doRefresh(){let e=await fetch(`${r()}/auth/refresh`,{method:`POST`,credentials:`include`});if(!e.ok)throw Error(`Refresh failed`);let t=await e.json();return this.setToken(t.access_token),t.access_token}setSSOTokens(e){let t={access_token:String(e.access_token??``),token_type:e.token_type==null?void 0:String(e.token_type),expires_at:e.expires_at==null?void 0:Number(e.expires_at),scope:e.scope==null?void 0:String(e.scope),provider:e.provider==null?void 0:String(e.provider),id_token:e.id_token==null?void 0:String(e.id_token),stored_at:Date.now()};localStorage.setItem(`sso_tokens`,JSON.stringify(t)),t.access_token&&o(`SSO_AUTHORIZATION`,`${t.token_type??`Bearer`} ${t.access_token}`)}getSSOTokens(){try{let e=localStorage.getItem(`sso_tokens`);if(!e)return null;let t=JSON.parse(e);return t.expires_at&&new Date(t.expires_at*1e3)<=new Date?(this.clearSSOTokens(),null):t}catch{return this.clearSSOTokens(),null}}clearSSOTokens(){localStorage.removeItem(`sso_tokens`),c(`SSO_AUTHORIZATION`),this.notifyListeners(`sso_tokens_cleared`)}};function Mn(e=!0){return B.fetchToken(e)}function Nn(e){B.setToken(e)}function Pn(){B.setToken(null)}var V={CLAIM_ACTIVE:`canvas:claim_active`,CURSOR_BATCH:`canvas:cursor_batch`,CURSOR_LEAVE:`canvas:notify_curs
1or_leave`,SELECTION_UPDATE:`canvas:broadcast_selection_update`,SELECTIONS_REQUEST:`canvas:send_selections_snapshot`,NODE_UPDATE:`canvas:notify_node_update`,NODE_UPDATE_END:`canvas:notify_node_update_end`,LAYOUT_REQUEST:`canvas:send_layout_snapshot`,NODE_LOCK:`canvas:notify_node_lock`,USER_NODE_UPSERT:`canvas:user_node_upsert`,USER_NODE_REMOVE:`canvas:user_node_remove`,USER_NODE_LIVE_TICK:`canvas:user_node_live_tick`,CONNECTOR_UPSERT:`canvas:connector_upsert`,CONNECTOR_REMOVE:`canvas:connector_remove`,CURSOR_BATCH_UPDATE:`canvas:cursor_batch_update`,CURSOR_LEFT:`canvas:cursor_left`,SELECTION_UPDATED:`canvas:broadcast_selection_updated`,SELECTIONS_SNAPSHOT:`canvas:selections_snapshot`,NODE_UPDATED:`canvas:notify_node_updated`,LAYOUT_SNAPSHOT:`canvas:layout_snapshot`,NODE_LOCK_UPDATED:`canvas:node_lock_updated`,USER_NODE_UPSERTED:`canvas:user_node_upserted`,USER_NODE_REMOVED:`canvas:user_node_removed`,CONNECTOR_UPSERTED:`canvas:connector_upserted`,CONNECTOR_REMOVED:`canvas:connector_removed`},Fn=class{constructor(){this._cursorCallbacks={},this._selectionCallbacks={},this._layoutCallbacks={},this._socket=null}_wireEvent(e,t,n,r){e.on(t,({room:e,data:t})=>{e&&n[e]&&Object.values(n[e]).forEach(e=>e[r]?.(t))})}_addListener(e,t,n){e[t]||(e[t]={});let r=J();return e[t][r]=n,()=>{delete e[t]?.[r],e[t]&&Object.keys(e[t]).length===0&&delete e[t]}}init(e){this._socket=e,this._wireEvent(e,V.CURSOR_BATCH_UPDATE,this._cursorCallbacks,`onCursorBatch`),this._wireEvent(e,V.CURSOR_LEFT,this._cursorCallbacks,`onCursorLeft`),this._wireEvent(e,V.SELECTION_UPDATED,this._selectionCallbacks,`onSelectionUpdate`),this._wireEvent(e,V.SELECTIONS_SNAPSHOT,this._selectionCallbacks,`onSelectionsSnapshot`),this._wireEvent(e,V.NODE_UPDATED,this._layoutCallbacks,`onNodeUpdated`),this._wireEvent(e,V.LAYOUT_SNAPSHOT,this._layoutCallbacks,`onLayoutSnapshot`),this._wireEvent(e,V.NODE_LOCK_UPDATED,this._layoutCallbacks,`onNodeLock`),this._wireEvent(e,V.USER_NODE_UPSERTED,this._layoutCallbacks,`onUserNodeUpserted`),this._wireEvent(e,V.USER_NODE_REMOVED,this._layoutCallbacks,`onUserNodeRemoved`),this._wireEvent(e,V.CONNECTOR_UPSERTED,this._layoutCallbacks,`onConnectorUpserted`),this._wireEvent(e,V.CONNECTOR_REMOVED,this._layoutCallbacks,`onConnectorRemoved`)}emitCursorBatch(e,t){this._socket?.emit(V.CURSOR_BATCH,e,t)}emitCursorLeave(e){this._socket?.emit(V.CURSOR_LEAVE,e)}emitClaimActive(e){this._socket?.emit(V.CLAIM_ACTIVE,e)}addCursorListener(e,t){return this._addListener(this._cursorCallbacks,e,t)}emitSelectionUpdate(e,t){this._socket?.emit(V.SELECTION_UPDATE,e,t)}requestSelections(e){this._socket?.emit(V.SELECTIONS_REQUEST,e)}addSelectionListener(e,t){return this._addListener(this._selectionCallbacks,e,t)}reclaimActive(){new Set([...Object.keys(this._cursorCallbacks),...Object.keys(this._selectionCallbacks),...Object.keys(this._layoutCallbacks)]).forEach(e=>this.emitClaimActive(e))}notifyReconnect(){let e=e=>{Object.values(e).forEach(e=>Object.values(e).forEach(e=>e.onReconnect?.()))};e(this._cursorCallbacks),e(this._selectionCallbacks),e(this._layoutCallbacks)}emitNodeUpdate(e,t){this._socket?.emit(V.NODE_UPDATE,e,t)}emitNodeUpdateEnd(e,t){this._socket?.emit(V.NODE_UPDATE_END,e,t)}requestLayout(e){this._socket?.emit(V.LAYOUT_REQUEST,e)}emitNodeLock(e,t){this._socket?.emit(V.NODE_LOCK,e,t)}emitUserNodeUpsert(e,t){this._socket?.emit(V.USER_NODE_UPSERT,e,t)}emitUserNodeRemove(e,t){this._socket?.emit(V.USER_NODE_REMOVE,e,{node_id:t})}emitUserNodeLiveTick(e,t){this._socket?.emit(V.USER_NODE_LIVE_TICK,e,t)}emitConnectorUpsert(e,t){this._socket?.emit(V.CONNECTOR_UPSERT,e,t)}emitConnectorRemove(e,t){this._socket?.emit(V.CONNECTOR_REMOVE,e,{edge_id:t})}addLayoutListener(e,t){return this._addListener(this._layoutCallbacks,e,t)}},In=`preview_lens_tab_id`,H=null;function Ln(){if(H)return H;try{let e=sessionStorage.getItem(In);if(e)return H=e,e}catch{}let e=De();H=e;try{sessionStorage.setItem(In,e)}catch{}return e}function Rn(e=window.location.pathname){return!e.startsWith(`/chat-editor/`)}var zn=`preview_lens.iframe_ready`,Bn=`preview_lens.iframe_disconnected`,Vn=class{constructor(){this._socket=null,this._activeAppId=null,this._isIframeReady=!1}init(e){this._socket=e}setActiveAppId(e){this._activeAppId=e}markIframeReady(e){this._isIframeReady=e}clearActiveContext(){this._socket!==null&&this._activeAppId&&this._socket.emit(Bn,{app_id:this._activeAppId}),this._activeAppId=null,this._isIframeReady=!1}reclaimIframeRoom(){this._socket!==null&&this._isIframeReady&&this._activeAppId&&this._socket.emit(zn,{app_id:this._activeAppId,tab_id:Ln()})}},Hn=class{constructor(e){this.emit=e,this.rooms=new Map,this.readyRooms=new Set}set(e,t,n=!1){let r=this.rooms.get(e);(!r||r.branchId!==t||n)&&this.rooms.set(e,{branchId:t,sent:!1}),this.send(e)}ready(e){this.readyRooms.add(e),this.send(e)}
1reconnect(){this.readyRooms.clear(),this.rooms.forEach(e=>{e.sent=!1})}leave(e){this.readyRooms.delete(e);let t=this.rooms.get(e);t&&(t.sent=!1)}clear(e){this.rooms.delete(e),this.readyRooms.delete(e)}send(e){let t=this.rooms.get(e);!t||t.sent||!this.readyRooms.has(e)||(t.sent=!0,this.emit(e,t.branchId))}},U=e(i()),Un=/^[a-f0-9]{32}$/;function Wn(e=[]){let t=new Set;for(let n of e)try{let e=new URL(n);if(![`http:`,`https:`].includes(e.protocol)||e.username||e.password)continue;t.add(e.origin+e.pathname),W(n,Jn)&&t.add(e.origin+e.pathname+`/`)}catch{continue}return[...t]}var Gn=new Set([`media.base44.com`,`static.wixstatic.com`]),Kn=/\/v1\/(?:fill|fit)\/[^/]+\/[^/]+$/i,qn={width:640,quality:80},Jn={width:1600,quality:85};function W(e,{width:t,quality:n}){try{let r=new URL(e);if(r.protocol!==`https:`||r.username||r.password||r.search||r.hash||!Gn.has(r.hostname)||Kn.test(r.pathname))return null;let i=r.pathname.split(`/`).pop()??``;return/\.(?!svg$|gif$)[a-z0-9]+$/i.test(i)?`${e}/v1/fit/w_${t},h_${t},q_${n},enc_auto/${i}`:null}catch{return null}}var G=new Map,Yn=32e6,Xn=0;function Zn(e){return G.has(e)}function Qn(e,t){Xn+=t.length-(G.get(e)?.length??0),G.set(e,t);for(let[t,n]of G){if(Xn<=Yn)break;t!==e&&(G.delete(t),Xn-=n.length)}}function $n(e){return W(e,Jn)??e}var er=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`);function tr(e,t,n){let r=e;for(let e of[...t].sort((e,t)=>t.length-e.length)){let t=W(e,n);for(let n of new Set([e,er(e)])){let i=t&&!r.includes(`${n}/v1/`)?G.get(t)??(n===e?t:er(t)):G.get(e);i&&(r=r.split(n).join(i))}}return r}function nr(){return typeof document<`u`&&typeof document.createElement==`function`&&typeof globalThis.crypto?.getRandomValues==`function`}function rr(){if(!nr())return null;let e=new Uint8Array(16);return globalThis.crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function ir(e){return nr()}function ar(e){return`(function(){ 2var channel=${JSON.stringify(e)},queued=false,viewportW=0,viewportH=0,waited=0,rootElement=null; 3function findRoot(){if(rootElement&&rootElement.isConnected)return rootElement;var body=document.body;if(!body)return null;var found=null;Array.prototype.some.call(body.children,function(element){var tag=element.tagName;if(tag==='SCRIPT'||tag==='STYLE')return false;found=element;return true});rootElement=found;return found} 4function send(type,bounds){window.parent.postMessage({__base44Snippet:true,channel:channel,type:type,bounds:bounds},'*')} 5function union(box,rect){if(!rect||!rect.width||!rect.height)return;box.top=Math.min(box.top,rect.top);box.right=Math.max(box.right,rect.right);box.bottom=Math.max(box.bottom,rect.bottom);box.left=Math.min(box.left,rect.left)} 6function shadowExtent(style){var out={top:0,right:0,bottom:0,left:0};var value=style.boxShadow;if(!value||value==='none')return out; 7value.split(/,(?![^(]*\\))/).forEach(function(part){if(part.indexOf('inset')>=0)return;var n=(part.replace(/[a-z]+\\([^)]*\\)/g,'').match(/-?\\d*\\.?\\d+(?=px)/g)||[]).map(Number);var ox=n[0]||0,oy=n[1]||0,reach=(n[2]||0)+(n[3]||0); 8out.left=Math.max(out.left,reach-ox);out.right=Math.max(out.right,reach+ox);out.top=Math.max(out.top,reach-oy);out.bottom=Math.max(out.bottom,reach+oy)});return out} 9function painted(element,style){var rect=element.getBoundingClientRect();var s=shadowExtent(style);return {top:rect.top-s.top,right:rect.right+s.right,bottom:rect.bottom+s.bottom,left:rect.left-s.left,width:rect.width+s.left+s.right,height:rect.height+s.top+s.bottom}} 10function inFlight(){return document.getAnimations().filter(function(a){var t=a.effect&&a.effect.getTiming();return a.playState==='running'&&t&&t.iterations!==Infinity})} 11function measure(){queued=false;if(!document.body)return;var running=inFlight();var times=running.map(function(a){var t=a.currentTime;a.pause();a.currentTime=a.effect.getComputedTiming().endTime;return t}); 12try{measureNow()}finally{running.forEach(function(a,i){a.currentTime=times[i];a.play()})}} 13function measureNow(){var body=document.body; 14var element=findRoot();var rootRect=element?element.getBoundingClientRect():null;var root=rootRect&&rootRect.width&&rootRect.height?{top:rootRect.top,left
14:rootRect.left,width:rootRect.width,height:rootRect.height}:null; 15if(!root&&element&&waited<30){waited++;queued=true;requestAnimationFrame(measure);return} 16waited=0;viewportW=window.innerWidth;viewportH=window.innerHeight;var box={top:Infinity,right:-Infinity,bottom:-Infinity,left:Infinity}; 17var scope=element||body;Array.prototype.forEach.call(scope.querySelectorAll('*'),function(child){var tag=child.tagName;if(tag==='SCRIPT'||tag==='STYLE')return;var style=getComputedStyle(child);if(style.display==='none'||style.visibility==='hidden')return;union(box,painted(child,style))}); 18if(element)union(box,painted(element,getComputedStyle(element)));else{var range=document.createRange();range.selectNodeContents(body);union(box,range.getBoundingClientRect())} 19if(!isFinite(box.top)){box={top:0,right:1,bottom:1,left:0}} 20send('measure',{top:box.top,right:box.right,bottom:box.bottom,left:box.left,width:Math.max(1,box.right-box.left),height:Math.max(1,box.bottom-box.top),root:root||undefined})} 21function schedule(){if(queued)return;queued=true;requestAnimationFrame(measure)} 22function start(){findRoot();['load','input','change','toggle'].forEach(function(type){document.addEventListener(type,schedule,true)});window.addEventListener('load',schedule); 23window.addEventListener('resize',function(){if(Math.abs(window.innerWidth-viewportW)>2||Math.abs(window.innerHeight-viewportH)>2)schedule()});schedule()} 24window.addEventListener('message',function(event){var data=event.data;if(!data||!data.__base44Snippet||data.channel!==channel)return;if(data.type==='measure')schedule();if(data.type==='patch'&&event.source===window.parent&&typeof data.html==='string'&&document.body){document.body.innerHTML=data.html;rootElement=null;schedule()}}); 25document.addEventListener('keydown',function(event){if(event.key==='Escape')send('escape')}); 26document.addEventListener('click',function(event){var link=event.target&&event.target.closest?event.target.closest('a[href]'):null;if(link)event.preventDefault()},true);document.addEventListener('submit',function(event){event.preventDefault()},true); 27if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',start,{once:true});else start(); 28})()`}var or=`*,*::before,*::after{animation-duration:0s!important;animation-delay:0s!important;animation-iteration-count:1!important;animation-fill-mode:both!important;transition:none!important}`;function sr(e,t,n,{generatedImageUrls:r=[],scrollable:i=!1,fillViewport:a=!1,componentOnly:o=!1,sectionHeight:s,imageTransform:c=Jn,streaming:l=!1}={}){if(!Un.test(t)||!Un.test(n))return null;let u=Wn(r).join(` `),ee=[`default-src 'none'`,`base-uri 'none'`,`connect-src 'none'`,`font-src 'none'`,`form-action 'none'`,`frame-src 'none'`,`img-src data:${u?` ${u}`:``}`,`manifest-src 'none'`,`media-src 'none'`,`object-src 'none'`,`script-src 'nonce-${n}'`,`script-src-attr 'none'`,`style-src 'unsafe-inline'`,`worker-src 'none'`].join(`; `),te=a?`body>:not(style){width:100%!important;max-width:none!important;min-height:100vh!important;box-sizing:border-box!important;margin:0!important}`:``,ne=o?`html,body{background:#fff!important}body{display:flex;align-items:flex-start;justify-content:flex-start;padding:96px}body>:not(style){flex:0 0 auto;margin:0!important}`:``,re=s?`html,body{background:#fff!important}body{display:block;width:100%}body>:not(style){width:100%!important;max-width:none!important;min-height:0!important;height:${Math.round(s)}px!important;max-height:none!important;overflow:hidden!important;box-sizing:border-box!important;margin:0!important}`:``;return`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="${ee}"><style>html,body{margin:0}html{overflow:${i?`auto`:`hidden`}}${te}${ne}${re}${l?or:``}</style><script nonce="${n}">${ar(t)}<\/script></head><body>${tr(e,r,c)}</body></html>`}var cr=`image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8`,lr=4e6,ur=2,K=new Map,dr=new Set;async function fr(e){let t=await fetch(e,{headers:{Accept:cr},priority:`low`});if(!t.ok)throw Error(String(t.status));let n=await t.blob();if(n.size>lr){K.set(e,ur);return}Qn(e,await new Promise((e,t)=>
28{let r=new FileReader;r.onload=()=>e(r.result),r.onerror=()=>t(r.error),r.readAsDataURL(n)})),K.delete(e)}async function pr(e){return Zn(e)||await fr(e).catch(()=>void 0),Zn(e)}function mr(e){(0,U.useEffect)(()=>{for(let t of e??[]){let e=$n(t),n=K.get(e)??0;Zn(e)||dr.has(e)||n>=ur||(dr.add(e),fr(e).catch(()=>K.set(e,n+1)).finally(()=>dr.delete(e)))}},[e])}var q={},hr=new Set;function gr(e,t){q={...q,[e]:t},hr.forEach(e=>e())}function _r(e,t,n){pr(W(n,qn)??n).then(r=>{let i=q[e];r&&i&&gr(e,{...i,images:{...i.images,[t]:n}})})}function vr(e){let t=e.placeholder_url;if(!t)return;let n=q[t]??{html:``,trustedUrls:[],images:{},broken:!1};if(e.image){_r(t,e.image.slot,e.image.url);return}if(typeof e.text!=`string`||n.broken)return;let r=e.offset!==Array.from(n.html).length;gr(t,{...n,html:r?n.html:n.html+e.text,trustedUrls:e.trusted_urls??n.trustedUrls,broken:r})}function yr(e){return hr.add(e),()=>hr.delete(e)}function br(){return(0,U.useSyncExternalStore)(yr,()=>q)}var xr=/__BASE44_(GENERATED|SOURCE)_IMAGE_(\d+)__/g,Sr=`data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'4'%20height%3D'3'%3E%3Crect%20width%3D'4'%20height%3D'3'%20fill%3D'%23e5e7eb'%2F%3E%3C%2Fsvg%3E`;function Cr(e){if(!e||e.broken)return null;let t=e.html.indexOf(`</style>`);return t<0||!e.html.slice(t).includes(`<`,8)?null:tr(e.html.replace(xr,(t,n,r)=>n===`GENERATED`&&e.images[Number(r)]?e.images[Number(r)]:Sr),[...e.trustedUrls,...Object.values(e.images)],qn)}function J(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,function(e){var t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}var wr=class{constructor(){this.collaboratorBranch=new Hn((e,t)=>{this.socket.emit(`collaborators:branch`,{room:e,branch_id:t})}),this.tokenUnsubscribe=null,this._connectionPromise=null,this._connectionResolver=null,this._roomToListeners={},this._notificationListeners={},this._directiveCallbacks={},this._statusBannerListeners={},this._collaboratorCallbacks={},this._canvasSocketMethods=new Fn,this._previewLensSocketMethods=new Vn,this._oauthResultCallbacks={},this._serverEventSubscriptions={},this._roomMetadata={},this._queueUpdateCallbacks={},this._reconnectListeners={},this.historicalSocketIds=[],this.initializeSocket(),this.setupTokenListener()}waitForConnection(){return this.socket?.connected?Promise.resolve():(this._connectionPromise||=new Promise(e=>{this._connectionResolver=e}),this._connectionPromise)}setupTokenListener(){this.tokenUnsubscribe=B.addListener(e=>{e===`token_changed`&&this.reconnectWithAuth()})}getMountPath(){throw Error(`Not implemented`)}getSocketQuery(){let e=B.getToken();return e?{token:e}:{}}initializeSocket(){let e={path:this.getMountPath(),transports:[`websocket`]};e.query=this.getSocketQuery(),this.socket=L(n(),e),this.socket.on(`connect`,()=>{this.historicalSocketIds=Me.default.uniq(this.historicalSocketIds.concat([this.socket.id])),this.reconnectAllRooms(),this._connectionResolver&&(this._connectionResolver(),this._connectionResolver=null,this._connectionPromise=null)}),this.socket.on(`disconnect`,()=>{}),this.socket.on(`update_model`,e=>this.onUpdateModel(e)),this.socket.on(`agent_done`,e=>this.onAgentDone(e)),this.socket.on(`conversation:typing`,e=>this.onConversationTyping(e)),this.socket.on(`new_notification`,e=>this.onNewNotification(e)),this.socket.on(`github_changes`,e=>this.onGitHubChanges(e)),this.socket.on(`mobile_build_update`,e=>{this.onMobileBuildUpdate(e)}),this.socket.on(`directive`,e=>this.onDirective(e)),this.socket.on(`status_banner_update`,e=>this.onStatusBannerUpdate(e)),this.socket.on(`task_update`,e=>{this.onTaskUpdate(e)}),this.socket.on(`testing_agent_execution_update`,e=>{this.onTestingAgentExecutionUpdate(e)}),this.socket.on(`image_ready`,e=>{this.onImageReady(e)}),this.socket.on(`snippet_stream`,e=>{try{vr(JSON.parse(e.data))}catch{}}),Object.entries({migration_progress:`onMigrationProgress`,migration_entity_completed:`onMigrationEntityCompleted`,migration_completed:`onMigrationJobUpdate`,migration_failed:`onMigrationJobUpdate`,migration_cancelled:`onMigrationJobUpdate`}
28).forEach(([e,t])=>{this.socket.on(e,e=>this.onMigrationEvent(t,e))}),this.socket.on(`collaborators:list`,e=>{let{room:t,data:n,total_active_users:r}=e;t&&this.collaboratorBranch.ready(t),t&&this._collaboratorCallbacks[t]&&Object.values(this._collaboratorCallbacks[t]).forEach(e=>e.onList?.(n,r))}),this.socket.on(`queue_update`,e=>this.onQueueUpdate(e)),this._canvasSocketMethods.init(this.socket),this._previewLensSocketMethods.init(this.socket),Object.entries(this._serverEventSubscriptions).forEach(([e,t])=>{t.forEach(t=>this.socket.on(e,t))}),this.socket.on(`oauth_connection_result`,e=>{this.onOAuthConnectionResult(e)}),this.socket.on(`error`,e=>{e.message===`Authentication required to join rooms`||e.message===`Access denied to this room`||e.message}),this.setupCustomListeners(this.socket),this.socket.on(`*`,e=>{})}setupCustomListeners(e){}reconnectWithAuth(){this.socket&&this.socket.disconnect(),this.initializeSocket()}getSocketId(){return this.socket.id}reconnectAllRooms(){this.collaboratorBranch.reconnect(),Object.keys(this._roomToListeners).forEach(e=>{this.joinRoom(e,this._roomMetadata[e]),Object.values(this._roomToListeners[e]).forEach(({reconnectCallback:e})=>{e&&e()})}),Object.keys(this._notificationListeners).forEach(e=>{this.joinRoom(e),Object.values(this._notificationListeners[e]).forEach(({reconnectCallback:e})=>{e&&e()})}
28),Object.values(this._collaboratorCallbacks).forEach(e=>{Object.values(e).forEach(e=>e.onReconnect?.())}),Object.values(this._reconnectListeners).forEach(e=>{try{e()}catch{}}),this._canvasSocketMethods.reclaimActive(),this._canvasSocketMethods.notifyReconnect(),this._previewLensSocketMethods.reclaimIframeRoom()}hasListeners(e){return Object.keys(this._roomToListeners[e]||{}).length>0}joinRoom(e,t){t?this.socket.emit(`join`,e,t):this.socket.emit(`join`,e)}leaveRoom(e){this.collaboratorBranch.leave(e),this.socket.emit(`leave`,e)}subscribeToServerEvent(e,t){return this.socket.on(e,t),this._serverEventSubscriptions[e]||(this._serverEventSubscriptions[e]=new Set),this._serverEventSubscriptions[e].add(t),()=>{this.socket.off(e,t);let n=this._serverEventSubscriptions[e];n&&(n.delete(t),n.size===0&&delete this._serverEventSubscriptions[e])}}emitToServer(e,t){this.socket.emit(e,t)}addListener(e,t,n){let r=typeof n==`function`?{reconnectCallback:n}:n||{};this.hasListeners(e)||(r.roomMetadata&&(this._roomMetadata[e]=r.roomMetadata),this.joinRoom(e,r.roomMetadata),this._roomToListeners[e]={});let i=J();this._roomToListeners[e][i]={callback:t,reconnectCallback:r.reconnectCallback,onGitHubChanges:r.onGitHubChanges,onTaskUpdate:r.onTaskUpdate,onTestingAgentExecutionUpdate:r.onTestingAgentExecutionUpdate,onImageReady:r.onImageReady,onMobileBuildUpdate:r.onMobileBuildUpdate,onAgentDone:r.onAgentDone,onUserTyping:r.onUserTyping,onMigrationProgress:r.onMigrationProgress,onMigrationJobUpdate:r.onMigrationJobUpdate,onMigrationEntityCompleted:r.onMigrationEntityCompleted};let a=this;return()=>{a.removeListener(i)}}getListeners(e){return this._roomToListeners[e]}removeListener(e){Object.keys(this._roomToListeners).forEach(t=>{this._roomToListeners[t][e]&&(delete this._roomToListeners[t][e],Object.keys(this._roomToListeners[t]).length===0&&(this.leaveRoom(t),delete this._roomToListeners[t],delete this._roomMetadata[t]))})}hasNotificationListeners(e){return Object.keys(this._notificationListeners[e]||{}).length>0}addNotificationListener(e,t,n){this.hasNotificationListeners(e)||(this.joinRoom(e),this._notificationListeners[e]={});let r=J();this._notificationListeners[e][r]={callback:t,reconnectCallback:n};let i=this;return()=>{i.removeNotificationListener(r)}}removeNotificationListener(e){Object.keys(this._notificationListeners).forEach(t=>{this._notificationListeners[t][e]&&(delete this._notificationListeners[t][e],Object.keys(this._notificationListeners[t]).length===0&&(this.leaveRoom(t),delete this._notificationListeners[t]))})}onUpdateModel(e){let t=e.room,n=JSON.parse(e.data);this._roomToListeners[t]&&Object.values(this._roomToListeners[t]).forEach(({callback:e})=>{e(n)})}onAgentDone(e){let t=e.room;this._roomToListeners[t]&&Object.values(this._roomToListeners[t]).forEach(({onAgentDone:t})=>{t&&t(e)})}onConversationTyping(e){let t=e?.room,n=e?.data;!t||!n?.email||this._roomToListeners[t]&&Object.values(this._roomToListeners[t]).forEach(({onUserTyping:e})=>{e&&e(n)})}sendConversationTyping(e){this.socket?.emit(`conversation:typing`,e)}onTaskUpdate(e){try{let t=e.room,n=JSON.parse(e.data);this._roomToListeners[t]&&Object.values(this._roomToListeners[t]).forEach(({onTaskUpdate:e})=>
28{if(e)try{e(n)}catch{}})}catch{}}onTestingAgentExecutionUpdate(e){try{let t=e.room,n=typeof e.data==`string`?JSON.parse(e.data):e.data;this._roomToListeners[t]&&Object.values(this._roomToListeners[t]).forEach(({onTestingAgentExecutionUpdate:e})=>{if(e)try{e(n)}catch{}})}catch{}}onMigrationEvent(e,t){if(!t||typeof t.room!=`string`||typeof t.data!=`string`)return;let n;try{n=JSON.parse(t.data)}catch{return}let r=this._roomToListeners[t.room];r&&Object.values(r).forEach(t=>{let r=t[e];if(r)try{r(n)}catch{}})}onImageReady(e){try{let t=e.room,n=JSON.parse(e.data);this._roomToListeners[t]&&Object.values(this._roomToListeners[t]).forEach(({onImageReady:e})=>{if(e)try{e(n)}catch{}})}catch{}}onNewNotification(e){let t=e.room,n=JSON.parse(e.data);this._notificationListeners[t]&&Object.values(this._notificationListeners[t]).forEach(({callback:e})=>{e(n)})}onGitHubChanges(e){let t=e.room,n=e.data;this._roomToListeners[t]&&Object.values(this._roomToListeners[t]).forEach(({onGitHubChanges:e})=>{e&&e(n)})}onMobileBuildUpdate(e){let t=e.room,n=e.data;this._roomToListeners[t]&&Object.values(this._roomToListeners[t]).forEach(({onMobileBuildUpdate:e})=>{e&&e(n)})}onDirective(e){let{room:t,type:n,payload:r}=e,i=this._directiveCallbacks[t]?.[n];i&&i(e)}setDirectiveCallback(e,t,n){this._directiveCallbacks[e]||(this._directiveCallbacks[e]={}),this._directiveCallbacks[e][t]=n}removeDirectiveCallback(e,t){this._directiveCallbacks[e]&&(delete this._directiveCallbacks[e][t],Object.keys(this._directiveCallbacks[e]).length===0&&delete this._directiveCallbacks[e])}removeAllDirectiveCallbacks(e){delete this._directiveCallbacks[e]}onStatusBannerUpdate(e){Object.values(this._statusBannerListeners).forEach(t=>{try{t(e)}catch{}})}addStatusBannerListener(e){let t=J();return this._statusBannerListeners[t]=e,()=>{delete this._statusBannerListeners[t]}}onQueueUpdate(e){Object.values(this._queueUpdateCallbacks).forEac
28h(t=>{try{t(e)}catch{}})}addQueueUpdateListener(e){let t=J();return this._queueUpdateCallbacks[t]=e,()=>{delete this._queueUpdateCallbacks[t]}}addReconnectListener(e){let t=J();return this._reconnectListeners[t]=e,()=>{delete this._reconnectListeners[t]}}addCollaboratorListener(e,t){this._collaboratorCallbacks[e]||(this._collaboratorCallbacks[e]={});let n=J();return this._collaboratorCallbacks[e][n]=t,()=>{this._collaboratorCallbacks[e]&&(delete this._collaboratorCallbacks[e][n],Object.keys(this._collaboratorCallbacks[e]).length===0&&delete this._collaboratorCallbacks[e])}}requestCollaboratorsList(e){this.socket.emit(`collaborators:request_list`,e)}sendCollaboratorHeartbeat(e){this.socket.emit(`collaborators:heartbeat`,e)}sendCollaboratorAway(e){this.socket.emit(`collaborators:away`,e)}get canvas(){return this._canvasSocketMethods}get preview_lens(){return this._previewLensSocketMethods}onOAuthConnectionResult(e){let t=e?.data||e;Object.values(this._oauthResultCallbacks).forEach(e=>{try{let n=e(t);n&&typeof n.catch==`function`&&n.catch(e=>{})}catch{}})}addOAuthResultListener(e,t){let n=J();return this._oauthResultCallbacks[n]=e,()=>{delete this._oauthResultCallbacks[n]}}cleanup(){this.tokenUnsubscribe&&=(this.tokenUnsubscribe(),null),this.socket&&this.socket.disconnect()}},Tr=new class extends wr{getMountPath(){return`/ws/socket.io/`}},Er=()=>null;function Dr(e){Er=e}var Y=null;function Or(e){Y=e}var kr=[`sso_required_for_workspace`,`auth_required_for_workspace`],Ar=[],jr=0;function Mr(e,t,n=null){let r=[];for(let i of Ar){if(n!=null){if(i.requestId!==n){r.push(i);continue}}else if(e&&i.workspaceId&&i.workspaceId!==e){r.push(i);continue}i[t]()}Ar=r}function Nr(e){Mr(e,`retry`)}function Pr(e){Mr(e,`cancel`)}function Fr(e){Mr(null,`cancel`,e)}function Ir(e){let t=e.response?.data,n=t?.error?{...t.error.details,code:t.error.code}:t?.detail;if(e.response?.status!==409||!n||!n.code||!kr.includes(n.code)||!n.workspace_id||typeof Y!=`function`)return!1;let r=++jr;return Y({workspaceId:n.workspace_id,workspaceName:n.workspace_name??null,requiresSso:!!n.sso_required,ssoProviderName:n.sso_provider??null,userEmail:Er(),challengeRequestId:r})!==!1&&r}function Lr(e,t){let n=Ir(e);if(!n)return null;e.workspaceLockedHandled=!0;let r=e.response?.data?.error?.details?.workspace_id??e.response?.data?.detail?.workspace_id;return new Promise((i,a)=>{Ar.push({workspaceId:r,requestId:n,retry:()=>{let n=e.config||{};n._retry=!0,n.headers&&delete n.headers.Authorization,t(n).then(i,a)},cancel:()=>a(e)})})}var Rr=1,zr=1e6,Br=0;function Vr(){return Br=(Br+1)%(2**53-1),Br.toString()}var Hr=new Map,Ur=e=>{if(Hr.has(e))return;let t=setTimeout(()=>{Hr.delete(e),Q({type:`REMOVE_TOAST`,toastId:e})},zr);Hr.set(e,t)},Wr=(e,t)=>{switch(t.type){case`ADD_TOAST`:return{...e,toasts:[t.toast,...e.toasts].slice(0,Rr)};case`UPDATE_TOAST`:return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case`DISMISS_TOAST`:{let{toastId:n}=t;return n?Ur(n):e.toasts.forEach(e=>{Ur(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||n===void 0?{...e,open:!1}:e)}}case`REMOVE_TOAST`:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},X=[],Z={toasts:[]};function Q(e){Z=Wr(Z,e),X.forEach(e=>{e(Z)})}function Gr({...e}){let t=Vr(),n=e=>Q({type:`UPDATE_TOAST`,toast:{...e,id:t}}),r=()=>Q({type:`DISMISS_TOAST`,toastId:t});return Q({type:`ADD_TOAST`,toast:{...e,id:t,open:!0,onOpenChange:e=>{e||r()}}}),{id:t,dismiss:r,update:n}}function Kr(){let[e,t]=U.useState(Z);return U.useEffect(()=>(X.push(t),()=>{let e=X.indexOf(t);e>-1&&X.splice(e,1)}),[e]),{...e,toast:Gr,dismiss:e=>Q({type:`DISMISS_TOAST`,toastId:e})}}function qr(e){if(typeof e!=`string`||!/^[a-f0-9]{24}$/.test(e))return;let t=()=>window.location.pathname.startsWith(`/apps/${e}/editor`);t()&&s.loadNamespaces(`editor`).then(()=>{t()&&Gr({title:s.t(`editor:collaborators.workspaceMode.enrolled`),variant:`success`})}).catch(()=>{})}function Jr(e){let t=e.toLowerCase(),n=window.navigator?.maxTouchPoints??0;return t.includes(`ipad`)||t.includes(`tablet`)||t.includes(`kindle`)||t.includes(`silk/`)||t.includes(`android`)&&!t.includes(`mobile`)||t.includes(`macintosh`)&&n>1}function Yr(e){return/iphone|ipod|windows phone|blackberry|android.*mobile|mobi/i.test(e)}function Xr(){if(typeof window>`u`)return`web`;if(ae())return`mobile_native`;let e=window.navigator?.userAgent??``;return Jr(e)?`tablet_web`:Yr(e)?`mobile_web`:`web`}var Zr=(e,t)=>
28{try{let n=new URL(t??``,window.location.origin);return new URL(e,n).origin===n.origin}catch{return!1}},Qr=[];function $r(e){Qr.push(e)}var ei=()=>localStorage.getItem(`activeWorkspaceId`);function ti(e){ei=e}var $=void 0;function ni(e){$=e}function ri(){$=void 0}var ii=()=>null;function ai(e){ii=e}function oi(){return window.location.pathname.match(/^\/workspace\/([^/]+)/)?.[1]||($===void 0?ei():$)}function si(){return ii()}var ci=()=>null;function li(e){ci=e}function ui(){return ci()}var di=[`/workspace-challenge`],fi=`shutdown_admission`,pi=`X-Base44-Shutdown-Admission-Retry`,mi=1e3,hi=500,gi=2;function _i(e){let t=e?.url||``;return di.some(e=>t===e||t.endsWith(e))}function vi(e){let t=e?.response?.data?.detail;return typeof t==`string`&&t.startsWith(`Unauthorized`)}function yi(e){let t=e?.response?.headers,n=typeof t?.get==`function`?t.get(`x-error-code`):t?.[`x-error-code`]??t?.[`X-Error-Code`];return e?.response?.status===503&&n===fi}function bi(e){return yi(e)&&e.config&&(e.config._shutdownAdmissionRetryCount||0)<gi}function xi(e){return mi*2**(e-1)+Math.random()*hi}function Si(e,t){if(!t?.length||e instanceof FormData)return e;let n=e=>Object.fromEntries(Object.entries(e).map(([e,n])=>[e,t.includes(e)?`[REDACTED]`:n]));if(typeof e==`string`)try{let t=JSON.parse(e);return!t||Array.isArray(t)||typeof t!=`object`?`[REDACTED]`:JSON.stringify(n(t))}catch{return`[REDACTED]`}return!e||Array.isArray(e)||typeof e!=`object`?e:n(e)}function Ci(e){let t=e?.config?.sensitiveRequestFields||e?.response?.config?.sensitiveRequestFields;if(!t?.length)return e;let n=e=>e&&{...e,data:Si(e.data,t)};return{...e,name:e.name,message:e.message,stack:e.stack,config:n(e.config),response:e.response&&{...e.response,config:n(e.response.config)}}}function wi(e,t={},n=!1,i=!0,o=!0){let s=l.create(),c;return c=e.startsWith(`/`)?r()+e:e,s.defaults.baseURL=c,i&&(s.defaults.headers.common[`Content-Type`]=`application/json`,s.defaults.headers.common.Accept=`application/json`),Object.keys(t).forEach(e=>{s.defaults.headers.common[e]=t[e]}),s.interceptors.request.use(t=>{t.headers=Me.default.merge(Me.default.cloneDeep(a()),t.headers);let r=Zr(t.url,t.baseURL);r||(ee(`cross_origin_request_detected`,{url:t.url,baseURL:t.baseURL}),delete t.headers.Authorization,delete t.headers.SSO_AUTHORIZATION,delete t.headers.common?.Authorization,delete t.headers.common?.SSO_AUTHORIZATION),t.headers[`X-Socket-Id`]=Tr.getSocketId(),t.headers[`X-Origin-URL`]=te(window.location.href.split(`#`)[0]),r&&!t.headers[`X-Preview-Lens-Client-Platform`]&&(t.headers[`X-Preview-Lens-Client-Platform`]=Xr()),r&&(t.headers[pi]=`1`,Object.keys(t.headers).some(e=>e.toLowerCase()===`x-builder-model-selection`)||(t.headers[`X-Builder-Model-Selection`]=`user-v1`));let i=oi(),o=t.headers[`X-Skip-Active-Workspace`];i&&!t.headers[`X-Active-Workspace-Id`]&&!o&&(t.headers[`X-Active-Workspace-Id`]=i);let s=si();if(s&&(t.headers[`X-Active-App-Id`]=s),t.branchScoped&&!t._branchScopeResolved){let e=t.params?.branch_id||ci();e&&(t.params={...t.params,branch_id:e}),t._branchScopeResolved=!0}let c=t.headers[`X-Request-ID`]||De();if(t.requestId=c,t.headers[`X-Request-ID`]=c,n)try{window.parent.postMessage({type:`api-request-start`,requestId:c,data:{url:e+t.url,method:t.method,body:t.data instanceof FormData?`[FormData object]`:Si(t.data,t.sensitiveRequestFields)}},`*`)}catch{}return t},e=>Promise.reject(e)),s.interceptors.response.use(e=>{if(qr(e.headers[`x-workspace-collaboration-enrolled`]),n)try{window.parent.postMessage({type:`api-request-end`,requestId:e.config.requestId,data:{statusCode:e.status,response:e.data}},`*`)}catch{}return i?e.data:e},async e=>{if(e.requestId=e.response?.data?.request_id||e.config?.requestId,e.config?.requestId&&window.parent.postMessage({type:`api-request-end`,requestId:e.config.requestId,data:{statusCode:e.response?.status||0,response:e.response?.data||{error:e.message}}},`*`),l.isCancel(e))return Promise.reject(e);if(bi(e)){let t=(e.config._shutdownAdmissionRetryCount||0)+1;return e.config._shutdownAdmissionRetryCount=t,await new Promise(e=>setTimeout(e,xi(t))),s(e.config)}let t=e.response?.status===401&&_i(e.config)&&!vi(e);if(e.response?.status===401&&!e.config?._retry&&!t){e.config._retry=!0;try{return await B.refreshAccessToken(),e.config.headers&&delete e.config.headers.Authorization,s(e.config)}catch{}}let n=Lr(e,e=>s(e));if(n)return n;if(t)return Promise.reject(e);let r=Ci(e);if(o)for(let e of Qr)e(r);return e.response?.data?.traceback,Promise.reject(e)}),s}export{Rn as A,xn as B,mr as C,ir as D,nr as E,gn as F,pn as G,yn as H,On as I,De as J,un as K,En as L,Pn as M,Nn as N,rr as O,B as P,m as Q,Cn as R,br as S,sr as T,_n as U,vn as V,An as W,oe as X,fe as Y,p as Z,Dr as _,yi as a,wr as b,ai as c,ni as d,Gr as f,Nr as g,Pr as h,wi as i,Mn as
28j,Ln as k,li as l,Fr as m,$r as n,si as o,Kr as p,L as q,ri as r,oi as s,ui as t,ti as u,Or as v,qn as w,Cr as x,Tr as y,bn 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.