@elevenlabs/convai-widget-embed 0.0.9 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +69 -32
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1,4 +1,41 @@
1
- (function(){"use strict";var $t,T,no,ro,tt,oo,ao,io,so,Ln,Rn,Fn,lo,It={},co=[],Ts=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Dt=Array.isArray;function Ne(e,t){for(var n in t)e[n]=t[n];return e}function zn(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function K(e,t,n){var r,o,a,i={};for(a in t)a=="key"?r=t[a]:a=="ref"?o=t[a]:i[a]=t[a];if(arguments.length>2&&(i.children=arguments.length>3?$t.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)i[a]==null&&(i[a]=e.defaultProps[a]);return Mt(e,i,r,o,null)}function Mt(e,t,n,r,o){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++no,__i:-1,__u:0};return o==null&&T.vnode!=null&&T.vnode(a),a}function uo(){return{current:null}}function ee(e){return e.children}function be(e,t){this.props=e,this.context=t}function ut(e,t){if(t==null)return e.__?ut(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?ut(e):null}function fo(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return fo(e)}}function Un(e){(!e.__d&&(e.__d=!0)&&tt.push(e)&&!Gt.__r++||oo!=T.debounceRendering)&&((oo=T.debounceRendering)||ao)(Gt)}function Gt(){for(var e,t,n,r,o,a,i,s=1;tt.length;)tt.length>s&&tt.sort(io),e=tt.shift(),s=tt.length,e.__d&&(n=void 0,o=(r=(t=e).__v).__e,a=[],i=[],t.__P&&((n=Ne({},r)).__v=r.__v+1,T.vnode&&T.vnode(n),Bn(t.__P,n,r,t.__n,t.__P.namespaceURI,32&r.__u?[o]:null,a,o??ut(r),!!(32&r.__u),i),n.__v=r.__v,n.__.__k[n.__i]=n,go(a,n,i),n.__e!=o&&fo(n)));Gt.__r=0}function po(e,t,n,r,o,a,i,s,l,c,f){var u,v,h,g,p,m,_=r&&r.__k||co,w=t.length;for(l=Ns(n,t,_,l,w),u=0;u<w;u++)(h=n.__k[u])!=null&&(v=h.__i==-1?It:_[h.__i]||It,h.__i=u,m=Bn(e,h,v,o,a,i,s,l,c,f),g=h.__e,h.ref&&v.ref!=h.ref&&(v.ref&&Wn(v.ref,null,h),f.push(h.ref,h.__c||g,h)),p==null&&g!=null&&(p=g),4&h.__u||v.__k===h.__k?l=ho(h,l,e):typeof h.type=="function"&&m!==void 0?l=m:g&&(l=g.nextSibling),h.__u&=-7);return n.__e=p,l}function Ns(e,t,n,r,o){var a,i,s,l,c,f=n.length,u=f,v=0;for(e.__k=new Array(o),a=0;a<o;a++)(i=t[a])!=null&&typeof i!="boolean"&&typeof i!="function"?(l=a+v,(i=e.__k[a]=typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?Mt(null,i,null,null,null):Dt(i)?Mt(ee,{children:i},null,null,null):i.constructor==null&&i.__b>0?Mt(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=e,i.__b=e.__b+1,s=null,(c=i.__i=Ps(i,n,l,u))!=-1&&(u--,(s=n[c])&&(s.__u|=2)),s==null||s.__v==null?(c==-1&&(o>f?v--:o<f&&v++),typeof i.type!="function"&&(i.__u|=4)):c!=l&&(c==l-1?v--:c==l+1?v++:(c>l?v--:v++,i.__u|=4))):e.__k[a]=null;if(u)for(a=0;a<f;a++)(s=n[a])!=null&&(2&s.__u)==0&&(s.__e==r&&(r=ut(s)),wo(s,s));return r}function ho(e,t,n){var r,o;if(typeof e.type=="function"){for(r=e.__k,o=0;r&&o<r.length;o++)r[o]&&(r[o].__=e,t=ho(r[o],t,n));return t}e.__e!=t&&(t&&e.type&&!n.contains(t)&&(t=ut(e)),n.insertBefore(e.__e,t||null),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function De(e,t){return t=t||[],e==null||typeof e=="boolean"||(Dt(e)?e.some(function(n){De(n,t)}):t.push(e)),t}function Ps(e,t,n,r){var o,a,i=e.key,s=e.type,l=t[n];if(l===null&&e.key==null||l&&i==l.key&&s==l.type&&(2&l.__u)==0)return n;if(r>(l!=null&&(2&l.__u)==0?1:0))for(o=n-1,a=n+1;o>=0||a<t.length;){if(o>=0){if((l=t[o])&&(2&l.__u)==0&&i==l.key&&s==l.type)return o;o--}if(a<t.length){if((l=t[a])&&(2&l.__u)==0&&i==l.key&&s==l.type)return a;a++}}return-1}function vo(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||Ts.test(t)?n:n+"px"}function Zt(e,t,n,r,o){var a;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof r=="string"&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||vo(e.style,t,"");if(n)for(t in n)r&&n[t]==r[t]||vo(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")a=t!=(t=t.replace(so,"$1")),t=t.toLowerCase()in e||t=="onFocusOut"||t=="onFocusIn"?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r?n.u=r.u:(n.u=Ln,e.addEventListener(t,a?Fn:Rn,a)):e.removeEventListener(t,a?Fn:Rn,a);else{if(o=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function mo(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=Ln++;else if(t.t<n.u)return;return n(T.event?T.event(t):t)}}}function Bn(e,t,n,r,o,a,i,s,l,c){var f,u,v,h,g,p,m,_,w,y,b,C,k,x,P,D,F,O=t.type;if(t.constructor!=null)return null;128&n.__u&&(l=!!(32&n.__u),a=[s=t.__e=n.__e]),(f=T.__b)&&f(t);e:if(typeof O=="function")try{if(_=t.props,w="prototype"in O&&O.prototype.render,y=(f=O.contextType)&&r[f.__c],b=f?y?y.props.value:f.__:r,n.__c?m=(u=t.__c=n.__c).__=u.__E:(w?t.__c=u=new O(_,b):(t.__c=u=new be(_,b),u.constructor=O,u.render=$s),y&&y.sub(u),u.props=_,u.state||(u.state={}),u.context=b,u.__n=r,v=u.__d=!0,u.__h=[],u._sb=[]),w&&u.__s==null&&(u.__s=u.state),w&&O.getDerivedStateFromProps!=null&&(u.__s==u.state&&(u.__s=Ne({},u.__s)),Ne(u.__s,O.getDerivedStateFromProps(_,u.__s))),h=u.props,g=u.state,u.__v=t,v)w&&O.getDerivedStateFromProps==null&&u.componentWillMount!=null&&u.componentWillMount(),w&&u.componentDidMount!=null&&u.__h.push(u.componentDidMount);else{if(w&&O.getDerivedStateFromProps==null&&_!==h&&u.componentWillReceiveProps!=null&&u.componentWillReceiveProps(_,b),!u.__e&&u.shouldComponentUpdate!=null&&u.shouldComponentUpdate(_,u.__s,b)===!1||t.__v==n.__v){for(t.__v!=n.__v&&(u.props=_,u.state=u.__s,u.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(L){L&&(L.__=t)}),C=0;C<u._sb.length;C++)u.__h.push(u._sb[C]);u._sb=[],u.__h.length&&i.push(u);break e}u.componentWillUpdate!=null&&u.componentWillUpdate(_,u.__s,b),w&&u.componentDidUpdate!=null&&u.__h.push(function(){u.componentDidUpdate(h,g,p)})}if(u.context=b,u.props=_,u.__P=e,u.__e=!1,k=T.__r,x=0,w){for(u.state=u.__s,u.__d=!1,k&&k(t),f=u.render(u.props,u.state,u.context),P=0;P<u._sb.length;P++)u.__h.push(u._sb[P]);u._sb=[]}else do u.__d=!1,k&&k(t),f=u.render(u.props,u.state,u.context),u.state=u.__s;while(u.__d&&++x<25);u.state=u.__s,u.getChildContext!=null&&(r=Ne(Ne({},r),u.getChildContext())),w&&!v&&u.getSnapshotBeforeUpdate!=null&&(p=u.getSnapshotBeforeUpdate(h,g)),D=f,f!=null&&f.type===ee&&f.key==null&&(D=_o(f.props.children)),s=po(e,Dt(D)?D:[D],t,n,r,o,a,i,s,l,c),u.base=t.__e,t.__u&=-161,u.__h.length&&i.push(u),m&&(u.__E=u.__=null)}catch(L){if(t.__v=null,l||a!=null)if(L.then){for(t.__u|=l?160:128;s&&s.nodeType==8&&s.nextSibling;)s=s.nextSibling;a[a.indexOf(s)]=null,t.__e=s}else for(F=a.length;F--;)zn(a[F]);else t.__e=n.__e,t.__k=n.__k;T.__e(L,t,n)}else a==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):s=t.__e=As(n.__e,t,n,r,o,a,i,l,c);return(f=T.diffed)&&f(t),128&t.__u?void 0:s}function go(e,t,n){for(var r=0;r<n.length;r++)Wn(n[r],n[++r],n[++r]);T.__c&&T.__c(t,e),e.some(function(o){try{e=o.__h,o.__h=[],e.some(function(a){a.call(o)})}catch(a){T.__e(a,o.__v)}})}function _o(e){return typeof e!="object"||e==null||e.__b&&e.__b>0?e:Dt(e)?e.map(_o):Ne({},e)}function As(e,t,n,r,o,a,i,s,l){var c,f,u,v,h,g,p,m=n.props,_=t.props,w=t.type;if(w=="svg"?o="http://www.w3.org/2000/svg":w=="math"?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),a!=null){for(c=0;c<a.length;c++)if((h=a[c])&&"setAttribute"in h==!!w&&(w?h.localName==w:h.nodeType==3)){e=h,a[c]=null;break}}if(e==null){if(w==null)return document.createTextNode(_);e=document.createElementNS(o,w,_.is&&_),s&&(T.__m&&T.__m(t,a),s=!1),a=null}if(w==null)m===_||s&&e.data==_||(e.data=_);else{if(a=a&&$t.call(e.childNodes),m=n.props||It,!s&&a!=null)for(m={},c=0;c<e.attributes.length;c++)m[(h=e.attributes[c]).name]=h.value;for(c in m)if(h=m[c],c!="children"){if(c=="dangerouslySetInnerHTML")u=h;else if(!(c in _)){if(c=="value"&&"defaultValue"in _||c=="checked"&&"defaultChecked"in _)continue;Zt(e,c,null,h,o)}}for(c in _)h=_[c],c=="children"?v=h:c=="dangerouslySetInnerHTML"?f=h:c=="value"?g=h:c=="checked"?p=h:s&&typeof h!="function"||m[c]===h||Zt(e,c,h,m[c],o);if(f)s||u&&(f.__html==u.__html||f.__html==e.innerHTML)||(e.innerHTML=f.__html),t.__k=[];else if(u&&(e.innerHTML=""),po(t.type=="template"?e.content:e,Dt(v)?v:[v],t,n,r,w=="foreignObject"?"http://www.w3.org/1999/xhtml":o,a,i,a?a[0]:n.__k&&ut(n,0),s,l),a!=null)for(c=a.length;c--;)zn(a[c]);s||(c="value",w=="progress"&&g==null?e.removeAttribute("value"):g!=null&&(g!==e[c]||w=="progress"&&!g||w=="option"&&g!=m[c])&&Zt(e,c,g,m[c],o),c="checked",p!=null&&p!=e[c]&&Zt(e,c,p,m[c],o))}return e}function Wn(e,t,n){try{if(typeof e=="function"){var r=typeof e.__u=="function";r&&e.__u(),r&&t==null||(e.__u=e(t))}else e.current=t}catch(o){T.__e(o,n)}}function wo(e,t,n){var r,o;if(T.unmount&&T.unmount(e),(r=e.ref)&&(r.current&&r.current!=e.__e||Wn(r,null,t)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(a){T.__e(a,t)}r.base=r.__P=null}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&wo(r[o],t,n||typeof e.type!="function");n||zn(e.__e),e.__c=e.__=e.__e=void 0}function $s(e,t,n){return this.constructor(e,n)}function Be(e,t,n){var r,o,a,i;t==document&&(t=document.documentElement),T.__&&T.__(e,t),o=(r=typeof n=="function")?null:n&&n.__k||t.__k,a=[],i=[],Bn(t,e=(!r&&n||t).__k=K(ee,null,[e]),o||It,It,t.namespaceURI,!r&&n?[n]:o?null:t.firstChild?$t.call(t.childNodes):null,a,!r&&n?n:o?o.__e:t.firstChild,r,i),go(a,e,i)}function Hn(e,t){Be(e,t,Hn)}function jn(e,t,n){var r,o,a,i,s=Ne({},e.props);for(a in e.type&&e.type.defaultProps&&(i=e.type.defaultProps),t)a=="key"?r=t[a]:a=="ref"?o=t[a]:s[a]=t[a]==null&&i!=null?i[a]:t[a];return arguments.length>2&&(s.children=arguments.length>3?$t.call(arguments,2):n),Mt(e.type,s,r||e.key,o||e.ref,null)}function ie(e){function t(n){var r,o;return this.getChildContext||(r=new Set,(o={})[t.__c]=this,this.getChildContext=function(){return o},this.componentWillUnmount=function(){r=null},this.shouldComponentUpdate=function(a){this.props.value!=a.value&&r.forEach(function(i){i.__e=!0,Un(i)})},this.sub=function(a){r.add(a);var i=a.componentWillUnmount;a.componentWillUnmount=function(){r&&r.delete(a),i&&i.call(a)}}),n.children}return t.__c="__cC"+lo++,t.__=e,t.Provider=t.__l=(t.Consumer=function(n,r){return n.children(r)}).contextType=t,t}$t=co.slice,T={__e:function(e,t,n,r){for(var o,a,i;t=t.__;)if((o=t.__c)&&!o.__)try{if((a=o.constructor)&&a.getDerivedStateFromError!=null&&(o.setState(a.getDerivedStateFromError(e)),i=o.__d),o.componentDidCatch!=null&&(o.componentDidCatch(e,r||{}),i=o.__d),i)return o.__E=o}catch(s){e=s}throw e}},no=0,ro=function(e){return e!=null&&e.constructor==null},be.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=Ne({},this.state),typeof e=="function"&&(e=e(Ne({},n),this.props)),e&&Ne(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Un(this))},be.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Un(this))},be.prototype.render=ee,tt=[],ao=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,io=function(e,t){return e.__v.__b-t.__v.__b},Gt.__r=0,so=/(PointerCapture)$|Capture$/i,Ln=0,Rn=mo(!1),Fn=mo(!0),lo=0;function Vn(){return(Vn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var Is=["context","children"];function Ds(e){this.getChildContext=function(){return e.context};var t=e.children,n=function(r,o){if(r==null)return{};var a,i,s={},l=Object.keys(r);for(i=0;i<l.length;i++)o.indexOf(a=l[i])>=0||(s[a]=r[a]);return s}(e,Is);return jn(t,n)}function Ms(){var e=new CustomEvent("_preact",{detail:{},bubbles:!0,cancelable:!0});this.dispatchEvent(e),this._vdom=K(Ds,Vn({},this._props,{context:e.detail.context}),function t(n,r){if(n.nodeType===3)return n.data;if(n.nodeType!==1)return null;var o=[],a={},i=0,s=n.attributes,l=n.childNodes;for(i=s.length;i--;)s[i].name!=="slot"&&(a[s[i].name]=s[i].value,a[yo(s[i].name)]=s[i].value);for(i=l.length;i--;){var c=t(l[i],null),f=l[i].slot;f?a[f]=K(bo,{name:f},c):o[i]=c}var u=r?K(bo,null,o):o;return K(r||n.nodeName.toLowerCase(),a,u)}(this,this._vdomComponent)),(this.hasAttribute("hydrate")?Hn:Be)(this._vdom,this._root)}function yo(e){return e.replace(/-(\w)/g,function(t,n){return n?n.toUpperCase():""})}function Os(e,t,n){if(this._vdom){var r={};r[e]=n=n??void 0,r[yo(e)]=n,this._vdom=jn(this._vdom,r),Be(this._vdom,this._root)}}function Ls(){Be(this._vdom=null,this._root)}function bo(e,t){var n=this;return K("slot",Vn({},e,{ref:function(r){r?(n.ref=r,n._listener||(n._listener=function(o){o.stopPropagation(),o.detail.context=t},r.addEventListener("_preact",n._listener))):n.ref.removeEventListener("_preact",n._listener)}}))}function Rs(e,t,n,r){function o(){var a=Reflect.construct(HTMLElement,[],o);return a._vdomComponent=e,a._root=r&&r.shadow?a.attachShadow({mode:r.mode||"open"}):a,a}return(o.prototype=Object.create(HTMLElement.prototype)).constructor=o,o.prototype.connectedCallback=Ms,o.prototype.attributeChangedCallback=Os,o.prototype.disconnectedCallback=Ls,n=n||e.observedAttributes||Object.keys(e.propTypes||{}),o.observedAttributes=n,n.forEach(function(a){Object.defineProperty(o.prototype,a,{get:function(){return this._vdom.props[a]},set:function(i){this._vdom?this.attributeChangedCallback(a,null,i):(this._props||(this._props={}),this._props[a]=i,this.connectedCallback());var s=typeof i;i!=null&&s!=="string"&&s!=="boolean"&&s!=="number"||this.setAttribute(a,i)}})}),customElements.define(t||e.tagName||e.displayName||e.name,o)}var Fs=0;function d(e,t,n,r,o,a){t||(t={});var i,s,l=t;if("ref"in l)for(s in l={},t)s=="ref"?i=t[s]:l[s]=t[s];var c={type:e,props:l,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Fs,__i:-1,__u:0,__source:o,__self:a};if(typeof e=="function"&&(i=e.defaultProps))for(s in i)l[s]===void 0&&(l[s]=i[s]);return T.vnode&&T.vnode(c),c}var Me,W,qn,xo,dt=0,Co=[],Z=T,ko=Z.__b,So=Z.__r,Eo=Z.diffed,To=Z.__c,No=Z.unmount,Po=Z.__;function nt(e,t){Z.__h&&Z.__h(W,e,dt||t),dt=0;var n=W.__H||(W.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function S(e){return dt=1,Jt($o,e)}function Jt(e,t,n){var r=nt(Me++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):$o(void 0,t),function(s){var l=r.__N?r.__N[0]:r.__[0],c=r.t(l,s);l!==c&&(r.__N=[c,r.__[1]],r.__c.setState({}))}],r.__c=W,!W.__f)){var o=function(s,l,c){if(!r.__c.__H)return!0;var f=r.__c.__H.__.filter(function(v){return!!v.__c});if(f.every(function(v){return!v.__N}))return!a||a.call(this,s,l,c);var u=r.__c.props!==s;return f.forEach(function(v){if(v.__N){var h=v.__[0];v.__=v.__N,v.__N=void 0,h!==v.__[0]&&(u=!0)}}),a&&a.call(this,s,l,c)||u};W.__f=!0;var a=W.shouldComponentUpdate,i=W.componentWillUpdate;W.componentWillUpdate=function(s,l,c){if(this.__e){var f=a;a=void 0,o(s,l,c),a=f}i&&i.call(this,s,l,c)},W.shouldComponentUpdate=o}return r.__N||r.__}function A(e,t){var n=nt(Me++,3);!Z.__s&&Zn(n.__H,t)&&(n.__=e,n.u=t,W.__H.__h.push(n))}function Oe(e,t){var n=nt(Me++,4);!Z.__s&&Zn(n.__H,t)&&(n.__=e,n.u=t,W.__h.push(n))}function E(e){return dt=5,B(function(){return{current:e}},[])}function Yn(e,t,n){dt=6,Oe(function(){if(typeof e=="function"){var r=e(t());return function(){e(null),r&&typeof r=="function"&&r()}}if(e)return e.current=t(),function(){return e.current=null}},n==null?n:n.concat(e))}function B(e,t){var n=nt(Me++,7);return Zn(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function $(e,t){return dt=8,B(function(){return e},t)}function We(e){var t=W.context[e.__c],n=nt(Me++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub(W)),t.props.value):e.__}function Xn(e,t){Z.useDebugValue&&Z.useDebugValue(t?t(e):e)}function zs(e){var t=nt(Me++,10),n=S();return t.__=e,W.componentDidCatch||(W.componentDidCatch=function(r,o){t.__&&t.__(r,o),n[1](r)}),[n[0],function(){n[1](void 0)}]}function Kn(){var e=nt(Me++,11);if(!e.__){for(var t=W.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function Us(){for(var e;e=Co.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Qt),e.__H.__h.forEach(Gn),e.__H.__h=[]}catch(t){e.__H.__h=[],Z.__e(t,e.__v)}}Z.__b=function(e){W=null,ko&&ko(e)},Z.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Po&&Po(e,t)},Z.__r=function(e){So&&So(e),Me=0;var t=(W=e.__c).__H;t&&(qn===W?(t.__h=[],W.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.forEach(Qt),t.__h.forEach(Gn),t.__h=[],Me=0)),qn=W},Z.diffed=function(e){Eo&&Eo(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Co.push(t)!==1&&xo===Z.requestAnimationFrame||((xo=Z.requestAnimationFrame)||Bs)(Us)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),qn=W=null},Z.__c=function(e,t){t.some(function(n){try{n.__h.forEach(Qt),n.__h=n.__h.filter(function(r){return!r.__||Gn(r)})}catch(r){t.some(function(o){o.__h&&(o.__h=[])}),t=[],Z.__e(r,n.__v)}}),To&&To(e,t)},Z.unmount=function(e){No&&No(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(r){try{Qt(r)}catch(o){t=o}}),n.__H=void 0,t&&Z.__e(t,n.__v))};var Ao=typeof requestAnimationFrame=="function";function Bs(e){var t,n=function(){clearTimeout(r),Ao&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);Ao&&(t=requestAnimationFrame(n))}function Qt(e){var t=W,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),W=t}function Gn(e){var t=W;e.__c=e.__(),W=t}function Zn(e,t){return!e||e.length!==t.length||t.some(function(n,r){return n!==e[r]})}function $o(e,t){return typeof t=="function"?t(e):t}function Io(e,t){for(var n in t)e[n]=t[n];return e}function Jn(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var r in t)if(r!=="__source"&&e[r]!==t[r])return!0;return!1}function Qn(e,t){var n=t(),r=S({t:{__:n,u:t}}),o=r[0].t,a=r[1];return Oe(function(){o.__=n,o.u=t,er(o)&&a({t:o})},[e,n,t]),A(function(){return er(o)&&a({t:o}),e(function(){er(o)&&a({t:o})})},[e]),n}function er(e){var t,n,r=e.u,o=e.__;try{var a=r();return!((t=o)===(n=a)&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}}function tr(e){e()}function nr(e){return e}function rr(){return[!1,tr]}var or=Oe;function en(e,t){this.props=e,this.context=t}function tn(e,t){function n(o){var a=this.props.ref,i=a==o.ref;return!i&&a&&(a.call?a(null):a.current=null),t?!t(this.props,o)||!i:Jn(this.props,o)}function r(o){return this.shouldComponentUpdate=n,K(e,o)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(en.prototype=new be).isPureReactComponent=!0,en.prototype.shouldComponentUpdate=function(e,t){return Jn(this.props,e)||Jn(this.state,t)};var Do=T.__b;T.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Do&&Do(e)};var Ws=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function I(e){function t(n){var r=Io({},n);return delete r.ref,e(r,n.ref||null)}return t.$$typeof=Ws,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Mo=function(e,t){return e==null?null:De(De(e).map(t))},He={map:Mo,forEach:Mo,count:function(e){return e?De(e).length:0},only:function(e){var t=De(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:De},Hs=T.__e;T.__e=function(e,t,n,r){if(e.then){for(var o,a=t;a=a.__;)if((o=a.__c)&&o.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),o.__c(e,t)}Hs(e,t,n,r)};var Oo=T.unmount;function Lo(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(r){typeof r.__c=="function"&&r.__c()}),e.__c.__H=null),(e=Io({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(r){return Lo(r,t,n)})),e}function Ro(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(r){return Ro(r,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function Ot(){this.__u=0,this.o=null,this.__b=null}function Fo(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function zo(e){var t,n,r;function o(a){if(t||(t=e()).then(function(i){n=i.default||i},function(i){r=i}),r)throw r;if(!n)throw t;return K(n,a)}return o.displayName="Lazy",o.__f=!0,o}function ft(){this.i=null,this.l=null}T.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Oo&&Oo(e)},(Ot.prototype=new be).__c=function(e,t){var n=t.__c,r=this;r.o==null&&(r.o=[]),r.o.push(n);var o=Fo(r.__v),a=!1,i=function(){a||(a=!0,n.__R=null,o?o(s):s())};n.__R=i;var s=function(){if(!--r.__u){if(r.state.__a){var l=r.state.__a;r.__v.__k[0]=Ro(l,l.__c.__P,l.__c.__O)}var c;for(r.setState({__a:r.__b=null});c=r.o.pop();)c.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(i,i)},Ot.prototype.componentWillUnmount=function(){this.o=[]},Ot.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Lo(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__a&&K(ee,null,e.fallback);return o&&(o.__u&=-33),[K(ee,null,t.__a?null:e.children),o]};var Uo=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};function js(e){return this.getChildContext=function(){return e.context},e.children}function Vs(e){var t=this,n=e.h;t.componentWillUnmount=function(){Be(null,t.v),t.v=null,t.h=null},t.h&&t.h!==n&&t.componentWillUnmount(),t.v||(t.h=n,t.v={nodeType:1,parentNode:n,childNodes:[],contains:function(){return!0},appendChild:function(r){this.childNodes.push(r),t.h.appendChild(r)},insertBefore:function(r,o){this.childNodes.push(r),t.h.insertBefore(r,o)},removeChild:function(r){this.childNodes.splice(this.childNodes.indexOf(r)>>>1,1),t.h.removeChild(r)}}),Be(K(js,{context:t.context},e.__v),t.v)}function nn(e,t){var n=K(Vs,{__v:e,h:t});return n.containerInfo=t,n}(ft.prototype=new be).__a=function(e){var t=this,n=Fo(t.__v),r=t.l.get(e);return r[0]++,function(o){var a=function(){t.props.revealOrder?(r.push(o),Uo(t,e,r)):o()};n?n(a):a()}},ft.prototype.render=function(e){this.i=null,this.l=new Map;var t=De(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},ft.prototype.componentDidUpdate=ft.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){Uo(e,n,t)})};var Bo=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,qs=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Ys=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Xs=/[A-Z0-9]/g,Ks=typeof document<"u",Gs=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};function Wo(e,t,n){return t.__k==null&&(t.textContent=""),Be(e,t),typeof n=="function"&&n(),e?e.__c:null}function Ho(e,t,n){return Hn(e,t),typeof n=="function"&&n(),e?e.__c:null}be.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(be.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var jo=T.event;function Zs(){}function Js(){return this.cancelBubble}function Qs(){return this.defaultPrevented}T.event=function(e){return jo&&(e=jo(e)),e.persist=Zs,e.isPropagationStopped=Js,e.isDefaultPrevented=Qs,e.nativeEvent=e};var ar,el={enumerable:!1,configurable:!0,get:function(){return this.class}},Vo=T.vnode;T.vnode=function(e){typeof e.type=="string"&&function(t){var n=t.props,r=t.type,o={},a=r.indexOf("-")===-1;for(var i in n){var s=n[i];if(!(i==="value"&&"defaultValue"in n&&s==null||Ks&&i==="children"&&r==="noscript"||i==="class"||i==="className")){var l=i.toLowerCase();i==="defaultValue"&&"value"in n&&n.value==null?i="value":i==="download"&&s===!0?s="":l==="translate"&&s==="no"?s=!1:l[0]==="o"&&l[1]==="n"?l==="ondoubleclick"?i="ondblclick":l!=="onchange"||r!=="input"&&r!=="textarea"||Gs(n.type)?l==="onfocus"?i="onfocusin":l==="onblur"?i="onfocusout":Ys.test(i)&&(i=l):l=i="oninput":a&&qs.test(i)?i=i.replace(Xs,"-$&").toLowerCase():s===null&&(s=void 0),l==="oninput"&&o[i=l]&&(i="oninputCapture"),o[i]=s}}r=="select"&&o.multiple&&Array.isArray(o.value)&&(o.value=De(n.children).forEach(function(c){c.props.selected=o.value.indexOf(c.props.value)!=-1})),r=="select"&&o.defaultValue!=null&&(o.value=De(n.children).forEach(function(c){c.props.selected=o.multiple?o.defaultValue.indexOf(c.props.value)!=-1:o.defaultValue==c.props.value})),n.class&&!n.className?(o.class=n.class,Object.defineProperty(o,"className",el)):(n.className&&!n.class||n.class&&n.className)&&(o.class=o.className=n.className),t.props=o}(e),e.$$typeof=Bo,Vo&&Vo(e)};var qo=T.__r;T.__r=function(e){qo&&qo(e),ar=e.__c};var Yo=T.diffed;T.diffed=function(e){Yo&&Yo(e);var t=e.props,n=e.__e;n!=null&&e.type==="textarea"&&"value"in t&&t.value!==n.value&&(n.value=t.value==null?"":t.value),ar=null};var Xo={ReactCurrentDispatcher:{current:{readContext:function(e){return ar.__n[e.__c].props.value},useCallback:$,useContext:We,useDebugValue:Xn,useDeferredValue:nr,useEffect:A,useId:Kn,useImperativeHandle:Yn,useInsertionEffect:or,useLayoutEffect:Oe,useMemo:B,useReducer:Jt,useRef:E,useState:S,useSyncExternalStore:Qn,useTransition:rr}}},tl="18.3.1";function Ko(e){return K.bind(null,e)}function Le(e){return!!e&&e.$$typeof===Bo}function Go(e){return Le(e)&&e.type===ee}function Zo(e){return!!e&&!!e.displayName&&(typeof e.displayName=="string"||e.displayName instanceof String)&&e.displayName.startsWith("Memo(")}function Lt(e){return Le(e)?jn.apply(null,arguments):e}function Jo(e){return!!e.__k&&(Be(null,e),!0)}function Qo(e){return e&&(e.base||e.nodeType===1&&e)||null}var ea=function(e,t){return e(t)},rn=function(e,t){return e(t)},ta=ee,na=Le,Re={useState:S,useId:Kn,useReducer:Jt,useEffect:A,useLayoutEffect:Oe,useInsertionEffect:or,useTransition:rr,useDeferredValue:nr,useSyncExternalStore:Qn,startTransition:tr,useRef:E,useImperativeHandle:Yn,useMemo:B,useCallback:$,useContext:We,useDebugValue:Xn,version:"18.3.1",Children:He,render:Wo,hydrate:Ho,unmountComponentAtNode:Jo,createPortal:nn,createElement:K,createContext:ie,createFactory:Ko,cloneElement:Lt,createRef:uo,Fragment:ee,isValidElement:Le,isElement:na,isFragment:Go,isMemo:Zo,findDOMNode:Qo,Component:be,PureComponent:en,memo:tn,forwardRef:I,flushSync:rn,unstable_batchedUpdates:ea,StrictMode:ta,Suspense:Ot,SuspenseList:ft,lazy:zo,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Xo};const ra=Object.freeze(Object.defineProperty({__proto__:null,Children:He,Component:be,Fragment:ee,PureComponent:en,StrictMode:ta,Suspense:Ot,SuspenseList:ft,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Xo,cloneElement:Lt,createContext:ie,createElement:K,createFactory:Ko,createPortal:nn,createRef:uo,default:Re,findDOMNode:Qo,flushSync:rn,forwardRef:I,hydrate:Ho,isElement:na,isFragment:Go,isMemo:Zo,isValidElement:Le,lazy:zo,memo:tn,render:Wo,startTransition:tr,unmountComponentAtNode:Jo,unstable_batchedUpdates:ea,useCallback:$,useContext:We,useDebugValue:Xn,useDeferredValue:nr,useEffect:A,useErrorBoundary:zs,useId:Kn,useImperativeHandle:Yn,useInsertionEffect:or,useLayoutEffect:Oe,useMemo:B,useReducer:Jt,useRef:E,useState:S,useSyncExternalStore:Qn,useTransition:rr,version:tl},Symbol.toStringTag,{value:"Module"}));var nl=Symbol.for("preact-signals");function on(){if(je>1)je--;else{for(var e,t=!1;Rt!==void 0;){var n=Rt;for(Rt=void 0,ir++;n!==void 0;){var r=n.o;if(n.o=void 0,n.f&=-3,!(8&n.f)&&ia(n))try{n.c()}catch(o){t||(e=o,t=!0)}n=r}}if(ir=0,je--,t)throw e}}function oa(e){if(je>0)return e();je++;try{return e()}finally{on()}}var H=void 0,Rt=void 0,je=0,ir=0,an=0;function aa(e){if(H!==void 0){var t=e.n;if(t===void 0||t.t!==H)return t={i:0,S:e,p:H.s,n:void 0,t:H,e:void 0,x:void 0,r:t},H.s!==void 0&&(H.s.n=t),H.s=t,e.n=t,32&H.f&&e.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=H.s,t.n=void 0,H.s.n=t,H.s=t),t}}function se(e){this.v=e,this.i=0,this.n=void 0,this.t=void 0}se.prototype.brand=nl,se.prototype.h=function(){return!0},se.prototype.S=function(e){this.t!==e&&e.e===void 0&&(e.x=this.t,this.t!==void 0&&(this.t.e=e),this.t=e)},se.prototype.U=function(e){if(this.t!==void 0){var t=e.e,n=e.x;t!==void 0&&(t.x=n,e.e=void 0),n!==void 0&&(n.e=t,e.x=void 0),e===this.t&&(this.t=n)}},se.prototype.subscribe=function(e){var t=this;return ht(function(){var n=t.value,r=H;H=void 0;try{e(n)}finally{H=r}})},se.prototype.valueOf=function(){return this.value},se.prototype.toString=function(){return this.value+""},se.prototype.toJSON=function(){return this.value},se.prototype.peek=function(){var e=H;H=void 0;try{return this.value}finally{H=e}},Object.defineProperty(se.prototype,"value",{get:function(){var e=aa(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(ir>100)throw new Error("Cycle detected");this.v=e,this.i++,an++,je++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{on()}}}});function ve(e){return new se(e)}function ia(e){for(var t=e.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function sa(e){for(var t=e.s;t!==void 0;t=t.n){var n=t.S.n;if(n!==void 0&&(t.r=n),t.S.n=t,t.i=-1,t.n===void 0){e.s=t;break}}}function la(e){for(var t=e.s,n=void 0;t!==void 0;){var r=t.p;t.i===-1?(t.S.U(t),r!==void 0&&(r.n=t.n),t.n!==void 0&&(t.n.p=r)):n=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=r}e.s=n}function pt(e){se.call(this,void 0),this.x=e,this.s=void 0,this.g=an-1,this.f=4}(pt.prototype=new se).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===an))return!0;if(this.g=an,this.f|=1,this.i>0&&!ia(this))return this.f&=-2,!0;var e=H;try{sa(this),H=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++)}catch(n){this.v=n,this.f|=16,this.i++}return H=e,la(this),this.f&=-2,!0},pt.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t)}se.prototype.S.call(this,e)},pt.prototype.U=function(e){if(this.t!==void 0&&(se.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t)}},pt.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}},Object.defineProperty(pt.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var e=aa(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function me(e){return new pt(e)}function ca(e){var t=e.u;if(e.u=void 0,typeof t=="function"){je++;var n=H;H=void 0;try{t()}catch(r){throw e.f&=-2,e.f|=8,sr(e),r}finally{H=n,on()}}}function sr(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,ca(e)}function rl(e){if(H!==this)throw new Error("Out-of-order effect");la(this),H=e,this.f&=-2,8&this.f&&sr(this),on()}function Ft(e){this.x=e,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}Ft.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t=="function"&&(this.u=t)}finally{e()}},Ft.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,ca(this),sa(this),je++;var e=H;return H=this,rl.bind(this,e)},Ft.prototype.N=function(){2&this.f||(this.f|=2,this.o=Rt,Rt=this)},Ft.prototype.d=function(){this.f|=8,1&this.f||sr(this)};function ht(e){var t=new Ft(e);try{t.c()}catch(n){throw t.d(),n}return t.d.bind(t)}var lr,sn,cr,ua=[],da=[];ht(function(){lr=this.N})();function vt(e,t){T[e]=t.bind(null,T[e]||function(){})}function ln(e){cr&&cr(),cr=e&&e.S()}function fa(e){var t=this,n=e.data,r=xe(n);r.value=n;var o=B(function(){for(var s=t,l=t.__v;l=l.__;)if(l.__c){l.__c.__$f|=4;break}var c=me(function(){var h=r.value.value;return h===0?0:h===!0?"":h||""}),f=me(function(){return!Array.isArray(c.value)&&!ro(c.value)}),u=ht(function(){if(this.N=pa,f.value){var h=c.value;s.__v&&s.__v.__e&&s.__v.__e.nodeType===3&&(s.__v.__e.data=h)}}),v=t.__$u.d;return t.__$u.d=function(){u(),v.call(this)},[f,c]},[]),a=o[0],i=o[1];return a.value?i.peek():i.value}fa.displayName="_st",Object.defineProperties(se.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:fa},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}}),vt("__b",function(e,t){if(typeof t.type=="string"){var n,r=t.props;for(var o in r)if(o!=="children"){var a=r[o];a instanceof se&&(n||(t.__np=n={}),n[o]=a,r[o]=a.peek())}}e(t)}),vt("__r",function(e,t){ln();var n,r=t.__c;r&&(r.__$f&=-2,(n=r.__$u)===void 0&&(r.__$u=n=function(o){var a;return ht(function(){a=this}),a.c=function(){r.__$f|=1,r.setState({})},a}())),sn=r,ln(n),e(t)}),vt("__e",function(e,t,n,r){ln(),sn=void 0,e(t,n,r)}),vt("diffed",function(e,t){ln(),sn=void 0;var n;if(typeof t.type=="string"&&(n=t.__e)){var r=t.__np,o=t.props;if(r){var a=n.U;if(a)for(var i in a){var s=a[i];s!==void 0&&!(i in r)&&(s.d(),a[i]=void 0)}else a={},n.U=a;for(var l in r){var c=a[l],f=r[l];c===void 0?(c=ol(n,l,f,o),a[l]=c):c.o(f,o)}}}e(t)});function ol(e,t,n,r){var o=t in e&&e.ownerSVGElement===void 0,a=ve(n);return{o:function(i,s){a.value=i,r=s},d:ht(function(){this.N=pa;var i=a.value.value;r[t]!==i&&(r[t]=i,o?e[t]=i:i?e.setAttribute(t,i):e.removeAttribute(t))})}}vt("unmount",function(e,t){if(typeof t.type=="string"){var n=t.__e;if(n){var r=n.U;if(r){n.U=void 0;for(var o in r){var a=r[o];a&&a.d()}}}}else{var i=t.__c;if(i){var s=i.__$u;s&&(i.__$u=void 0,s.d())}}e(t)}),vt("__h",function(e,t,n,r){(r<3||r===9)&&(t.__$f|=2),e(t,n,r)}),be.prototype.shouldComponentUpdate=function(e,t){var n=this.__$u,r=n&&n.s!==void 0;for(var o in t)return!0;if(this.__f||typeof this.u=="boolean"&&this.u===!0){var a=2&this.__$f;if(!(r||a||4&this.__$f)||1&this.__$f)return!0}else if(!(r||4&this.__$f)||3&this.__$f)return!0;for(var i in e)if(i!=="__source"&&e[i]!==this.props[i])return!0;for(var s in this.props)if(!(s in e))return!0;return!1};function xe(e){return B(function(){return ve(e)},[])}function J(e){var t=E(e);return t.current=e,sn.__$f|=4,B(function(){return me(function(){return t.current()})},[])}var al=typeof requestAnimationFrame>"u"?setTimeout:function(e){var t=function(){clearTimeout(n),cancelAnimationFrame(r),e()},n=setTimeout(t,100),r=requestAnimationFrame(t)},il=function(e){queueMicrotask(function(){queueMicrotask(e)})};function sl(){oa(function(){for(var e;e=ua.shift();)lr.call(e)})}function ll(){ua.push(this)===1&&(T.requestAnimationFrame||al)(sl)}function cl(){oa(function(){for(var e;e=da.shift();)lr.call(e)})}function pa(){da.push(this)===1&&(T.requestAnimationFrame||il)(cl)}function Ve(e){var t=E(e);t.current=e,A(function(){return ht(function(){return this.N=ll,t.current()})},[])}function cn(){return cn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},cn.apply(null,arguments)}const ha=new Uint8Array(0);class zt{static getFullOptions(t){return cn({clientTools:{},onConnect:()=>{},onDebug:()=>{},onDisconnect:()=>{},onError:()=>{},onMessage:()=>{},onAudio:()=>{},onModeChange:()=>{},onStatusChange:()=>{},onCanSendFeedbackChange:()=>{}},t)}constructor(t,n){var r=this;this.options=void 0,this.connection=void 0,this.lastInterruptTimestamp=0,this.mode="listening",this.status="connecting",this.volume=1,this.currentEventId=1,this.lastFeedbackEventId=1,this.canSendFeedback=!1,this.endSessionWithDetails=async function(o){r.status!=="connected"&&r.status!=="connecting"||(r.updateStatus("disconnecting"),await r.handleEndSession(),r.updateStatus("disconnected"),r.options.onDisconnect(o))},this.onMessage=async function(o){switch(o.type){case"interruption":return void r.handleInterruption(o);case"agent_response":return void r.handleAgentResponse(o);case"user_transcript":return void r.handleUserTranscript(o);case"internal_tentative_agent_response":return void r.handleTentativeAgentResponse(o);case"client_tool_call":return void await r.handleClientToolCall(o);case"audio":return void r.handleAudio(o);case"ping":return void r.connection.sendMessage({type:"pong",event_id:o.ping_event.event_id});default:return void r.options.onDebug(o)}},this.setVolume=({volume:o})=>{this.volume=o},this.options=t,this.connection=n,this.options.onConnect({conversationId:n.conversationId}),this.connection.onMessage(this.onMessage),this.connection.onDisconnect(this.endSessionWithDetails),this.updateStatus("connected")}endSession(){return this.endSessionWithDetails({reason:"user"})}async handleEndSession(){this.connection.close()}updateMode(t){t!==this.mode&&(this.mode=t,this.options.onModeChange({mode:t}))}updateStatus(t){t!==this.status&&(this.status=t,this.options.onStatusChange({status:t}))}updateCanSendFeedback(){const t=this.currentEventId!==this.lastFeedbackEventId;this.canSendFeedback!==t&&(this.canSendFeedback=t,this.options.onCanSendFeedbackChange({canSendFeedback:t}))}handleInterruption(t){t.interruption_event&&(this.lastInterruptTimestamp=t.interruption_event.event_id)}handleAgentResponse(t){this.options.onMessage({source:"ai",message:t.agent_response_event.agent_response})}handleUserTranscript(t){this.options.onMessage({source:"user",message:t.user_transcription_event.user_transcript})}handleTentativeAgentResponse(t){this.options.onDebug({type:"tentative_agent_response",response:t.tentative_agent_response_internal_event.tentative_agent_response})}async handleClientToolCall(t){if(this.options.clientTools.hasOwnProperty(t.client_tool_call.tool_name))try{var n;const r=(n=await this.options.clientTools[t.client_tool_call.tool_name](t.client_tool_call.parameters))!=null?n:"Client tool execution successful.",o=typeof r=="object"?JSON.stringify(r):String(r);this.connection.sendMessage({type:"client_tool_result",tool_call_id:t.client_tool_call.tool_call_id,result:o,is_error:!1})}catch(r){this.onError("Client tool execution failed with following error: "+(r==null?void 0:r.message),{clientToolName:t.client_tool_call.tool_name}),this.connection.sendMessage({type:"client_tool_result",tool_call_id:t.client_tool_call.tool_call_id,result:"Client tool execution failed: "+(r==null?void 0:r.message),is_error:!0})}else{if(this.options.onUnhandledClientToolCall)return void this.options.onUnhandledClientToolCall(t.client_tool_call);this.onError(`Client tool with name ${t.client_tool_call.tool_name} is not defined on client`,{clientToolName:t.client_tool_call.tool_name}),this.connection.sendMessage({type:"client_tool_result",tool_call_id:t.client_tool_call.tool_call_id,result:`Client tool with name ${t.client_tool_call.tool_name} is not defined on client`,is_error:!0})}}handleAudio(t){}onError(t,n){console.error(t,n),this.options.onError(t,n)}getId(){return this.connection.conversationId}isOpen(){return this.status==="connected"}setMicMuted(t){}getInputByteFrequencyData(){return ha}getOutputByteFrequencyData(){return ha}getInputVolume(){return 0}getOutputVolume(){return 0}sendFeedback(t){this.canSendFeedback?(this.connection.sendMessage({type:"feedback",score:t?"like":"dislike",event_id:this.currentEventId}),this.lastFeedbackEventId=this.currentEventId,this.updateCanSendFeedback()):console.warn(this.lastFeedbackEventId===0?"Cannot send feedback: the conversation has not started yet.":"Cannot send feedback: feedback has already been sent for the current response.")}sendContextualUpdate(t){this.connection.sendMessage({type:"contextual_update",text:t})}sendUserMessage(t){this.connection.sendMessage({type:"user_message",text:t})}sendUserActivity(){this.connection.sendMessage({type:"user_activity"})}}function va(e){return!!e.type}class un{static async create(t){let n=null;try{var r;const a=(r=t.origin)!=null?r:"wss://api.elevenlabs.io",i=t.signedUrl?t.signedUrl:a+"/v1/convai/conversation?agent_id="+t.agentId,s=["convai"];t.authorization&&s.push(`bearer.${t.authorization}`),n=new WebSocket(i,s);const l=await new Promise((g,p)=>{n.addEventListener("open",()=>{var m;const _={type:"conversation_initiation_client_data"};var w,y,b,C,k;t.overrides&&(_.conversation_config_override={agent:{prompt:(w=t.overrides.agent)==null?void 0:w.prompt,first_message:(y=t.overrides.agent)==null?void 0:y.firstMessage,language:(b=t.overrides.agent)==null?void 0:b.language},tts:{voice_id:(C=t.overrides.tts)==null?void 0:C.voiceId},conversation:{text_only:(k=t.overrides.conversation)==null?void 0:k.textOnly}}),t.customLlmExtraBody&&(_.custom_llm_extra_body=t.customLlmExtraBody),t.dynamicVariables&&(_.dynamic_variables=t.dynamicVariables),(m=n)==null||m.send(JSON.stringify(_))},{once:!0}),n.addEventListener("error",m=>{setTimeout(()=>p(m),0)}),n.addEventListener("close",p),n.addEventListener("message",m=>{const _=JSON.parse(m.data);va(_)&&(_.type==="conversation_initiation_metadata"?g(_.conversation_initiation_metadata_event):console.warn("First received message is not conversation metadata."))},{once:!0})}),{conversation_id:c,agent_output_audio_format:f,user_input_audio_format:u}=l,v=ma(u??"pcm_16000"),h=ma(f);return new un(n,c,v,h)}catch(a){var o;throw(o=n)==null||o.close(),a}}constructor(t,n,r,o){this.socket=void 0,this.conversationId=void 0,this.inputFormat=void 0,this.outputFormat=void 0,this.queue=[],this.disconnectionDetails=null,this.onDisconnectCallback=null,this.onMessageCallback=null,this.socket=t,this.conversationId=n,this.inputFormat=r,this.outputFormat=o,this.socket.addEventListener("error",a=>{setTimeout(()=>this.disconnect({reason:"error",message:"The connection was closed due to a socket error.",context:a}),0)}),this.socket.addEventListener("close",a=>{this.disconnect(a.code===1e3?{reason:"agent",context:a}:{reason:"error",message:a.reason||"The connection was closed by the server.",context:a})}),this.socket.addEventListener("message",a=>{try{const i=JSON.parse(a.data);if(!va(i))return;this.onMessageCallback?this.onMessageCallback(i):this.queue.push(i)}catch{}})}close(){this.socket.close()}sendMessage(t){this.socket.send(JSON.stringify(t))}onMessage(t){this.onMessageCallback=t;const n=this.queue;this.queue=[],n.length>0&&queueMicrotask(()=>{n.forEach(t)})}onDisconnect(t){this.onDisconnectCallback=t;const n=this.disconnectionDetails;n&&queueMicrotask(()=>{t(n)})}disconnect(t){var n;this.disconnectionDetails||(this.disconnectionDetails=t,(n=this.onDisconnectCallback)==null||n.call(this,t))}}function ma(e){const[t,n]=e.split("_");if(!["pcm","ulaw"].includes(t))throw new Error(`Invalid format: ${e}`);const r=parseInt(n);if(isNaN(r))throw new Error(`Invalid sample rate: ${n}`);return{format:t,sampleRate:r}}function ga(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}async function _a(e={default:0,android:3e3}){let t=e.default;var n;if(/android/i.test(navigator.userAgent))t=(n=e.android)!=null?n:t;else if(ga()){var r;t=(r=e.ios)!=null?r:t}t>0&&await new Promise(o=>setTimeout(o,t))}class ur extends zt{static async startSession(t){const n=zt.getFullOptions(t);n.onStatusChange({status:"connecting"}),n.onCanSendFeedbackChange({canSendFeedback:!1});let r=null;try{return await _a(n.connectionDelay),r=await un.create(t),new ur(n,r)}catch(a){var o;throw n.onStatusChange({status:"disconnected"}),(o=r)==null||o.close(),a}}}function ul(e){const t=new Uint8Array(e);return window.btoa(String.fromCharCode(...t))}function dl(e){const t=window.atob(e),n=t.length,r=new Uint8Array(n);for(let o=0;o<n;o++)r[o]=t.charCodeAt(o);return r.buffer}const dr=new Map;function wa(e,t){return async n=>{const r=dr.get(e);if(r)return n.addModule(r);const o=new Blob([t],{type:"application/javascript"}),a=URL.createObjectURL(o);try{return await n.addModule(a),void dr.set(e,a)}catch{URL.revokeObjectURL(a)}try{const i=`data:application/javascript;base64,${btoa(t)}`;await n.addModule(i),dr.set(e,i)}catch{throw new Error(`Failed to load the ${e} worklet module. Make sure the browser supports AudioWorklets.`)}}}const fl=wa("raw-audio-processor",`
1
+ (function(){"use strict";var fi,j,Ga,Ja,gn,Ya,Xa,Qa,Za,cs,ls,ds,ec,pi={},tc=[],dp=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,mi=Array.isArray;function vt(t,e){for(var n in e)t[n]=e[n];return t}function us(t){t&&t.parentNode&&t.parentNode.removeChild(t)}function he(t,e,n){var i,r,s,o={};for(s in e)s=="key"?i=e[s]:s=="ref"?r=e[s]:o[s]=e[s];if(arguments.length>2&&(o.children=arguments.length>3?fi.call(arguments,2):n),typeof t=="function"&&t.defaultProps!=null)for(s in t.defaultProps)o[s]==null&&(o[s]=t.defaultProps[s]);return gi(t,o,i,r,null)}function gi(t,e,n,i,r){var s={type:t,props:e,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:r??++Ga,__i:-1,__u:0};return r==null&&j.vnode!=null&&j.vnode(s),s}function nc(){return{current:null}}function Ce(t){return t.children}function tt(t,e){this.props=t,this.context=e}function In(t,e){if(e==null)return t.__?In(t.__,t.__i+1):null;for(var n;e<t.__k.length;e++)if((n=t.__k[e])!=null&&n.__e!=null)return n.__e;return typeof t.type=="function"?In(t):null}function ic(t){var e,n;if((t=t.__)!=null&&t.__c!=null){for(t.__e=t.__c.base=null,e=0;e<t.__k.length;e++)if((n=t.__k[e])!=null&&n.__e!=null){t.__e=t.__c.base=n.__e;break}return ic(t)}}function hs(t){(!t.__d&&(t.__d=!0)&&gn.push(t)&&!zi.__r++||Ya!=j.debounceRendering)&&((Ya=j.debounceRendering)||Xa)(zi)}function zi(){for(var t,e,n,i,r,s,o,a=1;gn.length;)gn.length>a&&gn.sort(Qa),t=gn.shift(),a=gn.length,t.__d&&(n=void 0,r=(i=(e=t).__v).__e,s=[],o=[],e.__P&&((n=vt({},i)).__v=i.__v+1,j.vnode&&j.vnode(n),fs(e.__P,n,i,e.__n,e.__P.namespaceURI,32&i.__u?[r]:null,s,r??In(i),!!(32&i.__u),o),n.__v=i.__v,n.__.__k[n.__i]=n,cc(s,n,o),n.__e!=r&&ic(n)));zi.__r=0}function rc(t,e,n,i,r,s,o,a,c,l,d){var u,h,f,m,p,g,b=i&&i.__k||tc,C=e.length;for(c=up(n,e,b,c,C),u=0;u<C;u++)(f=n.__k[u])!=null&&(h=f.__i==-1?pi:b[f.__i]||pi,f.__i=u,g=fs(t,f,h,r,s,o,a,c,l,d),m=f.__e,f.ref&&h.ref!=f.ref&&(h.ref&&ps(h.ref,null,f),d.push(f.ref,f.__c||m,f)),p==null&&m!=null&&(p=m),4&f.__u||h.__k===f.__k?c=sc(f,c,t):typeof f.type=="function"&&g!==void 0?c=g:m&&(c=m.nextSibling),f.__u&=-7);return n.__e=p,c}function up(t,e,n,i,r){var s,o,a,c,l,d=n.length,u=d,h=0;for(t.__k=new Array(r),s=0;s<r;s++)(o=e[s])!=null&&typeof o!="boolean"&&typeof o!="function"?(c=s+h,(o=t.__k[s]=typeof o=="string"||typeof o=="number"||typeof o=="bigint"||o.constructor==String?gi(null,o,null,null,null):mi(o)?gi(Ce,{children:o},null,null,null):o.constructor==null&&o.__b>0?gi(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=t,o.__b=t.__b+1,a=null,(l=o.__i=hp(o,n,c,u))!=-1&&(u--,(a=n[l])&&(a.__u|=2)),a==null||a.__v==null?(l==-1&&(r>d?h--:r<d&&h++),typeof o.type!="function"&&(o.__u|=4)):l!=c&&(l==c-1?h--:l==c+1?h++:(l>c?h--:h++,o.__u|=4))):t.__k[s]=null;if(u)for(s=0;s<d;s++)(a=n[s])!=null&&(2&a.__u)==0&&(a.__e==i&&(i=In(a)),dc(a,a));return i}function sc(t,e,n){var i,r;if(typeof t.type=="function"){for(i=t.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=t,e=sc(i[r],e,n));return e}t.__e!=e&&(e&&t.type&&!n.contains(e)&&(e=In(t)),n.insertBefore(t.__e,e||null),e=t.__e);do e=e&&e.nextSibling;while(e!=null&&e.nodeType==8);return e}function Pt(t,e){return e=e||[],t==null||typeof t=="boolean"||(mi(t)?t.some(function(n){Pt(n,e)}):e.push(t)),e}function hp(t,e,n,i){var r,s,o=t.key,a=t.type,c=e[n];if(c===null&&t.key==null||c&&o==c.key&&a==c.type&&(2&c.__u)==0)return n;if(i>(c!=null&&(2&c.__u)==0?1:0))for(r=n-1,s=n+1;r>=0||s<e.length;){if(r>=0){if((c=e[r])&&(2&c.__u)==0&&o==c.key&&a==c.type)return r;r--}if(s<e.length){if((c=e[s])&&(2&c.__u)==0&&o==c.key&&a==c.type)return s;s++}}return-1}function oc(t,e,n){e[0]=="-"?t.setProperty(e,n??""):t[e]=n==null?"":typeof n!="number"||dp.test(e)?n:n+"px"}function Wi(t,e,n,i,r){var s;e:if(e=="style")if(typeof n=="string")t.style.cssText=n;else{if(typeof i=="string"&&(t.style.cssText=i=""),i)for(e in i)n&&e in n||oc(t.style,e,"");if(n)for(e in n)i&&n[e]==i[e]||oc(t.style,e,n[e])}else if(e[0]=="o"&&e[1]=="n")s=e!=(e=e.replace(Za,"$1")),e=e.toLowerCase()in t||e=="onFocusOut"||e=="onFocusIn"?e.toLowerCase().slice(2):e.slice(2),t.l||(t.l={}),t.l[e+s]=n,n?i?n.u=i.u:(n.u=cs,t.addEventListener(e,s?ds:ls,s)):t.removeEventListener(e,s?ds:ls,s);else{if(r=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in t)try{t[e]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&e[4]!="-"?t.removeAttribute(e):t.setAttribute(e,e=="popover"&&n==1?"":n))}}function ac(t){return function(e){if(this.l){var n=this.l[e.type+t];if(e.t==null)e.t=cs++;else if(e.t<n.u)return;return n(j.event?j.event(e):e)}}}function fs(t,e,n,i,r,s,o,a,c,l){var d,u,h,f,m,p,g,b,C,w,k,T,S,_,R,O,D,M=e.type;if(e.constructor!=null)return null;128&n.__u&&(c=!!(32&n.__u),s=[a=e.__e=n.__e]),(d=j.__b)&&d(e);e:if(typeof M=="function")try{if(b=e.props,C="prototype"in M&&M.prototype.render,w=(d=M.contextType)&&i[d.__c],k=d?w?w.props.value:d.__:i,n.__c?g=(u=e.__c=n.__c).__=u.__E:(C?e.__c=u=new M(b,k):(e.__c=u=new tt(b,k),u.constructor=M,u.render=pp),w&&w.sub(u),u.props=b,u.state||(u.state={}),u.context=k,u.__n=i,h=u.__d=!0,u.__h=[],u._sb=[]),C&&u.__s==null&&(u.__s=u.state),C&&M.getDerivedStateFromProps!=null&&(u.__s==u.state&&(u.__s=vt({},u.__s)),vt(u.__s,M.getDerivedStateFromProps(b,u.__s))),f=u.props,m=u.state,u.__v=e,h)C&&M.getDerivedStateFromProps==null&&u.componentWillMount!=null&&u.componentWillMount(),C&&u.componentDidMount!=null&&u.__h.push(u.componentDidMount);else{if(C&&M.getDerivedStateFromProps==null&&b!==f&&u.componentWillReceiveProps!=null&&u.componentWillReceiveProps(b,k),!u.__e&&u.shouldComponentUpdate!=null&&u.shouldComponentUpdate(b,u.__s,k)===!1||e.__v==n.__v){for(e.__v!=n.__v&&(u.props=b,u.state=u.__s,u.__d=!1),e.__e=n.__e,e.__k=n.__k,e.__k.some(function(U){U&&(U.__=e)}),T=0;T<u._sb.length;T++)u.__h.push(u._sb[T]);u._sb=[],u.__h.length&&o.push(u);break e}u.componentWillUpdate!=null&&u.componentWillUpdate(b,u.__s,k),C&&u.componentDidUpdate!=null&&u.__h.push(function(){u.componentDidUpdate(f,m,p)})}if(u.context=k,u.props=b,u.__P=t,u.__e=!1,S=j.__r,_=0,C){for(u.state=u.__s,u.__d=!1,S&&S(e),d=u.render(u.props,u.state,u.context),R=0;R<u._sb.length;R++)u.__h.push(u._sb[R]);u._sb=[]}else do u.__d=!1,S&&S(e),d=u.render(u.props,u.state,u.context),u.state=u.__s;while(u.__d&&++_<25);u.state=u.__s,u.getChildContext!=null&&(i=vt(vt({},i),u.getChildContext())),C&&!h&&u.getSnapshotBeforeUpdate!=null&&(p=u.getSnapshotBeforeUpdate(f,m)),O=d,d!=null&&d.type===Ce&&d.key==null&&(O=lc(d.props.children)),a=rc(t,mi(O)?O:[O],e,n,i,r,s,o,a,c,l),u.base=e.__e,e.__u&=-161,u.__h.length&&o.push(u),g&&(u.__E=u.__=null)}catch(U){if(e.__v=null,c||s!=null)if(U.then){for(e.__u|=c?160:128;a&&a.nodeType==8&&a.nextSibling;)a=a.nextSibling;s[s.indexOf(a)]=null,e.__e=a}else for(D=s.length;D--;)us(s[D]);else e.__e=n.__e,e.__k=n.__k;j.__e(U,e,n)}else s==null&&e.__v==n.__v?(e.__k=n.__k,e.__e=n.__e):a=e.__e=fp(n.__e,e,n,i,r,s,o,c,l);return(d=j.diffed)&&d(e),128&e.__u?void 0:a}function cc(t,e,n){for(var i=0;i<n.length;i++)ps(n[i],n[++i],n[++i]);j.__c&&j.__c(e,t),t.some(function(r){try{t=r.__h,r.__h=[],t.some(function(s){s.call(r)})}catch(s){j.__e(s,r.__v)}})}function lc(t){return typeof t!="object"||t==null||t.__b&&t.__b>0?t:mi(t)?t.map(lc):vt({},t)}function fp(t,e,n,i,r,s,o,a,c){var l,d,u,h,f,m,p,g=n.props,b=e.props,C=e.type;if(C=="svg"?r="http://www.w3.org/2000/svg":C=="math"?r="http://www.w3.org/1998/Math/MathML":r||(r="http://www.w3.org/1999/xhtml"),s!=null){for(l=0;l<s.length;l++)if((f=s[l])&&"setAttribute"in f==!!C&&(C?f.localName==C:f.nodeType==3)){t=f,s[l]=null;break}}if(t==null){if(C==null)return document.createTextNode(b);t=document.createElementNS(r,C,b.is&&b),a&&(j.__m&&j.__m(e,s),a=!1),s=null}if(C==null)g===b||a&&t.data==b||(t.data=b);else{if(s=s&&fi.call(t.childNodes),g=n.props||pi,!a&&s!=null)for(g={},l=0;l<t.attributes.length;l++)g[(f=t.attributes[l]).name]=f.value;for(l in g)if(f=g[l],l!="children"){if(l=="dangerouslySetInnerHTML")u=f;else if(!(l in b)){if(l=="value"&&"defaultValue"in b||l=="checked"&&"defaultChecked"in b)continue;Wi(t,l,null,f,r)}}for(l in b)f=b[l],l=="children"?h=f:l=="dangerouslySetInnerHTML"?d=f:l=="value"?m=f:l=="checked"?p=f:a&&typeof f!="function"||g[l]===f||Wi(t,l,f,g[l],r);if(d)a||u&&(d.__html==u.__html||d.__html==t.innerHTML)||(t.innerHTML=d.__html),e.__k=[];else if(u&&(t.innerHTML=""),rc(e.type=="template"?t.content:t,mi(h)?h:[h],e,n,i,C=="foreignObject"?"http://www.w3.org/1999/xhtml":r,s,o,s?s[0]:n.__k&&In(n,0),a,c),s!=null)for(l=s.length;l--;)us(s[l]);a||(l="value",C=="progress"&&m==null?t.removeAttribute("value"):m!=null&&(m!==t[l]||C=="progress"&&!m||C=="option"&&m!=g[l])&&Wi(t,l,m,g[l],r),l="checked",p!=null&&p!=t[l]&&Wi(t,l,p,g[l],r))}return t}function ps(t,e,n){try{if(typeof t=="function"){var i=typeof t.__u=="function";i&&t.__u(),i&&e==null||(t.__u=t(e))}else t.current=e}catch(r){j.__e(r,n)}}function dc(t,e,n){var i,r;if(j.unmount&&j.unmount(t),(i=t.ref)&&(i.current&&i.current!=t.__e||ps(i,null,e)),(i=t.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(s){j.__e(s,e)}i.base=i.__P=null}if(i=t.__k)for(r=0;r<i.length;r++)i[r]&&dc(i[r],e,n||typeof t.type!="function");n||us(t.__e),t.__c=t.__=t.__e=void 0}function pp(t,e,n){return this.constructor(t,n)}function Wt(t,e,n){var i,r,s,o;e==document&&(e=document.documentElement),j.__&&j.__(t,e),r=(i=typeof n=="function")?null:n&&n.__k||e.__k,s=[],o=[],fs(e,t=(!i&&n||e).__k=he(Ce,null,[t]),r||pi,pi,e.namespaceURI,!i&&n?[n]:r?null:e.firstChild?fi.call(e.childNodes):null,s,!i&&n?n:r?r.__e:e.firstChild,i,o),cc(s,t,o)}function ms(t,e){Wt(t,e,ms)}function gs(t,e,n){var i,r,s,o,a=vt({},t.props);for(s in t.type&&t.type.defaultProps&&(o=t.type.defaultProps),e)s=="key"?i=e[s]:s=="ref"?r=e[s]:a[s]=e[s]==null&&o!=null?o[s]:e[s];return arguments.length>2&&(a.children=arguments.length>3?fi.call(arguments,2):n),gi(t.type,a,i||t.key,r||t.ref,null)}function De(t){function e(n){var i,r;return this.getChildContext||(i=new Set,(r={})[e.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){i=null},this.shouldComponentUpdate=function(s){this.props.value!=s.value&&i.forEach(function(o){o.__e=!0,hs(o)})},this.sub=function(s){i.add(s);var o=s.componentWillUnmount;s.componentWillUnmount=function(){i&&i.delete(s),o&&o.call(s)}}),n.children}return e.__c="__cC"+ec++,e.__=t,e.Provider=e.__l=(e.Consumer=function(n,i){return n.children(i)}).contextType=e,e}fi=tc.slice,j={__e:function(t,e,n,i){for(var r,s,o;e=e.__;)if((r=e.__c)&&!r.__)try{if((s=r.constructor)&&s.getDerivedStateFromError!=null&&(r.setState(s.getDerivedStateFromError(t)),o=r.__d),r.componentDidCatch!=null&&(r.componentDidCatch(t,i||{}),o=r.__d),o)return r.__E=r}catch(a){t=a}throw t}},Ga=0,Ja=function(t){return t!=null&&t.constructor==null},tt.prototype.setState=function(t,e){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=vt({},this.state),typeof t=="function"&&(t=t(vt({},n),this.props)),t&&vt(n,t),t!=null&&this.__v&&(e&&this._sb.push(e),hs(this))},tt.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),hs(this))},tt.prototype.render=Ce,gn=[],Xa=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Qa=function(t,e){return t.__v.__b-e.__v.__b},zi.__r=0,Za=/(PointerCapture)$|Capture$/i,cs=0,ls=ac(!1),ds=ac(!0),ec=0;function vs(){return(vs=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}var mp=["context","children"];function gp(t){this.getChildContext=function(){return t.context};var e=t.children,n=function(i,r){if(i==null)return{};var s,o,a={},c=Object.keys(i);for(o=0;o<c.length;o++)r.indexOf(s=c[o])>=0||(a[s]=i[s]);return a}(t,mp);return gs(e,n)}function vp(){var t=new CustomEvent("_preact",{detail:{},bubbles:!0,cancelable:!0});this.dispatchEvent(t),this._vdom=he(gp,vs({},this._props,{context:t.detail.context}),function e(n,i){if(n.nodeType===3)return n.data;if(n.nodeType!==1)return null;var r=[],s={},o=0,a=n.attributes,c=n.childNodes;for(o=a.length;o--;)a[o].name!=="slot"&&(s[a[o].name]=a[o].value,s[uc(a[o].name)]=a[o].value);for(o=c.length;o--;){var l=e(c[o],null),d=c[o].slot;d?s[d]=he(hc,{name:d},l):r[o]=l}var u=i?he(hc,null,r):r;return he(i||n.nodeName.toLowerCase(),s,u)}(this,this._vdomComponent)),(this.hasAttribute("hydrate")?ms:Wt)(this._vdom,this._root)}function uc(t){return t.replace(/-(\w)/g,function(e,n){return n?n.toUpperCase():""})}function bp(t,e,n){if(this._vdom){var i={};i[t]=n=n??void 0,i[uc(t)]=n,this._vdom=gs(this._vdom,i),Wt(this._vdom,this._root)}}function yp(){Wt(this._vdom=null,this._root)}function hc(t,e){var n=this;return he("slot",vs({},t,{ref:function(i){i?(n.ref=i,n._listener||(n._listener=function(r){r.stopPropagation(),r.detail.context=e},i.addEventListener("_preact",n._listener))):n.ref.removeEventListener("_preact",n._listener)}}))}function kp(t,e,n,i){function r(){var s=Reflect.construct(HTMLElement,[],r);return s._vdomComponent=t,s._root=i&&i.shadow?s.attachShadow({mode:i.mode||"open"}):s,s}return(r.prototype=Object.create(HTMLElement.prototype)).constructor=r,r.prototype.connectedCallback=vp,r.prototype.attributeChangedCallback=bp,r.prototype.disconnectedCallback=yp,n=n||t.observedAttributes||Object.keys(t.propTypes||{}),r.observedAttributes=n,n.forEach(function(s){Object.defineProperty(r.prototype,s,{get:function(){return this._vdom.props[s]},set:function(o){this._vdom?this.attributeChangedCallback(s,null,o):(this._props||(this._props={}),this._props[s]=o,this.connectedCallback());var a=typeof o;o!=null&&a!=="string"&&a!=="boolean"&&a!=="number"||this.setAttribute(s,o)}})}),customElements.define(e||t.tagName||t.displayName||t.name,r)}var Cp=0;function v(t,e,n,i,r,s){e||(e={});var o,a,c=e;if("ref"in c)for(a in c={},e)a=="ref"?o=e[a]:c[a]=e[a];var l={type:t,props:c,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Cp,__i:-1,__u:0,__source:r,__self:s};if(typeof t=="function"&&(o=t.defaultProps))for(a in o)c[a]===void 0&&(c[a]=o[a]);return j.vnode&&j.vnode(l),l}var Rt,se,bs,fc,On=0,pc=[],ge=j,mc=ge.__b,gc=ge.__r,vc=ge.diffed,bc=ge.__c,yc=ge.unmount,kc=ge.__;function vn(t,e){ge.__h&&ge.__h(se,t,On||e),On=0;var n=se.__H||(se.__H={__:[],__h:[]});return t>=n.__.length&&n.__.push({}),n.__[t]}function F(t){return On=1,Hi(wc,t)}function Hi(t,e,n){var i=vn(Rt++,2);if(i.t=t,!i.__c&&(i.__=[n?n(e):wc(void 0,e),function(a){var c=i.__N?i.__N[0]:i.__[0],l=i.t(c,a);c!==l&&(i.__N=[l,i.__[1]],i.__c.setState({}))}],i.__c=se,!se.__f)){var r=function(a,c,l){if(!i.__c.__H)return!0;var d=i.__c.__H.__.filter(function(h){return!!h.__c});if(d.every(function(h){return!h.__N}))return!s||s.call(this,a,c,l);var u=i.__c.props!==a;return d.forEach(function(h){if(h.__N){var f=h.__[0];h.__=h.__N,h.__N=void 0,f!==h.__[0]&&(u=!0)}}),s&&s.call(this,a,c,l)||u};se.__f=!0;var s=se.shouldComponentUpdate,o=se.componentWillUpdate;se.componentWillUpdate=function(a,c,l){if(this.__e){var d=s;s=void 0,r(a,c,l),s=d}o&&o.call(this,a,c,l)},se.shouldComponentUpdate=r}return i.__N||i.__}function z(t,e){var n=vn(Rt++,3);!ge.__s&&Ts(n.__H,e)&&(n.__=t,n.u=e,se.__H.__h.push(n))}function It(t,e){var n=vn(Rt++,4);!ge.__s&&Ts(n.__H,e)&&(n.__=t,n.u=e,se.__h.push(n))}function B(t){return On=5,ie(function(){return{current:t}},[])}function ys(t,e,n){On=6,It(function(){if(typeof t=="function"){var i=t(e());return function(){t(null),i&&typeof i=="function"&&i()}}if(t)return t.current=e(),function(){return t.current=null}},n==null?n:n.concat(t))}function ie(t,e){var n=vn(Rt++,7);return Ts(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}function W(t,e){return On=8,ie(function(){return t},e)}function Ht(t){var e=se.context[t.__c],n=vn(Rt++,9);return n.c=t,e?(n.__==null&&(n.__=!0,e.sub(se)),e.props.value):t.__}function ks(t,e){ge.useDebugValue&&ge.useDebugValue(e?e(t):t)}function wp(t){var e=vn(Rt++,10),n=F();return e.__=t,se.componentDidCatch||(se.componentDidCatch=function(i,r){e.__&&e.__(i,r),n[1](i)}),[n[0],function(){n[1](void 0)}]}function Cs(){var t=vn(Rt++,11);if(!t.__){for(var e=se.__v;e!==null&&!e.__m&&e.__!==null;)e=e.__;var n=e.__m||(e.__m=[0,0]);t.__="P"+n[0]+"-"+n[1]++}return t.__}function Tp(){for(var t;t=pc.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(Ki),t.__H.__h.forEach(ws),t.__H.__h=[]}catch(e){t.__H.__h=[],ge.__e(e,t.__v)}}ge.__b=function(t){se=null,mc&&mc(t)},ge.__=function(t,e){t&&e.__k&&e.__k.__m&&(t.__m=e.__k.__m),kc&&kc(t,e)},ge.__r=function(t){gc&&gc(t),Rt=0;var e=(se=t.__c).__H;e&&(bs===se?(e.__h=[],se.__h=[],e.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(e.__h.forEach(Ki),e.__h.forEach(ws),e.__h=[],Rt=0)),bs=se},ge.diffed=function(t){vc&&vc(t);var e=t.__c;e&&e.__H&&(e.__H.__h.length&&(pc.push(e)!==1&&fc===ge.requestAnimationFrame||((fc=ge.requestAnimationFrame)||_p)(Tp)),e.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),bs=se=null},ge.__c=function(t,e){e.some(function(n){try{n.__h.forEach(Ki),n.__h=n.__h.filter(function(i){return!i.__||ws(i)})}catch(i){e.some(function(r){r.__h&&(r.__h=[])}),e=[],ge.__e(i,n.__v)}}),bc&&bc(t,e)},ge.unmount=function(t){yc&&yc(t);var e,n=t.__c;n&&n.__H&&(n.__H.__.forEach(function(i){try{Ki(i)}catch(r){e=r}}),n.__H=void 0,e&&ge.__e(e,n.__v))};var Cc=typeof requestAnimationFrame=="function";function _p(t){var e,n=function(){clearTimeout(i),Cc&&cancelAnimationFrame(e),setTimeout(t)},i=setTimeout(n,100);Cc&&(e=requestAnimationFrame(n))}function Ki(t){var e=se,n=t.__c;typeof n=="function"&&(t.__c=void 0,n()),se=e}function ws(t){var e=se;t.__c=t.__(),se=e}function Ts(t,e){return!t||t.length!==e.length||e.some(function(n,i){return n!==t[i]})}function wc(t,e){return typeof e=="function"?e(t):e}function Tc(t,e){for(var n in e)t[n]=e[n];return t}function _s(t,e){for(var n in t)if(n!=="__source"&&!(n in e))return!0;for(var i in e)if(i!=="__source"&&t[i]!==e[i])return!0;return!1}function Ss(t,e){var n=e(),i=F({t:{__:n,u:e}}),r=i[0].t,s=i[1];return It(function(){r.__=n,r.u=e,xs(r)&&s({t:r})},[t,n,e]),z(function(){return xs(r)&&s({t:r}),t(function(){xs(r)&&s({t:r})})},[t]),n}function xs(t){var e,n,i=t.u,r=t.__;try{var s=i();return!((e=r)===(n=s)&&(e!==0||1/e==1/n)||e!=e&&n!=n)}catch{return!0}}function Es(t){t()}function Ps(t){return t}function Rs(){return[!1,Es]}var Is=It;function Gi(t,e){this.props=t,this.context=e}function Ji(t,e){function n(r){var s=this.props.ref,o=s==r.ref;return!o&&s&&(s.call?s(null):s.current=null),e?!e(this.props,r)||!o:_s(this.props,r)}function i(r){return this.shouldComponentUpdate=n,he(t,r)}return i.displayName="Memo("+(t.displayName||t.name)+")",i.prototype.isReactComponent=!0,i.__f=!0,i}(Gi.prototype=new tt).isPureReactComponent=!0,Gi.prototype.shouldComponentUpdate=function(t,e){return _s(this.props,t)||_s(this.state,e)};var _c=j.__b;j.__b=function(t){t.type&&t.type.__f&&t.ref&&(t.props.ref=t.ref,t.ref=null),_c&&_c(t)};var Sp=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function J(t){function e(n){var i=Tc({},n);return delete i.ref,t(i,n.ref||null)}return e.$$typeof=Sp,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(t.displayName||t.name)+")",e}var Sc=function(t,e){return t==null?null:Pt(Pt(t).map(e))},Kt={map:Sc,forEach:Sc,count:function(t){return t?Pt(t).length:0},only:function(t){var e=Pt(t);if(e.length!==1)throw"Children.only";return e[0]},toArray:Pt},xp=j.__e;j.__e=function(t,e,n,i){if(t.then){for(var r,s=e;s=s.__;)if((r=s.__c)&&r.__c)return e.__e==null&&(e.__e=n.__e,e.__k=n.__k),r.__c(t,e)}xp(t,e,n,i)};var xc=j.unmount;function Ec(t,e,n){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(i){typeof i.__c=="function"&&i.__c()}),t.__c.__H=null),(t=Tc({},t)).__c!=null&&(t.__c.__P===n&&(t.__c.__P=e),t.__c.__e=!0,t.__c=null),t.__k=t.__k&&t.__k.map(function(i){return Ec(i,e,n)})),t}function Pc(t,e,n){return t&&n&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(i){return Pc(i,e,n)}),t.__c&&t.__c.__P===e&&(t.__e&&n.appendChild(t.__e),t.__c.__e=!0,t.__c.__P=n)),t}function vi(){this.__u=0,this.o=null,this.__b=null}function Rc(t){var e=t.__.__c;return e&&e.__a&&e.__a(t)}function Ic(t){var e,n,i;function r(s){if(e||(e=t()).then(function(o){n=o.default||o},function(o){i=o}),i)throw i;if(!n)throw e;return he(n,s)}return r.displayName="Lazy",r.__f=!0,r}function Dn(){this.i=null,this.l=null}j.unmount=function(t){var e=t.__c;e&&e.__R&&e.__R(),e&&32&t.__u&&(t.type=null),xc&&xc(t)},(vi.prototype=new tt).__c=function(t,e){var n=e.__c,i=this;i.o==null&&(i.o=[]),i.o.push(n);var r=Rc(i.__v),s=!1,o=function(){s||(s=!0,n.__R=null,r?r(a):a())};n.__R=o;var a=function(){if(!--i.__u){if(i.state.__a){var c=i.state.__a;i.__v.__k[0]=Pc(c,c.__c.__P,c.__c.__O)}var l;for(i.setState({__a:i.__b=null});l=i.o.pop();)l.forceUpdate()}};i.__u++||32&e.__u||i.setState({__a:i.__b=i.__v.__k[0]}),t.then(o,o)},vi.prototype.componentWillUnmount=function(){this.o=[]},vi.prototype.render=function(t,e){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),i=this.__v.__k[0].__c;this.__v.__k[0]=Ec(this.__b,n,i.__O=i.__P)}this.__b=null}var r=e.__a&&he(Ce,null,t.fallback);return r&&(r.__u&=-33),[he(Ce,null,e.__a?null:t.children),r]};var Oc=function(t,e,n){if(++n[1]===n[0]&&t.l.delete(e),t.props.revealOrder&&(t.props.revealOrder[0]!=="t"||!t.l.size))for(n=t.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;t.i=n=n[2]}};function Ep(t){return this.getChildContext=function(){return t.context},t.children}function Pp(t){var e=this,n=t.h;e.componentWillUnmount=function(){Wt(null,e.v),e.v=null,e.h=null},e.h&&e.h!==n&&e.componentWillUnmount(),e.v||(e.h=n,e.v={nodeType:1,parentNode:n,childNodes:[],contains:function(){return!0},appendChild:function(i){this.childNodes.push(i),e.h.appendChild(i)},insertBefore:function(i,r){this.childNodes.push(i),e.h.insertBefore(i,r)},removeChild:function(i){this.childNodes.splice(this.childNodes.indexOf(i)>>>1,1),e.h.removeChild(i)}}),Wt(he(Ep,{context:e.context},t.__v),e.v)}function Yi(t,e){var n=he(Pp,{__v:t,h:e});return n.containerInfo=e,n}(Dn.prototype=new tt).__a=function(t){var e=this,n=Rc(e.__v),i=e.l.get(t);return i[0]++,function(r){var s=function(){e.props.revealOrder?(i.push(r),Oc(e,t,i)):r()};n?n(s):s()}},Dn.prototype.render=function(t){this.i=null,this.l=new Map;var e=Pt(t.children);t.revealOrder&&t.revealOrder[0]==="b"&&e.reverse();for(var n=e.length;n--;)this.l.set(e[n],this.i=[1,0,this.i]);return t.children},Dn.prototype.componentDidUpdate=Dn.prototype.componentDidMount=function(){var t=this;this.l.forEach(function(e,n){Oc(t,n,e)})};var Dc=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,Rp=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Ip=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Op=/[A-Z0-9]/g,Dp=typeof document<"u",Mp=function(t){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(t)};function Mc(t,e,n){return e.__k==null&&(e.textContent=""),Wt(t,e),typeof n=="function"&&n(),t?t.__c:null}function Ac(t,e,n){return ms(t,e),typeof n=="function"&&n(),t?t.__c:null}tt.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(tt.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var Nc=j.event;function Ap(){}function Np(){return this.cancelBubble}function Lp(){return this.defaultPrevented}j.event=function(t){return Nc&&(t=Nc(t)),t.persist=Ap,t.isPropagationStopped=Np,t.isDefaultPrevented=Lp,t.nativeEvent=t};var Os,Up={enumerable:!1,configurable:!0,get:function(){return this.class}},Lc=j.vnode;j.vnode=function(t){typeof t.type=="string"&&function(e){var n=e.props,i=e.type,r={},s=i.indexOf("-")===-1;for(var o in n){var a=n[o];if(!(o==="value"&&"defaultValue"in n&&a==null||Dp&&o==="children"&&i==="noscript"||o==="class"||o==="className")){var c=o.toLowerCase();o==="defaultValue"&&"value"in n&&n.value==null?o="value":o==="download"&&a===!0?a="":c==="translate"&&a==="no"?a=!1:c[0]==="o"&&c[1]==="n"?c==="ondoubleclick"?o="ondblclick":c!=="onchange"||i!=="input"&&i!=="textarea"||Mp(n.type)?c==="onfocus"?o="onfocusin":c==="onblur"?o="onfocusout":Ip.test(o)&&(o=c):c=o="oninput":s&&Rp.test(o)?o=o.replace(Op,"-$&").toLowerCase():a===null&&(a=void 0),c==="oninput"&&r[o=c]&&(o="oninputCapture"),r[o]=a}}i=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=Pt(n.children).forEach(function(l){l.props.selected=r.value.indexOf(l.props.value)!=-1})),i=="select"&&r.defaultValue!=null&&(r.value=Pt(n.children).forEach(function(l){l.props.selected=r.multiple?r.defaultValue.indexOf(l.props.value)!=-1:r.defaultValue==l.props.value})),n.class&&!n.className?(r.class=n.class,Object.defineProperty(r,"className",Up)):(n.className&&!n.class||n.class&&n.className)&&(r.class=r.className=n.className),e.props=r}(t),t.$$typeof=Dc,Lc&&Lc(t)};var Uc=j.__r;j.__r=function(t){Uc&&Uc(t),Os=t.__c};var Fc=j.diffed;j.diffed=function(t){Fc&&Fc(t);var e=t.props,n=t.__e;n!=null&&t.type==="textarea"&&"value"in e&&e.value!==n.value&&(n.value=e.value==null?"":e.value),Os=null};var Bc={ReactCurrentDispatcher:{current:{readContext:function(t){return Os.__n[t.__c].props.value},useCallback:W,useContext:Ht,useDebugValue:ks,useDeferredValue:Ps,useEffect:z,useId:Cs,useImperativeHandle:ys,useInsertionEffect:Is,useLayoutEffect:It,useMemo:ie,useReducer:Hi,useRef:B,useState:F,useSyncExternalStore:Ss,useTransition:Rs}}},Fp="18.3.1";function jc(t){return he.bind(null,t)}function Ot(t){return!!t&&t.$$typeof===Dc}function Vc(t){return Ot(t)&&t.type===Ce}function qc(t){return!!t&&!!t.displayName&&(typeof t.displayName=="string"||t.displayName instanceof String)&&t.displayName.startsWith("Memo(")}function bi(t){return Ot(t)?gs.apply(null,arguments):t}function $c(t){return!!t.__k&&(Wt(null,t),!0)}function zc(t){return t&&(t.base||t.nodeType===1&&t)||null}var Wc=function(t,e){return t(e)},Xi=function(t,e){return t(e)},Hc=Ce,Kc=Ot,Dt={useState:F,useId:Cs,useReducer:Hi,useEffect:z,useLayoutEffect:It,useInsertionEffect:Is,useTransition:Rs,useDeferredValue:Ps,useSyncExternalStore:Ss,startTransition:Es,useRef:B,useImperativeHandle:ys,useMemo:ie,useCallback:W,useContext:Ht,useDebugValue:ks,version:"18.3.1",Children:Kt,render:Mc,hydrate:Ac,unmountComponentAtNode:$c,createPortal:Yi,createElement:he,createContext:De,createFactory:jc,cloneElement:bi,createRef:nc,Fragment:Ce,isValidElement:Ot,isElement:Kc,isFragment:Vc,isMemo:qc,findDOMNode:zc,Component:tt,PureComponent:Gi,memo:Ji,forwardRef:J,flushSync:Xi,unstable_batchedUpdates:Wc,StrictMode:Hc,Suspense:vi,SuspenseList:Dn,lazy:Ic,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Bc};const Gc=Object.freeze(Object.defineProperty({__proto__:null,Children:Kt,Component:tt,Fragment:Ce,PureComponent:Gi,StrictMode:Hc,Suspense:vi,SuspenseList:Dn,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Bc,cloneElement:bi,createContext:De,createElement:he,createFactory:jc,createPortal:Yi,createRef:nc,default:Dt,findDOMNode:zc,flushSync:Xi,forwardRef:J,hydrate:Ac,isElement:Kc,isFragment:Vc,isMemo:qc,isValidElement:Ot,lazy:Ic,memo:Ji,render:Mc,startTransition:Es,unmountComponentAtNode:$c,unstable_batchedUpdates:Wc,useCallback:W,useContext:Ht,useDebugValue:ks,useDeferredValue:Ps,useEffect:z,useErrorBoundary:wp,useId:Cs,useImperativeHandle:ys,useInsertionEffect:Is,useLayoutEffect:It,useMemo:ie,useReducer:Hi,useRef:B,useState:F,useSyncExternalStore:Ss,useTransition:Rs,version:Fp},Symbol.toStringTag,{value:"Module"}));var Bp=Symbol.for("preact-signals");function Qi(){if(Gt>1)Gt--;else{for(var t,e=!1;yi!==void 0;){var n=yi;for(yi=void 0,Ds++;n!==void 0;){var i=n.o;if(n.o=void 0,n.f&=-3,!(8&n.f)&&Xc(n))try{n.c()}catch(r){e||(t=r,e=!0)}n=i}}if(Ds=0,Gt--,e)throw t}}function Jc(t){if(Gt>0)return t();Gt++;try{return t()}finally{Qi()}}var oe=void 0,yi=void 0,Gt=0,Ds=0,Zi=0;function Yc(t){if(oe!==void 0){var e=t.n;if(e===void 0||e.t!==oe)return e={i:0,S:t,p:oe.s,n:void 0,t:oe,e:void 0,x:void 0,r:e},oe.s!==void 0&&(oe.s.n=e),oe.s=e,t.n=e,32&oe.f&&t.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=oe.s,e.n=void 0,oe.s.n=e,oe.s=e),e}}function Me(t){this.v=t,this.i=0,this.n=void 0,this.t=void 0}Me.prototype.brand=Bp,Me.prototype.h=function(){return!0},Me.prototype.S=function(t){this.t!==t&&t.e===void 0&&(t.x=this.t,this.t!==void 0&&(this.t.e=t),this.t=t)},Me.prototype.U=function(t){if(this.t!==void 0){var e=t.e,n=t.x;e!==void 0&&(e.x=n,t.e=void 0),n!==void 0&&(n.e=e,t.x=void 0),t===this.t&&(this.t=n)}},Me.prototype.subscribe=function(t){var e=this;return An(function(){var n=e.value,i=oe;oe=void 0;try{t(n)}finally{oe=i}})},Me.prototype.valueOf=function(){return this.value},Me.prototype.toString=function(){return this.value+""},Me.prototype.toJSON=function(){return this.value},Me.prototype.peek=function(){var t=oe;oe=void 0;try{return this.value}finally{oe=t}},Object.defineProperty(Me.prototype,"value",{get:function(){var t=Yc(this);return t!==void 0&&(t.i=this.i),this.v},set:function(t){if(t!==this.v){if(Ds>100)throw new Error("Cycle detected");this.v=t,this.i++,Zi++,Gt++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Qi()}}}});function Ge(t){return new Me(t)}function Xc(t){for(var e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function Qc(t){for(var e=t.s;e!==void 0;e=e.n){var n=e.S.n;if(n!==void 0&&(e.r=n),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function Zc(t){for(var e=t.s,n=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):n=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}t.s=n}function Mn(t){Me.call(this,void 0),this.x=t,this.s=void 0,this.g=Zi-1,this.f=4}(Mn.prototype=new Me).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Zi))return!0;if(this.g=Zi,this.f|=1,this.i>0&&!Xc(this))return this.f&=-2,!0;var t=oe;try{Qc(this),oe=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(n){this.v=n,this.f|=16,this.i++}return oe=t,Zc(this),this.f&=-2,!0},Mn.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}Me.prototype.S.call(this,t)},Mn.prototype.U=function(t){if(this.t!==void 0&&(Me.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}},Mn.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;t!==void 0;t=t.x)t.t.N()}},Object.defineProperty(Mn.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var t=Yc(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}});function Je(t){return new Mn(t)}function el(t){var e=t.u;if(t.u=void 0,typeof e=="function"){Gt++;var n=oe;oe=void 0;try{e()}catch(i){throw t.f&=-2,t.f|=8,Ms(t),i}finally{oe=n,Qi()}}}function Ms(t){for(var e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,el(t)}function jp(t){if(oe!==this)throw new Error("Out-of-order effect");Zc(this),oe=t,this.f&=-2,8&this.f&&Ms(this),Qi()}function ki(t){this.x=t,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}ki.prototype.c=function(){var t=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{t()}},ki.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,el(this),Qc(this),Gt++;var t=oe;return oe=this,jp.bind(this,t)},ki.prototype.N=function(){2&this.f||(this.f|=2,this.o=yi,yi=this)},ki.prototype.d=function(){this.f|=8,1&this.f||Ms(this)};function An(t){var e=new ki(t);try{e.c()}catch(n){throw e.d(),n}return e.d.bind(e)}var As,er,Ns,tl=[],nl=[];An(function(){As=this.N})();function Nn(t,e){j[t]=e.bind(null,j[t]||function(){})}function tr(t){Ns&&Ns(),Ns=t&&t.S()}function il(t){var e=this,n=t.data,i=Ye(n);i.value=n;var r=ie(function(){for(var a=e,c=e.__v;c=c.__;)if(c.__c){c.__c.__$f|=4;break}var l=Je(function(){var f=i.value.value;return f===0?0:f===!0?"":f||""}),d=Je(function(){return!Array.isArray(l.value)&&!Ja(l.value)}),u=An(function(){if(this.N=rl,d.value){var f=l.value;a.__v&&a.__v.__e&&a.__v.__e.nodeType===3&&(a.__v.__e.data=f)}}),h=e.__$u.d;return e.__$u.d=function(){u(),h.call(this)},[d,l]},[]),s=r[0],o=r[1];return s.value?o.peek():o.value}il.displayName="_st",Object.defineProperties(Me.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:il},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}}),Nn("__b",function(t,e){if(typeof e.type=="string"){var n,i=e.props;for(var r in i)if(r!=="children"){var s=i[r];s instanceof Me&&(n||(e.__np=n={}),n[r]=s,i[r]=s.peek())}}t(e)}),Nn("__r",function(t,e){tr();var n,i=e.__c;i&&(i.__$f&=-2,(n=i.__$u)===void 0&&(i.__$u=n=function(r){var s;return An(function(){s=this}),s.c=function(){i.__$f|=1,i.setState({})},s}())),er=i,tr(n),t(e)}),Nn("__e",function(t,e,n,i){tr(),er=void 0,t(e,n,i)}),Nn("diffed",function(t,e){tr(),er=void 0;var n;if(typeof e.type=="string"&&(n=e.__e)){var i=e.__np,r=e.props;if(i){var s=n.U;if(s)for(var o in s){var a=s[o];a!==void 0&&!(o in i)&&(a.d(),s[o]=void 0)}else s={},n.U=s;for(var c in i){var l=s[c],d=i[c];l===void 0?(l=Vp(n,c,d,r),s[c]=l):l.o(d,r)}}}t(e)});function Vp(t,e,n,i){var r=e in t&&t.ownerSVGElement===void 0,s=Ge(n);return{o:function(o,a){s.value=o,i=a},d:An(function(){this.N=rl;var o=s.value.value;i[e]!==o&&(i[e]=o,r?t[e]=o:o?t.setAttribute(e,o):t.removeAttribute(e))})}}Nn("unmount",function(t,e){if(typeof e.type=="string"){var n=e.__e;if(n){var i=n.U;if(i){n.U=void 0;for(var r in i){var s=i[r];s&&s.d()}}}}else{var o=e.__c;if(o){var a=o.__$u;a&&(o.__$u=void 0,a.d())}}t(e)}),Nn("__h",function(t,e,n,i){(i<3||i===9)&&(e.__$f|=2),t(e,n,i)}),tt.prototype.shouldComponentUpdate=function(t,e){var n=this.__$u,i=n&&n.s!==void 0;for(var r in e)return!0;if(this.__f||typeof this.u=="boolean"&&this.u===!0){var s=2&this.__$f;if(!(i||s||4&this.__$f)||1&this.__$f)return!0}else if(!(i||4&this.__$f)||3&this.__$f)return!0;for(var o in t)if(o!=="__source"&&t[o]!==this.props[o])return!0;for(var a in this.props)if(!(a in t))return!0;return!1};function Ye(t){return ie(function(){return Ge(t)},[])}function fe(t){var e=B(t);return e.current=t,er.__$f|=4,ie(function(){return Je(function(){return e.current()})},[])}var qp=typeof requestAnimationFrame>"u"?setTimeout:function(t){var e=function(){clearTimeout(n),cancelAnimationFrame(i),t()},n=setTimeout(e,100),i=requestAnimationFrame(e)},$p=function(t){queueMicrotask(function(){queueMicrotask(t)})};function zp(){Jc(function(){for(var t;t=tl.shift();)As.call(t)})}function Wp(){tl.push(this)===1&&(j.requestAnimationFrame||qp)(zp)}function Hp(){Jc(function(){for(var t;t=nl.shift();)As.call(t)})}function rl(){nl.push(this)===1&&(j.requestAnimationFrame||$p)(Hp)}function Jt(t){var e=B(t);e.current=t,z(function(){return An(function(){return this.N=Wp,e.current()})},[])}function Kp(t,e){return e.forEach(function(n){n&&typeof n!="string"&&!Array.isArray(n)&&Object.keys(n).forEach(function(i){if(i!=="default"&&!(i in t)){var r=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return n[i]}})}})}),Object.freeze(t)}var Gp=Object.defineProperty,Jp=(t,e,n)=>e in t?Gp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,sl=(t,e,n)=>Jp(t,typeof e!="symbol"?e+"":e,n);let Fe=class{constructor(){sl(this,"_locking"),sl(this,"_locks"),this._locking=Promise.resolve(),this._locks=0}isLocked(){return this._locks>0}lock(){this._locks+=1;let e;const n=new Promise(r=>e=()=>{this._locks-=1,r()}),i=this._locking.then(()=>e);return this._locking=this._locking.then(()=>n),i}};function be(t,e){if(!t)throw new Error(e)}const Yp=34028234663852886e22,Xp=-34028234663852886e22,Qp=4294967295,Zp=2147483647,em=-2147483648;function nr(t){if(typeof t!="number")throw new Error("invalid int 32: "+typeof t);if(!Number.isInteger(t)||t>Zp||t<em)throw new Error("invalid int 32: "+t)}function Ls(t){if(typeof t!="number")throw new Error("invalid uint 32: "+typeof t);if(!Number.isInteger(t)||t>Qp||t<0)throw new Error("invalid uint 32: "+t)}function ol(t){if(typeof t!="number")throw new Error("invalid float 32: "+typeof t);if(Number.isFinite(t)&&(t>Yp||t<Xp))throw new Error("invalid float 32: "+t)}const al=Symbol("@bufbuild/protobuf/enum-type");function tm(t){const e=t[al];return be(e,"missing enum type on enum object"),e}function cl(t,e,n,i){t[al]=ll(e,n.map(r=>({no:r.no,name:r.name,localName:t[r.no]})))}function ll(t,e,n){const i=Object.create(null),r=Object.create(null),s=[];for(const o of e){const a=dl(o);s.push(a),i[o.name]=a,r[o.no]=a}return{typeName:t,values:s,findName(o){return i[o]},findNumber(o){return r[o]}}}function nm(t,e,n){const i={};for(const r of e){const s=dl(r);i[s.localName]=s.no,i[s.no]=s.localName}return cl(i,t,e),i}function dl(t){return"localName"in t?t:Object.assign(Object.assign({},t),{localName:t.name})}class Us{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,n){const i=this.getType(),r=i.runtime.bin,s=r.makeReadOptions(n);return r.readMessage(this,s.readerFactory(e),e.byteLength,s),this}fromJson(e,n){const i=this.getType(),r=i.runtime.json,s=r.makeReadOptions(n);return r.readMessage(i,e,s,this),this}fromJsonString(e,n){let i;try{i=JSON.parse(e)}catch(r){throw new Error("cannot decode ".concat(this.getType().typeName," from JSON: ").concat(r instanceof Error?r.message:String(r)))}return this.fromJson(i,n)}toBinary(e){const n=this.getType(),i=n.runtime.bin,r=i.makeWriteOptions(e),s=r.writerFactory();return i.writeMessage(this,s,r),s.finish()}toJson(e){const n=this.getType(),i=n.runtime.json,r=i.makeWriteOptions(e);return i.writeMessage(this,r)}toJsonString(e){var n;const i=this.toJson(e);return JSON.stringify(i,null,(n=e==null?void 0:e.prettySpaces)!==null&&n!==void 0?n:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}}function im(t,e,n,i){var r;const s=(r=i==null?void 0:i.localName)!==null&&r!==void 0?r:e.substring(e.lastIndexOf(".")+1),o={[s]:function(a){t.util.initFields(this),t.util.initPartial(a,this)}}[s];return Object.setPrototypeOf(o.prototype,new Us),Object.assign(o,{runtime:t,typeName:e,fields:t.util.newFieldList(n),fromBinary(a,c){return new o().fromBinary(a,c)},fromJson(a,c){return new o().fromJson(a,c)},fromJsonString(a,c){return new o().fromJsonString(a,c)},equals(a,c){return t.util.equals(o,a,c)}}),o}function rm(){let t=0,e=0;for(let i=0;i<28;i+=7){let r=this.buf[this.pos++];if(t|=(r&127)<<i,(r&128)==0)return this.assertBounds(),[t,e]}let n=this.buf[this.pos++];if(t|=(n&15)<<28,e=(n&112)>>4,(n&128)==0)return this.assertBounds(),[t,e];for(let i=3;i<=31;i+=7){let r=this.buf[this.pos++];if(e|=(r&127)<<i,(r&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function Fs(t,e,n){for(let s=0;s<28;s=s+7){const o=t>>>s,a=!(!(o>>>7)&&e==0),c=(a?o|128:o)&255;if(n.push(c),!a)return}const i=t>>>28&15|(e&7)<<4,r=e>>3!=0;if(n.push((r?i|128:i)&255),!!r){for(let s=3;s<31;s=s+7){const o=e>>>s,a=!!(o>>>7),c=(a?o|128:o)&255;if(n.push(c),!a)return}n.push(e>>>31&1)}}const ir=4294967296;function ul(t){const e=t[0]==="-";e&&(t=t.slice(1));const n=1e6;let i=0,r=0;function s(o,a){const c=Number(t.slice(o,a));r*=n,i=i*n+c,i>=ir&&(r=r+(i/ir|0),i=i%ir)}return s(-24,-18),s(-18,-12),s(-12,-6),s(-6),e?fl(i,r):Bs(i,r)}function sm(t,e){let n=Bs(t,e);const i=n.hi&2147483648;i&&(n=fl(n.lo,n.hi));const r=hl(n.lo,n.hi);return i?"-"+r:r}function hl(t,e){if({lo:t,hi:e}=om(t,e),e<=2097151)return String(ir*e+t);const n=t&16777215,i=(t>>>24|e<<8)&16777215,r=e>>16&65535;let s=n+i*6777216+r*6710656,o=i+r*8147497,a=r*2;const c=1e7;return s>=c&&(o+=Math.floor(s/c),s%=c),o>=c&&(a+=Math.floor(o/c),o%=c),a.toString()+pl(o)+pl(s)}function om(t,e){return{lo:t>>>0,hi:e>>>0}}function Bs(t,e){return{lo:t|0,hi:e|0}}function fl(t,e){return e=~e,t?t=~t+1:e+=1,Bs(t,e)}const pl=t=>{const e=String(t);return"0000000".slice(e.length)+e};function ml(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let n=0;n<9;n++)e.push(t&127|128),t=t>>7;e.push(1)}}function am(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let n=5;(t&128)!==0&&n<10;n++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}function cm(){const t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){const r=BigInt("-9223372036854775808"),s=BigInt("9223372036854775807"),o=BigInt("0"),a=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(c){const l=typeof c=="bigint"?c:BigInt(c);if(l>s||l<r)throw new Error("int64 invalid: ".concat(c));return l},uParse(c){const l=typeof c=="bigint"?c:BigInt(c);if(l>a||l<o)throw new Error("uint64 invalid: ".concat(c));return l},enc(c){return t.setBigInt64(0,this.parse(c),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(c){return t.setBigInt64(0,this.uParse(c),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec(c,l){return t.setInt32(0,c,!0),t.setInt32(4,l,!0),t.getBigInt64(0,!0)},uDec(c,l){return t.setInt32(0,c,!0),t.setInt32(4,l,!0),t.getBigUint64(0,!0)}}}const n=r=>be(/^-?[0-9]+$/.test(r),"int64 invalid: ".concat(r)),i=r=>be(/^[0-9]+$/.test(r),"uint64 invalid: ".concat(r));return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),i(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),n(r),ul(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),i(r),ul(r)},dec(r,s){return sm(r,s)},uDec(r,s){return hl(r,s)}}}const pe=cm();var E;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(E||(E={}));var Yt;(function(t){t[t.BIGINT=0]="BIGINT",t[t.STRING=1]="STRING"})(Yt||(Yt={}));function Xt(t,e,n){if(e===n)return!0;if(t==E.BYTES){if(!(e instanceof Uint8Array)||!(n instanceof Uint8Array)||e.length!==n.length)return!1;for(let i=0;i<e.length;i++)if(e[i]!==n[i])return!1;return!0}switch(t){case E.UINT64:case E.FIXED64:case E.INT64:case E.SFIXED64:case E.SINT64:return e==n}return!1}function Ln(t,e){switch(t){case E.BOOL:return!1;case E.UINT64:case E.FIXED64:case E.INT64:case E.SFIXED64:case E.SINT64:return e==0?pe.zero:"0";case E.DOUBLE:case E.FLOAT:return 0;case E.BYTES:return new Uint8Array(0);case E.STRING:return"";default:return 0}}function gl(t,e){switch(t){case E.BOOL:return e===!1;case E.STRING:return e==="";case E.BYTES:return e instanceof Uint8Array&&!e.byteLength;default:return e==0}}var we;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(we||(we={}));class lm{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let r=0;r<this.chunks.length;r++)e+=this.chunks[r].length;let n=new Uint8Array(e),i=0;for(let r=0;r<this.chunks.length;r++)n.set(this.chunks[r],i),i+=this.chunks[r].length;return this.chunks=[],n}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),n=this.stack.pop();if(!n)throw new Error("invalid state, fork stack empty");return this.chunks=n.chunks,this.buf=n.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,n){return this.uint32((e<<3|n)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Ls(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return nr(e),ml(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let n=this.textEncoder.encode(e);return this.uint32(n.byteLength),this.raw(n)}float(e){ol(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){Ls(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){nr(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return nr(e),e=(e<<1^e>>31)>>>0,ml(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),i=new DataView(n.buffer),r=pe.enc(e);return i.setInt32(0,r.lo,!0),i.setInt32(4,r.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),i=new DataView(n.buffer),r=pe.uEnc(e);return i.setInt32(0,r.lo,!0),i.setInt32(4,r.hi,!0),this.raw(n)}int64(e){let n=pe.enc(e);return Fs(n.lo,n.hi,this.buf),this}sint64(e){let n=pe.enc(e),i=n.hi>>31,r=n.lo<<1^i,s=(n.hi<<1|n.lo>>>31)^i;return Fs(r,s,this.buf),this}uint64(e){let n=pe.uEnc(e);return Fs(n.lo,n.hi,this.buf),this}}class dm{constructor(e,n){this.varint64=rm,this.uint32=am,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=n??new TextDecoder}tag(){let e=this.uint32(),n=e>>>3,i=e&7;if(n<=0||i<0||i>5)throw new Error("illegal tag: field no "+n+" wire type "+i);return[n,i]}skip(e,n){let i=this.pos;switch(e){case we.Varint:for(;this.buf[this.pos++]&128;);break;case we.Bit64:this.pos+=4;case we.Bit32:this.pos+=4;break;case we.LengthDelimited:let r=this.uint32();this.pos+=r;break;case we.StartGroup:for(;;){const[s,o]=this.tag();if(o===we.EndGroup){if(n!==void 0&&s!==n)throw new Error("invalid end group tag");break}this.skip(o,s)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(i,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return pe.dec(...this.varint64())}uint64(){return pe.uDec(...this.varint64())}sint64(){let[e,n]=this.varint64(),i=-(e&1);return e=(e>>>1|(n&1)<<31)^i,n=n>>>1^i,pe.dec(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return pe.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return pe.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.textDecoder.decode(this.bytes())}}function um(t,e,n,i){let r;return{typeName:e,extendee:n,get field(){if(!r){const s=typeof i=="function"?i():i;s.name=e.split(".").pop(),s.jsonName="[".concat(e,"]"),r=t.util.newFieldList([s]).list()[0]}return r},runtime:t}}function vl(t){const e=t.field.localName,n=Object.create(null);return n[e]=hm(t),[n,()=>n[e]]}function hm(t){const e=t.field;if(e.repeated)return[];if(e.default!==void 0)return e.default;switch(e.kind){case"enum":return e.T.values[0].no;case"scalar":return Ln(e.T,e.L);case"message":const n=e.T,i=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(i):i;case"map":throw"map fields are not allowed to be extensions"}}function fm(t,e){if(!e.repeated&&(e.kind=="enum"||e.kind=="scalar")){for(let n=t.length-1;n>=0;--n)if(t[n].no==e.no)return[t[n]];return[]}return t.filter(n=>n.no===e.no)}let Mt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),rr=[];for(let t=0;t<Mt.length;t++)rr[Mt[t].charCodeAt(0)]=t;rr[45]=Mt.indexOf("+"),rr[95]=Mt.indexOf("/");const bl={dec(t){let e=t.length*3/4;t[t.length-2]=="="?e-=2:t[t.length-1]=="="&&(e-=1);let n=new Uint8Array(e),i=0,r=0,s,o=0;for(let a=0;a<t.length;a++){if(s=rr[t.charCodeAt(a)],s===void 0)switch(t[a]){case"=":r=0;case`
2
+ `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(r){case 0:o=s,r=1;break;case 1:n[i++]=o<<2|(s&48)>>4,o=s,r=2;break;case 2:n[i++]=(o&15)<<4|(s&60)>>2,o=s,r=3;break;case 3:n[i++]=(o&3)<<6|s,r=0;break}}if(r==1)throw Error("invalid base64 string.");return n.subarray(0,i)},enc(t){let e="",n=0,i,r=0;for(let s=0;s<t.length;s++)switch(i=t[s],n){case 0:e+=Mt[i>>2],r=(i&3)<<4,n=1;break;case 1:e+=Mt[r|i>>4],r=(i&15)<<2,n=2;break;case 2:e+=Mt[r|i>>6],e+=Mt[i&63],n=0;break}return n&&(e+=Mt[r],e+="=",n==1&&(e+="=")),e}};function pm(t,e,n){kl(e,t);const i=e.runtime.bin.makeReadOptions(n),r=fm(t.getType().runtime.bin.listUnknownFields(t),e.field),[s,o]=vl(e);for(const a of r)e.runtime.bin.readField(s,i.readerFactory(a.data),e.field,a.wireType,i);return o()}function mm(t,e,n,i){kl(e,t);const r=e.runtime.bin.makeReadOptions(i),s=e.runtime.bin.makeWriteOptions(i);if(yl(t,e)){const l=t.getType().runtime.bin.listUnknownFields(t).filter(d=>d.no!=e.field.no);t.getType().runtime.bin.discardUnknownFields(t);for(const d of l)t.getType().runtime.bin.onUnknownField(t,d.no,d.wireType,d.data)}const o=s.writerFactory();let a=e.field;!a.opt&&!a.repeated&&(a.kind=="enum"||a.kind=="scalar")&&(a=Object.assign(Object.assign({},e.field),{opt:!0})),e.runtime.bin.writeField(a,n,o,s);const c=r.readerFactory(o.finish());for(;c.pos<c.len;){const[l,d]=c.tag(),u=c.skip(d,l);t.getType().runtime.bin.onUnknownField(t,l,d,u)}}function yl(t,e){const n=t.getType();return e.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(t).find(i=>i.no==e.field.no)}function kl(t,e){be(t.extendee.typeName==e.getType().typeName,"extension ".concat(t.typeName," can only be applied to message ").concat(t.extendee.typeName))}function Cl(t,e){const n=t.localName;if(t.repeated)return e[n].length>0;if(t.oneof)return e[t.oneof.localName].case===n;switch(t.kind){case"enum":case"scalar":return t.opt||t.req?e[n]!==void 0:t.kind=="enum"?e[n]!==t.T.values[0].no:!gl(t.T,e[n]);case"message":return e[n]!==void 0;case"map":return Object.keys(e[n]).length>0}}function wl(t,e){const n=t.localName,i=!t.opt&&!t.req;if(t.repeated)e[n]=[];else if(t.oneof)e[t.oneof.localName]={case:void 0};else switch(t.kind){case"map":e[n]={};break;case"enum":e[n]=i?t.T.values[0].no:void 0;break;case"scalar":e[n]=i?Ln(t.T,t.L):void 0;break;case"message":e[n]=void 0;break}}function At(t,e){if(t===null||typeof t!="object"||!Object.getOwnPropertyNames(Us.prototype).every(i=>i in t&&typeof t[i]=="function"))return!1;const n=t.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:e===void 0?!0:n.typeName==e.typeName}function Tl(t,e){return At(e)||!t.fieldWrapper?e:t.fieldWrapper.wrapField(e)}E.DOUBLE,E.FLOAT,E.INT64,E.UINT64,E.INT32,E.UINT32,E.BOOL,E.STRING,E.BYTES;const _l={ignoreUnknownFields:!1},Sl={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function gm(t){return t?Object.assign(Object.assign({},_l),t):_l}function vm(t){return t?Object.assign(Object.assign({},Sl),t):Sl}const sr=Symbol(),or=Symbol();function bm(){return{makeReadOptions:gm,makeWriteOptions:vm,readMessage(t,e,n,i){if(e==null||Array.isArray(e)||typeof e!="object")throw new Error("cannot decode message ".concat(t.typeName," from JSON: ").concat(bt(e)));i=i??new t;const r=new Map,s=n.typeRegistry;for(const[o,a]of Object.entries(e)){const c=t.fields.findJsonName(o);if(c){if(c.oneof){if(a===null&&c.kind=="scalar")continue;const l=r.get(c.oneof);if(l!==void 0)throw new Error("cannot decode message ".concat(t.typeName,' from JSON: multiple keys for oneof "').concat(c.oneof.name,'" present: "').concat(l,'", "').concat(o,'"'));r.set(c.oneof,o)}xl(i,a,c,n,t)}else{let l=!1;if(s!=null&&s.findExtension&&o.startsWith("[")&&o.endsWith("]")){const d=s.findExtension(o.substring(1,o.length-1));if(d&&d.extendee.typeName==t.typeName){l=!0;const[u,h]=vl(d);xl(u,a,d.field,n,d),mm(i,d,h(),n)}}if(!l&&!n.ignoreUnknownFields)throw new Error("cannot decode message ".concat(t.typeName,' from JSON: key "').concat(o,'" is unknown'))}}return i},writeMessage(t,e){const n=t.getType(),i={};let r;try{for(r of n.fields.byNumber()){if(!Cl(r,t)){if(r.req)throw"required field not set";if(!e.emitDefaultValues||!km(r))continue}const o=r.oneof?t[r.oneof.localName].value:t[r.localName],a=El(r,o,e);a!==void 0&&(i[e.useProtoFieldName?r.name:r.jsonName]=a)}const s=e.typeRegistry;if(s!=null&&s.findExtensionFor)for(const o of n.runtime.bin.listUnknownFields(t)){const a=s.findExtensionFor(n.typeName,o.no);if(a&&yl(t,a)){const c=pm(t,a,e),l=El(a.field,c,e);l!==void 0&&(i[a.field.jsonName]=l)}}}catch(s){const o=r?"cannot encode field ".concat(n.typeName,".").concat(r.name," to JSON"):"cannot encode message ".concat(n.typeName," to JSON"),a=s instanceof Error?s.message:String(s);throw new Error(o+(a.length>0?": ".concat(a):""))}return i},readScalar(t,e,n){return Ci(t,e,n??Yt.BIGINT,!0)},writeScalar(t,e,n){if(e!==void 0&&(n||gl(t,e)))return ar(t,e)},debug:bt}}function bt(t){if(t===null)return"null";switch(typeof t){case"object":return Array.isArray(t)?"array":"object";case"string":return t.length>100?"string":'"'.concat(t.split('"').join('\\"'),'"');default:return String(t)}}function xl(t,e,n,i,r){let s=n.localName;if(n.repeated){if(be(n.kind!="map"),e===null)return;if(!Array.isArray(e))throw new Error("cannot decode field ".concat(r.typeName,".").concat(n.name," from JSON: ").concat(bt(e)));const o=t[s];for(const a of e){if(a===null)throw new Error("cannot decode field ".concat(r.typeName,".").concat(n.name," from JSON: ").concat(bt(a)));switch(n.kind){case"message":o.push(n.T.fromJson(a,i));break;case"enum":const c=js(n.T,a,i.ignoreUnknownFields,!0);c!==or&&o.push(c);break;case"scalar":try{o.push(Ci(n.T,a,n.L,!0))}catch(l){let d="cannot decode field ".concat(r.typeName,".").concat(n.name," from JSON: ").concat(bt(a));throw l instanceof Error&&l.message.length>0&&(d+=": ".concat(l.message)),new Error(d)}break}}}else if(n.kind=="map"){if(e===null)return;if(typeof e!="object"||Array.isArray(e))throw new Error("cannot decode field ".concat(r.typeName,".").concat(n.name," from JSON: ").concat(bt(e)));const o=t[s];for(const[a,c]of Object.entries(e)){if(c===null)throw new Error("cannot decode field ".concat(r.typeName,".").concat(n.name," from JSON: map value null"));let l;try{l=ym(n.K,a)}catch(d){let u="cannot decode map key for field ".concat(r.typeName,".").concat(n.name," from JSON: ").concat(bt(e));throw d instanceof Error&&d.message.length>0&&(u+=": ".concat(d.message)),new Error(u)}switch(n.V.kind){case"message":o[l]=n.V.T.fromJson(c,i);break;case"enum":const d=js(n.V.T,c,i.ignoreUnknownFields,!0);d!==or&&(o[l]=d);break;case"scalar":try{o[l]=Ci(n.V.T,c,Yt.BIGINT,!0)}catch(u){let h="cannot decode map value for field ".concat(r.typeName,".").concat(n.name," from JSON: ").concat(bt(e));throw u instanceof Error&&u.message.length>0&&(h+=": ".concat(u.message)),new Error(h)}break}}}else switch(n.oneof&&(t=t[n.oneof.localName]={case:s},s="value"),n.kind){case"message":const o=n.T;if(e===null&&o.typeName!="google.protobuf.Value")return;let a=t[s];At(a)?a.fromJson(e,i):(t[s]=a=o.fromJson(e,i),o.fieldWrapper&&!n.oneof&&(t[s]=o.fieldWrapper.unwrapField(a)));break;case"enum":const c=js(n.T,e,i.ignoreUnknownFields,!1);switch(c){case sr:wl(n,t);break;case or:break;default:t[s]=c;break}break;case"scalar":try{const l=Ci(n.T,e,n.L,!1);switch(l){case sr:wl(n,t);break;default:t[s]=l;break}}catch(l){let d="cannot decode field ".concat(r.typeName,".").concat(n.name," from JSON: ").concat(bt(e));throw l instanceof Error&&l.message.length>0&&(d+=": ".concat(l.message)),new Error(d)}break}}function ym(t,e){if(t===E.BOOL)switch(e){case"true":e=!0;break;case"false":e=!1;break}return Ci(t,e,Yt.BIGINT,!0).toString()}function Ci(t,e,n,i){if(e===null)return i?Ln(t,n):sr;switch(t){case E.DOUBLE:case E.FLOAT:if(e==="NaN")return Number.NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(e===""||typeof e=="string"&&e.trim().length!==e.length||typeof e!="string"&&typeof e!="number")break;const r=Number(e);if(Number.isNaN(r)||!Number.isFinite(r))break;return t==E.FLOAT&&ol(r),r;case E.INT32:case E.FIXED32:case E.SFIXED32:case E.SINT32:case E.UINT32:let s;if(typeof e=="number"?s=e:typeof e=="string"&&e.length>0&&e.trim().length===e.length&&(s=Number(e)),s===void 0)break;return t==E.UINT32||t==E.FIXED32?Ls(s):nr(s),s;case E.INT64:case E.SFIXED64:case E.SINT64:if(typeof e!="number"&&typeof e!="string")break;const o=pe.parse(e);return n?o.toString():o;case E.FIXED64:case E.UINT64:if(typeof e!="number"&&typeof e!="string")break;const a=pe.uParse(e);return n?a.toString():a;case E.BOOL:if(typeof e!="boolean")break;return e;case E.STRING:if(typeof e!="string")break;try{encodeURIComponent(e)}catch{throw new Error("invalid UTF8")}return e;case E.BYTES:if(e==="")return new Uint8Array(0);if(typeof e!="string")break;return bl.dec(e)}throw new Error}function js(t,e,n,i){if(e===null)return t.typeName=="google.protobuf.NullValue"?0:i?t.values[0].no:sr;switch(typeof e){case"number":if(Number.isInteger(e))return e;break;case"string":const r=t.findName(e);if(r!==void 0)return r.no;if(n)return or;break}throw new Error("cannot decode enum ".concat(t.typeName," from JSON: ").concat(bt(e)))}function km(t){return t.repeated||t.kind=="map"?!0:!(t.oneof||t.kind=="message"||t.opt||t.req)}function El(t,e,n){if(t.kind=="map"){be(typeof e=="object"&&e!=null);const i={},r=Object.entries(e);switch(t.V.kind){case"scalar":for(const[o,a]of r)i[o.toString()]=ar(t.V.T,a);break;case"message":for(const[o,a]of r)i[o.toString()]=a.toJson(n);break;case"enum":const s=t.V.T;for(const[o,a]of r)i[o.toString()]=Vs(s,a,n.enumAsInteger);break}return n.emitDefaultValues||r.length>0?i:void 0}if(t.repeated){be(Array.isArray(e));const i=[];switch(t.kind){case"scalar":for(let r=0;r<e.length;r++)i.push(ar(t.T,e[r]));break;case"enum":for(let r=0;r<e.length;r++)i.push(Vs(t.T,e[r],n.enumAsInteger));break;case"message":for(let r=0;r<e.length;r++)i.push(e[r].toJson(n));break}return n.emitDefaultValues||i.length>0?i:void 0}switch(t.kind){case"scalar":return ar(t.T,e);case"enum":return Vs(t.T,e,n.enumAsInteger);case"message":return Tl(t.T,e).toJson(n)}}function Vs(t,e,n){var i;if(be(typeof e=="number"),t.typeName=="google.protobuf.NullValue")return null;if(n)return e;const r=t.findNumber(e);return(i=r==null?void 0:r.name)!==null&&i!==void 0?i:e}function ar(t,e){switch(t){case E.INT32:case E.SFIXED32:case E.SINT32:case E.FIXED32:case E.UINT32:return be(typeof e=="number"),e;case E.FLOAT:case E.DOUBLE:return be(typeof e=="number"),Number.isNaN(e)?"NaN":e===Number.POSITIVE_INFINITY?"Infinity":e===Number.NEGATIVE_INFINITY?"-Infinity":e;case E.STRING:return be(typeof e=="string"),e;case E.BOOL:return be(typeof e=="boolean"),e;case E.UINT64:case E.FIXED64:case E.INT64:case E.SFIXED64:case E.SINT64:return be(typeof e=="bigint"||typeof e=="string"||typeof e=="number"),e.toString();case E.BYTES:return be(e instanceof Uint8Array),bl.enc(e)}}const Un=Symbol("@bufbuild/protobuf/unknown-fields"),Pl={readUnknownFields:!0,readerFactory:t=>new dm(t)},Rl={writeUnknownFields:!0,writerFactory:()=>new lm};function Cm(t){return t?Object.assign(Object.assign({},Pl),t):Pl}function wm(t){return t?Object.assign(Object.assign({},Rl),t):Rl}function Tm(){return{makeReadOptions:Cm,makeWriteOptions:wm,listUnknownFields(t){var e;return(e=t[Un])!==null&&e!==void 0?e:[]},discardUnknownFields(t){delete t[Un]},writeUnknownFields(t,e){const i=t[Un];if(i)for(const r of i)e.tag(r.no,r.wireType).raw(r.data)},onUnknownField(t,e,n,i){const r=t;Array.isArray(r[Un])||(r[Un]=[]),r[Un].push({no:e,wireType:n,data:i})},readMessage(t,e,n,i,r){const s=t.getType(),o=r?e.len:e.pos+n;let a,c;for(;e.pos<o&&([a,c]=e.tag(),!(r===!0&&c==we.EndGroup));){const l=s.fields.find(a);if(!l){const d=e.skip(c,a);i.readUnknownFields&&this.onUnknownField(t,a,c,d);continue}Il(t,e,l,c,i)}if(r&&(c!=we.EndGroup||a!==n))throw new Error("invalid end group tag")},readField:Il,writeMessage(t,e,n){const i=t.getType();for(const r of i.fields.byNumber()){if(!Cl(r,t)){if(r.req)throw new Error("cannot encode field ".concat(i.typeName,".").concat(r.name," to binary: required field not set"));continue}const s=r.oneof?t[r.oneof.localName].value:t[r.localName];Ol(r,s,e,n)}return n.writeUnknownFields&&this.writeUnknownFields(t,e),e},writeField(t,e,n,i){e!==void 0&&Ol(t,e,n,i)}}}function Il(t,e,n,i,r){let{repeated:s,localName:o}=n;switch(n.oneof&&(t=t[n.oneof.localName],t.case!=o&&delete t.value,t.case=o,o="value"),n.kind){case"scalar":case"enum":const a=n.kind=="enum"?E.INT32:n.T;let c=lr;if(n.kind=="scalar"&&n.L>0&&(c=Sm),s){let h=t[o];if(i==we.LengthDelimited&&a!=E.STRING&&a!=E.BYTES){let m=e.uint32()+e.pos;for(;e.pos<m;)h.push(c(e,a))}else h.push(c(e,a))}else t[o]=c(e,a);break;case"message":const l=n.T;s?t[o].push(cr(e,new l,r,n)):At(t[o])?cr(e,t[o],r,n):(t[o]=cr(e,new l,r,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(t[o]=l.fieldWrapper.unwrapField(t[o])));break;case"map":let[d,u]=_m(n,e,r);t[o][d]=u;break}}function cr(t,e,n,i){const r=e.getType().runtime.bin,s=i==null?void 0:i.delimited;return r.readMessage(e,t,s?i.no:t.uint32(),n,s),e}function _m(t,e,n){const i=e.uint32(),r=e.pos+i;let s,o;for(;e.pos<r;){const[a]=e.tag();switch(a){case 1:s=lr(e,t.K);break;case 2:switch(t.V.kind){case"scalar":o=lr(e,t.V.T);break;case"enum":o=e.int32();break;case"message":o=cr(e,new t.V.T,n,void 0);break}break}}if(s===void 0&&(s=Ln(t.K,Yt.BIGINT)),typeof s!="string"&&typeof s!="number"&&(s=s.toString()),o===void 0)switch(t.V.kind){case"scalar":o=Ln(t.V.T,Yt.BIGINT);break;case"enum":o=t.V.T.values[0].no;break;case"message":o=new t.V.T;break}return[s,o]}function Sm(t,e){const n=lr(t,e);return typeof n=="bigint"?n.toString():n}function lr(t,e){switch(e){case E.STRING:return t.string();case E.BOOL:return t.bool();case E.DOUBLE:return t.double();case E.FLOAT:return t.float();case E.INT32:return t.int32();case E.INT64:return t.int64();case E.UINT64:return t.uint64();case E.FIXED64:return t.fixed64();case E.BYTES:return t.bytes();case E.FIXED32:return t.fixed32();case E.SFIXED32:return t.sfixed32();case E.SFIXED64:return t.sfixed64();case E.SINT64:return t.sint64();case E.UINT32:return t.uint32();case E.SINT32:return t.sint32()}}function Ol(t,e,n,i){be(e!==void 0);const r=t.repeated;switch(t.kind){case"scalar":case"enum":let s=t.kind=="enum"?E.INT32:t.T;if(r)if(be(Array.isArray(e)),t.packed)Em(n,s,t.no,e);else for(const o of e)wi(n,s,t.no,o);else wi(n,s,t.no,e);break;case"message":if(r){be(Array.isArray(e));for(const o of e)Dl(n,i,t,o)}else Dl(n,i,t,e);break;case"map":be(typeof e=="object"&&e!=null);for(const[o,a]of Object.entries(e))xm(n,i,t,o,a);break}}function xm(t,e,n,i,r){t.tag(n.no,we.LengthDelimited),t.fork();let s=i;switch(n.K){case E.INT32:case E.FIXED32:case E.UINT32:case E.SFIXED32:case E.SINT32:s=Number.parseInt(i);break;case E.BOOL:be(i=="true"||i=="false"),s=i=="true";break}switch(wi(t,n.K,1,s),n.V.kind){case"scalar":wi(t,n.V.T,2,r);break;case"enum":wi(t,E.INT32,2,r);break;case"message":be(r!==void 0),t.tag(2,we.LengthDelimited).bytes(r.toBinary(e));break}t.join()}function Dl(t,e,n,i){const r=Tl(n.T,i);n.delimited?t.tag(n.no,we.StartGroup).raw(r.toBinary(e)).tag(n.no,we.EndGroup):t.tag(n.no,we.LengthDelimited).bytes(r.toBinary(e))}function wi(t,e,n,i){be(i!==void 0);let[r,s]=Ml(e);t.tag(n,r)[s](i)}function Em(t,e,n,i){if(!i.length)return;t.tag(n,we.LengthDelimited).fork();let[,r]=Ml(e);for(let s=0;s<i.length;s++)t[r](i[s]);t.join()}function Ml(t){let e=we.Varint;switch(t){case E.BYTES:case E.STRING:e=we.LengthDelimited;break;case E.DOUBLE:case E.FIXED64:case E.SFIXED64:e=we.Bit64;break;case E.FIXED32:case E.SFIXED32:case E.FLOAT:e=we.Bit32;break}const n=E[t].toLowerCase();return[e,n]}function Pm(){return{setEnumType:cl,initPartial(t,e){if(t===void 0)return;const n=e.getType();for(const i of n.fields.byMember()){const r=i.localName,s=e,o=t;if(o[r]!=null)switch(i.kind){case"oneof":const a=o[r].case;if(a===void 0)continue;const c=i.findField(a);let l=o[r].value;c&&c.kind=="message"&&!At(l,c.T)?l=new c.T(l):c&&c.kind==="scalar"&&c.T===E.BYTES&&(l=Ti(l)),s[r]={case:a,value:l};break;case"scalar":case"enum":let d=o[r];i.T===E.BYTES&&(d=i.repeated?d.map(Ti):Ti(d)),s[r]=d;break;case"map":switch(i.V.kind){case"scalar":case"enum":if(i.V.T===E.BYTES)for(const[f,m]of Object.entries(o[r]))s[r][f]=Ti(m);else Object.assign(s[r],o[r]);break;case"message":const h=i.V.T;for(const f of Object.keys(o[r])){let m=o[r][f];h.fieldWrapper||(m=new h(m)),s[r][f]=m}break}break;case"message":const u=i.T;if(i.repeated)s[r]=o[r].map(h=>At(h,u)?h:new u(h));else{const h=o[r];u.fieldWrapper?u.typeName==="google.protobuf.BytesValue"?s[r]=Ti(h):s[r]=h:s[r]=At(h,u)?h:new u(h)}break}}},equals(t,e,n){return e===n?!0:!e||!n?!1:t.fields.byMember().every(i=>{const r=e[i.localName],s=n[i.localName];if(i.repeated){if(r.length!==s.length)return!1;switch(i.kind){case"message":return r.every((o,a)=>i.T.equals(o,s[a]));case"scalar":return r.every((o,a)=>Xt(i.T,o,s[a]));case"enum":return r.every((o,a)=>Xt(E.INT32,o,s[a]))}throw new Error("repeated cannot contain ".concat(i.kind))}switch(i.kind){case"message":let o=r,a=s;return i.T.fieldWrapper&&(o!==void 0&&!At(o)&&(o=i.T.fieldWrapper.wrapField(o)),a!==void 0&&!At(a)&&(a=i.T.fieldWrapper.wrapField(a))),i.T.equals(o,a);case"enum":return Xt(E.INT32,r,s);case"scalar":return Xt(i.T,r,s);case"oneof":if(r.case!==s.case)return!1;const c=i.findField(r.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(r.value,s.value);case"enum":return Xt(E.INT32,r.value,s.value);case"scalar":return Xt(c.T,r.value,s.value)}throw new Error("oneof cannot contain ".concat(c.kind));case"map":const l=Object.keys(r).concat(Object.keys(s));switch(i.V.kind){case"message":const d=i.V.T;return l.every(h=>d.equals(r[h],s[h]));case"enum":return l.every(h=>Xt(E.INT32,r[h],s[h]));case"scalar":const u=i.V.T;return l.every(h=>Xt(u,r[h],s[h]))}break}})},clone(t){const e=t.getType(),n=new e,i=n;for(const r of e.fields.byMember()){const s=t[r.localName];let o;if(r.repeated)o=s.map(dr);else if(r.kind=="map"){o=i[r.localName];for(const[a,c]of Object.entries(s))o[a]=dr(c)}else r.kind=="oneof"?o=r.findField(s.case)?{case:s.case,value:dr(s.value)}:{case:void 0}:o=dr(s);i[r.localName]=o}for(const r of e.runtime.bin.listUnknownFields(t))e.runtime.bin.onUnknownField(i,r.no,r.wireType,r.data);return n}}}function dr(t){if(t===void 0)return t;if(At(t))return t.clone();if(t instanceof Uint8Array){const e=new Uint8Array(t.byteLength);return e.set(t),e}return t}function Ti(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function Rm(t,e,n){return{syntax:t,json:bm(),bin:Tm(),util:Object.assign(Object.assign({},Pm()),{newFieldList:e,initFields:n}),makeMessageType(i,r,s){return im(this,i,r,s)},makeEnum:nm,makeEnumType:ll,getEnumType:tm,makeExtension(i,r,s){return um(this,i,r,s)}}}class Im{constructor(e,n){this._fields=e,this._normalizer=n}findJsonName(e){if(!this.jsonNames){const n={};for(const i of this.list())n[i.jsonName]=n[i.name]=i;this.jsonNames=n}return this.jsonNames[e]}find(e){if(!this.numbers){const n={};for(const i of this.list())n[i.no]=i;this.numbers=n}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,n)=>e.no-n.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];const e=this.members;let n;for(const i of this.list())i.oneof?i.oneof!==n&&(n=i.oneof,e.push(n)):e.push(i)}return this.members}}function Al(t,e){const n=Nl(t);return e?n:Lm(Nm(n))}function Om(t){return Al(t,!1)}const Dm=Nl;function Nl(t){let e=!1;const n=[];for(let i=0;i<t.length;i++){let r=t.charAt(i);switch(r){case"_":e=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(r),e=!1;break;default:e&&(e=!1,r=r.toUpperCase()),n.push(r);break}}return n.join("")}const Mm=new Set(["constructor","toString","toJSON","valueOf"]),Am=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),Ll=t=>"".concat(t,"$"),Nm=t=>Am.has(t)?Ll(t):t,Lm=t=>Mm.has(t)?Ll(t):t;class Um{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=Om(e)}addField(e){be(e.oneof===this,"field ".concat(e.name," not one of ").concat(this.name)),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let n=0;n<this.fields.length;n++)this._lookup[this.fields[n].localName]=this.fields[n]}return this._lookup[e]}}function Fm(t,e){var n,i,r,s,o,a;const c=[];let l;for(const d of typeof t=="function"?t():t){const u=d;if(u.localName=Al(d.name,d.oneof!==void 0),u.jsonName=(n=d.jsonName)!==null&&n!==void 0?n:Dm(d.name),u.repeated=(i=d.repeated)!==null&&i!==void 0?i:!1,d.kind=="scalar"&&(u.L=(r=d.L)!==null&&r!==void 0?r:Yt.BIGINT),u.delimited=(s=d.delimited)!==null&&s!==void 0?s:!1,u.req=(o=d.req)!==null&&o!==void 0?o:!1,u.opt=(a=d.opt)!==null&&a!==void 0?a:!1,d.packed===void 0&&(u.packed=d.kind=="enum"||d.kind=="scalar"&&d.T!=E.BYTES&&d.T!=E.STRING),d.oneof!==void 0){const h=typeof d.oneof=="string"?d.oneof:d.oneof.name;(!l||l.name!=h)&&(l=new Um(h)),u.oneof=l,l.addField(u)}c.push(u)}return c}const x=Rm("proto3",t=>new Im(t,e=>Fm(e)),t=>{for(const e of t.getType().fields.byMember()){if(e.opt)continue;const n=e.localName,i=t;if(e.repeated){i[n]=[];continue}switch(e.kind){case"oneof":i[n]={case:void 0};break;case"enum":i[n]=0;break;case"map":i[n]={};break;case"scalar":i[n]=Ln(e.T,e.L);break}}});class Be extends Us{constructor(e){super(),this.seconds=pe.zero,this.nanos=0,x.util.initPartial(e,this)}fromJson(e,n){if(typeof e!="string")throw new Error("cannot decode google.protobuf.Timestamp from JSON: ".concat(x.json.debug(e)));const i=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!i)throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");const r=Date.parse(i[1]+"-"+i[2]+"-"+i[3]+"T"+i[4]+":"+i[5]+":"+i[6]+(i[8]?i[8]:"Z"));if(Number.isNaN(r))throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");if(r<Date.parse("0001-01-01T00:00:00Z")||r>Date.parse("9999-12-31T23:59:59Z"))throw new Error("cannot decode message google.protobuf.Timestamp from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive");return this.seconds=pe.parse(r/1e3),this.nanos=0,i[7]&&(this.nanos=parseInt("1"+i[7]+"0".repeat(9-i[7].length))-1e9),this}toJson(e){const n=Number(this.seconds)*1e3;if(n<Date.parse("0001-01-01T00:00:00Z")||n>Date.parse("9999-12-31T23:59:59Z"))throw new Error("cannot encode google.protobuf.Timestamp to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive");if(this.nanos<0)throw new Error("cannot encode google.protobuf.Timestamp to JSON: nanos must not be negative");let i="Z";if(this.nanos>0){const r=(this.nanos+1e9).toString().substring(1);r.substring(3)==="000000"?i="."+r.substring(0,3)+"Z":r.substring(6)==="000"?i="."+r.substring(0,6)+"Z":i="."+r+"Z"}return new Date(n).toISOString().replace(".000Z",i)}toDate(){return new Date(Number(this.seconds)*1e3+Math.ceil(this.nanos/1e6))}static now(){return Be.fromDate(new Date)}static fromDate(e){const n=e.getTime();return new Be({seconds:pe.parse(Math.floor(n/1e3)),nanos:n%1e3*1e6})}static fromBinary(e,n){return new Be().fromBinary(e,n)}static fromJson(e,n){return new Be().fromJson(e,n)}static fromJsonString(e,n){return new Be().fromJsonString(e,n)}static equals(e,n){return x.util.equals(Be,e,n)}}Be.runtime=x,Be.typeName="google.protobuf.Timestamp",Be.fields=x.util.newFieldList(()=>[{no:1,name:"seconds",kind:"scalar",T:3},{no:2,name:"nanos",kind:"scalar",T:5}]);const Bm=x.makeMessageType("livekit.MetricsBatch",()=>[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:Be},{no:3,name:"str_data",kind:"scalar",T:9,repeated:!0},{no:4,name:"time_series",kind:"message",T:jm,repeated:!0},{no:5,name:"events",kind:"message",T:qm,repeated:!0}]),jm=x.makeMessageType("livekit.TimeSeriesMetric",()=>[{no:1,name:"label",kind:"scalar",T:13},{no:2,name:"participant_identity",kind:"scalar",T:13},{no:3,name:"track_sid",kind:"scalar",T:13},{no:4,name:"samples",kind:"message",T:Vm,repeated:!0},{no:5,name:"rid",kind:"scalar",T:13}]),Vm=x.makeMessageType("livekit.MetricSample",()=>[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:Be},{no:3,name:"value",kind:"scalar",T:2}]),qm=x.makeMessageType("livekit.EventMetric",()=>[{no:1,name:"label",kind:"scalar",T:13},{no:2,name:"participant_identity",kind:"scalar",T:13},{no:3,name:"track_sid",kind:"scalar",T:13},{no:4,name:"start_timestamp_ms",kind:"scalar",T:3},{no:5,name:"end_timestamp_ms",kind:"scalar",T:3,opt:!0},{no:6,name:"normalized_start_timestamp",kind:"message",T:Be},{no:7,name:"normalized_end_timestamp",kind:"message",T:Be,opt:!0},{no:8,name:"metadata",kind:"scalar",T:9},{no:9,name:"rid",kind:"scalar",T:13}]),Ul=x.makeEnum("livekit.BackupCodecPolicy",[{no:0,name:"PREFER_REGRESSION"},{no:1,name:"SIMULCAST"},{no:2,name:"REGRESSION"}]),rt=x.makeEnum("livekit.TrackType",[{no:0,name:"AUDIO"},{no:1,name:"VIDEO"},{no:2,name:"DATA"}]),Se=x.makeEnum("livekit.TrackSource",[{no:0,name:"UNKNOWN"},{no:1,name:"CAMERA"},{no:2,name:"MICROPHONE"},{no:3,name:"SCREEN_SHARE"},{no:4,name:"SCREEN_SHARE_AUDIO"}]),Fn=x.makeEnum("livekit.VideoQuality",[{no:0,name:"LOW"},{no:1,name:"MEDIUM"},{no:2,name:"HIGH"},{no:3,name:"OFF"}]),_i=x.makeEnum("livekit.ConnectionQuality",[{no:0,name:"POOR"},{no:1,name:"GOOD"},{no:2,name:"EXCELLENT"},{no:3,name:"LOST"}]),Si=x.makeEnum("livekit.ClientConfigSetting",[{no:0,name:"UNSET"},{no:1,name:"DISABLED"},{no:2,name:"ENABLED"}]),st=x.makeEnum("livekit.DisconnectReason",[{no:0,name:"UNKNOWN_REASON"},{no:1,name:"CLIENT_INITIATED"},{no:2,name:"DUPLICATE_IDENTITY"},{no:3,name:"SERVER_SHUTDOWN"},{no:4,name:"PARTICIPANT_REMOVED"},{no:5,name:"ROOM_DELETED"},{no:6,name:"STATE_MISMATCH"},{no:7,name:"JOIN_FAILURE"},{no:8,name:"MIGRATION"},{no:9,name:"SIGNAL_CLOSE"},{no:10,name:"ROOM_CLOSED"},{no:11,name:"USER_UNAVAILABLE"},{no:12,name:"USER_REJECTED"},{no:13,name:"SIP_TRUNK_FAILURE"},{no:14,name:"CONNECTION_TIMEOUT"},{no:15,name:"MEDIA_FAILURE"}]),Bn=x.makeEnum("livekit.ReconnectReason",[{no:0,name:"RR_UNKNOWN"},{no:1,name:"RR_SIGNAL_DISCONNECTED"},{no:2,name:"RR_PUBLISHER_FAILED"},{no:3,name:"RR_SUBSCRIBER_FAILED"},{no:4,name:"RR_SWITCH_CANDIDATE"}]),$m=x.makeEnum("livekit.SubscriptionError",[{no:0,name:"SE_UNKNOWN"},{no:1,name:"SE_CODEC_UNSUPPORTED"},{no:2,name:"SE_TRACK_NOTFOUND"}]),Re=x.makeEnum("livekit.AudioTrackFeature",[{no:0,name:"TF_STEREO"},{no:1,name:"TF_NO_DTX"},{no:2,name:"TF_AUTO_GAIN_CONTROL"},{no:3,name:"TF_ECHO_CANCELLATION"},{no:4,name:"TF_NOISE_SUPPRESSION"},{no:5,name:"TF_ENHANCED_NOISE_CANCELLATION"},{no:6,name:"TF_PRECONNECT_BUFFER"}]),ur=x.makeMessageType("livekit.Room",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"empty_timeout",kind:"scalar",T:13},{no:14,name:"departure_timeout",kind:"scalar",T:13},{no:4,name:"max_participants",kind:"scalar",T:13},{no:5,name:"creation_time",kind:"scalar",T:3},{no:15,name:"creation_time_ms",kind:"scalar",T:3},{no:6,name:"turn_password",kind:"scalar",T:9},{no:7,name:"enabled_codecs",kind:"message",T:hr,repeated:!0},{no:8,name:"metadata",kind:"scalar",T:9},{no:9,name:"num_participants",kind:"scalar",T:13},{no:11,name:"num_publishers",kind:"scalar",T:13},{no:10,name:"active_recording",kind:"scalar",T:8},{no:13,name:"version",kind:"message",T:Xl}]),hr=x.makeMessageType("livekit.Codec",()=>[{no:1,name:"mime",kind:"scalar",T:9},{no:2,name:"fmtp_line",kind:"scalar",T:9}]),zm=x.makeMessageType("livekit.ParticipantPermission",()=>[{no:1,name:"can_subscribe",kind:"scalar",T:8},{no:2,name:"can_publish",kind:"scalar",T:8},{no:3,name:"can_publish_data",kind:"scalar",T:8},{no:9,name:"can_publish_sources",kind:"enum",T:x.getEnumType(Se),repeated:!0},{no:7,name:"hidden",kind:"scalar",T:8},{no:8,name:"recorder",kind:"scalar",T:8},{no:10,name:"can_update_metadata",kind:"scalar",T:8},{no:11,name:"agent",kind:"scalar",T:8},{no:12,name:"can_subscribe_metrics",kind:"scalar",T:8}]),bn=x.makeMessageType("livekit.ParticipantInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"identity",kind:"scalar",T:9},{no:3,name:"state",kind:"enum",T:x.getEnumType(jn)},{no:4,name:"tracks",kind:"message",T:Vn,repeated:!0},{no:5,name:"metadata",kind:"scalar",T:9},{no:6,name:"joined_at",kind:"scalar",T:3},{no:17,name:"joined_at_ms",kind:"scalar",T:3},{no:9,name:"name",kind:"scalar",T:9},{no:10,name:"version",kind:"scalar",T:13},{no:11,name:"permission",kind:"message",T:zm},{no:12,name:"region",kind:"scalar",T:9},{no:13,name:"is_publisher",kind:"scalar",T:8},{no:14,name:"kind",kind:"enum",T:x.getEnumType(xi)},{no:15,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:16,name:"disconnect_reason",kind:"enum",T:x.getEnumType(st)},{no:18,name:"kind_details",kind:"enum",T:x.getEnumType(Wm),repeated:!0}]),jn=x.makeEnum("livekit.ParticipantInfo.State",[{no:0,name:"JOINING"},{no:1,name:"JOINED"},{no:2,name:"ACTIVE"},{no:3,name:"DISCONNECTED"}]),xi=x.makeEnum("livekit.ParticipantInfo.Kind",[{no:0,name:"STANDARD"},{no:1,name:"INGRESS"},{no:2,name:"EGRESS"},{no:3,name:"SIP"},{no:4,name:"AGENT"}]),Wm=x.makeEnum("livekit.ParticipantInfo.KindDetail",[{no:0,name:"CLOUD_AGENT"},{no:1,name:"FORWARDED"}]),Xe=x.makeEnum("livekit.Encryption.Type",[{no:0,name:"NONE"},{no:1,name:"GCM"},{no:2,name:"CUSTOM"}]),Hm=x.makeMessageType("livekit.SimulcastCodecInfo",()=>[{no:1,name:"mime_type",kind:"scalar",T:9},{no:2,name:"mid",kind:"scalar",T:9},{no:3,name:"cid",kind:"scalar",T:9},{no:4,name:"layers",kind:"message",T:yn,repeated:!0}]),Vn=x.makeMessageType("livekit.TrackInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"type",kind:"enum",T:x.getEnumType(rt)},{no:3,name:"name",kind:"scalar",T:9},{no:4,name:"muted",kind:"scalar",T:8},{no:5,name:"width",kind:"scalar",T:13},{no:6,name:"height",kind:"scalar",T:13},{no:7,name:"simulcast",kind:"scalar",T:8},{no:8,name:"disable_dtx",kind:"scalar",T:8},{no:9,name:"source",kind:"enum",T:x.getEnumType(Se)},{no:10,name:"layers",kind:"message",T:yn,repeated:!0},{no:11,name:"mime_type",kind:"scalar",T:9},{no:12,name:"mid",kind:"scalar",T:9},{no:13,name:"codecs",kind:"message",T:Hm,repeated:!0},{no:14,name:"stereo",kind:"scalar",T:8},{no:15,name:"disable_red",kind:"scalar",T:8},{no:16,name:"encryption",kind:"enum",T:x.getEnumType(Xe)},{no:17,name:"stream",kind:"scalar",T:9},{no:18,name:"version",kind:"message",T:Xl},{no:19,name:"audio_features",kind:"enum",T:x.getEnumType(Re),repeated:!0},{no:20,name:"backup_codec_policy",kind:"enum",T:x.getEnumType(Ul)}]),yn=x.makeMessageType("livekit.VideoLayer",()=>[{no:1,name:"quality",kind:"enum",T:x.getEnumType(Fn)},{no:2,name:"width",kind:"scalar",T:13},{no:3,name:"height",kind:"scalar",T:13},{no:4,name:"bitrate",kind:"scalar",T:13},{no:5,name:"ssrc",kind:"scalar",T:13}]),je=x.makeMessageType("livekit.DataPacket",()=>[{no:1,name:"kind",kind:"enum",T:x.getEnumType(K)},{no:4,name:"participant_identity",kind:"scalar",T:9},{no:5,name:"destination_identities",kind:"scalar",T:9,repeated:!0},{no:2,name:"user",kind:"message",T:Bl,oneof:"value"},{no:3,name:"speaker",kind:"message",T:Km,oneof:"value"},{no:6,name:"sip_dtmf",kind:"message",T:jl,oneof:"value"},{no:7,name:"transcription",kind:"message",T:Gm,oneof:"value"},{no:8,name:"metrics",kind:"message",T:Bm,oneof:"value"},{no:9,name:"chat_message",kind:"message",T:qs,oneof:"value"},{no:10,name:"rpc_request",kind:"message",T:Vl,oneof:"value"},{no:11,name:"rpc_ack",kind:"message",T:ql,oneof:"value"},{no:12,name:"rpc_response",kind:"message",T:$l,oneof:"value"},{no:13,name:"stream_header",kind:"message",T:zs,oneof:"value"},{no:14,name:"stream_chunk",kind:"message",T:Ws,oneof:"value"},{no:15,name:"stream_trailer",kind:"message",T:Hs,oneof:"value"},{no:16,name:"sequence",kind:"scalar",T:13},{no:17,name:"participant_sid",kind:"scalar",T:9}]),K=x.makeEnum("livekit.DataPacket.Kind",[{no:0,name:"RELIABLE"},{no:1,name:"LOSSY"}]),Km=x.makeMessageType("livekit.ActiveSpeakerUpdate",()=>[{no:1,name:"speakers",kind:"message",T:Fl,repeated:!0}]),Fl=x.makeMessageType("livekit.SpeakerInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"level",kind:"scalar",T:2},{no:3,name:"active",kind:"scalar",T:8}]),Bl=x.makeMessageType("livekit.UserPacket",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:5,name:"participant_identity",kind:"scalar",T:9},{no:2,name:"payload",kind:"scalar",T:12},{no:3,name:"destination_sids",kind:"scalar",T:9,repeated:!0},{no:6,name:"destination_identities",kind:"scalar",T:9,repeated:!0},{no:4,name:"topic",kind:"scalar",T:9,opt:!0},{no:8,name:"id",kind:"scalar",T:9,opt:!0},{no:9,name:"start_time",kind:"scalar",T:4,opt:!0},{no:10,name:"end_time",kind:"scalar",T:4,opt:!0},{no:11,name:"nonce",kind:"scalar",T:12}]),jl=x.makeMessageType("livekit.SipDTMF",()=>[{no:3,name:"code",kind:"scalar",T:13},{no:4,name:"digit",kind:"scalar",T:9}]),Gm=x.makeMessageType("livekit.Transcription",()=>[{no:2,name:"transcribed_participant_identity",kind:"scalar",T:9},{no:3,name:"track_id",kind:"scalar",T:9},{no:4,name:"segments",kind:"message",T:Jm,repeated:!0}]),Jm=x.makeMessageType("livekit.TranscriptionSegment",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"text",kind:"scalar",T:9},{no:3,name:"start_time",kind:"scalar",T:4},{no:4,name:"end_time",kind:"scalar",T:4},{no:5,name:"final",kind:"scalar",T:8},{no:6,name:"language",kind:"scalar",T:9}]),qs=x.makeMessageType("livekit.ChatMessage",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"timestamp",kind:"scalar",T:3},{no:3,name:"edit_timestamp",kind:"scalar",T:3,opt:!0},{no:4,name:"message",kind:"scalar",T:9},{no:5,name:"deleted",kind:"scalar",T:8},{no:6,name:"generated",kind:"scalar",T:8}]),Vl=x.makeMessageType("livekit.RpcRequest",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"method",kind:"scalar",T:9},{no:3,name:"payload",kind:"scalar",T:9},{no:4,name:"response_timeout_ms",kind:"scalar",T:13},{no:5,name:"version",kind:"scalar",T:13}]),ql=x.makeMessageType("livekit.RpcAck",()=>[{no:1,name:"request_id",kind:"scalar",T:9}]),$l=x.makeMessageType("livekit.RpcResponse",()=>[{no:1,name:"request_id",kind:"scalar",T:9},{no:2,name:"payload",kind:"scalar",T:9,oneof:"value"},{no:3,name:"error",kind:"message",T:zl,oneof:"value"}]),zl=x.makeMessageType("livekit.RpcError",()=>[{no:1,name:"code",kind:"scalar",T:13},{no:2,name:"message",kind:"scalar",T:9},{no:3,name:"data",kind:"scalar",T:9}]),Wl=x.makeMessageType("livekit.ParticipantTracks",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sids",kind:"scalar",T:9,repeated:!0}]),Hl=x.makeMessageType("livekit.ServerInfo",()=>[{no:1,name:"edition",kind:"enum",T:x.getEnumType(Kl)},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"protocol",kind:"scalar",T:5},{no:4,name:"region",kind:"scalar",T:9},{no:5,name:"node_id",kind:"scalar",T:9},{no:6,name:"debug_info",kind:"scalar",T:9},{no:7,name:"agent_protocol",kind:"scalar",T:5}]),Kl=x.makeEnum("livekit.ServerInfo.Edition",[{no:0,name:"Standard"},{no:1,name:"Cloud"}]),Ym=x.makeMessageType("livekit.ClientInfo",()=>[{no:1,name:"sdk",kind:"enum",T:x.getEnumType(Gl)},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"protocol",kind:"scalar",T:5},{no:4,name:"os",kind:"scalar",T:9},{no:5,name:"os_version",kind:"scalar",T:9},{no:6,name:"device_model",kind:"scalar",T:9},{no:7,name:"browser",kind:"scalar",T:9},{no:8,name:"browser_version",kind:"scalar",T:9},{no:9,name:"address",kind:"scalar",T:9},{no:10,name:"network",kind:"scalar",T:9},{no:11,name:"other_sdks",kind:"scalar",T:9}]),Gl=x.makeEnum("livekit.ClientInfo.SDK",[{no:0,name:"UNKNOWN"},{no:1,name:"JS"},{no:2,name:"SWIFT"},{no:3,name:"ANDROID"},{no:4,name:"FLUTTER"},{no:5,name:"GO"},{no:6,name:"UNITY"},{no:7,name:"REACT_NATIVE"},{no:8,name:"RUST"},{no:9,name:"PYTHON"},{no:10,name:"CPP"},{no:11,name:"UNITY_WEB"},{no:12,name:"NODE"},{no:13,name:"UNREAL"}]),Jl=x.makeMessageType("livekit.ClientConfiguration",()=>[{no:1,name:"video",kind:"message",T:Yl},{no:2,name:"screen",kind:"message",T:Yl},{no:3,name:"resume_connection",kind:"enum",T:x.getEnumType(Si)},{no:4,name:"disabled_codecs",kind:"message",T:Xm},{no:5,name:"force_relay",kind:"enum",T:x.getEnumType(Si)}]),Yl=x.makeMessageType("livekit.VideoConfiguration",()=>[{no:1,name:"hardware_encoder",kind:"enum",T:x.getEnumType(Si)}]),Xm=x.makeMessageType("livekit.DisabledCodecs",()=>[{no:1,name:"codecs",kind:"message",T:hr,repeated:!0},{no:2,name:"publish",kind:"message",T:hr,repeated:!0}]),Xl=x.makeMessageType("livekit.TimedVersion",()=>[{no:1,name:"unix_micro",kind:"scalar",T:3},{no:2,name:"ticks",kind:"scalar",T:5}]),$s=x.makeEnum("livekit.DataStream.OperationType",[{no:0,name:"CREATE"},{no:1,name:"UPDATE"},{no:2,name:"DELETE"},{no:3,name:"REACTION"}]),Ql=x.makeMessageType("livekit.DataStream.TextHeader",()=>[{no:1,name:"operation_type",kind:"enum",T:x.getEnumType($s)},{no:2,name:"version",kind:"scalar",T:5},{no:3,name:"reply_to_stream_id",kind:"scalar",T:9},{no:4,name:"attached_stream_ids",kind:"scalar",T:9,repeated:!0},{no:5,name:"generated",kind:"scalar",T:8}],{localName:"DataStream_TextHeader"}),Zl=x.makeMessageType("livekit.DataStream.ByteHeader",()=>[{no:1,name:"name",kind:"scalar",T:9}],{localName:"DataStream_ByteHeader"}),zs=x.makeMessageType("livekit.DataStream.Header",()=>[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"timestamp",kind:"scalar",T:3},{no:3,name:"topic",kind:"scalar",T:9},{no:4,name:"mime_type",kind:"scalar",T:9},{no:5,name:"total_length",kind:"scalar",T:4,opt:!0},{no:7,name:"encryption_type",kind:"enum",T:x.getEnumType(Xe)},{no:8,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:9,name:"text_header",kind:"message",T:Ql,oneof:"content_header"},{no:10,name:"byte_header",kind:"message",T:Zl,oneof:"content_header"}],{localName:"DataStream_Header"}),Ws=x.makeMessageType("livekit.DataStream.Chunk",()=>[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"chunk_index",kind:"scalar",T:4},{no:3,name:"content",kind:"scalar",T:12},{no:4,name:"version",kind:"scalar",T:5},{no:5,name:"iv",kind:"scalar",T:12,opt:!0}],{localName:"DataStream_Chunk"}),Hs=x.makeMessageType("livekit.DataStream.Trailer",()=>[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"reason",kind:"scalar",T:9},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}}],{localName:"DataStream_Trailer"}),ot=x.makeEnum("livekit.SignalTarget",[{no:0,name:"PUBLISHER"},{no:1,name:"SUBSCRIBER"}]),Ks=x.makeEnum("livekit.StreamState",[{no:0,name:"ACTIVE"},{no:1,name:"PAUSED"}]),Qm=x.makeEnum("livekit.CandidateProtocol",[{no:0,name:"UDP"},{no:1,name:"TCP"},{no:2,name:"TLS"}]),Zm=x.makeMessageType("livekit.SignalRequest",()=>[{no:1,name:"offer",kind:"message",T:kn,oneof:"message"},{no:2,name:"answer",kind:"message",T:kn,oneof:"message"},{no:3,name:"trickle",kind:"message",T:Ys,oneof:"message"},{no:4,name:"add_track",kind:"message",T:Js,oneof:"message"},{no:5,name:"mute",kind:"message",T:Xs,oneof:"message"},{no:6,name:"subscription",kind:"message",T:fr,oneof:"message"},{no:7,name:"track_setting",kind:"message",T:nd,oneof:"message"},{no:8,name:"leave",kind:"message",T:pr,oneof:"message"},{no:10,name:"update_layers",kind:"message",T:rd,oneof:"message"},{no:11,name:"subscription_permission",kind:"message",T:cd,oneof:"message"},{no:12,name:"sync_state",kind:"message",T:ld,oneof:"message"},{no:13,name:"simulate",kind:"message",T:yt,oneof:"message"},{no:14,name:"ping",kind:"scalar",T:3,oneof:"message"},{no:15,name:"update_metadata",kind:"message",T:sd,oneof:"message"},{no:16,name:"ping_req",kind:"message",T:hd,oneof:"message"},{no:17,name:"update_audio_track",kind:"message",T:id,oneof:"message"},{no:18,name:"update_video_track",kind:"message",T:ig,oneof:"message"}]),ed=x.makeMessageType("livekit.SignalResponse",()=>[{no:1,name:"join",kind:"message",T:eg,oneof:"message"},{no:2,name:"answer",kind:"message",T:kn,oneof:"message"},{no:3,name:"offer",kind:"message",T:kn,oneof:"message"},{no:4,name:"trickle",kind:"message",T:Ys,oneof:"message"},{no:5,name:"update",kind:"message",T:ng,oneof:"message"},{no:6,name:"track_published",kind:"message",T:Qs,oneof:"message"},{no:8,name:"leave",kind:"message",T:pr,oneof:"message"},{no:9,name:"mute",kind:"message",T:Xs,oneof:"message"},{no:10,name:"speakers_changed",kind:"message",T:rg,oneof:"message"},{no:11,name:"room_update",kind:"message",T:sg,oneof:"message"},{no:12,name:"connection_quality",kind:"message",T:ag,oneof:"message"},{no:13,name:"stream_state_update",kind:"message",T:lg,oneof:"message"},{no:14,name:"subscribed_quality_update",kind:"message",T:ug,oneof:"message"},{no:15,name:"subscription_permission_update",kind:"message",T:hg,oneof:"message"},{no:16,name:"refresh_token",kind:"scalar",T:9,oneof:"message"},{no:17,name:"track_unpublished",kind:"message",T:tg,oneof:"message"},{no:18,name:"pong",kind:"scalar",T:3,oneof:"message"},{no:19,name:"reconnect",kind:"message",T:td,oneof:"message"},{no:20,name:"pong_resp",kind:"message",T:pg,oneof:"message"},{no:21,name:"subscription_response",kind:"message",T:vg,oneof:"message"},{no:22,name:"request_response",kind:"message",T:bg,oneof:"message"},{no:23,name:"track_subscribed",kind:"message",T:yg,oneof:"message"},{no:24,name:"room_moved",kind:"message",T:fg,oneof:"message"}]),Gs=x.makeMessageType("livekit.SimulcastCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"cid",kind:"scalar",T:9}]),Js=x.makeMessageType("livekit.AddTrackRequest",()=>[{no:1,name:"cid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"type",kind:"enum",T:x.getEnumType(rt)},{no:4,name:"width",kind:"scalar",T:13},{no:5,name:"height",kind:"scalar",T:13},{no:6,name:"muted",kind:"scalar",T:8},{no:7,name:"disable_dtx",kind:"scalar",T:8},{no:8,name:"source",kind:"enum",T:x.getEnumType(Se)},{no:9,name:"layers",kind:"message",T:yn,repeated:!0},{no:10,name:"simulcast_codecs",kind:"message",T:Gs,repeated:!0},{no:11,name:"sid",kind:"scalar",T:9},{no:12,name:"stereo",kind:"scalar",T:8},{no:13,name:"disable_red",kind:"scalar",T:8},{no:14,name:"encryption",kind:"enum",T:x.getEnumType(Xe)},{no:15,name:"stream",kind:"scalar",T:9},{no:16,name:"backup_codec_policy",kind:"enum",T:x.getEnumType(Ul)},{no:17,name:"audio_features",kind:"enum",T:x.getEnumType(Re),repeated:!0}]),Ys=x.makeMessageType("livekit.TrickleRequest",()=>[{no:1,name:"candidateInit",kind:"scalar",T:9},{no:2,name:"target",kind:"enum",T:x.getEnumType(ot)},{no:3,name:"final",kind:"scalar",T:8}]),Xs=x.makeMessageType("livekit.MuteTrackRequest",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"muted",kind:"scalar",T:8}]),eg=x.makeMessageType("livekit.JoinResponse",()=>[{no:1,name:"room",kind:"message",T:ur},{no:2,name:"participant",kind:"message",T:bn},{no:3,name:"other_participants",kind:"message",T:bn,repeated:!0},{no:4,name:"server_version",kind:"scalar",T:9},{no:5,name:"ice_servers",kind:"message",T:od,repeated:!0},{no:6,name:"subscriber_primary",kind:"scalar",T:8},{no:7,name:"alternative_url",kind:"scalar",T:9},{no:8,name:"client_configuration",kind:"message",T:Jl},{no:9,name:"server_region",kind:"scalar",T:9},{no:10,name:"ping_timeout",kind:"scalar",T:5},{no:11,name:"ping_interval",kind:"scalar",T:5},{no:12,name:"server_info",kind:"message",T:Hl},{no:13,name:"sif_trailer",kind:"scalar",T:12},{no:14,name:"enabled_publish_codecs",kind:"message",T:hr,repeated:!0},{no:15,name:"fast_publish",kind:"scalar",T:8}]),td=x.makeMessageType("livekit.ReconnectResponse",()=>[{no:1,name:"ice_servers",kind:"message",T:od,repeated:!0},{no:2,name:"client_configuration",kind:"message",T:Jl},{no:3,name:"server_info",kind:"message",T:Hl},{no:4,name:"last_message_seq",kind:"scalar",T:13}]),Qs=x.makeMessageType("livekit.TrackPublishedResponse",()=>[{no:1,name:"cid",kind:"scalar",T:9},{no:2,name:"track",kind:"message",T:Vn}]),tg=x.makeMessageType("livekit.TrackUnpublishedResponse",()=>[{no:1,name:"track_sid",kind:"scalar",T:9}]),kn=x.makeMessageType("livekit.SessionDescription",()=>[{no:1,name:"type",kind:"scalar",T:9},{no:2,name:"sdp",kind:"scalar",T:9}]),ng=x.makeMessageType("livekit.ParticipantUpdate",()=>[{no:1,name:"participants",kind:"message",T:bn,repeated:!0}]),fr=x.makeMessageType("livekit.UpdateSubscription",()=>[{no:1,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:2,name:"subscribe",kind:"scalar",T:8},{no:3,name:"participant_tracks",kind:"message",T:Wl,repeated:!0}]),nd=x.makeMessageType("livekit.UpdateTrackSettings",()=>[{no:1,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:3,name:"disabled",kind:"scalar",T:8},{no:4,name:"quality",kind:"enum",T:x.getEnumType(Fn)},{no:5,name:"width",kind:"scalar",T:13},{no:6,name:"height",kind:"scalar",T:13},{no:7,name:"fps",kind:"scalar",T:13},{no:8,name:"priority",kind:"scalar",T:13}]),id=x.makeMessageType("livekit.UpdateLocalAudioTrack",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"features",kind:"enum",T:x.getEnumType(Re),repeated:!0}]),ig=x.makeMessageType("livekit.UpdateLocalVideoTrack",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"width",kind:"scalar",T:13},{no:3,name:"height",kind:"scalar",T:13}]),pr=x.makeMessageType("livekit.LeaveRequest",()=>[{no:1,name:"can_reconnect",kind:"scalar",T:8},{no:2,name:"reason",kind:"enum",T:x.getEnumType(st)},{no:3,name:"action",kind:"enum",T:x.getEnumType(qn)},{no:4,name:"regions",kind:"message",T:mg}]),qn=x.makeEnum("livekit.LeaveRequest.Action",[{no:0,name:"DISCONNECT"},{no:1,name:"RESUME"},{no:2,name:"RECONNECT"}]),rd=x.makeMessageType("livekit.UpdateVideoLayers",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"layers",kind:"message",T:yn,repeated:!0}]),sd=x.makeMessageType("livekit.UpdateParticipantMetadata",()=>[{no:1,name:"metadata",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:4,name:"request_id",kind:"scalar",T:13}]),od=x.makeMessageType("livekit.ICEServer",()=>[{no:1,name:"urls",kind:"scalar",T:9,repeated:!0},{no:2,name:"username",kind:"scalar",T:9},{no:3,name:"credential",kind:"scalar",T:9}]),rg=x.makeMessageType("livekit.SpeakersChanged",()=>[{no:1,name:"speakers",kind:"message",T:Fl,repeated:!0}]),sg=x.makeMessageType("livekit.RoomUpdate",()=>[{no:1,name:"room",kind:"message",T:ur}]),og=x.makeMessageType("livekit.ConnectionQualityInfo",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"quality",kind:"enum",T:x.getEnumType(_i)},{no:3,name:"score",kind:"scalar",T:2}]),ag=x.makeMessageType("livekit.ConnectionQualityUpdate",()=>[{no:1,name:"updates",kind:"message",T:og,repeated:!0}]),cg=x.makeMessageType("livekit.StreamStateInfo",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sid",kind:"scalar",T:9},{no:3,name:"state",kind:"enum",T:x.getEnumType(Ks)}]),lg=x.makeMessageType("livekit.StreamStateUpdate",()=>[{no:1,name:"stream_states",kind:"message",T:cg,repeated:!0}]),Zs=x.makeMessageType("livekit.SubscribedQuality",()=>[{no:1,name:"quality",kind:"enum",T:x.getEnumType(Fn)},{no:2,name:"enabled",kind:"scalar",T:8}]),dg=x.makeMessageType("livekit.SubscribedCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"qualities",kind:"message",T:Zs,repeated:!0}]),ug=x.makeMessageType("livekit.SubscribedQualityUpdate",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"subscribed_qualities",kind:"message",T:Zs,repeated:!0},{no:3,name:"subscribed_codecs",kind:"message",T:dg,repeated:!0}]),ad=x.makeMessageType("livekit.TrackPermission",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"all_tracks",kind:"scalar",T:8},{no:3,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:4,name:"participant_identity",kind:"scalar",T:9}]),cd=x.makeMessageType("livekit.SubscriptionPermission",()=>[{no:1,name:"all_participants",kind:"scalar",T:8},{no:2,name:"track_permissions",kind:"message",T:ad,repeated:!0}]),hg=x.makeMessageType("livekit.SubscriptionPermissionUpdate",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sid",kind:"scalar",T:9},{no:3,name:"allowed",kind:"scalar",T:8}]),fg=x.makeMessageType("livekit.RoomMovedResponse",()=>[{no:1,name:"room",kind:"message",T:ur},{no:2,name:"token",kind:"scalar",T:9},{no:3,name:"participant",kind:"message",T:bn},{no:4,name:"other_participants",kind:"message",T:bn,repeated:!0}]),ld=x.makeMessageType("livekit.SyncState",()=>[{no:1,name:"answer",kind:"message",T:kn},{no:2,name:"subscription",kind:"message",T:fr},{no:3,name:"publish_tracks",kind:"message",T:Qs,repeated:!0},{no:4,name:"data_channels",kind:"message",T:ud,repeated:!0},{no:5,name:"offer",kind:"message",T:kn},{no:6,name:"track_sids_disabled",kind:"scalar",T:9,repeated:!0},{no:7,name:"datachannel_receive_states",kind:"message",T:dd,repeated:!0}]),dd=x.makeMessageType("livekit.DataChannelReceiveState",()=>[{no:1,name:"publisher_sid",kind:"scalar",T:9},{no:2,name:"last_seq",kind:"scalar",T:13}]),ud=x.makeMessageType("livekit.DataChannelInfo",()=>[{no:1,name:"label",kind:"scalar",T:9},{no:2,name:"id",kind:"scalar",T:13},{no:3,name:"target",kind:"enum",T:x.getEnumType(ot)}]),yt=x.makeMessageType("livekit.SimulateScenario",()=>[{no:1,name:"speaker_update",kind:"scalar",T:5,oneof:"scenario"},{no:2,name:"node_failure",kind:"scalar",T:8,oneof:"scenario"},{no:3,name:"migration",kind:"scalar",T:8,oneof:"scenario"},{no:4,name:"server_leave",kind:"scalar",T:8,oneof:"scenario"},{no:5,name:"switch_candidate_protocol",kind:"enum",T:x.getEnumType(Qm),oneof:"scenario"},{no:6,name:"subscriber_bandwidth",kind:"scalar",T:3,oneof:"scenario"},{no:7,name:"disconnect_signal_on_resume",kind:"scalar",T:8,oneof:"scenario"},{no:8,name:"disconnect_signal_on_resume_no_messages",kind:"scalar",T:8,oneof:"scenario"},{no:9,name:"leave_request_full_reconnect",kind:"scalar",T:8,oneof:"scenario"}]),hd=x.makeMessageType("livekit.Ping",()=>[{no:1,name:"timestamp",kind:"scalar",T:3},{no:2,name:"rtt",kind:"scalar",T:3}]),pg=x.makeMessageType("livekit.Pong",()=>[{no:1,name:"last_ping_timestamp",kind:"scalar",T:3},{no:2,name:"timestamp",kind:"scalar",T:3}]),mg=x.makeMessageType("livekit.RegionSettings",()=>[{no:1,name:"regions",kind:"message",T:gg,repeated:!0}]),gg=x.makeMessageType("livekit.RegionInfo",()=>[{no:1,name:"region",kind:"scalar",T:9},{no:2,name:"url",kind:"scalar",T:9},{no:3,name:"distance",kind:"scalar",T:3}]),vg=x.makeMessageType("livekit.SubscriptionResponse",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"err",kind:"enum",T:x.getEnumType($m)}]),bg=x.makeMessageType("livekit.RequestResponse",()=>[{no:1,name:"request_id",kind:"scalar",T:13},{no:2,name:"reason",kind:"enum",T:x.getEnumType(eo)},{no:3,name:"message",kind:"scalar",T:9}]),eo=x.makeEnum("livekit.RequestResponse.Reason",[{no:0,name:"OK"},{no:1,name:"NOT_FOUND"},{no:2,name:"NOT_ALLOWED"},{no:3,name:"LIMIT_EXCEEDED"}]),yg=x.makeMessageType("livekit.TrackSubscribed",()=>[{no:1,name:"track_sid",kind:"scalar",T:9}]);function kg(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mr={exports:{}},Cg=mr.exports,fd;function wg(){return fd||(fd=1,function(t){(function(e,n){t.exports?t.exports=n():e.log=n()})(Cg,function(){var e=function(){},n="undefined",i=typeof window!==n&&typeof window.navigator!==n&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],s={},o=null;function a(p,g){var b=p[g];if(typeof b.bind=="function")return b.bind(p);try{return Function.prototype.bind.call(b,p)}catch{return function(){return Function.prototype.apply.apply(b,[p,arguments])}}}function c(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(p){return p==="debug"&&(p="log"),typeof console===n?!1:p==="trace"&&i?c:console[p]!==void 0?a(console,p):console.log!==void 0?a(console,"log"):e}function d(){for(var p=this.getLevel(),g=0;g<r.length;g++){var b=r[g];this[b]=g<p?e:this.methodFactory(b,p,this.name)}if(this.log=this.debug,typeof console===n&&p<this.levels.SILENT)return"No console available for logging"}function u(p){return function(){typeof console!==n&&(d.call(this),this[p].apply(this,arguments))}}function h(p,g,b){return l(p)||u.apply(this,arguments)}function f(p,g){var b=this,C,w,k,T="loglevel";typeof p=="string"?T+=":"+p:typeof p=="symbol"&&(T=void 0);function S(M){var U=(r[M]||"silent").toUpperCase();if(!(typeof window===n||!T)){try{window.localStorage[T]=U;return}catch{}try{window.document.cookie=encodeURIComponent(T)+"="+U+";"}catch{}}}function _(){var M;if(!(typeof window===n||!T)){try{M=window.localStorage[T]}catch{}if(typeof M===n)try{var U=window.document.cookie,q=encodeURIComponent(T),$=U.indexOf(q+"=");$!==-1&&(M=/^([^;]+)/.exec(U.slice($+q.length+1))[1])}catch{}return b.levels[M]===void 0&&(M=void 0),M}}function R(){if(!(typeof window===n||!T)){try{window.localStorage.removeItem(T)}catch{}try{window.document.cookie=encodeURIComponent(T)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function O(M){var U=M;if(typeof U=="string"&&b.levels[U.toUpperCase()]!==void 0&&(U=b.levels[U.toUpperCase()]),typeof U=="number"&&U>=0&&U<=b.levels.SILENT)return U;throw new TypeError("log.setLevel() called with invalid level: "+M)}b.name=p,b.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},b.methodFactory=g||h,b.getLevel=function(){return k??w??C},b.setLevel=function(M,U){return k=O(M),U!==!1&&S(k),d.call(b)},b.setDefaultLevel=function(M){w=O(M),_()||b.setLevel(M,!1)},b.resetLevel=function(){k=null,R(),d.call(b)},b.enableAll=function(M){b.setLevel(b.levels.TRACE,M)},b.disableAll=function(M){b.setLevel(b.levels.SILENT,M)},b.rebuild=function(){if(o!==b&&(C=O(o.getLevel())),d.call(b),o===b)for(var M in s)s[M].rebuild()},C=O(o?o.getLevel():"WARN");var D=_();D!=null&&(k=O(D)),d.call(b)}o=new f,o.getLogger=function(g){if(typeof g!="symbol"&&typeof g!="string"||g==="")throw new TypeError("You must supply a name when creating a logger.");var b=s[g];return b||(b=s[g]=new f(g,o.methodFactory)),b};var m=typeof window!==n?window.log:void 0;return o.noConflict=function(){return typeof window!==n&&window.log===o&&(window.log=m),o},o.getLoggers=function(){return s},o.default=o,o})}(mr)),mr.exports}var gr=wg(),to;(function(t){t[t.trace=0]="trace",t[t.debug=1]="debug",t[t.info=2]="info",t[t.warn=3]="warn",t[t.error=4]="error",t[t.silent=5]="silent"})(to||(to={}));var at;(function(t){t.Default="livekit",t.Room="livekit-room",t.Participant="livekit-participant",t.Track="livekit-track",t.Publication="livekit-track-publication",t.Engine="livekit-engine",t.Signal="livekit-signal",t.PCManager="livekit-pc-manager",t.PCTransport="livekit-pc-transport",t.E2EE="lk-e2ee"})(at||(at={}));let X=gr.getLogger("livekit");Object.values(at).map(t=>gr.getLogger(t)),X.setDefaultLevel(to.info);function Nt(t){const e=gr.getLogger(t);return e.setDefaultLevel(X.getLevel()),e}const Tg=gr.getLogger("lk-e2ee"),Ei=7e3,_g=[0,300,2*2*300,3*3*300,4*4*300,Ei,Ei,Ei,Ei,Ei];class Sg{constructor(e){this._retryDelays=e!==void 0?[...e]:_g}nextRetryDelayInMs(e){if(e.retryCount>=this._retryDelays.length)return null;const n=this._retryDelays[e.retryCount];return e.retryCount<=1?n:n+Math.random()*1e3}}function xg(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(t);r<i.length;r++)e.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(t,i[r])&&(n[i[r]]=t[i[r]]);return n}function y(t,e,n,i){function r(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(d){try{l(i.next(d))}catch(u){o(u)}}function c(d){try{l(i.throw(d))}catch(u){o(u)}}function l(d){d.done?s(d.value):r(d.value).then(a,c)}l((i=i.apply(t,e||[])).next())})}function pd(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],i=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Lt(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof pd=="function"?pd(t):t[Symbol.iterator](),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(s){n[s]=t[s]&&function(o){return new Promise(function(a,c){o=t[s](o),r(a,c,o.done,o.value)})}}function r(s,o,a,c){Promise.resolve(c).then(function(l){s({value:l,done:a})},o)}}typeof SuppressedError=="function"&&SuppressedError;var vr={exports:{}},md;function Eg(){if(md)return vr.exports;md=1;var t=typeof Reflect=="object"?Reflect:null,e=t&&typeof t.apply=="function"?t.apply:function(T,S,_){return Function.prototype.apply.call(T,S,_)},n;t&&typeof t.ownKeys=="function"?n=t.ownKeys:Object.getOwnPropertySymbols?n=function(T){return Object.getOwnPropertyNames(T).concat(Object.getOwnPropertySymbols(T))}:n=function(T){return Object.getOwnPropertyNames(T)};function i(k){console&&console.warn&&console.warn(k)}var r=Number.isNaN||function(T){return T!==T};function s(){s.init.call(this)}vr.exports=s,vr.exports.once=b,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var o=10;function a(k){if(typeof k!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof k)}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(k){if(typeof k!="number"||k<0||r(k))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+k+".");o=k}}),s.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(T){if(typeof T!="number"||T<0||r(T))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+T+".");return this._maxListeners=T,this};function c(k){return k._maxListeners===void 0?s.defaultMaxListeners:k._maxListeners}s.prototype.getMaxListeners=function(){return c(this)},s.prototype.emit=function(T){for(var S=[],_=1;_<arguments.length;_++)S.push(arguments[_]);var R=T==="error",O=this._events;if(O!==void 0)R=R&&O.error===void 0;else if(!R)return!1;if(R){var D;if(S.length>0&&(D=S[0]),D instanceof Error)throw D;var M=new Error("Unhandled error."+(D?" ("+D.message+")":""));throw M.context=D,M}var U=O[T];if(U===void 0)return!1;if(typeof U=="function")e(U,this,S);else for(var q=U.length,$=m(U,q),_=0;_<q;++_)e($[_],this,S);return!0};function l(k,T,S,_){var R,O,D;if(a(S),O=k._events,O===void 0?(O=k._events=Object.create(null),k._eventsCount=0):(O.newListener!==void 0&&(k.emit("newListener",T,S.listener?S.listener:S),O=k._events),D=O[T]),D===void 0)D=O[T]=S,++k._eventsCount;else if(typeof D=="function"?D=O[T]=_?[S,D]:[D,S]:_?D.unshift(S):D.push(S),R=c(k),R>0&&D.length>R&&!D.warned){D.warned=!0;var M=new Error("Possible EventEmitter memory leak detected. "+D.length+" "+String(T)+" listeners added. Use emitter.setMaxListeners() to increase limit");M.name="MaxListenersExceededWarning",M.emitter=k,M.type=T,M.count=D.length,i(M)}return k}s.prototype.addListener=function(T,S){return l(this,T,S,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(T,S){return l(this,T,S,!0)};function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function u(k,T,S){var _={fired:!1,wrapFn:void 0,target:k,type:T,listener:S},R=d.bind(_);return R.listener=S,_.wrapFn=R,R}s.prototype.once=function(T,S){return a(S),this.on(T,u(this,T,S)),this},s.prototype.prependOnceListener=function(T,S){return a(S),this.prependListener(T,u(this,T,S)),this},s.prototype.removeListener=function(T,S){var _,R,O,D,M;if(a(S),R=this._events,R===void 0)return this;if(_=R[T],_===void 0)return this;if(_===S||_.listener===S)--this._eventsCount===0?this._events=Object.create(null):(delete R[T],R.removeListener&&this.emit("removeListener",T,_.listener||S));else if(typeof _!="function"){for(O=-1,D=_.length-1;D>=0;D--)if(_[D]===S||_[D].listener===S){M=_[D].listener,O=D;break}if(O<0)return this;O===0?_.shift():p(_,O),_.length===1&&(R[T]=_[0]),R.removeListener!==void 0&&this.emit("removeListener",T,M||S)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(T){var S,_,R;if(_=this._events,_===void 0)return this;if(_.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):_[T]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete _[T]),this;if(arguments.length===0){var O=Object.keys(_),D;for(R=0;R<O.length;++R)D=O[R],D!=="removeListener"&&this.removeAllListeners(D);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(S=_[T],typeof S=="function")this.removeListener(T,S);else if(S!==void 0)for(R=S.length-1;R>=0;R--)this.removeListener(T,S[R]);return this};function h(k,T,S){var _=k._events;if(_===void 0)return[];var R=_[T];return R===void 0?[]:typeof R=="function"?S?[R.listener||R]:[R]:S?g(R):m(R,R.length)}s.prototype.listeners=function(T){return h(this,T,!0)},s.prototype.rawListeners=function(T){return h(this,T,!1)},s.listenerCount=function(k,T){return typeof k.listenerCount=="function"?k.listenerCount(T):f.call(k,T)},s.prototype.listenerCount=f;function f(k){var T=this._events;if(T!==void 0){var S=T[k];if(typeof S=="function")return 1;if(S!==void 0)return S.length}return 0}s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]};function m(k,T){for(var S=new Array(T),_=0;_<T;++_)S[_]=k[_];return S}function p(k,T){for(;T+1<k.length;T++)k[T]=k[T+1];k.pop()}function g(k){for(var T=new Array(k.length),S=0;S<T.length;++S)T[S]=k[S].listener||k[S];return T}function b(k,T){return new Promise(function(S,_){function R(D){k.removeListener(T,O),_(D)}function O(){typeof k.removeListener=="function"&&k.removeListener("error",R),S([].slice.call(arguments))}w(k,T,O,{once:!0}),T!=="error"&&C(k,R,{once:!0})})}function C(k,T,S){typeof k.on=="function"&&w(k,"error",T,S)}function w(k,T,S,_){if(typeof k.on=="function")_.once?k.once(T,S):k.on(T,S);else if(typeof k.addEventListener=="function")k.addEventListener(T,function R(O){_.once&&k.removeEventListener(T,R),S(O)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof k)}return vr.exports}var kt=Eg();let gd=!0,vd=!0;function Pi(t,e,n){const i=t.match(e);return i&&i.length>=n&&parseFloat(i[n],10)}function Cn(t,e,n){if(!t.RTCPeerConnection)return;const i=t.RTCPeerConnection.prototype,r=i.addEventListener;i.addEventListener=function(o,a){if(o!==e)return r.apply(this,arguments);const c=l=>{const d=n(l);d&&(a.handleEvent?a.handleEvent(d):a(d))};return this._eventMap=this._eventMap||{},this._eventMap[e]||(this._eventMap[e]=new Map),this._eventMap[e].set(a,c),r.apply(this,[o,c])};const s=i.removeEventListener;i.removeEventListener=function(o,a){if(o!==e||!this._eventMap||!this._eventMap[e])return s.apply(this,arguments);if(!this._eventMap[e].has(a))return s.apply(this,arguments);const c=this._eventMap[e].get(a);return this._eventMap[e].delete(a),this._eventMap[e].size===0&&delete this._eventMap[e],Object.keys(this._eventMap).length===0&&delete this._eventMap,s.apply(this,[o,c])},Object.defineProperty(i,"on"+e,{get(){return this["_on"+e]},set(o){this["_on"+e]&&(this.removeEventListener(e,this["_on"+e]),delete this["_on"+e]),o&&this.addEventListener(e,this["_on"+e]=o)},enumerable:!0,configurable:!0})}function Pg(t){return typeof t!="boolean"?new Error("Argument type: "+typeof t+". Please use a boolean."):(gd=t,t?"adapter.js logging disabled":"adapter.js logging enabled")}function Rg(t){return typeof t!="boolean"?new Error("Argument type: "+typeof t+". Please use a boolean."):(vd=!t,"adapter.js deprecation warnings "+(t?"disabled":"enabled"))}function bd(){if(typeof window=="object"){if(gd)return;typeof console<"u"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function no(t,e){vd&&console.warn(t+" is deprecated, please use "+e+" instead.")}function Ig(t){const e={browser:null,version:null};if(typeof t>"u"||!t.navigator||!t.navigator.userAgent)return e.browser="Not a browser.",e;const{navigator:n}=t;if(n.userAgentData&&n.userAgentData.brands){const i=n.userAgentData.brands.find(r=>r.brand==="Chromium");if(i)return{browser:"chrome",version:parseInt(i.version,10)}}if(n.mozGetUserMedia)e.browser="firefox",e.version=parseInt(Pi(n.userAgent,/Firefox\/(\d+)\./,1));else if(n.webkitGetUserMedia||t.isSecureContext===!1&&t.webkitRTCPeerConnection)e.browser="chrome",e.version=parseInt(Pi(n.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else if(t.RTCPeerConnection&&n.userAgent.match(/AppleWebKit\/(\d+)\./))e.browser="safari",e.version=parseInt(Pi(n.userAgent,/AppleWebKit\/(\d+)\./,1)),e.supportsUnifiedPlan=t.RTCRtpTransceiver&&"currentDirection"in t.RTCRtpTransceiver.prototype,e._safariVersion=Pi(n.userAgent,/Version\/(\d+(\.?\d+))/,1);else return e.browser="Not a supported browser.",e;return e}function yd(t){return Object.prototype.toString.call(t)==="[object Object]"}function kd(t){return yd(t)?Object.keys(t).reduce(function(e,n){const i=yd(t[n]),r=i?kd(t[n]):t[n],s=i&&!Object.keys(r).length;return r===void 0||s?e:Object.assign(e,{[n]:r})},{}):t}function io(t,e,n){!e||n.has(e.id)||(n.set(e.id,e),Object.keys(e).forEach(i=>{i.endsWith("Id")?io(t,t.get(e[i]),n):i.endsWith("Ids")&&e[i].forEach(r=>{io(t,t.get(r),n)})}))}function Cd(t,e,n){const i=n?"outbound-rtp":"inbound-rtp",r=new Map;if(e===null)return r;const s=[];return t.forEach(o=>{o.type==="track"&&o.trackIdentifier===e.id&&s.push(o)}),s.forEach(o=>{t.forEach(a=>{a.type===i&&a.trackId===o.id&&io(t,a,r)})}),r}const wd=bd;function Td(t,e){const n=t&&t.navigator;if(!n.mediaDevices)return;const i=function(a){if(typeof a!="object"||a.mandatory||a.optional)return a;const c={};return Object.keys(a).forEach(l=>{if(l==="require"||l==="advanced"||l==="mediaSource")return;const d=typeof a[l]=="object"?a[l]:{ideal:a[l]};d.exact!==void 0&&typeof d.exact=="number"&&(d.min=d.max=d.exact);const u=function(h,f){return h?h+f.charAt(0).toUpperCase()+f.slice(1):f==="deviceId"?"sourceId":f};if(d.ideal!==void 0){c.optional=c.optional||[];let h={};typeof d.ideal=="number"?(h[u("min",l)]=d.ideal,c.optional.push(h),h={},h[u("max",l)]=d.ideal,c.optional.push(h)):(h[u("",l)]=d.ideal,c.optional.push(h))}d.exact!==void 0&&typeof d.exact!="number"?(c.mandatory=c.mandatory||{},c.mandatory[u("",l)]=d.exact):["min","max"].forEach(h=>{d[h]!==void 0&&(c.mandatory=c.mandatory||{},c.mandatory[u(h,l)]=d[h])})}),a.advanced&&(c.optional=(c.optional||[]).concat(a.advanced)),c},r=function(a,c){if(e.version>=61)return c(a);if(a=JSON.parse(JSON.stringify(a)),a&&typeof a.audio=="object"){const l=function(d,u,h){u in d&&!(h in d)&&(d[h]=d[u],delete d[u])};a=JSON.parse(JSON.stringify(a)),l(a.audio,"autoGainControl","googAutoGainControl"),l(a.audio,"noiseSuppression","googNoiseSuppression"),a.audio=i(a.audio)}if(a&&typeof a.video=="object"){let l=a.video.facingMode;l=l&&(typeof l=="object"?l:{ideal:l});const d=e.version<66;if(l&&(l.exact==="user"||l.exact==="environment"||l.ideal==="user"||l.ideal==="environment")&&!(n.mediaDevices.getSupportedConstraints&&n.mediaDevices.getSupportedConstraints().facingMode&&!d)){delete a.video.facingMode;let u;if(l.exact==="environment"||l.ideal==="environment"?u=["back","rear"]:(l.exact==="user"||l.ideal==="user")&&(u=["front"]),u)return n.mediaDevices.enumerateDevices().then(h=>{h=h.filter(m=>m.kind==="videoinput");let f=h.find(m=>u.some(p=>m.label.toLowerCase().includes(p)));return!f&&h.length&&u.includes("back")&&(f=h[h.length-1]),f&&(a.video.deviceId=l.exact?{exact:f.deviceId}:{ideal:f.deviceId}),a.video=i(a.video),wd("chrome: "+JSON.stringify(a)),c(a)})}a.video=i(a.video)}return wd("chrome: "+JSON.stringify(a)),c(a)},s=function(a){return e.version>=64?a:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[a.name]||a.name,message:a.message,constraint:a.constraint||a.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}},o=function(a,c,l){r(a,d=>{n.webkitGetUserMedia(d,c,u=>{l&&l(s(u))})})};if(n.getUserMedia=o.bind(n),n.mediaDevices.getUserMedia){const a=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(c){return r(c,l=>a(l).then(d=>{if(l.audio&&!d.getAudioTracks().length||l.video&&!d.getVideoTracks().length)throw d.getTracks().forEach(u=>{u.stop()}),new DOMException("","NotFoundError");return d},d=>Promise.reject(s(d))))}}}function _d(t){t.MediaStream=t.MediaStream||t.webkitMediaStream}function Sd(t){if(typeof t=="object"&&t.RTCPeerConnection&&!("ontrack"in t.RTCPeerConnection.prototype)){Object.defineProperty(t.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(n){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=n)},enumerable:!0,configurable:!0});const e=t.RTCPeerConnection.prototype.setRemoteDescription;t.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=i=>{i.stream.addEventListener("addtrack",r=>{let s;t.RTCPeerConnection.prototype.getReceivers?s=this.getReceivers().find(a=>a.track&&a.track.id===r.track.id):s={track:r.track};const o=new Event("track");o.track=r.track,o.receiver=s,o.transceiver={receiver:s},o.streams=[i.stream],this.dispatchEvent(o)}),i.stream.getTracks().forEach(r=>{let s;t.RTCPeerConnection.prototype.getReceivers?s=this.getReceivers().find(a=>a.track&&a.track.id===r.id):s={track:r};const o=new Event("track");o.track=r,o.receiver=s,o.transceiver={receiver:s},o.streams=[i.stream],this.dispatchEvent(o)})},this.addEventListener("addstream",this._ontrackpoly)),e.apply(this,arguments)}}else Cn(t,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e))}function xd(t){if(typeof t=="object"&&t.RTCPeerConnection&&!("getSenders"in t.RTCPeerConnection.prototype)&&"createDTMFSender"in t.RTCPeerConnection.prototype){const e=function(r,s){return{track:s,get dtmf(){return this._dtmf===void 0&&(s.kind==="audio"?this._dtmf=r.createDTMFSender(s):this._dtmf=null),this._dtmf},_pc:r}};if(!t.RTCPeerConnection.prototype.getSenders){t.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=t.RTCPeerConnection.prototype.addTrack;t.RTCPeerConnection.prototype.addTrack=function(a,c){let l=r.apply(this,arguments);return l||(l=e(this,a),this._senders.push(l)),l};const s=t.RTCPeerConnection.prototype.removeTrack;t.RTCPeerConnection.prototype.removeTrack=function(a){s.apply(this,arguments);const c=this._senders.indexOf(a);c!==-1&&this._senders.splice(c,1)}}const n=t.RTCPeerConnection.prototype.addStream;t.RTCPeerConnection.prototype.addStream=function(s){this._senders=this._senders||[],n.apply(this,[s]),s.getTracks().forEach(o=>{this._senders.push(e(this,o))})};const i=t.RTCPeerConnection.prototype.removeStream;t.RTCPeerConnection.prototype.removeStream=function(s){this._senders=this._senders||[],i.apply(this,[s]),s.getTracks().forEach(o=>{const a=this._senders.find(c=>c.track===o);a&&this._senders.splice(this._senders.indexOf(a),1)})}}else if(typeof t=="object"&&t.RTCPeerConnection&&"getSenders"in t.RTCPeerConnection.prototype&&"createDTMFSender"in t.RTCPeerConnection.prototype&&t.RTCRtpSender&&!("dtmf"in t.RTCRtpSender.prototype)){const e=t.RTCPeerConnection.prototype.getSenders;t.RTCPeerConnection.prototype.getSenders=function(){const i=e.apply(this,[]);return i.forEach(r=>r._pc=this),i},Object.defineProperty(t.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function Ed(t){if(!(typeof t=="object"&&t.RTCPeerConnection&&t.RTCRtpSender&&t.RTCRtpReceiver))return;if(!("getStats"in t.RTCRtpSender.prototype)){const n=t.RTCPeerConnection.prototype.getSenders;n&&(t.RTCPeerConnection.prototype.getSenders=function(){const s=n.apply(this,[]);return s.forEach(o=>o._pc=this),s});const i=t.RTCPeerConnection.prototype.addTrack;i&&(t.RTCPeerConnection.prototype.addTrack=function(){const s=i.apply(this,arguments);return s._pc=this,s}),t.RTCRtpSender.prototype.getStats=function(){const s=this;return this._pc.getStats().then(o=>Cd(o,s.track,!0))}}if(!("getStats"in t.RTCRtpReceiver.prototype)){const n=t.RTCPeerConnection.prototype.getReceivers;n&&(t.RTCPeerConnection.prototype.getReceivers=function(){const r=n.apply(this,[]);return r.forEach(s=>s._pc=this),r}),Cn(t,"track",i=>(i.receiver._pc=i.srcElement,i)),t.RTCRtpReceiver.prototype.getStats=function(){const r=this;return this._pc.getStats().then(s=>Cd(s,r.track,!1))}}if(!("getStats"in t.RTCRtpSender.prototype&&"getStats"in t.RTCRtpReceiver.prototype))return;const e=t.RTCPeerConnection.prototype.getStats;t.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof t.MediaStreamTrack){const i=arguments[0];let r,s,o;return this.getSenders().forEach(a=>{a.track===i&&(r?o=!0:r=a)}),this.getReceivers().forEach(a=>(a.track===i&&(s?o=!0:s=a),a.track===i)),o||r&&s?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):r?r.getStats():s?s.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return e.apply(this,arguments)}}function Pd(t){t.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(o=>this._shimmedLocalStreams[o][0])};const e=t.RTCPeerConnection.prototype.addTrack;t.RTCPeerConnection.prototype.addTrack=function(o,a){if(!a)return e.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const c=e.apply(this,arguments);return this._shimmedLocalStreams[a.id]?this._shimmedLocalStreams[a.id].indexOf(c)===-1&&this._shimmedLocalStreams[a.id].push(c):this._shimmedLocalStreams[a.id]=[a,c],c};const n=t.RTCPeerConnection.prototype.addStream;t.RTCPeerConnection.prototype.addStream=function(o){this._shimmedLocalStreams=this._shimmedLocalStreams||{},o.getTracks().forEach(l=>{if(this.getSenders().find(u=>u.track===l))throw new DOMException("Track already exists.","InvalidAccessError")});const a=this.getSenders();n.apply(this,arguments);const c=this.getSenders().filter(l=>a.indexOf(l)===-1);this._shimmedLocalStreams[o.id]=[o].concat(c)};const i=t.RTCPeerConnection.prototype.removeStream;t.RTCPeerConnection.prototype.removeStream=function(o){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[o.id],i.apply(this,arguments)};const r=t.RTCPeerConnection.prototype.removeTrack;t.RTCPeerConnection.prototype.removeTrack=function(o){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},o&&Object.keys(this._shimmedLocalStreams).forEach(a=>{const c=this._shimmedLocalStreams[a].indexOf(o);c!==-1&&this._shimmedLocalStreams[a].splice(c,1),this._shimmedLocalStreams[a].length===1&&delete this._shimmedLocalStreams[a]}),r.apply(this,arguments)}}function Rd(t,e){if(!t.RTCPeerConnection)return;if(t.RTCPeerConnection.prototype.addTrack&&e.version>=65)return Pd(t);const n=t.RTCPeerConnection.prototype.getLocalStreams;t.RTCPeerConnection.prototype.getLocalStreams=function(){const d=n.apply(this);return this._reverseStreams=this._reverseStreams||{},d.map(u=>this._reverseStreams[u.id])};const i=t.RTCPeerConnection.prototype.addStream;t.RTCPeerConnection.prototype.addStream=function(d){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},d.getTracks().forEach(u=>{if(this.getSenders().find(f=>f.track===u))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[d.id]){const u=new t.MediaStream(d.getTracks());this._streams[d.id]=u,this._reverseStreams[u.id]=d,d=u}i.apply(this,[d])};const r=t.RTCPeerConnection.prototype.removeStream;t.RTCPeerConnection.prototype.removeStream=function(d){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},r.apply(this,[this._streams[d.id]||d]),delete this._reverseStreams[this._streams[d.id]?this._streams[d.id].id:d.id],delete this._streams[d.id]},t.RTCPeerConnection.prototype.addTrack=function(d,u){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const h=[].slice.call(arguments,1);if(h.length!==1||!h[0].getTracks().find(p=>p===d))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(p=>p.track===d))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const m=this._streams[u.id];if(m)m.addTrack(d),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const p=new t.MediaStream([d]);this._streams[u.id]=p,this._reverseStreams[p.id]=u,this.addStream(p)}return this.getSenders().find(p=>p.track===d)};function s(l,d){let u=d.sdp;return Object.keys(l._reverseStreams||[]).forEach(h=>{const f=l._reverseStreams[h],m=l._streams[f.id];u=u.replace(new RegExp(m.id,"g"),f.id)}),new RTCSessionDescription({type:d.type,sdp:u})}function o(l,d){let u=d.sdp;return Object.keys(l._reverseStreams||[]).forEach(h=>{const f=l._reverseStreams[h],m=l._streams[f.id];u=u.replace(new RegExp(f.id,"g"),m.id)}),new RTCSessionDescription({type:d.type,sdp:u})}["createOffer","createAnswer"].forEach(function(l){const d=t.RTCPeerConnection.prototype[l],u={[l](){const h=arguments;return arguments.length&&typeof arguments[0]=="function"?d.apply(this,[m=>{const p=s(this,m);h[0].apply(null,[p])},m=>{h[1]&&h[1].apply(null,m)},arguments[2]]):d.apply(this,arguments).then(m=>s(this,m))}};t.RTCPeerConnection.prototype[l]=u[l]});const a=t.RTCPeerConnection.prototype.setLocalDescription;t.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?a.apply(this,arguments):(arguments[0]=o(this,arguments[0]),a.apply(this,arguments))};const c=Object.getOwnPropertyDescriptor(t.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(t.RTCPeerConnection.prototype,"localDescription",{get(){const l=c.get.apply(this);return l.type===""?l:s(this,l)}}),t.RTCPeerConnection.prototype.removeTrack=function(d){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!d._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(d._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};let h;Object.keys(this._streams).forEach(f=>{this._streams[f].getTracks().find(p=>d.track===p)&&(h=this._streams[f])}),h&&(h.getTracks().length===1?this.removeStream(this._reverseStreams[h.id]):h.removeTrack(d.track),this.dispatchEvent(new Event("negotiationneeded")))}}function ro(t,e){!t.RTCPeerConnection&&t.webkitRTCPeerConnection&&(t.RTCPeerConnection=t.webkitRTCPeerConnection),t.RTCPeerConnection&&e.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(n){const i=t.RTCPeerConnection.prototype[n],r={[n](){return arguments[0]=new(n==="addIceCandidate"?t.RTCIceCandidate:t.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};t.RTCPeerConnection.prototype[n]=r[n]})}function Id(t,e){Cn(t,"negotiationneeded",n=>{const i=n.target;if(!((e.version<72||i.getConfiguration&&i.getConfiguration().sdpSemantics==="plan-b")&&i.signalingState!=="stable"))return n})}var Od=Object.freeze({__proto__:null,fixNegotiationNeeded:Id,shimAddTrackRemoveTrack:Rd,shimAddTrackRemoveTrackWithNative:Pd,shimGetSendersWithDtmf:xd,shimGetUserMedia:Td,shimMediaStream:_d,shimOnTrack:Sd,shimPeerConnection:ro,shimSenderReceiverGetStats:Ed});function Dd(t,e){const n=t&&t.navigator,i=t&&t.MediaStreamTrack;if(n.getUserMedia=function(r,s,o){no("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),n.mediaDevices.getUserMedia(r).then(s,o)},!(e.version>55&&"autoGainControl"in n.mediaDevices.getSupportedConstraints())){const r=function(o,a,c){a in o&&!(c in o)&&(o[c]=o[a],delete o[a])},s=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(o){return typeof o=="object"&&typeof o.audio=="object"&&(o=JSON.parse(JSON.stringify(o)),r(o.audio,"autoGainControl","mozAutoGainControl"),r(o.audio,"noiseSuppression","mozNoiseSuppression")),s(o)},i&&i.prototype.getSettings){const o=i.prototype.getSettings;i.prototype.getSettings=function(){const a=o.apply(this,arguments);return r(a,"mozAutoGainControl","autoGainControl"),r(a,"mozNoiseSuppression","noiseSuppression"),a}}if(i&&i.prototype.applyConstraints){const o=i.prototype.applyConstraints;i.prototype.applyConstraints=function(a){return this.kind==="audio"&&typeof a=="object"&&(a=JSON.parse(JSON.stringify(a)),r(a,"autoGainControl","mozAutoGainControl"),r(a,"noiseSuppression","mozNoiseSuppression")),o.apply(this,[a])}}}}function Og(t,e){t.navigator.mediaDevices&&"getDisplayMedia"in t.navigator.mediaDevices||t.navigator.mediaDevices&&(t.navigator.mediaDevices.getDisplayMedia=function(i){if(!(i&&i.video)){const r=new DOMException("getDisplayMedia without video constraints is undefined");return r.name="NotFoundError",r.code=8,Promise.reject(r)}return i.video===!0?i.video={mediaSource:e}:i.video.mediaSource=e,t.navigator.mediaDevices.getUserMedia(i)})}function Md(t){typeof t=="object"&&t.RTCTrackEvent&&"receiver"in t.RTCTrackEvent.prototype&&!("transceiver"in t.RTCTrackEvent.prototype)&&Object.defineProperty(t.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function so(t,e){if(typeof t!="object"||!(t.RTCPeerConnection||t.mozRTCPeerConnection))return;!t.RTCPeerConnection&&t.mozRTCPeerConnection&&(t.RTCPeerConnection=t.mozRTCPeerConnection),e.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(r){const s=t.RTCPeerConnection.prototype[r],o={[r](){return arguments[0]=new(r==="addIceCandidate"?t.RTCIceCandidate:t.RTCSessionDescription)(arguments[0]),s.apply(this,arguments)}};t.RTCPeerConnection.prototype[r]=o[r]});const n={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},i=t.RTCPeerConnection.prototype.getStats;t.RTCPeerConnection.prototype.getStats=function(){const[s,o,a]=arguments;return i.apply(this,[s||null]).then(c=>{if(e.version<53&&!o)try{c.forEach(l=>{l.type=n[l.type]||l.type})}catch(l){if(l.name!=="TypeError")throw l;c.forEach((d,u)=>{c.set(u,Object.assign({},d,{type:n[d.type]||d.type}))})}return c}).then(o,a)}}function Ad(t){if(!(typeof t=="object"&&t.RTCPeerConnection&&t.RTCRtpSender)||t.RTCRtpSender&&"getStats"in t.RTCRtpSender.prototype)return;const e=t.RTCPeerConnection.prototype.getSenders;e&&(t.RTCPeerConnection.prototype.getSenders=function(){const r=e.apply(this,[]);return r.forEach(s=>s._pc=this),r});const n=t.RTCPeerConnection.prototype.addTrack;n&&(t.RTCPeerConnection.prototype.addTrack=function(){const r=n.apply(this,arguments);return r._pc=this,r}),t.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function Nd(t){if(!(typeof t=="object"&&t.RTCPeerConnection&&t.RTCRtpSender)||t.RTCRtpSender&&"getStats"in t.RTCRtpReceiver.prototype)return;const e=t.RTCPeerConnection.prototype.getReceivers;e&&(t.RTCPeerConnection.prototype.getReceivers=function(){const i=e.apply(this,[]);return i.forEach(r=>r._pc=this),i}),Cn(t,"track",n=>(n.receiver._pc=n.srcElement,n)),t.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function Ld(t){!t.RTCPeerConnection||"removeStream"in t.RTCPeerConnection.prototype||(t.RTCPeerConnection.prototype.removeStream=function(n){no("removeStream","removeTrack"),this.getSenders().forEach(i=>{i.track&&n.getTracks().includes(i.track)&&this.removeTrack(i)})})}function Ud(t){t.DataChannel&&!t.RTCDataChannel&&(t.RTCDataChannel=t.DataChannel)}function Fd(t){if(!(typeof t=="object"&&t.RTCPeerConnection))return;const e=t.RTCPeerConnection.prototype.addTransceiver;e&&(t.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let i=arguments[1]&&arguments[1].sendEncodings;i===void 0&&(i=[]),i=[...i];const r=i.length>0;r&&i.forEach(o=>{if("rid"in o&&!/^[a-z0-9]{0,16}$/i.test(o.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in o&&!(parseFloat(o.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in o&&!(parseFloat(o.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});const s=e.apply(this,arguments);if(r){const{sender:o}=s,a=o.getParameters();(!("encodings"in a)||a.encodings.length===1&&Object.keys(a.encodings[0]).length===0)&&(a.encodings=i,o.sendEncodings=i,this.setParametersPromises.push(o.setParameters(a).then(()=>{delete o.sendEncodings}).catch(()=>{delete o.sendEncodings})))}return s})}function Bd(t){if(!(typeof t=="object"&&t.RTCRtpSender))return;const e=t.RTCRtpSender.prototype.getParameters;e&&(t.RTCRtpSender.prototype.getParameters=function(){const i=e.apply(this,arguments);return"encodings"in i||(i.encodings=[].concat(this.sendEncodings||[{}])),i})}function jd(t){if(!(typeof t=="object"&&t.RTCPeerConnection))return;const e=t.RTCPeerConnection.prototype.createOffer;t.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>e.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):e.apply(this,arguments)}}function Vd(t){if(!(typeof t=="object"&&t.RTCPeerConnection))return;const e=t.RTCPeerConnection.prototype.createAnswer;t.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>e.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):e.apply(this,arguments)}}var qd=Object.freeze({__proto__:null,shimAddTransceiver:Fd,shimCreateAnswer:Vd,shimCreateOffer:jd,shimGetDisplayMedia:Og,shimGetParameters:Bd,shimGetUserMedia:Dd,shimOnTrack:Md,shimPeerConnection:so,shimRTCDataChannel:Ud,shimReceiverGetStats:Nd,shimRemoveStream:Ld,shimSenderGetStats:Ad});function $d(t){if(!(typeof t!="object"||!t.RTCPeerConnection)){if("getLocalStreams"in t.RTCPeerConnection.prototype||(t.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in t.RTCPeerConnection.prototype)){const e=t.RTCPeerConnection.prototype.addTrack;t.RTCPeerConnection.prototype.addStream=function(i){this._localStreams||(this._localStreams=[]),this._localStreams.includes(i)||this._localStreams.push(i),i.getAudioTracks().forEach(r=>e.call(this,r,i)),i.getVideoTracks().forEach(r=>e.call(this,r,i))},t.RTCPeerConnection.prototype.addTrack=function(i){for(var r=arguments.length,s=new Array(r>1?r-1:0),o=1;o<r;o++)s[o-1]=arguments[o];return s&&s.forEach(a=>{this._localStreams?this._localStreams.includes(a)||this._localStreams.push(a):this._localStreams=[a]}),e.apply(this,arguments)}}"removeStream"in t.RTCPeerConnection.prototype||(t.RTCPeerConnection.prototype.removeStream=function(n){this._localStreams||(this._localStreams=[]);const i=this._localStreams.indexOf(n);if(i===-1)return;this._localStreams.splice(i,1);const r=n.getTracks();this.getSenders().forEach(s=>{r.includes(s.track)&&this.removeTrack(s)})})}}function zd(t){if(!(typeof t!="object"||!t.RTCPeerConnection)&&("getRemoteStreams"in t.RTCPeerConnection.prototype||(t.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in t.RTCPeerConnection.prototype))){Object.defineProperty(t.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(n){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=n),this.addEventListener("track",this._onaddstreampoly=i=>{i.streams.forEach(r=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(r))return;this._remoteStreams.push(r);const s=new Event("addstream");s.stream=r,this.dispatchEvent(s)})})}});const e=t.RTCPeerConnection.prototype.setRemoteDescription;t.RTCPeerConnection.prototype.setRemoteDescription=function(){const i=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(r){r.streams.forEach(s=>{if(i._remoteStreams||(i._remoteStreams=[]),i._remoteStreams.indexOf(s)>=0)return;i._remoteStreams.push(s);const o=new Event("addstream");o.stream=s,i.dispatchEvent(o)})}),e.apply(i,arguments)}}}function Wd(t){if(typeof t!="object"||!t.RTCPeerConnection)return;const e=t.RTCPeerConnection.prototype,n=e.createOffer,i=e.createAnswer,r=e.setLocalDescription,s=e.setRemoteDescription,o=e.addIceCandidate;e.createOffer=function(l,d){const u=arguments.length>=2?arguments[2]:arguments[0],h=n.apply(this,[u]);return d?(h.then(l,d),Promise.resolve()):h},e.createAnswer=function(l,d){const u=arguments.length>=2?arguments[2]:arguments[0],h=i.apply(this,[u]);return d?(h.then(l,d),Promise.resolve()):h};let a=function(c,l,d){const u=r.apply(this,[c]);return d?(u.then(l,d),Promise.resolve()):u};e.setLocalDescription=a,a=function(c,l,d){const u=s.apply(this,[c]);return d?(u.then(l,d),Promise.resolve()):u},e.setRemoteDescription=a,a=function(c,l,d){const u=o.apply(this,[c]);return d?(u.then(l,d),Promise.resolve()):u},e.addIceCandidate=a}function Hd(t){const e=t&&t.navigator;if(e.mediaDevices&&e.mediaDevices.getUserMedia){const n=e.mediaDevices,i=n.getUserMedia.bind(n);e.mediaDevices.getUserMedia=r=>i(Kd(r))}!e.getUserMedia&&e.mediaDevices&&e.mediaDevices.getUserMedia&&(e.getUserMedia=(function(i,r,s){e.mediaDevices.getUserMedia(i).then(r,s)}).bind(e))}function Kd(t){return t&&t.video!==void 0?Object.assign({},t,{video:kd(t.video)}):t}function Gd(t){if(!t.RTCPeerConnection)return;const e=t.RTCPeerConnection;t.RTCPeerConnection=function(i,r){if(i&&i.iceServers){const s=[];for(let o=0;o<i.iceServers.length;o++){let a=i.iceServers[o];a.urls===void 0&&a.url?(no("RTCIceServer.url","RTCIceServer.urls"),a=JSON.parse(JSON.stringify(a)),a.urls=a.url,delete a.url,s.push(a)):s.push(i.iceServers[o])}i.iceServers=s}return new e(i,r)},t.RTCPeerConnection.prototype=e.prototype,"generateCertificate"in e&&Object.defineProperty(t.RTCPeerConnection,"generateCertificate",{get(){return e.generateCertificate}})}function Jd(t){typeof t=="object"&&t.RTCTrackEvent&&"receiver"in t.RTCTrackEvent.prototype&&!("transceiver"in t.RTCTrackEvent.prototype)&&Object.defineProperty(t.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function Yd(t){const e=t.RTCPeerConnection.prototype.createOffer;t.RTCPeerConnection.prototype.createOffer=function(i){if(i){typeof i.offerToReceiveAudio<"u"&&(i.offerToReceiveAudio=!!i.offerToReceiveAudio);const r=this.getTransceivers().find(o=>o.receiver.track.kind==="audio");i.offerToReceiveAudio===!1&&r?r.direction==="sendrecv"?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":r.direction==="recvonly"&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):i.offerToReceiveAudio===!0&&!r&&this.addTransceiver("audio",{direction:"recvonly"}),typeof i.offerToReceiveVideo<"u"&&(i.offerToReceiveVideo=!!i.offerToReceiveVideo);const s=this.getTransceivers().find(o=>o.receiver.track.kind==="video");i.offerToReceiveVideo===!1&&s?s.direction==="sendrecv"?s.setDirection?s.setDirection("sendonly"):s.direction="sendonly":s.direction==="recvonly"&&(s.setDirection?s.setDirection("inactive"):s.direction="inactive"):i.offerToReceiveVideo===!0&&!s&&this.addTransceiver("video",{direction:"recvonly"})}return e.apply(this,arguments)}}function Xd(t){typeof t!="object"||t.AudioContext||(t.AudioContext=t.webkitAudioContext)}var Qd=Object.freeze({__proto__:null,shimAudioContext:Xd,shimCallbacksAPI:Wd,shimConstraints:Kd,shimCreateOfferLegacy:Yd,shimGetUserMedia:Hd,shimLocalStreamsAPI:$d,shimRTCIceServerUrls:Gd,shimRemoteStreamsAPI:zd,shimTrackEventTransceiver:Jd}),oo={exports:{}},Zd;function Dg(){return Zd||(Zd=1,function(t){const e={};e.generateIdentifier=function(){return Math.random().toString(36).substring(2,12)},e.localCName=e.generateIdentifier(),e.splitLines=function(n){return n.trim().split(`
3
+ `).map(i=>i.trim())},e.splitSections=function(n){return n.split(`
4
+ m=`).map((r,s)=>(s>0?"m="+r:r).trim()+`\r
5
+ `)},e.getDescription=function(n){const i=e.splitSections(n);return i&&i[0]},e.getMediaSections=function(n){const i=e.splitSections(n);return i.shift(),i},e.matchPrefix=function(n,i){return e.splitLines(n).filter(r=>r.indexOf(i)===0)},e.parseCandidate=function(n){let i;n.indexOf("a=candidate:")===0?i=n.substring(12).split(" "):i=n.substring(10).split(" ");const r={foundation:i[0],component:{1:"rtp",2:"rtcp"}[i[1]]||i[1],protocol:i[2].toLowerCase(),priority:parseInt(i[3],10),ip:i[4],address:i[4],port:parseInt(i[5],10),type:i[7]};for(let s=8;s<i.length;s+=2)switch(i[s]){case"raddr":r.relatedAddress=i[s+1];break;case"rport":r.relatedPort=parseInt(i[s+1],10);break;case"tcptype":r.tcpType=i[s+1];break;case"ufrag":r.ufrag=i[s+1],r.usernameFragment=i[s+1];break;default:r[i[s]]===void 0&&(r[i[s]]=i[s+1]);break}return r},e.writeCandidate=function(n){const i=[];i.push(n.foundation);const r=n.component;r==="rtp"?i.push(1):r==="rtcp"?i.push(2):i.push(r),i.push(n.protocol.toUpperCase()),i.push(n.priority),i.push(n.address||n.ip),i.push(n.port);const s=n.type;return i.push("typ"),i.push(s),s!=="host"&&n.relatedAddress&&n.relatedPort&&(i.push("raddr"),i.push(n.relatedAddress),i.push("rport"),i.push(n.relatedPort)),n.tcpType&&n.protocol.toLowerCase()==="tcp"&&(i.push("tcptype"),i.push(n.tcpType)),(n.usernameFragment||n.ufrag)&&(i.push("ufrag"),i.push(n.usernameFragment||n.ufrag)),"candidate:"+i.join(" ")},e.parseIceOptions=function(n){return n.substring(14).split(" ")},e.parseRtpMap=function(n){let i=n.substring(9).split(" ");const r={payloadType:parseInt(i.shift(),10)};return i=i[0].split("/"),r.name=i[0],r.clockRate=parseInt(i[1],10),r.channels=i.length===3?parseInt(i[2],10):1,r.numChannels=r.channels,r},e.writeRtpMap=function(n){let i=n.payloadType;n.preferredPayloadType!==void 0&&(i=n.preferredPayloadType);const r=n.channels||n.numChannels||1;return"a=rtpmap:"+i+" "+n.name+"/"+n.clockRate+(r!==1?"/"+r:"")+`\r
6
+ `},e.parseExtmap=function(n){const i=n.substring(9).split(" ");return{id:parseInt(i[0],10),direction:i[0].indexOf("/")>0?i[0].split("/")[1]:"sendrecv",uri:i[1],attributes:i.slice(2).join(" ")}},e.writeExtmap=function(n){return"a=extmap:"+(n.id||n.preferredId)+(n.direction&&n.direction!=="sendrecv"?"/"+n.direction:"")+" "+n.uri+(n.attributes?" "+n.attributes:"")+`\r
7
+ `},e.parseFmtp=function(n){const i={};let r;const s=n.substring(n.indexOf(" ")+1).split(";");for(let o=0;o<s.length;o++)r=s[o].trim().split("="),i[r[0].trim()]=r[1];return i},e.writeFmtp=function(n){let i="",r=n.payloadType;if(n.preferredPayloadType!==void 0&&(r=n.preferredPayloadType),n.parameters&&Object.keys(n.parameters).length){const s=[];Object.keys(n.parameters).forEach(o=>{n.parameters[o]!==void 0?s.push(o+"="+n.parameters[o]):s.push(o)}),i+="a=fmtp:"+r+" "+s.join(";")+`\r
8
+ `}return i},e.parseRtcpFb=function(n){const i=n.substring(n.indexOf(" ")+1).split(" ");return{type:i.shift(),parameter:i.join(" ")}},e.writeRtcpFb=function(n){let i="",r=n.payloadType;return n.preferredPayloadType!==void 0&&(r=n.preferredPayloadType),n.rtcpFeedback&&n.rtcpFeedback.length&&n.rtcpFeedback.forEach(s=>{i+="a=rtcp-fb:"+r+" "+s.type+(s.parameter&&s.parameter.length?" "+s.parameter:"")+`\r
9
+ `}),i},e.parseSsrcMedia=function(n){const i=n.indexOf(" "),r={ssrc:parseInt(n.substring(7,i),10)},s=n.indexOf(":",i);return s>-1?(r.attribute=n.substring(i+1,s),r.value=n.substring(s+1)):r.attribute=n.substring(i+1),r},e.parseSsrcGroup=function(n){const i=n.substring(13).split(" ");return{semantics:i.shift(),ssrcs:i.map(r=>parseInt(r,10))}},e.getMid=function(n){const i=e.matchPrefix(n,"a=mid:")[0];if(i)return i.substring(6)},e.parseFingerprint=function(n){const i=n.substring(14).split(" ");return{algorithm:i[0].toLowerCase(),value:i[1].toUpperCase()}},e.getDtlsParameters=function(n,i){return{role:"auto",fingerprints:e.matchPrefix(n+i,"a=fingerprint:").map(e.parseFingerprint)}},e.writeDtlsParameters=function(n,i){let r="a=setup:"+i+`\r
10
+ `;return n.fingerprints.forEach(s=>{r+="a=fingerprint:"+s.algorithm+" "+s.value+`\r
11
+ `}),r},e.parseCryptoLine=function(n){const i=n.substring(9).split(" ");return{tag:parseInt(i[0],10),cryptoSuite:i[1],keyParams:i[2],sessionParams:i.slice(3)}},e.writeCryptoLine=function(n){return"a=crypto:"+n.tag+" "+n.cryptoSuite+" "+(typeof n.keyParams=="object"?e.writeCryptoKeyParams(n.keyParams):n.keyParams)+(n.sessionParams?" "+n.sessionParams.join(" "):"")+`\r
12
+ `},e.parseCryptoKeyParams=function(n){if(n.indexOf("inline:")!==0)return null;const i=n.substring(7).split("|");return{keyMethod:"inline",keySalt:i[0],lifeTime:i[1],mkiValue:i[2]?i[2].split(":")[0]:void 0,mkiLength:i[2]?i[2].split(":")[1]:void 0}},e.writeCryptoKeyParams=function(n){return n.keyMethod+":"+n.keySalt+(n.lifeTime?"|"+n.lifeTime:"")+(n.mkiValue&&n.mkiLength?"|"+n.mkiValue+":"+n.mkiLength:"")},e.getCryptoParameters=function(n,i){return e.matchPrefix(n+i,"a=crypto:").map(e.parseCryptoLine)},e.getIceParameters=function(n,i){const r=e.matchPrefix(n+i,"a=ice-ufrag:")[0],s=e.matchPrefix(n+i,"a=ice-pwd:")[0];return r&&s?{usernameFragment:r.substring(12),password:s.substring(10)}:null},e.writeIceParameters=function(n){let i="a=ice-ufrag:"+n.usernameFragment+`\r
13
+ a=ice-pwd:`+n.password+`\r
14
+ `;return n.iceLite&&(i+=`a=ice-lite\r
15
+ `),i},e.parseRtpParameters=function(n){const i={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},s=e.splitLines(n)[0].split(" ");i.profile=s[2];for(let a=3;a<s.length;a++){const c=s[a],l=e.matchPrefix(n,"a=rtpmap:"+c+" ")[0];if(l){const d=e.parseRtpMap(l),u=e.matchPrefix(n,"a=fmtp:"+c+" ");switch(d.parameters=u.length?e.parseFmtp(u[0]):{},d.rtcpFeedback=e.matchPrefix(n,"a=rtcp-fb:"+c+" ").map(e.parseRtcpFb),i.codecs.push(d),d.name.toUpperCase()){case"RED":case"ULPFEC":i.fecMechanisms.push(d.name.toUpperCase());break}}}e.matchPrefix(n,"a=extmap:").forEach(a=>{i.headerExtensions.push(e.parseExtmap(a))});const o=e.matchPrefix(n,"a=rtcp-fb:* ").map(e.parseRtcpFb);return i.codecs.forEach(a=>{o.forEach(c=>{a.rtcpFeedback.find(d=>d.type===c.type&&d.parameter===c.parameter)||a.rtcpFeedback.push(c)})}),i},e.writeRtpDescription=function(n,i){let r="";r+="m="+n+" ",r+=i.codecs.length>0?"9":"0",r+=" "+(i.profile||"UDP/TLS/RTP/SAVPF")+" ",r+=i.codecs.map(o=>o.preferredPayloadType!==void 0?o.preferredPayloadType:o.payloadType).join(" ")+`\r
16
+ `,r+=`c=IN IP4 0.0.0.0\r
17
+ `,r+=`a=rtcp:9 IN IP4 0.0.0.0\r
18
+ `,i.codecs.forEach(o=>{r+=e.writeRtpMap(o),r+=e.writeFmtp(o),r+=e.writeRtcpFb(o)});let s=0;return i.codecs.forEach(o=>{o.maxptime>s&&(s=o.maxptime)}),s>0&&(r+="a=maxptime:"+s+`\r
19
+ `),i.headerExtensions&&i.headerExtensions.forEach(o=>{r+=e.writeExtmap(o)}),r},e.parseRtpEncodingParameters=function(n){const i=[],r=e.parseRtpParameters(n),s=r.fecMechanisms.indexOf("RED")!==-1,o=r.fecMechanisms.indexOf("ULPFEC")!==-1,a=e.matchPrefix(n,"a=ssrc:").map(h=>e.parseSsrcMedia(h)).filter(h=>h.attribute==="cname"),c=a.length>0&&a[0].ssrc;let l;const d=e.matchPrefix(n,"a=ssrc-group:FID").map(h=>h.substring(17).split(" ").map(m=>parseInt(m,10)));d.length>0&&d[0].length>1&&d[0][0]===c&&(l=d[0][1]),r.codecs.forEach(h=>{if(h.name.toUpperCase()==="RTX"&&h.parameters.apt){let f={ssrc:c,codecPayloadType:parseInt(h.parameters.apt,10)};c&&l&&(f.rtx={ssrc:l}),i.push(f),s&&(f=JSON.parse(JSON.stringify(f)),f.fec={ssrc:c,mechanism:o?"red+ulpfec":"red"},i.push(f))}}),i.length===0&&c&&i.push({ssrc:c});let u=e.matchPrefix(n,"b=");return u.length&&(u[0].indexOf("b=TIAS:")===0?u=parseInt(u[0].substring(7),10):u[0].indexOf("b=AS:")===0?u=parseInt(u[0].substring(5),10)*1e3*.95-50*40*8:u=void 0,i.forEach(h=>{h.maxBitrate=u})),i},e.parseRtcpParameters=function(n){const i={},r=e.matchPrefix(n,"a=ssrc:").map(a=>e.parseSsrcMedia(a)).filter(a=>a.attribute==="cname")[0];r&&(i.cname=r.value,i.ssrc=r.ssrc);const s=e.matchPrefix(n,"a=rtcp-rsize");i.reducedSize=s.length>0,i.compound=s.length===0;const o=e.matchPrefix(n,"a=rtcp-mux");return i.mux=o.length>0,i},e.writeRtcpParameters=function(n){let i="";return n.reducedSize&&(i+=`a=rtcp-rsize\r
20
+ `),n.mux&&(i+=`a=rtcp-mux\r
21
+ `),n.ssrc!==void 0&&n.cname&&(i+="a=ssrc:"+n.ssrc+" cname:"+n.cname+`\r
22
+ `),i},e.parseMsid=function(n){let i;const r=e.matchPrefix(n,"a=msid:");if(r.length===1)return i=r[0].substring(7).split(" "),{stream:i[0],track:i[1]};const s=e.matchPrefix(n,"a=ssrc:").map(o=>e.parseSsrcMedia(o)).filter(o=>o.attribute==="msid");if(s.length>0)return i=s[0].value.split(" "),{stream:i[0],track:i[1]}},e.parseSctpDescription=function(n){const i=e.parseMLine(n),r=e.matchPrefix(n,"a=max-message-size:");let s;r.length>0&&(s=parseInt(r[0].substring(19),10)),isNaN(s)&&(s=65536);const o=e.matchPrefix(n,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substring(12),10),protocol:i.fmt,maxMessageSize:s};const a=e.matchPrefix(n,"a=sctpmap:");if(a.length>0){const c=a[0].substring(10).split(" ");return{port:parseInt(c[0],10),protocol:c[1],maxMessageSize:s}}},e.writeSctpDescription=function(n,i){let r=[];return n.protocol!=="DTLS/SCTP"?r=["m="+n.kind+" 9 "+n.protocol+" "+i.protocol+`\r
23
+ `,`c=IN IP4 0.0.0.0\r
24
+ `,"a=sctp-port:"+i.port+`\r
25
+ `]:r=["m="+n.kind+" 9 "+n.protocol+" "+i.port+`\r
26
+ `,`c=IN IP4 0.0.0.0\r
27
+ `,"a=sctpmap:"+i.port+" "+i.protocol+` 65535\r
28
+ `],i.maxMessageSize!==void 0&&r.push("a=max-message-size:"+i.maxMessageSize+`\r
29
+ `),r.join("")},e.generateSessionId=function(){return Math.random().toString().substr(2,22)},e.writeSessionBoilerplate=function(n,i,r){let s;const o=i!==void 0?i:2;return n?s=n:s=e.generateSessionId(),`v=0\r
30
+ o=`+(r||"thisisadapterortc")+" "+s+" "+o+` IN IP4 127.0.0.1\r
31
+ s=-\r
32
+ t=0 0\r
33
+ `},e.getDirection=function(n,i){const r=e.splitLines(n);for(let s=0;s<r.length;s++)switch(r[s]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return r[s].substring(2)}return i?e.getDirection(i):"sendrecv"},e.getKind=function(n){return e.splitLines(n)[0].split(" ")[0].substring(2)},e.isRejected=function(n){return n.split(" ",2)[1]==="0"},e.parseMLine=function(n){const r=e.splitLines(n)[0].substring(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},e.parseOLine=function(n){const r=e.matchPrefix(n,"o=")[0].substring(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},e.isValidSDP=function(n){if(typeof n!="string"||n.length===0)return!1;const i=e.splitLines(n);for(let r=0;r<i.length;r++)if(i[r].length<2||i[r].charAt(1)!=="=")return!1;return!0},t.exports=e}(oo)),oo.exports}var eu=Dg(),$n=kg(eu),Mg=Kp({__proto__:null,default:$n},[eu]);function br(t){if(!t.RTCIceCandidate||t.RTCIceCandidate&&"foundation"in t.RTCIceCandidate.prototype)return;const e=t.RTCIceCandidate;t.RTCIceCandidate=function(i){if(typeof i=="object"&&i.candidate&&i.candidate.indexOf("a=")===0&&(i=JSON.parse(JSON.stringify(i)),i.candidate=i.candidate.substring(2)),i.candidate&&i.candidate.length){const r=new e(i),s=$n.parseCandidate(i.candidate);for(const o in s)o in r||Object.defineProperty(r,o,{value:s[o]});return r.toJSON=function(){return{candidate:r.candidate,sdpMid:r.sdpMid,sdpMLineIndex:r.sdpMLineIndex,usernameFragment:r.usernameFragment}},r}return new e(i)},t.RTCIceCandidate.prototype=e.prototype,Cn(t,"icecandidate",n=>(n.candidate&&Object.defineProperty(n,"candidate",{value:new t.RTCIceCandidate(n.candidate),writable:"false"}),n))}function ao(t){!t.RTCIceCandidate||t.RTCIceCandidate&&"relayProtocol"in t.RTCIceCandidate.prototype||Cn(t,"icecandidate",e=>{if(e.candidate){const n=$n.parseCandidate(e.candidate.candidate);n.type==="relay"&&(e.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[n.priority>>24])}return e})}function yr(t,e){if(!t.RTCPeerConnection)return;"sctp"in t.RTCPeerConnection.prototype||Object.defineProperty(t.RTCPeerConnection.prototype,"sctp",{get(){return typeof this._sctp>"u"?null:this._sctp}});const n=function(a){if(!a||!a.sdp)return!1;const c=$n.splitSections(a.sdp);return c.shift(),c.some(l=>{const d=$n.parseMLine(l);return d&&d.kind==="application"&&d.protocol.indexOf("SCTP")!==-1})},i=function(a){const c=a.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(c===null||c.length<2)return-1;const l=parseInt(c[1],10);return l!==l?-1:l},r=function(a){let c=65536;return e.browser==="firefox"&&(e.version<57?a===-1?c=16384:c=2147483637:e.version<60?c=e.version===57?65535:65536:c=2147483637),c},s=function(a,c){let l=65536;e.browser==="firefox"&&e.version===57&&(l=65535);const d=$n.matchPrefix(a.sdp,"a=max-message-size:");return d.length>0?l=parseInt(d[0].substring(19),10):e.browser==="firefox"&&c!==-1&&(l=2147483637),l},o=t.RTCPeerConnection.prototype.setRemoteDescription;t.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,e.browser==="chrome"&&e.version>=76){const{sdpSemantics:c}=this.getConfiguration();c==="plan-b"&&Object.defineProperty(this,"sctp",{get(){return typeof this._sctp>"u"?null:this._sctp},enumerable:!0,configurable:!0})}if(n(arguments[0])){const c=i(arguments[0]),l=r(c),d=s(arguments[0],c);let u;l===0&&d===0?u=Number.POSITIVE_INFINITY:l===0||d===0?u=Math.max(l,d):u=Math.min(l,d);const h={};Object.defineProperty(h,"maxMessageSize",{get(){return u}}),this._sctp=h}return o.apply(this,arguments)}}function kr(t){if(!(t.RTCPeerConnection&&"createDataChannel"in t.RTCPeerConnection.prototype))return;function e(i,r){const s=i.send;i.send=function(){const a=arguments[0],c=a.length||a.size||a.byteLength;if(i.readyState==="open"&&r.sctp&&c>r.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+r.sctp.maxMessageSize+" bytes)");return s.apply(i,arguments)}}const n=t.RTCPeerConnection.prototype.createDataChannel;t.RTCPeerConnection.prototype.createDataChannel=function(){const r=n.apply(this,arguments);return e(r,this),r},Cn(t,"datachannel",i=>(e(i.channel,i.target),i))}function co(t){if(!t.RTCPeerConnection||"connectionState"in t.RTCPeerConnection.prototype)return;const e=t.RTCPeerConnection.prototype;Object.defineProperty(e,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(e,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(n){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),n&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=n)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(n=>{const i=e[n];e[n]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=r=>{const s=r.target;if(s._lastConnectionState!==s.connectionState){s._lastConnectionState=s.connectionState;const o=new Event("connectionstatechange",r);s.dispatchEvent(o)}return r},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),i.apply(this,arguments)}})}function lo(t,e){if(!t.RTCPeerConnection||e.browser==="chrome"&&e.version>=71||e.browser==="safari"&&e._safariVersion>=13.1)return;const n=t.RTCPeerConnection.prototype.setRemoteDescription;t.RTCPeerConnection.prototype.setRemoteDescription=function(r){if(r&&r.sdp&&r.sdp.indexOf(`
34
+ a=extmap-allow-mixed`)!==-1){const s=r.sdp.split(`
35
+ `).filter(o=>o.trim()!=="a=extmap-allow-mixed").join(`
36
+ `);t.RTCSessionDescription&&r instanceof t.RTCSessionDescription?arguments[0]=new t.RTCSessionDescription({type:r.type,sdp:s}):r.sdp=s}return n.apply(this,arguments)}}function Cr(t,e){if(!(t.RTCPeerConnection&&t.RTCPeerConnection.prototype))return;const n=t.RTCPeerConnection.prototype.addIceCandidate;!n||n.length===0||(t.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(e.browser==="chrome"&&e.version<78||e.browser==="firefox"&&e.version<68||e.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():n.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function wr(t,e){if(!(t.RTCPeerConnection&&t.RTCPeerConnection.prototype))return;const n=t.RTCPeerConnection.prototype.setLocalDescription;!n||n.length===0||(t.RTCPeerConnection.prototype.setLocalDescription=function(){let r=arguments[0]||{};if(typeof r!="object"||r.type&&r.sdp)return n.apply(this,arguments);if(r={type:r.type,sdp:r.sdp},!r.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":r.type="offer";break;default:r.type="answer";break}return r.sdp||r.type!=="offer"&&r.type!=="answer"?n.apply(this,[r]):(r.type==="offer"?this.createOffer:this.createAnswer).apply(this).then(o=>n.apply(this,[o]))})}var Ag=Object.freeze({__proto__:null,removeExtmapAllowMixed:lo,shimAddIceCandidateNullOrEmpty:Cr,shimConnectionState:co,shimMaxMessageSize:yr,shimParameterlessSetLocalDescription:wr,shimRTCIceCandidate:br,shimRTCIceCandidateRelayProtocol:ao,shimSendThrowTypeError:kr});function Ng(){let{window:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimSafari:!0};const n=bd,i=Ig(t),r={browserDetails:i,commonShim:Ag,extractVersion:Pi,disableLog:Pg,disableWarnings:Rg,sdp:Mg};switch(i.browser){case"chrome":if(!Od||!ro||!e.shimChrome)return n("Chrome shim is not included in this adapter release."),r;if(i.version===null)return n("Chrome shim can not determine version, not shimming."),r;n("adapter.js shimming chrome."),r.browserShim=Od,Cr(t,i),wr(t),Td(t,i),_d(t),ro(t,i),Sd(t),Rd(t,i),xd(t),Ed(t),Id(t,i),br(t),ao(t),co(t),yr(t,i),kr(t),lo(t,i);break;case"firefox":if(!qd||!so||!e.shimFirefox)return n("Firefox shim is not included in this adapter release."),r;n("adapter.js shimming firefox."),r.browserShim=qd,Cr(t,i),wr(t),Dd(t,i),so(t,i),Md(t),Ld(t),Ad(t),Nd(t),Ud(t),Fd(t),Bd(t),jd(t),Vd(t),br(t),co(t),yr(t,i),kr(t);break;case"safari":if(!Qd||!e.shimSafari)return n("Safari shim is not included in this adapter release."),r;n("adapter.js shimming safari."),r.browserShim=Qd,Cr(t,i),wr(t),Gd(t),Yd(t),Wd(t),$d(t),zd(t),Jd(t),Hd(t),Xd(t),br(t),ao(t),yr(t,i),kr(t),lo(t,i);break;default:n("Unsupported browser!");break}return r}Ng({window:typeof window>"u"?void 0:window});const Lg=10,Tr="lk_e2ee",Ug={sharedKey:!1,ratchetSalt:"LKFrameEncryptionKey",ratchetWindowSize:8,failureTolerance:Lg,keyringSize:16};var Qt;(function(t){t.SetKey="setKey",t.RatchetRequest="ratchetRequest",t.KeyRatcheted="keyRatcheted"})(Qt||(Qt={}));var tu;(function(t){t.KeyRatcheted="keyRatcheted"})(tu||(tu={}));var Zt;(function(t){t.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",t.EncryptionError="encryptionError"})(Zt||(Zt={}));var nu;(function(t){t.Error="cryptorError"})(nu||(nu={}));function Fg(){return Bg()||uo()}function uo(){return typeof window.RTCRtpScriptTransform<"u"}function Bg(){return typeof window.RTCRtpSender<"u"&&typeof window.RTCRtpSender.prototype.createEncodedStreams<"u"}class yw extends kt.EventEmitter{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};super(),this.onKeyRatcheted=(n,i,r)=>{X.debug("key ratcheted event received",{ratchetResult:n,participantId:i,keyIndex:r})},this.keyInfoMap=new Map,this.options=Object.assign(Object.assign({},Ug),e),this.on(Qt.KeyRatcheted,this.onKeyRatcheted)}onSetEncryptionKey(e,n,i){const r={key:e,participantIdentity:n,keyIndex:i};if(!this.options.sharedKey&&!n)throw new Error("participant identity needs to be passed for encryption key if sharedKey option is false");this.keyInfoMap.set("".concat(n??"shared","-").concat(i??0),r),this.emit(Qt.SetKey,r)}getKeys(){return Array.from(this.keyInfoMap.values())}getOptions(){return this.options}ratchetKey(e,n){this.emit(Qt.RatchetRequest,e,n)}}class en extends Error{constructor(e,n){super(n||"an error has occured"),this.name="LiveKitError",this.code=e}}var Q;(function(t){t[t.NotAllowed=0]="NotAllowed",t[t.ServerUnreachable=1]="ServerUnreachable",t[t.InternalError=2]="InternalError",t[t.Cancelled=3]="Cancelled",t[t.LeaveRequest=4]="LeaveRequest",t[t.Timeout=5]="Timeout"})(Q||(Q={}));class ae extends en{constructor(e,n,i,r){super(1,e),this.name="ConnectionError",this.status=i,this.reason=n,this.context=r,this.reasonName=Q[n]}}class ho extends en{constructor(e){super(21,e??"device is unsupported"),this.name="DeviceUnsupportedError"}}class Ut extends en{constructor(e){super(20,e??"track is invalid"),this.name="TrackInvalidError"}}class jg extends en{constructor(e){super(10,e??"unsupported server"),this.name="UnsupportedServer"}}class Pe extends en{constructor(e){super(12,e??"unexpected connection state"),this.name="UnexpectedConnectionState"}}class fo extends en{constructor(e){super(13,e??"unable to negotiate"),this.name="NegotiationError"}}class iu extends en{constructor(e,n){super(15,e),this.name="PublishTrackError",this.status=n}}class ru extends en{constructor(e,n){super(15,e),this.reason=n,this.reasonName=typeof n=="string"?n:eo[n]}}var _r;(function(t){t.PermissionDenied="PermissionDenied",t.NotFound="NotFound",t.DeviceInUse="DeviceInUse",t.Other="Other"})(_r||(_r={})),function(t){function e(n){if(n&&"name"in n)return n.name==="NotFoundError"||n.name==="DevicesNotFoundError"?t.NotFound:n.name==="NotAllowedError"||n.name==="PermissionDeniedError"?t.PermissionDenied:n.name==="NotReadableError"||n.name==="TrackStartError"?t.DeviceInUse:t.Other}t.getFailure=e}(_r||(_r={}));var su;(function(t){t[t.InvalidKey=0]="InvalidKey",t[t.MissingKey=1]="MissingKey",t[t.InternalError=2]="InternalError"})(su||(su={}));var I;(function(t){t.Connected="connected",t.Reconnecting="reconnecting",t.SignalReconnecting="signalReconnecting",t.Reconnected="reconnected",t.Disconnected="disconnected",t.ConnectionStateChanged="connectionStateChanged",t.Moved="moved",t.MediaDevicesChanged="mediaDevicesChanged",t.ParticipantConnected="participantConnected",t.ParticipantDisconnected="participantDisconnected",t.TrackPublished="trackPublished",t.TrackSubscribed="trackSubscribed",t.TrackSubscriptionFailed="trackSubscriptionFailed",t.TrackUnpublished="trackUnpublished",t.TrackUnsubscribed="trackUnsubscribed",t.TrackMuted="trackMuted",t.TrackUnmuted="trackUnmuted",t.LocalTrackPublished="localTrackPublished",t.LocalTrackUnpublished="localTrackUnpublished",t.LocalAudioSilenceDetected="localAudioSilenceDetected",t.ActiveSpeakersChanged="activeSpeakersChanged",t.ParticipantMetadataChanged="participantMetadataChanged",t.ParticipantNameChanged="participantNameChanged",t.ParticipantAttributesChanged="participantAttributesChanged",t.ParticipantActive="participantActive",t.RoomMetadataChanged="roomMetadataChanged",t.DataReceived="dataReceived",t.SipDTMFReceived="sipDTMFReceived",t.TranscriptionReceived="transcriptionReceived",t.ConnectionQualityChanged="connectionQualityChanged",t.TrackStreamStateChanged="trackStreamStateChanged",t.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",t.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",t.AudioPlaybackStatusChanged="audioPlaybackChanged",t.VideoPlaybackStatusChanged="videoPlaybackChanged",t.MediaDevicesError="mediaDevicesError",t.ParticipantPermissionsChanged="participantPermissionsChanged",t.SignalConnected="signalConnected",t.RecordingStatusChanged="recordingStatusChanged",t.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",t.EncryptionError="encryptionError",t.DCBufferStatusChanged="dcBufferStatusChanged",t.ActiveDeviceChanged="activeDeviceChanged",t.ChatMessage="chatMessage",t.LocalTrackSubscribed="localTrackSubscribed",t.MetricsReceived="metricsReceived"})(I||(I={}));var L;(function(t){t.TrackPublished="trackPublished",t.TrackSubscribed="trackSubscribed",t.TrackSubscriptionFailed="trackSubscriptionFailed",t.TrackUnpublished="trackUnpublished",t.TrackUnsubscribed="trackUnsubscribed",t.TrackMuted="trackMuted",t.TrackUnmuted="trackUnmuted",t.LocalTrackPublished="localTrackPublished",t.LocalTrackUnpublished="localTrackUnpublished",t.ParticipantMetadataChanged="participantMetadataChanged",t.ParticipantNameChanged="participantNameChanged",t.DataReceived="dataReceived",t.SipDTMFReceived="sipDTMFReceived",t.TranscriptionReceived="transcriptionReceived",t.IsSpeakingChanged="isSpeakingChanged",t.ConnectionQualityChanged="connectionQualityChanged",t.TrackStreamStateChanged="trackStreamStateChanged",t.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",t.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",t.MediaDevicesError="mediaDevicesError",t.AudioStreamAcquired="audioStreamAcquired",t.ParticipantPermissionsChanged="participantPermissionsChanged",t.PCTrackAdded="pcTrackAdded",t.AttributesChanged="attributesChanged",t.LocalTrackSubscribed="localTrackSubscribed",t.ChatMessage="chatMessage",t.Active="active"})(L||(L={}));var N;(function(t){t.TransportsCreated="transportsCreated",t.Connected="connected",t.Disconnected="disconnected",t.Resuming="resuming",t.Resumed="resumed",t.Restarting="restarting",t.Restarted="restarted",t.SignalResumed="signalResumed",t.SignalRestarted="signalRestarted",t.Closing="closing",t.MediaTrackAdded="mediaTrackAdded",t.ActiveSpeakersUpdate="activeSpeakersUpdate",t.DataPacketReceived="dataPacketReceived",t.RTPVideoMapUpdate="rtpVideoMapUpdate",t.DCBufferStatusChanged="dcBufferStatusChanged",t.ParticipantUpdate="participantUpdate",t.RoomUpdate="roomUpdate",t.SpeakersChanged="speakersChanged",t.StreamStateChanged="streamStateChanged",t.ConnectionQualityUpdate="connectionQualityUpdate",t.SubscriptionError="subscriptionError",t.SubscriptionPermissionUpdate="subscriptionPermissionUpdate",t.RemoteMute="remoteMute",t.SubscribedQualityUpdate="subscribedQualityUpdate",t.LocalTrackUnpublished="localTrackUnpublished",t.LocalTrackSubscribed="localTrackSubscribed",t.Offline="offline",t.SignalRequestResponse="signalRequestResponse",t.SignalConnected="signalConnected",t.RoomMoved="roomMoved"})(N||(N={}));var A;(function(t){t.Message="message",t.Muted="muted",t.Unmuted="unmuted",t.Restarted="restarted",t.Ended="ended",t.Subscribed="subscribed",t.Unsubscribed="unsubscribed",t.UpdateSettings="updateSettings",t.UpdateSubscription="updateSubscription",t.AudioPlaybackStarted="audioPlaybackStarted",t.AudioPlaybackFailed="audioPlaybackFailed",t.AudioSilenceDetected="audioSilenceDetected",t.VisibilityChanged="visibilityChanged",t.VideoDimensionsChanged="videoDimensionsChanged",t.VideoPlaybackStarted="videoPlaybackStarted",t.VideoPlaybackFailed="videoPlaybackFailed",t.ElementAttached="elementAttached",t.ElementDetached="elementDetached",t.UpstreamPaused="upstreamPaused",t.UpstreamResumed="upstreamResumed",t.SubscriptionPermissionChanged="subscriptionPermissionChanged",t.SubscriptionStatusChanged="subscriptionStatusChanged",t.SubscriptionFailed="subscriptionFailed",t.TrackProcessorUpdate="trackProcessorUpdate",t.AudioTrackFeatureUpdate="audioTrackFeatureUpdate",t.TranscriptionReceived="transcriptionReceived",t.TimeSyncUpdate="timeSyncUpdate",t.PreConnectBufferFlushed="preConnectBufferFlushed"})(A||(A={}));function Vg(t){return typeof t>"u"?t:typeof structuredClone=="function"?typeof t=="object"&&t!==null?structuredClone(Object.assign({},t)):structuredClone(t):JSON.parse(JSON.stringify(t))}const qg=/version\/(\d+(\.?_?\d+)+)/i;let po;function Ve(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(typeof navigator>"u")return;const n=navigator.userAgent.toLowerCase();if(po===void 0||e){const i=$g.find(r=>{let{test:s}=r;return s.test(n)});po=i==null?void 0:i.describe(n)}return po}const $g=[{test:/firefox|iceweasel|fxios/i,describe(t){return{name:"Firefox",version:Sr(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,t),os:t.toLowerCase().includes("fxios")?"iOS":void 0,osVersion:mo(t)}}},{test:/chrom|crios|crmo/i,describe(t){return{name:"Chrome",version:Sr(/(?:chrome|chromium|crios|crmo)\/(\d+(\.?_?\d+)+)/i,t),os:t.toLowerCase().includes("crios")?"iOS":void 0,osVersion:mo(t)}}},{test:/safari|applewebkit/i,describe(t){return{name:"Safari",version:Sr(qg,t),os:t.includes("mobile/")?"iOS":"macOS",osVersion:mo(t)}}}];function Sr(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;const i=e.match(t);return i&&i.length>=n&&i[n]||""}function mo(t){return t.includes("mac os")?Sr(/\(.+?(\d+_\d+(:?_\d+)?)/,t,1).replace(/_/g,"."):void 0}var zg="2.13.5";const Wg=zg,Hg=16;class Ae{}Ae.setTimeout=function(){return setTimeout(...arguments)},Ae.setInterval=function(){return setInterval(...arguments)},Ae.clearTimeout=function(){return clearTimeout(...arguments)},Ae.clearInterval=function(){return clearInterval(...arguments)};const Kg=5e3,Ri=[];var nt;(function(t){t[t.LOW=0]="LOW",t[t.MEDIUM=1]="MEDIUM",t[t.HIGH=2]="HIGH"})(nt||(nt={}));class P extends kt.EventEmitter{constructor(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r;super(),this.attachedElements=[],this.isMuted=!1,this.streamState=P.StreamState.Active,this.isInBackground=!1,this._currentBitrate=0,this.log=X,this.appVisibilityChangedListener=()=>{this.backgroundTimeout&&clearTimeout(this.backgroundTimeout),document.visibilityState==="hidden"?this.backgroundTimeout=setTimeout(()=>this.handleAppVisibilityChanged(),Kg):this.handleAppVisibilityChanged()},this.log=Nt((r=i.loggerName)!==null&&r!==void 0?r:at.Track),this.loggerContextCb=i.loggerContextCb,this.setMaxListeners(100),this.kind=n,this._mediaStreamTrack=e,this._mediaStreamID=e.id,this.source=P.Source.Unknown}get logContext(){var e;return Object.assign(Object.assign({},(e=this.loggerContextCb)===null||e===void 0?void 0:e.call(this)),Y(this))}get currentBitrate(){return this._currentBitrate}get mediaStreamTrack(){return this._mediaStreamTrack}get mediaStreamID(){return this._mediaStreamID}attach(e){let n="audio";this.kind===P.Kind.Video&&(n="video"),this.attachedElements.length===0&&this.kind===P.Kind.Video&&this.addAppVisibilityListener(),e||(n==="audio"&&(Ri.forEach(s=>{s.parentElement===null&&!e&&(e=s)}),e&&Ri.splice(Ri.indexOf(e),1)),e||(e=document.createElement(n))),this.attachedElements.includes(e)||this.attachedElements.push(e),zn(this.mediaStreamTrack,e);const i=e.srcObject.getTracks(),r=i.some(s=>s.kind==="audio");return e.play().then(()=>{this.emit(r?A.AudioPlaybackStarted:A.VideoPlaybackStarted)}).catch(s=>{s.name==="NotAllowedError"?this.emit(r?A.AudioPlaybackFailed:A.VideoPlaybackFailed,s):s.name==="AbortError"?X.debug("".concat(r?"audio":"video"," playback aborted, likely due to new play request")):X.warn("could not playback ".concat(r?"audio":"video"),s),r&&e&&i.some(o=>o.kind==="video")&&s.name==="NotAllowedError"&&(e.muted=!0,e.play().catch(()=>{}))}),this.emit(A.ElementAttached,e),e}detach(e){try{if(e){Wn(this.mediaStreamTrack,e);const i=this.attachedElements.indexOf(e);return i>=0&&(this.attachedElements.splice(i,1),this.recycleElement(e),this.emit(A.ElementDetached,e)),e}const n=[];return this.attachedElements.forEach(i=>{Wn(this.mediaStreamTrack,i),n.push(i),this.recycleElement(i),this.emit(A.ElementDetached,i)}),this.attachedElements=[],n}finally{this.attachedElements.length===0&&this.removeAppVisibilityListener()}}stop(){this.stopMonitor(),this._mediaStreamTrack.stop()}enable(){this._mediaStreamTrack.enabled=!0}disable(){this._mediaStreamTrack.enabled=!1}stopMonitor(){this.monitorInterval&&clearInterval(this.monitorInterval),this.timeSyncHandle&&cancelAnimationFrame(this.timeSyncHandle)}updateLoggerOptions(e){e.loggerName&&(this.log=Nt(e.loggerName)),e.loggerContextCb&&(this.loggerContextCb=e.loggerContextCb)}recycleElement(e){if(e instanceof HTMLAudioElement){let n=!0;e.pause(),Ri.forEach(i=>{i.parentElement||(n=!1)}),n&&Ri.push(e)}}handleAppVisibilityChanged(){return y(this,void 0,void 0,function*(){this.isInBackground=document.visibilityState==="hidden",!this.isInBackground&&this.kind===P.Kind.Video&&setTimeout(()=>this.attachedElements.forEach(e=>e.play().catch(()=>{})),0)})}addAppVisibilityListener(){$e()?(this.isInBackground=document.visibilityState==="hidden",document.addEventListener("visibilitychange",this.appVisibilityChangedListener)):this.isInBackground=!1}removeAppVisibilityListener(){$e()&&document.removeEventListener("visibilitychange",this.appVisibilityChangedListener)}}function zn(t,e){let n;e.srcObject instanceof MediaStream?n=e.srcObject:n=new MediaStream;let i;t.kind==="audio"?i=n.getAudioTracks():i=n.getVideoTracks(),i.includes(t)||(i.forEach(r=>{n.removeTrack(r)}),n.addTrack(t)),(!wn()||!(e instanceof HTMLVideoElement))&&(e.autoplay=!0),e.muted=n.getAudioTracks().length===0,e instanceof HTMLVideoElement&&(e.playsInline=!0),e.srcObject!==n&&(e.srcObject=n,(wn()||Hn())&&e instanceof HTMLVideoElement&&setTimeout(()=>{e.srcObject=n,e.play().catch(()=>{})},0))}function Wn(t,e){if(e.srcObject instanceof MediaStream){const n=e.srcObject;n.removeTrack(t),n.getTracks().length>0?e.srcObject=n:e.srcObject=null}}(function(t){let e;(function(l){l.Audio="audio",l.Video="video",l.Unknown="unknown"})(e=t.Kind||(t.Kind={}));let n;(function(l){l.Camera="camera",l.Microphone="microphone",l.ScreenShare="screen_share",l.ScreenShareAudio="screen_share_audio",l.Unknown="unknown"})(n=t.Source||(t.Source={}));let i;(function(l){l.Active="active",l.Paused="paused",l.Unknown="unknown"})(i=t.StreamState||(t.StreamState={}));function r(l){switch(l){case e.Audio:return rt.AUDIO;case e.Video:return rt.VIDEO;default:return rt.DATA}}t.kindToProto=r;function s(l){switch(l){case rt.AUDIO:return e.Audio;case rt.VIDEO:return e.Video;default:return e.Unknown}}t.kindFromProto=s;function o(l){switch(l){case n.Camera:return Se.CAMERA;case n.Microphone:return Se.MICROPHONE;case n.ScreenShare:return Se.SCREEN_SHARE;case n.ScreenShareAudio:return Se.SCREEN_SHARE_AUDIO;default:return Se.UNKNOWN}}t.sourceToProto=o;function a(l){switch(l){case Se.CAMERA:return n.Camera;case Se.MICROPHONE:return n.Microphone;case Se.SCREEN_SHARE:return n.ScreenShare;case Se.SCREEN_SHARE_AUDIO:return n.ScreenShareAudio;default:return n.Unknown}}t.sourceFromProto=a;function c(l){switch(l){case Ks.ACTIVE:return i.Active;case Ks.PAUSED:return i.Paused;default:return i.Unknown}}t.streamStateFromProto=c})(P||(P={}));class re{constructor(e,n,i,r,s){if(typeof e=="object")this.width=e.width,this.height=e.height,this.aspectRatio=e.aspectRatio,this.encoding={maxBitrate:e.maxBitrate,maxFramerate:e.maxFramerate,priority:e.priority};else if(n!==void 0&&i!==void 0)this.width=e,this.height=n,this.aspectRatio=e/n,this.encoding={maxBitrate:i,maxFramerate:r,priority:s};else throw new TypeError("Unsupported options: provide at least width, height and maxBitrate")}get resolution(){return{width:this.width,height:this.height,frameRate:this.encoding.maxFramerate,aspectRatio:this.aspectRatio}}}const Gg=["vp8","h264"],Jg=["vp8","h264","vp9","av1"];function Yg(t){return!!Gg.find(e=>e===t)}var ou;(function(t){t[t.PREFER_REGRESSION=0]="PREFER_REGRESSION",t[t.SIMULCAST=1]="SIMULCAST",t[t.REGRESSION=2]="REGRESSION"})(ou||(ou={}));var go;(function(t){t.telephone={maxBitrate:12e3},t.speech={maxBitrate:24e3},t.music={maxBitrate:48e3},t.musicStereo={maxBitrate:64e3},t.musicHighQuality={maxBitrate:96e3},t.musicHighQualityStereo={maxBitrate:128e3}})(go||(go={}));const Ii={h90:new re(160,90,9e4,20),h180:new re(320,180,16e4,20),h216:new re(384,216,18e4,20),h360:new re(640,360,45e4,20),h540:new re(960,540,8e5,25),h720:new re(1280,720,17e5,30),h1080:new re(1920,1080,3e6,30),h1440:new re(2560,1440,5e6,30),h2160:new re(3840,2160,8e6,30)},vo={h120:new re(160,120,7e4,20),h180:new re(240,180,125e3,20),h240:new re(320,240,14e4,20),h360:new re(480,360,33e4,20),h480:new re(640,480,5e5,20),h540:new re(720,540,6e5,25),h720:new re(960,720,13e5,30),h1080:new re(1440,1080,23e5,30),h1440:new re(1920,1440,38e5,30)},bo={h360fps3:new re(640,360,2e5,3,"medium"),h360fps15:new re(640,360,4e5,15,"medium"),h720fps5:new re(1280,720,8e5,5,"medium"),h720fps15:new re(1280,720,15e5,15,"medium"),h720fps30:new re(1280,720,2e6,30,"medium"),h1080fps15:new re(1920,1080,25e5,15,"medium"),h1080fps30:new re(1920,1080,5e6,30,"medium"),original:new re(0,0,7e6,30,"medium")},Xg="|",au="https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension";function Qg(t){const e=t.split(Xg);return e.length>1?[e[0],t.substr(e[0].length+1)]:[t,""]}function qe(t){return y(this,void 0,void 0,function*(){return new Promise(e=>Ae.setTimeout(e,t))})}function yo(){return"addTransceiver"in RTCPeerConnection.prototype}function ko(){return"addTrack"in RTCPeerConnection.prototype}function Zg(){if(!("getCapabilities"in RTCRtpSender)||wn())return!1;const t=RTCRtpSender.getCapabilities("video");let e=!1;if(t){for(const n of t.codecs)if(n.mimeType==="video/AV1"){e=!0;break}}return e}function ev(){if(!("getCapabilities"in RTCRtpSender)||Hn())return!1;if(wn()){const n=Ve();if(n!=null&&n.version&&tn(n.version,"16")<0)return!1}const t=RTCRtpSender.getCapabilities("video");let e=!1;if(t){for(const n of t.codecs)if(n.mimeType==="video/VP9"){e=!0;break}}return e}function Ft(t){return t==="av1"||t==="vp9"}function Co(t){return document?(t||(t=document.createElement("audio")),"setSinkId"in t):!1}function tv(){return typeof RTCPeerConnection>"u"?!1:yo()||ko()}function Hn(){var t;return((t=Ve())===null||t===void 0?void 0:t.name)==="Firefox"}function wn(){var t;return((t=Ve())===null||t===void 0?void 0:t.name)==="Safari"}function cu(){const t=Ve();return(t==null?void 0:t.name)==="Safari"||(t==null?void 0:t.os)==="iOS"}function nv(){const t=Ve();return(t==null?void 0:t.name)==="Safari"&&t.version.startsWith("17.")}function iv(t){return t||(t=Ve()),(t==null?void 0:t.name)==="Safari"&&tn(t.version,"18.3")>0}function lu(){var t,e;return $e()?(e=(t=navigator.userAgentData)===null||t===void 0?void 0:t.mobile)!==null&&e!==void 0?e:/Tablet|iPad|Mobile|Android|BlackBerry/.test(navigator.userAgent):!1}function rv(){const t=Ve(),e="17.2";if(t)return t.name!=="Safari"&&t.os!=="iOS"||t.os==="iOS"&&t.osVersion&&tn(e,t.osVersion)>=0?!0:t.name==="Safari"&&tn(e,t.version)>=0}function $e(){return typeof document<"u"}function Ct(){return navigator.product=="ReactNative"}function wo(t){return t.hostname.endsWith(".livekit.cloud")||t.hostname.endsWith(".livekit.run")}function du(){if(global&&global.LiveKitReactNativeGlobal)return global.LiveKitReactNativeGlobal}function uu(){if(!Ct())return;let t=du();if(t)return t.platform}function hu(){if($e())return window.devicePixelRatio;if(Ct()){let t=du();if(t)return t.devicePixelRatio}return 1}function tn(t,e){const n=t.split("."),i=e.split("."),r=Math.min(n.length,i.length);for(let s=0;s<r;++s){const o=parseInt(n[s],10),a=parseInt(i[s],10);if(o>a)return 1;if(o<a)return-1;if(s===r-1&&o===a)return 0}return t===""&&e!==""?-1:e===""?1:n.length==i.length?0:n.length<i.length?-1:1}function sv(t){for(const e of t)e.target.handleResize(e)}function ov(t){for(const e of t)e.target.handleVisibilityChanged(e)}let To=null;const fu=()=>(To||(To=new ResizeObserver(sv)),To);let _o=null;const pu=()=>(_o||(_o=new IntersectionObserver(ov,{root:null,rootMargin:"0px"})),_o);function av(){var t;const e=new Ym({sdk:Gl.JS,protocol:Hg,version:Wg});return Ct()&&(e.os=(t=uu())!==null&&t!==void 0?t:""),e}function mu(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:16,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:16,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;const r=document.createElement("canvas");r.width=t,r.height=e;const s=r.getContext("2d");s==null||s.fillRect(0,0,r.width,r.height),i&&s&&(s.beginPath(),s.arc(t/2,e/2,50,0,Math.PI*2,!0),s.closePath(),s.fillStyle="grey",s.fill());const o=r.captureStream(),[a]=o.getTracks();if(!a)throw Error("Could not get empty media stream video track");return a.enabled=n,a}let Oi;function So(){if(!Oi){const t=new AudioContext,e=t.createOscillator(),n=t.createGain();n.gain.setValueAtTime(0,0);const i=t.createMediaStreamDestination();if(e.connect(n),n.connect(i),e.start(),[Oi]=i.stream.getAudioTracks(),!Oi)throw Error("Could not get empty media stream audio track");Oi.enabled=!1}return Oi.clone()}class Kn{constructor(e,n){this.onFinally=n,this.promise=new Promise((i,r)=>y(this,void 0,void 0,function*(){this.resolve=i,this.reject=r,e&&(yield e(i,r))})).finally(()=>{var i;return(i=this.onFinally)===null||i===void 0?void 0:i.call(this)})}}function cv(t){return Jg.includes(t)}function nn(t){if(typeof t=="string"||typeof t=="number")return t;if(Array.isArray(t))return t[0];if(t.exact)return Array.isArray(t.exact)?t.exact[0]:t.exact;if(t.ideal)return Array.isArray(t.ideal)?t.ideal[0]:t.ideal;throw Error("could not unwrap constraint")}function lv(t){return t.startsWith("http")?t.replace(/^(http)/,"ws"):t}function xo(t){return t.startsWith("ws")?t.replace(/^(ws)/,"http"):t}function dv(t,e){return t.segments.map(n=>{let{id:i,text:r,language:s,startTime:o,endTime:a,final:c}=n;var l;const d=(l=e.get(i))!==null&&l!==void 0?l:Date.now(),u=Date.now();return c?e.delete(i):e.set(i,d),{id:i,text:r,startTime:Number.parseInt(o.toString()),endTime:Number.parseInt(a.toString()),final:c,language:s,firstReceivedTime:d,lastReceivedTime:u}})}function uv(t){const{id:e,timestamp:n,message:i,editTimestamp:r}=t;return{id:e,timestamp:Number.parseInt(n.toString()),editTimestamp:r?Number.parseInt(r.toString()):void 0,message:i}}function gu(t){switch(t.reason){case Q.LeaveRequest:return t.context;case Q.Cancelled:return st.CLIENT_INITIATED;case Q.NotAllowed:return st.USER_REJECTED;case Q.ServerUnreachable:return st.JOIN_FAILURE;default:return st.UNKNOWN_REASON}}function xr(t){return t!==void 0?Number(t):void 0}function Tn(t){return t!==void 0?BigInt(t):void 0}function Gn(t){return!!t&&!(t instanceof MediaStreamTrack)&&t.isLocal}function wt(t){return!!t&&t.kind==P.Kind.Audio}function Jn(t){return!!t&&t.kind==P.Kind.Video}function rn(t){return Gn(t)&&Jn(t)}function Bt(t){return Gn(t)&&wt(t)}function Eo(t){return!!t&&!t.isLocal}function hv(t){return!!t&&!t.isLocal}function Po(t){return Eo(t)&&Jn(t)}function fv(t){return t.isLocal}function pv(t,e){const n=[];let i=new TextEncoder().encode(t);for(;i.length>e;){let r=e;for(;r>0;){const s=i[r];if(s!==void 0&&(s&192)!==128)break;r--}n.push(i.slice(0,r)),i=i.slice(r)}return i.length>0&&n.push(i),n}function vu(t,e,n){var i,r,s,o;const{optionsWithoutProcessor:a,audioProcessor:c,videoProcessor:l}=ku(t??{}),d=e==null?void 0:e.processor,u=n==null?void 0:n.processor,h=a??{};return h.audio===!0&&(h.audio={}),h.video===!0&&(h.video={}),h.audio&&(Ro(h.audio,e),(i=(s=h.audio).deviceId)!==null&&i!==void 0||(s.deviceId={ideal:"default"}),(c||d)&&(h.audio.processor=c??d)),h.video&&(Ro(h.video,n),(r=(o=h.video).deviceId)!==null&&r!==void 0||(o.deviceId={ideal:"default"}),(l||u)&&(h.video.processor=l??u)),h}function Ro(t,e){return Object.keys(e).forEach(n=>{t[n]===void 0&&(t[n]=e[n])}),t}function Io(t){var e,n,i,r;const s={};if(t.video)if(typeof t.video=="object"){const o={},a=o,c=t.video;Object.keys(c).forEach(l=>{switch(l){case"resolution":Ro(a,c.resolution);break;default:a[l]=c[l]}}),s.video=o,(e=(i=s.video).deviceId)!==null&&e!==void 0||(i.deviceId={ideal:"default"})}else s.video=t.video?{deviceId:{ideal:"default"}}:!1;else s.video=!1;return t.audio?typeof t.audio=="object"?(s.audio=t.audio,(n=(r=s.audio).deviceId)!==null&&n!==void 0||(r.deviceId={ideal:"default"})):s.audio={deviceId:{ideal:"default"}}:s.audio=!1,s}function bu(t){return y(this,arguments,void 0,function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:200;return function*(){const i=yu();if(i){const r=i.createAnalyser();r.fftSize=2048;const s=r.frequencyBinCount,o=new Uint8Array(s);i.createMediaStreamSource(new MediaStream([e.mediaStreamTrack])).connect(r),yield qe(n),r.getByteTimeDomainData(o);const c=o.some(l=>l!==128&&l!==0);return i.close(),!c}return!1}()})}function yu(){var t;const e=typeof window<"u"&&(window.AudioContext||window.webkitAudioContext);if(e){const n=new e({latencyHint:"interactive"});if(n.state==="suspended"&&typeof window<"u"&&(!((t=window.document)===null||t===void 0)&&t.body)){const i=()=>y(this,void 0,void 0,function*(){var r;try{n.state==="suspended"&&(yield n.resume())}catch(s){console.warn("Error trying to auto-resume audio context",s)}(r=window.document.body)===null||r===void 0||r.removeEventListener("click",i)});window.document.body.addEventListener("click",i)}return n}}function mv(t){return t==="audioinput"?P.Source.Microphone:t==="videoinput"?P.Source.Camera:P.Source.Unknown}function Oo(t){return t===P.Source.Microphone?"audioinput":t===P.Source.Camera?"videoinput":void 0}function gv(t){var e,n;let i=(e=t.video)!==null&&e!==void 0?e:!0;return t.resolution&&t.resolution.width>0&&t.resolution.height>0&&(i=typeof i=="boolean"?{}:i,wn()?i=Object.assign(Object.assign({},i),{width:{max:t.resolution.width},height:{max:t.resolution.height},frameRate:t.resolution.frameRate}):i=Object.assign(Object.assign({},i),{width:{ideal:t.resolution.width},height:{ideal:t.resolution.height},frameRate:t.resolution.frameRate})),{audio:(n=t.audio)!==null&&n!==void 0?n:!1,video:i,controller:t.controller,selfBrowserSurface:t.selfBrowserSurface,surfaceSwitching:t.surfaceSwitching,systemAudio:t.systemAudio,preferCurrentTab:t.preferCurrentTab}}function Er(t){return t.split("/")[1].toLowerCase()}function vv(t){const e=[];return t.forEach(n=>{n.track!==void 0&&e.push(new Qs({cid:n.track.mediaStreamID,track:n.trackInfo}))}),e}function Y(t){return"mediaStreamTrack"in t?{trackID:t.sid,source:t.source,muted:t.isMuted,enabled:t.mediaStreamTrack.enabled,kind:t.kind,streamID:t.mediaStreamID,streamTrackID:t.mediaStreamTrack.id}:{trackID:t.trackSid,enabled:t.isEnabled,muted:t.isMuted,trackInfo:Object.assign({mimeType:t.mimeType,name:t.trackName,encrypted:t.isEncrypted,kind:t.kind,source:t.source},t.track?Y(t.track):{})}}function bv(){return typeof RTCRtpReceiver<"u"&&"getSynchronizationSources"in RTCRtpReceiver}function yv(t,e){var n;t===void 0&&(t={}),e===void 0&&(e={});const i=[...Object.keys(e),...Object.keys(t)],r={};for(const s of i)t[s]!==e[s]&&(r[s]=(n=e[s])!==null&&n!==void 0?n:"");return r}function ku(t){const e=Object.assign({},t);let n,i;return typeof e.audio=="object"&&e.audio.processor&&(n=e.audio.processor,e.audio=Object.assign(Object.assign({},e.audio),{processor:void 0})),typeof e.video=="object"&&e.video.processor&&(i=e.video.processor,e.video=Object.assign(Object.assign({},e.video),{processor:void 0})),{audioProcessor:n,videoProcessor:i,optionsWithoutProcessor:Vg(e)}}function kv(t){switch(t){case Se.CAMERA:return P.Source.Camera;case Se.MICROPHONE:return P.Source.Microphone;case Se.SCREEN_SHARE:return P.Source.ScreenShare;case Se.SCREEN_SHARE_AUDIO:return P.Source.ScreenShareAudio;default:return P.Source.Unknown}}class Cv extends kt.EventEmitter{constructor(e){super(),this.onWorkerMessage=n=>{var i,r;const{kind:s,data:o}=n.data;switch(s){case"error":X.error(o.error.message),this.emit(Zt.EncryptionError,o.error);break;case"initAck":o.enabled&&this.keyProvider.getKeys().forEach(a=>{this.postKey(a)});break;case"enable":if(o.enabled&&this.keyProvider.getKeys().forEach(a=>{this.postKey(a)}),this.encryptionEnabled!==o.enabled&&o.participantIdentity===((i=this.room)===null||i===void 0?void 0:i.localParticipant.identity))this.emit(Zt.ParticipantEncryptionStatusChanged,o.enabled,this.room.localParticipant),this.encryptionEnabled=o.enabled;else if(o.participantIdentity){const a=(r=this.room)===null||r===void 0?void 0:r.getParticipantByIdentity(o.participantIdentity);if(!a)throw TypeError("couldn't set encryption status, participant not found".concat(o.participantIdentity));this.emit(Zt.ParticipantEncryptionStatusChanged,o.enabled,a)}break;case"ratchetKey":this.keyProvider.emit(Qt.KeyRatcheted,o.ratchetResult,o.participantIdentity,o.keyIndex);break}},this.onWorkerError=n=>{X.error("e2ee worker encountered an error:",{error:n.error}),this.emit(Zt.EncryptionError,n.error)},this.keyProvider=e.keyProvider,this.worker=e.worker,this.encryptionEnabled=!1}setup(e){if(!Fg())throw new ho("tried to setup end-to-end encryption on an unsupported browser");if(X.info("setting up e2ee"),e!==this.room){this.room=e,this.setupEventListeners(e,this.keyProvider);const n={kind:"init",data:{keyProviderOptions:this.keyProvider.getOptions(),loglevel:Tg.getLevel()}};this.worker&&(X.info("initializing worker",{worker:this.worker}),this.worker.onmessage=this.onWorkerMessage,this.worker.onerror=this.onWorkerError,this.worker.postMessage(n))}}setParticipantCryptorEnabled(e,n){X.debug("set e2ee to ".concat(e," for participant ").concat(n)),this.postEnable(e,n)}setSifTrailer(e){!e||e.length===0?X.warn("ignoring server sent trailer as it's empty"):this.postSifTrailer(e)}setupEngine(e){e.on(N.RTPVideoMapUpdate,n=>{this.postRTPMap(n)})}setupEventListeners(e,n){e.on(I.TrackPublished,(i,r)=>this.setParticipantCryptorEnabled(i.trackInfo.encryption!==Xe.NONE,r.identity)),e.on(I.ConnectionStateChanged,i=>{i===Z.Connected&&e.remoteParticipants.forEach(r=>{r.trackPublications.forEach(s=>{this.setParticipantCryptorEnabled(s.trackInfo.encryption!==Xe.NONE,r.identity)})})}).on(I.TrackUnsubscribed,(i,r,s)=>{var o;const a={kind:"removeTransform",data:{participantIdentity:s.identity,trackId:i.mediaStreamID}};(o=this.worker)===null||o===void 0||o.postMessage(a)}).on(I.TrackSubscribed,(i,r,s)=>{this.setupE2EEReceiver(i,s.identity,r.trackInfo)}).on(I.SignalConnected,()=>{if(!this.room)throw new TypeError("expected room to be present on signal connect");n.getKeys().forEach(i=>{this.postKey(i)}),this.setParticipantCryptorEnabled(this.room.localParticipant.isE2EEEnabled,this.room.localParticipant.identity)}),e.localParticipant.on(L.LocalTrackPublished,i=>y(this,void 0,void 0,function*(){this.setupE2EESender(i.track,i.track.sender)})),n.on(Qt.SetKey,i=>this.postKey(i)).on(Qt.RatchetRequest,(i,r)=>this.postRatchetRequest(i,r))}postRatchetRequest(e,n){if(!this.worker)throw Error("could not ratchet key, worker is missing");const i={kind:"ratchetRequest",data:{participantIdentity:e,keyIndex:n}};this.worker.postMessage(i)}postKey(e){let{key:n,participantIdentity:i,keyIndex:r}=e;var s;if(!this.worker)throw Error("could not set key, worker is missing");const o={kind:"setKey",data:{participantIdentity:i,isPublisher:i===((s=this.room)===null||s===void 0?void 0:s.localParticipant.identity),key:n,keyIndex:r}};this.worker.postMessage(o)}postEnable(e,n){if(this.worker){const i={kind:"enable",data:{enabled:e,participantIdentity:n}};this.worker.postMessage(i)}else throw new ReferenceError("failed to enable e2ee, worker is not ready")}postRTPMap(e){var n;if(!this.worker)throw TypeError("could not post rtp map, worker is missing");if(!(!((n=this.room)===null||n===void 0)&&n.localParticipant.identity))throw TypeError("could not post rtp map, local participant identity is missing");const i={kind:"setRTPMap",data:{map:e,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(i)}postSifTrailer(e){if(!this.worker)throw Error("could not post SIF trailer, worker is missing");const n={kind:"setSifTrailer",data:{trailer:e}};this.worker.postMessage(n)}setupE2EEReceiver(e,n,i){if(e.receiver){if(!(i!=null&&i.mimeType)||i.mimeType==="")throw new TypeError("MimeType missing from trackInfo, cannot set up E2EE cryptor");this.handleReceiver(e.receiver,e.mediaStreamID,n,e.kind==="video"?Er(i.mimeType):void 0)}}setupE2EESender(e,n){if(!Gn(e)||!n){n||X.warn("early return because sender is not ready");return}this.handleSender(n,e.mediaStreamID,void 0)}handleReceiver(e,n,i,r){return y(this,void 0,void 0,function*(){if(this.worker){if(uo()){const s={kind:"decode",participantIdentity:i,trackId:n,codec:r};e.transform=new RTCRtpScriptTransform(this.worker,s)}else{if(Tr in e&&r){const c={kind:"updateCodec",data:{trackId:n,codec:r,participantIdentity:i}};this.worker.postMessage(c);return}let s=e.writableStream,o=e.readableStream;if(!s||!o){const c=e.createEncodedStreams();e.writableStream=c.writable,s=c.writable,e.readableStream=c.readable,o=c.readable}const a={kind:"decode",data:{readableStream:o,writableStream:s,trackId:n,codec:r,participantIdentity:i}};this.worker.postMessage(a,[o,s])}e[Tr]=!0}})}handleSender(e,n,i){var r;if(!(Tr in e||!this.worker)){if(!(!((r=this.room)===null||r===void 0)&&r.localParticipant.identity)||this.room.localParticipant.identity==="")throw TypeError("local identity needs to be known in order to set up encrypted sender");if(uo()){X.info("initialize script transform");const s={kind:"encode",participantIdentity:this.room.localParticipant.identity,trackId:n,codec:i};e.transform=new RTCRtpScriptTransform(this.worker,s)}else{X.info("initialize encoded streams");const s=e.createEncodedStreams(),o={kind:"encode",data:{readableStream:s.readable,writableStream:s.writable,codec:i,trackId:n,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(o,[s.readable,s.writable])}e[Tr]=!0}}}const Do="default";class Ie{constructor(){this._previousDevices=[]}static getInstance(){return this.instance===void 0&&(this.instance=new Ie),this.instance}get previousDevices(){return this._previousDevices}getDevices(e){return y(this,arguments,void 0,function(n){var i=this;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){var s;if(((s=Ie.userMediaPromiseMap)===null||s===void 0?void 0:s.size)>0){X.debug("awaiting getUserMedia promise");try{n?yield Ie.userMediaPromiseMap.get(n):yield Promise.all(Ie.userMediaPromiseMap.values())}catch{X.warn("error waiting for media permissons")}}let o=yield navigator.mediaDevices.enumerateDevices();if(r&&!(wn()&&i.hasDeviceInUse(n))&&(o.filter(c=>c.kind===n).length===0||o.some(c=>{const l=c.label==="",d=n?c.kind===n:!0;return l&&d}))){const c={video:n!=="audioinput"&&n!=="audiooutput",audio:n!=="videoinput"&&{deviceId:{ideal:"default"}}},l=yield navigator.mediaDevices.getUserMedia(c);o=yield navigator.mediaDevices.enumerateDevices(),l.getTracks().forEach(d=>{d.stop()})}return i._previousDevices=o,n&&(o=o.filter(a=>a.kind===n)),o}()})}normalizeDeviceId(e,n,i){return y(this,void 0,void 0,function*(){if(n!==Do)return n;const r=yield this.getDevices(e),s=r.find(a=>a.deviceId===Do);if(!s){X.warn("could not reliably determine default device");return}const o=r.find(a=>a.deviceId!==Do&&a.groupId===(i??s.groupId));if(!o){X.warn("could not reliably determine default device");return}return o==null?void 0:o.deviceId})}hasDeviceInUse(e){return e?Ie.userMediaPromiseMap.has(e):Ie.userMediaPromiseMap.size>0}}Ie.mediaDeviceKinds=["audioinput","audiooutput","videoinput"],Ie.userMediaPromiseMap=new Map;var Di;(function(t){t[t.WAITING=0]="WAITING",t[t.RUNNING=1]="RUNNING",t[t.COMPLETED=2]="COMPLETED"})(Di||(Di={}));class wv{constructor(){this.pendingTasks=new Map,this.taskMutex=new Fe,this.nextTaskIndex=0}run(e){return y(this,void 0,void 0,function*(){const n={id:this.nextTaskIndex++,enqueuedAt:Date.now(),status:Di.WAITING};this.pendingTasks.set(n.id,n);const i=yield this.taskMutex.lock();try{return n.executedAt=Date.now(),n.status=Di.RUNNING,yield e()}finally{n.status=Di.COMPLETED,this.pendingTasks.delete(n.id),i()}})}flush(){return y(this,void 0,void 0,function*(){return this.run(()=>y(this,void 0,void 0,function*(){}))})}snapshot(){return Array.from(this.pendingTasks.values())}}function Tv(t,e){const n=new URL(lv(t));return e.forEach((i,r)=>{n.searchParams.set(r,i)}),Cu(n,"rtc")}function _v(t){const e=new URL(xo(t));return Cu(e,"validate")}function Sv(t){return t.endsWith("/")?t:"".concat(t,"/")}function Cu(t,e){return t.pathname="".concat(Sv(t.pathname)).concat(e),t.toString()}const xv=["syncState","trickle","offer","answer","simulate","leave"];function Ev(t){const e=xv.indexOf(t.case)>=0;return X.trace("request allowed to bypass queue:",{canPass:e,req:t}),e}var le;(function(t){t[t.CONNECTING=0]="CONNECTING",t[t.CONNECTED=1]="CONNECTED",t[t.RECONNECTING=2]="RECONNECTING",t[t.DISCONNECTING=3]="DISCONNECTING",t[t.DISCONNECTED=4]="DISCONNECTED"})(le||(le={}));class Mo{get currentState(){return this.state}get isDisconnected(){return this.state===le.DISCONNECTING||this.state===le.DISCONNECTED}get isEstablishingConnection(){return this.state===le.CONNECTING||this.state===le.RECONNECTING}getNextRequestId(){return this._requestId+=1,this._requestId}constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var i;this.rtt=0,this.state=le.DISCONNECTED,this.log=X,this._requestId=0,this.resetCallbacks=()=>{this.onAnswer=void 0,this.onLeave=void 0,this.onLocalTrackPublished=void 0,this.onLocalTrackUnpublished=void 0,this.onNegotiateRequested=void 0,this.onOffer=void 0,this.onRemoteMuteChanged=void 0,this.onSubscribedQualityUpdate=void 0,this.onTokenRefresh=void 0,this.onTrickle=void 0,this.onClose=void 0},this.log=Nt((i=n.loggerName)!==null&&i!==void 0?i:at.Signal),this.loggerContextCb=n.loggerContextCb,this.useJSON=e,this.requestQueue=new wv,this.queuedRequests=[],this.closingLock=new Fe,this.connectionLock=new Fe,this.state=le.DISCONNECTED}get logContext(){var e,n;return(n=(e=this.loggerContextCb)===null||e===void 0?void 0:e.call(this))!==null&&n!==void 0?n:{}}join(e,n,i,r){return y(this,void 0,void 0,function*(){return this.state=le.CONNECTING,this.options=i,yield this.connect(e,n,i,r)})}reconnect(e,n,i,r){return y(this,void 0,void 0,function*(){if(!this.options){this.log.warn("attempted to reconnect without signal options being set, ignoring",this.logContext);return}this.state=le.RECONNECTING,this.clearPingInterval();const s=yield this.connect(e,n,Object.assign(Object.assign({},this.options),{reconnect:!0,sid:i,reconnectReason:r}));if(s instanceof td)return s})}connect(e,n,i,r){this.connectOptions=i;const s=av(),o=Pv(n,s,i),a=Tv(e,o),c=_v(a);return new Promise((l,d)=>y(this,void 0,void 0,function*(){const u=yield this.connectionLock.lock();try{const h=()=>y(this,void 0,void 0,function*(){this.close(),clearTimeout(f),d(new ae("room connection has been cancelled (signal)",Q.Cancelled))}),f=setTimeout(()=>{this.close(),d(new ae("room connection has timed out (signal)",Q.ServerUnreachable))},i.websocketTimeout);r!=null&&r.aborted&&h(),r==null||r.addEventListener("abort",h);const m=new URL(a);m.searchParams.has("access_token")&&m.searchParams.set("access_token","<redacted>"),this.log.debug("connecting to ".concat(m),Object.assign({reconnect:i.reconnect,reconnectReason:i.reconnectReason},this.logContext)),this.ws&&(yield this.close(!1)),this.ws=new WebSocket(a),this.ws.binaryType="arraybuffer",this.ws.onopen=()=>{clearTimeout(f)},this.ws.onerror=p=>y(this,void 0,void 0,function*(){if(this.state!==le.CONNECTED){this.state=le.DISCONNECTED,clearTimeout(f);try{const g=yield fetch(c);if(g.status.toFixed(0).startsWith("4")){const b=yield g.text();d(new ae(b,Q.NotAllowed,g.status))}else d(new ae("Encountered unknown websocket error during connection: ".concat(p.toString()),Q.InternalError,g.status))}catch(g){d(new ae(g instanceof Error?g.message:"server was not reachable",Q.ServerUnreachable))}return}this.handleWSError(p)}),this.ws.onmessage=p=>y(this,void 0,void 0,function*(){var g,b,C;let w;if(typeof p.data=="string"){const k=JSON.parse(p.data);w=ed.fromJson(k,{ignoreUnknownFields:!0})}else if(p.data instanceof ArrayBuffer)w=ed.fromBinary(new Uint8Array(p.data));else{this.log.error("could not decode websocket message: ".concat(typeof p.data),this.logContext);return}if(this.state!==le.CONNECTED){let k=!1;if(((g=w.message)===null||g===void 0?void 0:g.case)==="join"?(this.state=le.CONNECTED,r==null||r.removeEventListener("abort",h),this.pingTimeoutDuration=w.message.value.pingTimeout,this.pingIntervalDuration=w.message.value.pingInterval,this.pingTimeoutDuration&&this.pingTimeoutDuration>0&&(this.log.debug("ping config",Object.assign(Object.assign({},this.logContext),{timeout:this.pingTimeoutDuration,interval:this.pingIntervalDuration})),this.startPingInterval()),l(w.message.value)):this.state===le.RECONNECTING&&w.message.case!=="leave"?(this.state=le.CONNECTED,r==null||r.removeEventListener("abort",h),this.startPingInterval(),((b=w.message)===null||b===void 0?void 0:b.case)==="reconnect"?l(w.message.value):(this.log.debug("declaring signal reconnected without reconnect response received",this.logContext),l(void 0),k=!0)):this.isEstablishingConnection&&w.message.case==="leave"?d(new ae("Received leave request while trying to (re)connect",Q.LeaveRequest,void 0,w.message.value.reason)):i.reconnect||d(new ae("did not receive join response, got ".concat((C=w.message)===null||C===void 0?void 0:C.case," instead"),Q.InternalError)),!k)return}this.signalLatency&&(yield qe(this.signalLatency)),this.handleSignalResponse(w)}),this.ws.onclose=p=>{this.isEstablishingConnection&&d(new ae("Websocket got closed during a (re)connection attempt",Q.InternalError)),this.log.warn("websocket closed",Object.assign(Object.assign({},this.logContext),{reason:p.reason,code:p.code,wasClean:p.wasClean,state:this.state})),this.handleOnClose(p.reason)}}finally{u()}}))}close(){return y(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){const i=yield e.closingLock.lock();try{if(e.clearPingInterval(),n&&(e.state=le.DISCONNECTING),e.ws){e.ws.onmessage=null,e.ws.onopen=null,e.ws.onclose=null;const r=new Promise(s=>{e.ws?e.ws.onclose=()=>{s()}:s()});e.ws.readyState<e.ws.CLOSING&&(e.ws.close(),yield Promise.race([r,qe(250)])),e.ws=void 0}}finally{n&&(e.state=le.DISCONNECTED),i()}}()})}sendOffer(e){this.log.debug("sending offer",Object.assign(Object.assign({},this.logContext),{offerSdp:e.sdp})),this.sendRequest({case:"offer",value:Pr(e)})}sendAnswer(e){return this.log.debug("sending answer",Object.assign(Object.assign({},this.logContext),{answerSdp:e.sdp})),this.sendRequest({case:"answer",value:Pr(e)})}sendIceCandidate(e,n){return this.log.debug("sending ice candidate",Object.assign(Object.assign({},this.logContext),{candidate:e})),this.sendRequest({case:"trickle",value:new Ys({candidateInit:JSON.stringify(e),target:n})})}sendMuteTrack(e,n){return this.sendRequest({case:"mute",value:new Xs({sid:e,muted:n})})}sendAddTrack(e){return this.sendRequest({case:"addTrack",value:e})}sendUpdateLocalMetadata(e,n){return y(this,arguments,void 0,function(i,r){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return function*(){const a=s.getNextRequestId();return yield s.sendRequest({case:"updateMetadata",value:new sd({requestId:a,metadata:i,name:r,attributes:o})}),a}()})}sendUpdateTrackSettings(e){this.sendRequest({case:"trackSetting",value:e})}sendUpdateSubscription(e){return this.sendRequest({case:"subscription",value:e})}sendSyncState(e){return this.sendRequest({case:"syncState",value:e})}sendUpdateVideoLayers(e,n){return this.sendRequest({case:"updateLayers",value:new rd({trackSid:e,layers:n})})}sendUpdateSubscriptionPermissions(e,n){return this.sendRequest({case:"subscriptionPermission",value:new cd({allParticipants:e,trackPermissions:n})})}sendSimulateScenario(e){return this.sendRequest({case:"simulate",value:e})}sendPing(){return Promise.all([this.sendRequest({case:"ping",value:pe.parse(Date.now())}),this.sendRequest({case:"pingReq",value:new hd({timestamp:pe.parse(Date.now()),rtt:pe.parse(this.rtt)})})])}sendUpdateLocalAudioTrack(e,n){return this.sendRequest({case:"updateAudioTrack",value:new id({trackSid:e,features:n})})}sendLeave(){return this.sendRequest({case:"leave",value:new pr({reason:st.CLIENT_INITIATED,action:qn.DISCONNECT})})}sendRequest(e){return y(this,arguments,void 0,function(n){var i=this;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return function*(){if(!r&&!Ev(n)&&i.state===le.RECONNECTING){i.queuedRequests.push(()=>y(i,void 0,void 0,function*(){yield this.sendRequest(n,!0)}));return}if(r||(yield i.requestQueue.flush()),i.signalLatency&&(yield qe(i.signalLatency)),!i.ws||i.ws.readyState!==i.ws.OPEN){i.log.error("cannot send signal request before connected, type: ".concat(n==null?void 0:n.case),i.logContext);return}const o=new Zm({message:n});try{i.useJSON?i.ws.send(o.toJsonString()):i.ws.send(o.toBinary())}catch(a){i.log.error("error sending signal message",Object.assign(Object.assign({},i.logContext),{error:a}))}}()})}handleSignalResponse(e){var n,i;const r=e.message;if(r==null){this.log.debug("received unsupported message",this.logContext);return}let s=!1;if(r.case==="answer"){const o=wu(r.value);this.onAnswer&&this.onAnswer(o)}else if(r.case==="offer"){const o=wu(r.value);this.onOffer&&this.onOffer(o)}else if(r.case==="trickle"){const o=JSON.parse(r.value.candidateInit);this.onTrickle&&this.onTrickle(o,r.value.target)}else r.case==="update"?this.onParticipantUpdate&&this.onParticipantUpdate((n=r.value.participants)!==null&&n!==void 0?n:[]):r.case==="trackPublished"?this.onLocalTrackPublished&&this.onLocalTrackPublished(r.value):r.case==="speakersChanged"?this.onSpeakersChanged&&this.onSpeakersChanged((i=r.value.speakers)!==null&&i!==void 0?i:[]):r.case==="leave"?this.onLeave&&this.onLeave(r.value):r.case==="mute"?this.onRemoteMuteChanged&&this.onRemoteMuteChanged(r.value.sid,r.value.muted):r.case==="roomUpdate"?this.onRoomUpdate&&r.value.room&&this.onRoomUpdate(r.value.room):r.case==="connectionQuality"?this.onConnectionQuality&&this.onConnectionQuality(r.value):r.case==="streamStateUpdate"?this.onStreamStateUpdate&&this.onStreamStateUpdate(r.value):r.case==="subscribedQualityUpdate"?this.onSubscribedQualityUpdate&&this.onSubscribedQualityUpdate(r.value):r.case==="subscriptionPermissionUpdate"?this.onSubscriptionPermissionUpdate&&this.onSubscriptionPermissionUpdate(r.value):r.case==="refreshToken"?this.onTokenRefresh&&this.onTokenRefresh(r.value):r.case==="trackUnpublished"?this.onLocalTrackUnpublished&&this.onLocalTrackUnpublished(r.value):r.case==="subscriptionResponse"?this.onSubscriptionError&&this.onSubscriptionError(r.value):r.case==="pong"||(r.case==="pongResp"?(this.rtt=Date.now()-Number.parseInt(r.value.lastPingTimestamp.toString()),this.resetPingTimeout(),s=!0):r.case==="requestResponse"?this.onRequestResponse&&this.onRequestResponse(r.value):r.case==="trackSubscribed"?this.onLocalTrackSubscribed&&this.onLocalTrackSubscribed(r.value.trackSid):r.case==="roomMoved"?(this.onTokenRefresh&&this.onTokenRefresh(r.value.token),this.onRoomMoved&&this.onRoomMoved(r.value)):this.log.debug("unsupported message",Object.assign(Object.assign({},this.logContext),{msgCase:r.case})));s||this.resetPingTimeout()}setReconnected(){for(;this.queuedRequests.length>0;){const e=this.queuedRequests.shift();e&&this.requestQueue.run(e)}}handleOnClose(e){return y(this,void 0,void 0,function*(){if(this.state===le.DISCONNECTED)return;const n=this.onClose;yield this.close(),this.log.debug("websocket connection closed: ".concat(e),Object.assign(Object.assign({},this.logContext),{reason:e})),n&&n(e)})}handleWSError(e){this.log.error("websocket error",Object.assign(Object.assign({},this.logContext),{error:e}))}resetPingTimeout(){if(this.clearPingTimeout(),!this.pingTimeoutDuration){this.log.warn("ping timeout duration not set",this.logContext);return}this.pingTimeout=Ae.setTimeout(()=>{this.log.warn("ping timeout triggered. last pong received at: ".concat(new Date(Date.now()-this.pingTimeoutDuration*1e3).toUTCString()),this.logContext),this.handleOnClose("ping timeout")},this.pingTimeoutDuration*1e3)}clearPingTimeout(){this.pingTimeout&&Ae.clearTimeout(this.pingTimeout)}startPingInterval(){if(this.clearPingInterval(),this.resetPingTimeout(),!this.pingIntervalDuration){this.log.warn("ping interval duration not set",this.logContext);return}this.log.debug("start ping interval",this.logContext),this.pingInterval=Ae.setInterval(()=>{this.sendPing()},this.pingIntervalDuration*1e3)}clearPingInterval(){this.log.debug("clearing ping interval",this.logContext),this.clearPingTimeout(),this.pingInterval&&Ae.clearInterval(this.pingInterval)}}function wu(t){const e={type:"offer",sdp:t.sdp};switch(t.type){case"answer":case"offer":case"pranswer":case"rollback":e.type=t.type;break}return e}function Pr(t){return new kn({sdp:t.sdp,type:t.type})}function Pv(t,e,n){var i;const r=new URLSearchParams;return r.set("access_token",t),n.reconnect&&(r.set("reconnect","1"),n.sid&&r.set("sid",n.sid)),r.set("auto_subscribe",n.autoSubscribe?"1":"0"),r.set("sdk",Ct()?"reactnative":"js"),r.set("version",e.version),r.set("protocol",e.protocol.toString()),e.deviceModel&&r.set("device_model",e.deviceModel),e.os&&r.set("os",e.os),e.osVersion&&r.set("os_version",e.osVersion),e.browser&&r.set("browser",e.browser),e.browserVersion&&r.set("browser_version",e.browserVersion),n.adaptiveStream&&r.set("adaptive_stream","1"),n.reconnectReason&&r.set("reconnect_reason",n.reconnectReason.toString()),!((i=navigator.connection)===null||i===void 0)&&i.type&&r.set("network",navigator.connection.type),r}class Tu{constructor(){this.buffer=[],this._totalSize=0}push(e){this.buffer.push(e),this._totalSize+=e.data.byteLength}pop(){const e=this.buffer.shift();return e&&(this._totalSize-=e.data.byteLength),e}getAll(){return this.buffer.slice()}popToSequence(e){for(;this.buffer.length>0&&this.buffer[0].sequence<=e;)this.pop()}alignBufferedAmount(e){for(;this.buffer.length>0;){const n=this.buffer[0];if(this._totalSize-n.data.byteLength<=e)break;this.pop()}}get length(){return this.buffer.length}}class Rv{constructor(e){this._map=new Map,this._lastCleanup=0,this.ttl=e}set(e,n){const i=Date.now();i-this._lastCleanup>this.ttl/2&&this.cleanup();const r=i+this.ttl;return this._map.set(e,{value:n,expiresAt:r}),this}get(e){const n=this._map.get(e);if(n){if(n.expiresAt<Date.now()){this._map.delete(e);return}return n.value}}has(e){const n=this._map.get(e);return n?n.expiresAt<Date.now()?(this._map.delete(e),!1):!0:!1}delete(e){return this._map.delete(e)}clear(){this._map.clear()}cleanup(){const e=Date.now();for(const[n,i]of this._map.entries())i.expiresAt<e&&this._map.delete(n);this._lastCleanup=e}get size(){return this.cleanup(),this._map.size}forEach(e){this.cleanup();for(const[n,i]of this._map.entries())i.expiresAt>=Date.now()&&e(i.value,n,this.asValueMap())}map(e){this.cleanup();const n=[],i=this.asValueMap();for(const[r,s]of i.entries())n.push(e(s,r,i));return n}asValueMap(){const e=new Map;for(const[n,i]of this._map.entries())i.expiresAt>=Date.now()&&e.set(n,i.value);return e}}var ct={},Ao={},No={exports:{}},_u;function Lo(){if(_u)return No.exports;_u=1;var t=No.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return e.address!=null?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return e.subtype!=null?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return e.sessionConfig!=null?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var n="candidate:%s %d %s %d %s %d typ %s";return n+=e.raddr!=null?" raddr %s rport %d":"%v%v",n+=e.tcptype!=null?" tcptype %s":"%v",e.generation!=null&&(n+=" generation %d"),n+=e["network-id"]!=null?" network-id %d":"%v",n+=e["network-cost"]!=null?" network-cost %d":"%v",n}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var n="ssrc:%d";return e.attribute!=null&&(n+=" %s",e.value!=null&&(n+=":%s")),n}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return e.maxMessageSize!=null?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(e.clksrcExt!=null?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var n="mediaclk:";return n+=e.id!=null?"id=%s %s":"%v%s",n+=e.mediaClockValue!=null?"=%s":"",n+=e.rateNumerator!=null?" rate=%s":"",n+=e.rateDenominator!=null?"/%s":"",n}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};return Object.keys(t).forEach(function(e){var n=t[e];n.forEach(function(i){i.reg||(i.reg=/(.*)/),i.format||(i.format="%s")})}),No.exports}var Su;function Iv(){return Su||(Su=1,function(t){var e=function(a){return String(Number(a))===a?Number(a):a},n=function(a,c,l,d){if(d&&!l)c[d]=e(a[1]);else for(var u=0;u<l.length;u+=1)a[u+1]!=null&&(c[l[u]]=e(a[u+1]))},i=function(a,c,l){var d=a.name&&a.names;a.push&&!c[a.push]?c[a.push]=[]:d&&!c[a.name]&&(c[a.name]={});var u=a.push?{}:d?c[a.name]:c;n(l.match(a.reg),u,a.names,a.name),a.push&&c[a.push].push(u)},r=Lo(),s=RegExp.prototype.test.bind(/^([a-z])=(.*)/);t.parse=function(a){var c={},l=[],d=c;return a.split(/(\r\n|\r|\n)/).filter(s).forEach(function(u){var h=u[0],f=u.slice(2);h==="m"&&(l.push({rtp:[],fmtp:[]}),d=l[l.length-1]);for(var m=0;m<(r[h]||[]).length;m+=1){var p=r[h][m];if(p.reg.test(f))return i(p,d,f)}}),c.media=l,c};var o=function(a,c){var l=c.split(/=(.+)/,2);return l.length===2?a[l[0]]=e(l[1]):l.length===1&&c.length>1&&(a[l[0]]=void 0),a};t.parseParams=function(a){return a.split(/;\s?/).reduce(o,{})},t.parseFmtpConfig=t.parseParams,t.parsePayloads=function(a){return a.toString().split(" ").map(Number)},t.parseRemoteCandidates=function(a){for(var c=[],l=a.split(" ").map(e),d=0;d<l.length;d+=3)c.push({component:l[d],ip:l[d+1],port:l[d+2]});return c},t.parseImageAttributes=function(a){return a.split(" ").map(function(c){return c.substring(1,c.length-1).split(",").reduce(o,{})})},t.parseSimulcastStreamList=function(a){return a.split(";").map(function(c){return c.split(",").map(function(l){var d,u=!1;return l[0]!=="~"?d=e(l):(d=e(l.substring(1,l.length)),u=!0),{scid:d,paused:u}})})}}(Ao)),Ao}var Uo,xu;function Ov(){if(xu)return Uo;xu=1;var t=Lo(),e=/%[sdv%]/g,n=function(o){var a=1,c=arguments,l=c.length;return o.replace(e,function(d){if(a>=l)return d;var u=c[a];switch(a+=1,d){case"%%":return"%";case"%s":return String(u);case"%d":return Number(u);case"%v":return""}})},i=function(o,a,c){var l=a.format instanceof Function?a.format(a.push?c:c[a.name]):a.format,d=[o+"="+l];if(a.names)for(var u=0;u<a.names.length;u+=1){var h=a.names[u];a.name?d.push(c[a.name][h]):d.push(c[a.names[u]])}else d.push(c[a.name]);return n.apply(null,d)},r=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];return Uo=function(o,a){a=a||{},o.version==null&&(o.version=0),o.name==null&&(o.name=" "),o.media.forEach(function(u){u.payloads==null&&(u.payloads="")});var c=a.outerOrder||r,l=a.innerOrder||s,d=[];return c.forEach(function(u){t[u].forEach(function(h){h.name in o&&o[h.name]!=null?d.push(i(u,h,o)):h.push in o&&o[h.push]!=null&&o[h.push].forEach(function(f){d.push(i(u,h,f))})})}),o.media.forEach(function(u){d.push(i("m",t.m[0],u)),l.forEach(function(h){t[h].forEach(function(f){f.name in u&&u[f.name]!=null?d.push(i(h,f,u)):f.push in u&&u[f.push]!=null&&u[f.push].forEach(function(m){d.push(i(h,f,m))})})})}),d.join(`\r
37
+ `)+`\r
38
+ `},Uo}var Eu;function Dv(){if(Eu)return ct;Eu=1;var t=Iv(),e=Ov(),n=Lo();return ct.grammar=n,ct.write=e,ct.parse=t.parse,ct.parseParams=t.parseParams,ct.parseFmtpConfig=t.parseFmtpConfig,ct.parsePayloads=t.parsePayloads,ct.parseRemoteCandidates=t.parseRemoteCandidates,ct.parseImageAttributes=t.parseImageAttributes,ct.parseSimulcastStreamList=t.parseSimulcastStreamList,ct}var sn=Dv();function Fo(t,e,n){var i,r,s;e===void 0&&(e=50),n===void 0&&(n={});var o=(i=n.isImmediate)!=null&&i,a=(r=n.callback)!=null&&r,c=n.maxWait,l=Date.now(),d=[];function u(){if(c!==void 0){var f=Date.now()-l;if(f+e>=c)return c-f}return e}var h=function(){var f=[].slice.call(arguments),m=this;return new Promise(function(p,g){var b=o&&s===void 0;if(s!==void 0&&clearTimeout(s),s=setTimeout(function(){if(s=void 0,l=Date.now(),!o){var w=t.apply(m,f);a&&a(w),d.forEach(function(k){return(0,k.resolve)(w)}),d=[]}},u()),b){var C=t.apply(m,f);return a&&a(C),p(C)}d.push({resolve:p,reject:g})})};return h.cancel=function(f){s!==void 0&&clearTimeout(s),d.forEach(function(m){return(0,m.reject)(f)}),d=[]},h}const Mv=.7,Av=20,Yn={NegotiationStarted:"negotiationStarted",NegotiationComplete:"negotiationComplete",RTPVideoPayloadTypes:"rtpVideoPayloadTypes"};class Pu extends kt.EventEmitter{get pc(){return this._pc||(this._pc=this.createPC()),this._pc}constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var i;super(),this.log=X,this.ddExtID=0,this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate=!1,this.trackBitrates=[],this.remoteStereoMids=[],this.remoteNackMids=[],this.negotiate=Fo(r=>y(this,void 0,void 0,function*(){this.emit(Yn.NegotiationStarted);try{yield this.createAndSendOffer()}catch(s){if(r)r(s);else throw s}}),Av),this.close=()=>{this._pc&&(this._pc.close(),this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.ondatachannel=null,this._pc.onnegotiationneeded=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ondatachannel=null,this._pc.ontrack=null,this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc=null)},this.log=Nt((i=n.loggerName)!==null&&i!==void 0?i:at.PCTransport),this.loggerOptions=n,this.config=e,this._pc=this.createPC()}createPC(){const e=new RTCPeerConnection(this.config);return e.onicecandidate=n=>{var i;n.candidate&&((i=this.onIceCandidate)===null||i===void 0||i.call(this,n.candidate))},e.onicecandidateerror=n=>{var i;(i=this.onIceCandidateError)===null||i===void 0||i.call(this,n)},e.oniceconnectionstatechange=()=>{var n;(n=this.onIceConnectionStateChange)===null||n===void 0||n.call(this,e.iceConnectionState)},e.onsignalingstatechange=()=>{var n;(n=this.onSignalingStatechange)===null||n===void 0||n.call(this,e.signalingState)},e.onconnectionstatechange=()=>{var n;(n=this.onConnectionStateChange)===null||n===void 0||n.call(this,e.connectionState)},e.ondatachannel=n=>{var i;(i=this.onDataChannel)===null||i===void 0||i.call(this,n)},e.ontrack=n=>{var i;(i=this.onTrack)===null||i===void 0||i.call(this,n)},e}get logContext(){var e,n;return Object.assign({},(n=(e=this.loggerOptions).loggerContextCb)===null||n===void 0?void 0:n.call(e))}get isICEConnected(){return this._pc!==null&&(this.pc.iceConnectionState==="connected"||this.pc.iceConnectionState==="completed")}addIceCandidate(e){return y(this,void 0,void 0,function*(){if(this.pc.remoteDescription&&!this.restartingIce)return this.pc.addIceCandidate(e);this.pendingCandidates.push(e)})}setRemoteDescription(e){return y(this,void 0,void 0,function*(){var n;let i;if(e.type==="offer"){let{stereoMids:r,nackMids:s}=Nv(e);this.remoteStereoMids=r,this.remoteNackMids=s}else if(e.type==="answer"){const r=sn.parse((n=e.sdp)!==null&&n!==void 0?n:"");r.media.forEach(s=>{s.type==="audio"&&this.trackBitrates.some(o=>{if(!o.transceiver||s.mid!=o.transceiver.mid)return!1;let a=0;if(s.rtp.some(l=>l.codec.toUpperCase()===o.codec.toUpperCase()?(a=l.payload,!0):!1),a===0)return!0;let c=!1;for(const l of s.fmtp)if(l.payload===a){l.config=l.config.split(";").filter(d=>!d.includes("maxaveragebitrate")).join(";"),o.maxbr>0&&(l.config+=";maxaveragebitrate=".concat(o.maxbr*1e3)),c=!0;break}return c||o.maxbr>0&&s.fmtp.push({payload:a,config:"maxaveragebitrate=".concat(o.maxbr*1e3)}),!0})}),i=sn.write(r)}yield this.setMungedSDP(e,i,!0),this.pendingCandidates.forEach(r=>{this.pc.addIceCandidate(r)}),this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate?(this.renegotiate=!1,yield this.createAndSendOffer()):e.type==="answer"&&(this.emit(Yn.NegotiationComplete),e.sdp&&sn.parse(e.sdp).media.forEach(s=>{s.type==="video"&&this.emit(Yn.RTPVideoPayloadTypes,s.rtp)}))})}createAndSendOffer(e){return y(this,void 0,void 0,function*(){var n;if(this.onOffer===void 0)return;if(e!=null&&e.iceRestart&&(this.log.debug("restarting ICE",this.logContext),this.restartingIce=!0),this._pc&&this._pc.signalingState==="have-local-offer"){const s=this._pc.remoteDescription;if(e!=null&&e.iceRestart&&s)yield this._pc.setRemoteDescription(s);else{this.renegotiate=!0;return}}else if(!this._pc||this._pc.signalingState==="closed"){this.log.warn("could not createOffer with closed peer connection",this.logContext);return}this.log.debug("starting to negotiate",this.logContext);const i=yield this.pc.createOffer(e);this.log.debug("original offer",Object.assign({sdp:i.sdp},this.logContext));const r=sn.parse((n=i.sdp)!==null&&n!==void 0?n:"");r.media.forEach(s=>{Iu(s),s.type==="audio"?Ru(s,[],[]):s.type==="video"&&this.trackBitrates.some(o=>{if(!s.msid||!o.cid||!s.msid.includes(o.cid))return!1;let a=0;if(s.rtp.some(l=>l.codec.toUpperCase()===o.codec.toUpperCase()?(a=l.payload,!0):!1),a===0||(Ft(o.codec)&&this.ensureVideoDDExtensionForSVC(s,r),o.codec!=="av1"))return!0;const c=Math.round(o.maxbr*Mv);for(const l of s.fmtp)if(l.payload===a){l.config.includes("x-google-start-bitrate")||(l.config+=";x-google-start-bitrate=".concat(c));break}return!0})}),yield this.setMungedSDP(i,sn.write(r)),this.onOffer(i)})}createAndSetAnswer(){return y(this,void 0,void 0,function*(){var e;const n=yield this.pc.createAnswer(),i=sn.parse((e=n.sdp)!==null&&e!==void 0?e:"");return i.media.forEach(r=>{Iu(r),r.type==="audio"&&Ru(r,this.remoteStereoMids,this.remoteNackMids)}),yield this.setMungedSDP(n,sn.write(i)),n})}createDataChannel(e,n){return this.pc.createDataChannel(e,n)}addTransceiver(e,n){return this.pc.addTransceiver(e,n)}addTrack(e){if(!this._pc)throw new Pe("PC closed, cannot add track");return this._pc.addTrack(e)}setTrackCodecBitrate(e){this.trackBitrates.push(e)}setConfiguration(e){var n;if(!this._pc)throw new Pe("PC closed, cannot configure");return(n=this._pc)===null||n===void 0?void 0:n.setConfiguration(e)}canRemoveTrack(){var e;return!!(!((e=this._pc)===null||e===void 0)&&e.removeTrack)}removeTrack(e){var n;return(n=this._pc)===null||n===void 0?void 0:n.removeTrack(e)}getConnectionState(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.connectionState)!==null&&n!==void 0?n:"closed"}getICEConnectionState(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.iceConnectionState)!==null&&n!==void 0?n:"closed"}getSignallingState(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.signalingState)!==null&&n!==void 0?n:"closed"}getTransceivers(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.getTransceivers())!==null&&n!==void 0?n:[]}getSenders(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.getSenders())!==null&&n!==void 0?n:[]}getLocalDescription(){var e;return(e=this._pc)===null||e===void 0?void 0:e.localDescription}getRemoteDescription(){var e;return(e=this.pc)===null||e===void 0?void 0:e.remoteDescription}getStats(){return this.pc.getStats()}getConnectedAddress(){return y(this,void 0,void 0,function*(){var e;if(!this._pc)return;let n="";const i=new Map,r=new Map;if((yield this._pc.getStats()).forEach(a=>{switch(a.type){case"transport":n=a.selectedCandidatePairId;break;case"candidate-pair":n===""&&a.selected&&(n=a.id),i.set(a.id,a);break;case"remote-candidate":r.set(a.id,"".concat(a.address,":").concat(a.port));break}}),n==="")return;const o=(e=i.get(n))===null||e===void 0?void 0:e.remoteCandidateId;if(o!==void 0)return r.get(o)})}setMungedSDP(e,n,i){return y(this,void 0,void 0,function*(){if(n){const r=e.sdp;e.sdp=n;try{this.log.debug("setting munged ".concat(i?"remote":"local"," description"),this.logContext),i?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e);return}catch(s){this.log.warn("not able to set ".concat(e.type,", falling back to unmodified sdp"),Object.assign(Object.assign({},this.logContext),{error:s,sdp:n})),e.sdp=r}}try{i?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e)}catch(r){let s="unknown error";r instanceof Error?s=r.message:typeof r=="string"&&(s=r);const o={error:s,sdp:e.sdp};throw!i&&this.pc.remoteDescription&&(o.remoteSdp=this.pc.remoteDescription),this.log.error("unable to set ".concat(e.type),Object.assign(Object.assign({},this.logContext),{fields:o})),new fo(s)}})}ensureVideoDDExtensionForSVC(e,n){var i,r;if(!((i=e.ext)===null||i===void 0?void 0:i.some(o=>o.uri===au))){if(this.ddExtID===0){let o=0;n.media.forEach(a=>{var c;a.type==="video"&&((c=a.ext)===null||c===void 0||c.forEach(l=>{l.value>o&&(o=l.value)}))}),this.ddExtID=o+1}(r=e.ext)===null||r===void 0||r.push({value:this.ddExtID,uri:au})}}}function Ru(t,e,n){let i=0;t.rtp.some(r=>r.codec==="opus"?(i=r.payload,!0):!1),i>0&&(t.rtcpFb||(t.rtcpFb=[]),n.includes(t.mid)&&!t.rtcpFb.some(r=>r.payload===i&&r.type==="nack")&&t.rtcpFb.push({payload:i,type:"nack"}),e.includes(t.mid)&&t.fmtp.some(r=>r.payload===i?(r.config.includes("stereo=1")||(r.config+=";stereo=1"),!0):!1))}function Nv(t){var e;const n=[],i=[],r=sn.parse((e=t.sdp)!==null&&e!==void 0?e:"");let s=0;return r.media.forEach(o=>{var a;o.type==="audio"&&(o.rtp.some(c=>c.codec==="opus"?(s=c.payload,!0):!1),!((a=o.rtcpFb)===null||a===void 0)&&a.some(c=>c.payload===s&&c.type==="nack")&&i.push(o.mid),o.fmtp.some(c=>c.payload===s?(c.config.includes("sprop-stereo=1")&&n.push(o.mid),!0):!1))}),{stereoMids:n,nackMids:i}}function Iu(t){if(t.connection){const e=t.connection.ip.indexOf(":")>=0;(t.connection.version===4&&e||t.connection.version===6&&!e)&&(t.connection.ip="0.0.0.0",t.connection.version=4)}}const Bo="vp8",Lv={audioPreset:go.music,dtx:!0,red:!0,forceStereo:!1,simulcast:!0,screenShareEncoding:bo.h1080fps15.encoding,stopMicTrackOnMute:!1,videoCodec:Bo,backupCodec:!0,preConnectBuffer:!1},Ou={deviceId:{ideal:"default"},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0,voiceIsolation:!0},Du={deviceId:{ideal:"default"},resolution:Ii.h720.resolution},Uv={adaptiveStream:!1,dynacast:!1,stopLocalTrackOnUnpublish:!0,reconnectPolicy:new Sg,disconnectOnPageLeave:!0,webAudioMix:!1},jo={autoSubscribe:!0,maxRetries:1,peerConnectionTimeout:15e3,websocketTimeout:15e3};var ye;(function(t){t[t.NEW=0]="NEW",t[t.CONNECTING=1]="CONNECTING",t[t.CONNECTED=2]="CONNECTED",t[t.FAILED=3]="FAILED",t[t.CLOSING=4]="CLOSING",t[t.CLOSED=5]="CLOSED"})(ye||(ye={}));class Fv{get needsPublisher(){return this.isPublisherConnectionRequired}get needsSubscriber(){return this.isSubscriberConnectionRequired}get currentState(){return this.state}constructor(e,n,i){var r;this.peerConnectionTimeout=jo.peerConnectionTimeout,this.log=X,this.updateState=()=>{var s;const o=this.state,a=this.requiredTransports.map(c=>c.getConnectionState());a.every(c=>c==="connected")?this.state=ye.CONNECTED:a.some(c=>c==="failed")?this.state=ye.FAILED:a.some(c=>c==="connecting")?this.state=ye.CONNECTING:a.every(c=>c==="closed")?this.state=ye.CLOSED:a.some(c=>c==="closed")?this.state=ye.CLOSING:a.every(c=>c==="new")&&(this.state=ye.NEW),o!==this.state&&(this.log.debug("pc state change: from ".concat(ye[o]," to ").concat(ye[this.state]),this.logContext),(s=this.onStateChange)===null||s===void 0||s.call(this,this.state,this.publisher.getConnectionState(),this.subscriber.getConnectionState()))},this.log=Nt((r=i.loggerName)!==null&&r!==void 0?r:at.PCManager),this.loggerOptions=i,this.isPublisherConnectionRequired=!n,this.isSubscriberConnectionRequired=n,this.publisher=new Pu(e,i),this.subscriber=new Pu(e,i),this.publisher.onConnectionStateChange=this.updateState,this.subscriber.onConnectionStateChange=this.updateState,this.publisher.onIceConnectionStateChange=this.updateState,this.subscriber.onIceConnectionStateChange=this.updateState,this.publisher.onSignalingStatechange=this.updateState,this.subscriber.onSignalingStatechange=this.updateState,this.publisher.onIceCandidate=s=>{var o;(o=this.onIceCandidate)===null||o===void 0||o.call(this,s,ot.PUBLISHER)},this.subscriber.onIceCandidate=s=>{var o;(o=this.onIceCandidate)===null||o===void 0||o.call(this,s,ot.SUBSCRIBER)},this.subscriber.onDataChannel=s=>{var o;(o=this.onDataChannel)===null||o===void 0||o.call(this,s)},this.subscriber.onTrack=s=>{var o;(o=this.onTrack)===null||o===void 0||o.call(this,s)},this.publisher.onOffer=s=>{var o;(o=this.onPublisherOffer)===null||o===void 0||o.call(this,s)},this.state=ye.NEW,this.connectionLock=new Fe,this.remoteOfferLock=new Fe}get logContext(){var e,n;return Object.assign({},(n=(e=this.loggerOptions).loggerContextCb)===null||n===void 0?void 0:n.call(e))}requirePublisher(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.isPublisherConnectionRequired=e,this.updateState()}requireSubscriber(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.isSubscriberConnectionRequired=e,this.updateState()}createAndSendPublisherOffer(e){return this.publisher.createAndSendOffer(e)}setPublisherAnswer(e){return this.publisher.setRemoteDescription(e)}removeTrack(e){return this.publisher.removeTrack(e)}close(){return y(this,void 0,void 0,function*(){if(this.publisher&&this.publisher.getSignallingState()!=="closed"){const e=this.publisher;for(const n of e.getSenders())try{e.canRemoveTrack()&&e.removeTrack(n)}catch(i){this.log.warn("could not removeTrack",Object.assign(Object.assign({},this.logContext),{error:i}))}}yield Promise.all([this.publisher.close(),this.subscriber.close()]),this.updateState()})}triggerIceRestart(){return y(this,void 0,void 0,function*(){this.subscriber.restartingIce=!0,this.needsPublisher&&(yield this.createAndSendPublisherOffer({iceRestart:!0}))})}addIceCandidate(e,n){return y(this,void 0,void 0,function*(){n===ot.PUBLISHER?yield this.publisher.addIceCandidate(e):yield this.subscriber.addIceCandidate(e)})}createSubscriberAnswerFromOffer(e){return y(this,void 0,void 0,function*(){this.log.debug("received server offer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type,sdp:e.sdp,signalingState:this.subscriber.getSignallingState().toString()}));const n=yield this.remoteOfferLock.lock();try{return yield this.subscriber.setRemoteDescription(e),yield this.subscriber.createAndSetAnswer()}finally{n()}})}updateConfiguration(e,n){this.publisher.setConfiguration(e),this.subscriber.setConfiguration(e),n&&this.triggerIceRestart()}ensurePCTransportConnection(e,n){return y(this,void 0,void 0,function*(){var i;const r=yield this.connectionLock.lock();try{this.isPublisherConnectionRequired&&this.publisher.getConnectionState()!=="connected"&&this.publisher.getConnectionState()!=="connecting"&&(this.log.debug("negotiation required, start negotiating",this.logContext),this.publisher.negotiate()),yield Promise.all((i=this.requiredTransports)===null||i===void 0?void 0:i.map(s=>this.ensureTransportConnected(s,e,n)))}finally{r()}})}negotiate(e){return y(this,void 0,void 0,function*(){return new Promise((n,i)=>y(this,void 0,void 0,function*(){const r=setTimeout(()=>{i("negotiation timed out")},this.peerConnectionTimeout),s=()=>{clearTimeout(r),i("negotiation aborted")};e.signal.addEventListener("abort",s),this.publisher.once(Yn.NegotiationStarted,()=>{e.signal.aborted||this.publisher.once(Yn.NegotiationComplete,()=>{clearTimeout(r),n()})}),yield this.publisher.negotiate(o=>{clearTimeout(r),i(o)})}))})}addPublisherTransceiver(e,n){return this.publisher.addTransceiver(e,n)}addPublisherTrack(e){return this.publisher.addTrack(e)}createPublisherDataChannel(e,n){return this.publisher.createDataChannel(e,n)}getConnectedAddress(e){return e===ot.PUBLISHER?this.publisher.getConnectedAddress():e===ot.SUBSCRIBER?this.publisher.getConnectedAddress():this.requiredTransports[0].getConnectedAddress()}get requiredTransports(){const e=[];return this.isPublisherConnectionRequired&&e.push(this.publisher),this.isSubscriberConnectionRequired&&e.push(this.subscriber),e}ensureTransportConnected(e,n){return y(this,arguments,void 0,function(i,r){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.peerConnectionTimeout;return function*(){if(i.getConnectionState()!=="connected")return new Promise((c,l)=>y(s,void 0,void 0,function*(){const d=()=>{this.log.warn("abort transport connection",this.logContext),Ae.clearTimeout(u),l(new ae("room connection has been cancelled",Q.Cancelled))};r!=null&&r.signal.aborted&&d(),r==null||r.signal.addEventListener("abort",d);const u=Ae.setTimeout(()=>{r==null||r.signal.removeEventListener("abort",d),l(new ae("could not establish pc connection",Q.InternalError))},o);for(;this.state!==ye.CONNECTED;)if(yield qe(50),r!=null&&r.signal.aborted){l(new ae("room connection has been cancelled",Q.Cancelled));return}Ae.clearTimeout(u),r==null||r.signal.removeEventListener("abort",d),c()}))}()})}}class ke extends Error{constructor(e,n,i){super(n),this.code=e,this.message=Au(n,ke.MAX_MESSAGE_BYTES),this.data=i?Au(i,ke.MAX_DATA_BYTES):void 0}static fromProto(e){return new ke(e.code,e.message,e.data)}toProto(){return new zl({code:this.code,message:this.message,data:this.data})}static builtIn(e,n){return new ke(ke.ErrorCode[e],ke.ErrorMessage[e],n)}}ke.MAX_MESSAGE_BYTES=256,ke.MAX_DATA_BYTES=15360,ke.ErrorCode={APPLICATION_ERROR:1500,CONNECTION_TIMEOUT:1501,RESPONSE_TIMEOUT:1502,RECIPIENT_DISCONNECTED:1503,RESPONSE_PAYLOAD_TOO_LARGE:1504,SEND_FAILED:1505,UNSUPPORTED_METHOD:1400,RECIPIENT_NOT_FOUND:1401,REQUEST_PAYLOAD_TOO_LARGE:1402,UNSUPPORTED_SERVER:1403,UNSUPPORTED_VERSION:1404},ke.ErrorMessage={APPLICATION_ERROR:"Application error in method handler",CONNECTION_TIMEOUT:"Connection timeout",RESPONSE_TIMEOUT:"Response timeout",RECIPIENT_DISCONNECTED:"Recipient disconnected",RESPONSE_PAYLOAD_TOO_LARGE:"Response payload too large",SEND_FAILED:"Failed to send",UNSUPPORTED_METHOD:"Method not supported at destination",RECIPIENT_NOT_FOUND:"Recipient not found",REQUEST_PAYLOAD_TOO_LARGE:"Request payload too large",UNSUPPORTED_SERVER:"RPC not supported by server",UNSUPPORTED_VERSION:"Unsupported RPC version"};const Mu=15360;function Vo(t){return new TextEncoder().encode(t).length}function Au(t,e){if(Vo(t)<=e)return t;let n=0,i=t.length;const r=new TextEncoder;for(;n<i;){const s=Math.floor((n+i+1)/2);r.encode(t.slice(0,s)).length<=e?n=s:i=s-1}return t.slice(0,n)}const qo=2e3;function Rr(t,e){if(!e)return 0;let n,i;return"bytesReceived"in t?(n=t.bytesReceived,i=e.bytesReceived):"bytesSent"in t&&(n=t.bytesSent,i=e.bytesSent),n===void 0||i===void 0||t.timestamp===void 0||e.timestamp===void 0?0:(n-i)*8*1e3/(t.timestamp-e.timestamp)}const $o=typeof MediaRecorder<"u";class Bv{constructor(){throw new Error("MediaRecorder is not available in this environment")}}const jv=$o?MediaRecorder:Bv;class Vv extends jv{constructor(e,n){if(!$o)throw new Error("MediaRecorder is not available in this environment");super(new MediaStream([e.mediaStreamTrack]),n);let i,r;const s=()=>r===void 0,o=()=>{this.removeEventListener("dataavailable",i),this.removeEventListener("stop",o),this.removeEventListener("error",a),r==null||r.close(),r=void 0},a=c=>{r==null||r.error(c),this.removeEventListener("dataavailable",i),this.removeEventListener("stop",o),this.removeEventListener("error",a),r=void 0};this.byteStream=new ReadableStream({start:c=>{r=c,i=l=>y(this,void 0,void 0,function*(){const d=yield l.data.arrayBuffer();s()||c.enqueue(new Uint8Array(d))}),this.addEventListener("dataavailable",i)},cancel:()=>{o()}}),this.addEventListener("stop",o),this.addEventListener("error",a)}}function qv(){return $o}const $v=1e3,zv=1e4;class Nu extends P{get sender(){return this._sender}set sender(e){this._sender=e}get constraints(){return this._constraints}get hasPreConnectBuffer(){return!!this.localTrackRecorder}constructor(e,n,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=arguments.length>4?arguments[4]:void 0;super(e,n,s),this.manuallyStopped=!1,this._isUpstreamPaused=!1,this.handleTrackMuteEvent=()=>this.debouncedTrackMuteHandler().catch(()=>this.log.debug("track mute bounce got cancelled by an unmute event",this.logContext)),this.debouncedTrackMuteHandler=Fo(()=>y(this,void 0,void 0,function*(){yield this.pauseUpstream()}),5e3),this.handleTrackUnmuteEvent=()=>y(this,void 0,void 0,function*(){this.debouncedTrackMuteHandler.cancel("unmute"),yield this.resumeUpstream()}),this.handleEnded=()=>{this.isInBackground&&(this.reacquireTrack=!0),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),this.emit(A.Ended,this)},this.reacquireTrack=!1,this.providedByUser=r,this.muteLock=new Fe,this.pauseUpstreamLock=new Fe,this.processorLock=new Fe,this.restartLock=new Fe,this.setMediaStreamTrack(e,!0),this._constraints=e.getConstraints(),i&&(this._constraints=i)}get id(){return this._mediaStreamTrack.id}get dimensions(){if(this.kind!==P.Kind.Video)return;const{width:e,height:n}=this._mediaStreamTrack.getSettings();if(e&&n)return{width:e,height:n}}get isUpstreamPaused(){return this._isUpstreamPaused}get isUserProvided(){return this.providedByUser}get mediaStreamTrack(){var e,n;return(n=(e=this.processor)===null||e===void 0?void 0:e.processedTrack)!==null&&n!==void 0?n:this._mediaStreamTrack}get isLocal(){return!0}getSourceTrackSettings(){return this._mediaStreamTrack.getSettings()}setMediaStreamTrack(e,n){return y(this,void 0,void 0,function*(){var i;if(e===this._mediaStreamTrack&&!n)return;this._mediaStreamTrack&&(this.attachedElements.forEach(s=>{Wn(this._mediaStreamTrack,s)}),this.debouncedTrackMuteHandler.cancel("new-track"),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent)),this.mediaStream=new MediaStream([e]),e&&(e.addEventListener("ended",this.handleEnded),e.addEventListener("mute",this.handleTrackMuteEvent),e.addEventListener("unmute",this.handleTrackUnmuteEvent),this._constraints=e.getConstraints());let r;if(this.processor&&e){const s=yield this.processorLock.lock();try{if(this.log.debug("restarting processor",this.logContext),this.kind==="unknown")throw TypeError("cannot set processor on track of unknown kind");this.processorElement&&(zn(e,this.processorElement),this.processorElement.muted=!0),yield this.processor.restart({track:e,kind:this.kind,element:this.processorElement}),r=this.processor.processedTrack}finally{s()}}this.sender&&((i=this.sender.transport)===null||i===void 0?void 0:i.state)!=="closed"&&(yield this.sender.replaceTrack(r??e)),!this.providedByUser&&this._mediaStreamTrack!==e&&this._mediaStreamTrack.stop(),this._mediaStreamTrack=e,e&&(this._mediaStreamTrack.enabled=!this.isMuted,yield this.resumeUpstream(),this.attachedElements.forEach(s=>{zn(r??e,s)}))})}waitForDimensions(){return y(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$v;return function*(){var i;if(e.kind===P.Kind.Audio)throw new Error("cannot get dimensions for audio tracks");((i=Ve())===null||i===void 0?void 0:i.os)==="iOS"&&(yield qe(10));const r=Date.now();for(;Date.now()-r<n;){const s=e.dimensions;if(s)return s;yield qe(50)}throw new Ut("unable to get track dimensions after timeout")}()})}setDeviceId(e){return y(this,void 0,void 0,function*(){return this._constraints.deviceId===e&&this._mediaStreamTrack.getSettings().deviceId===nn(e)||(this._constraints.deviceId=e,this.isMuted)?!0:(yield this.restartTrack(),nn(e)===this._mediaStreamTrack.getSettings().deviceId)})}getDeviceId(){return y(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){if(e.source===P.Source.ScreenShare)return;const{deviceId:i,groupId:r}=e._mediaStreamTrack.getSettings(),s=e.kind===P.Kind.Audio?"audioinput":"videoinput";return n?Ie.getInstance().normalizeDeviceId(s,i,r):i}()})}mute(){return y(this,void 0,void 0,function*(){return this.setTrackMuted(!0),this})}unmute(){return y(this,void 0,void 0,function*(){return this.setTrackMuted(!1),this})}replaceTrack(e,n){return y(this,void 0,void 0,function*(){if(!this.sender)throw new Ut("unable to replace an unpublished track");let i,r;return typeof n=="boolean"?i=n:n!==void 0&&(i=n.userProvidedTrack,r=n.stopProcessor),this.providedByUser=i??!0,this.log.debug("replace MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(e),r&&this.processor&&(yield this.stopProcessor()),this})}restart(e){return y(this,void 0,void 0,function*(){this.manuallyStopped=!1;const n=yield this.restartLock.lock();try{e||(e=this._constraints);const{deviceId:i,facingMode:r}=e,s=xg(e,["deviceId","facingMode"]);this.log.debug("restarting track with constraints",Object.assign(Object.assign({},this.logContext),{constraints:e}));const o={audio:!1,video:!1};this.kind===P.Kind.Video?o.video=i||r?{deviceId:i,facingMode:r}:!0:o.audio=i?{deviceId:i}:!0,this.attachedElements.forEach(l=>{Wn(this.mediaStreamTrack,l)}),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.stop();const c=(yield navigator.mediaDevices.getUserMedia(o)).getTracks()[0];return yield c.applyConstraints(s),c.addEventListener("ended",this.handleEnded),this.log.debug("re-acquired MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(c),this._constraints=e,this.emit(A.Restarted,this),this.manuallyStopped&&(this.log.warn("track was stopped during a restart, stopping restarted track",this.logContext),this.stop()),this}finally{n()}})}setTrackMuted(e){this.log.debug("setting ".concat(this.kind," track ").concat(e?"muted":"unmuted"),this.logContext),!(this.isMuted===e&&this._mediaStreamTrack.enabled!==e)&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?A.Muted:A.Unmuted,this))}get needsReAcquisition(){return this._mediaStreamTrack.readyState!=="live"||this._mediaStreamTrack.muted||!this._mediaStreamTrack.enabled||this.reacquireTrack}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return y(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),lu()&&(this.log.debug("visibility changed, is in Background: ".concat(this.isInBackground),this.logContext),!this.isInBackground&&this.needsReAcquisition&&!this.isUserProvided&&!this.isMuted&&(this.log.debug("track needs to be reacquired, restarting ".concat(this.source),this.logContext),yield this.restart(),this.reacquireTrack=!1))})}stop(){var e;this.manuallyStopped=!0,super.stop(),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),(e=this.processor)===null||e===void 0||e.destroy(),this.processor=void 0}pauseUpstream(){return y(this,void 0,void 0,function*(){var e;const n=yield this.pauseUpstreamLock.lock();try{if(this._isUpstreamPaused===!0)return;if(!this.sender){this.log.warn("unable to pause upstream for an unpublished track",this.logContext);return}this._isUpstreamPaused=!0,this.emit(A.UpstreamPaused,this);const i=Ve();if((i==null?void 0:i.name)==="Safari"&&tn(i.version,"12.0")<0)throw new ho("pauseUpstream is not supported on Safari < 12.");((e=this.sender.transport)===null||e===void 0?void 0:e.state)!=="closed"&&(yield this.sender.replaceTrack(null))}finally{n()}})}resumeUpstream(){return y(this,void 0,void 0,function*(){var e;const n=yield this.pauseUpstreamLock.lock();try{if(this._isUpstreamPaused===!1)return;if(!this.sender){this.log.warn("unable to resume upstream for an unpublished track",this.logContext);return}this._isUpstreamPaused=!1,this.emit(A.UpstreamResumed,this),((e=this.sender.transport)===null||e===void 0?void 0:e.state)!=="closed"&&(yield this.sender.replaceTrack(this.mediaStreamTrack))}finally{n()}})}getRTCStatsReport(){return y(this,void 0,void 0,function*(){var e;return!((e=this.sender)===null||e===void 0)&&e.getStats?yield this.sender.getStats():void 0})}setProcessor(e){return y(this,arguments,void 0,function(n){var i=this;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){var s;const o=yield i.processorLock.lock();try{i.log.debug("setting up processor",i.logContext);const a=document.createElement(i.kind),c={kind:i.kind,track:i._mediaStreamTrack,element:a,audioContext:i.audioContext};if(yield n.init(c),i.log.debug("processor initialized",i.logContext),i.processor&&(yield i.stopProcessor()),i.kind==="unknown")throw TypeError("cannot set processor on track of unknown kind");if(zn(i._mediaStreamTrack,a),a.muted=!0,a.play().catch(l=>i.log.error("failed to play processor element",Object.assign(Object.assign({},i.logContext),{error:l}))),i.processor=n,i.processorElement=a,i.processor.processedTrack){for(const l of i.attachedElements)l!==i.processorElement&&r&&(Wn(i._mediaStreamTrack,l),zn(i.processor.processedTrack,l));yield(s=i.sender)===null||s===void 0?void 0:s.replaceTrack(i.processor.processedTrack)}i.emit(A.TrackProcessorUpdate,i.processor)}finally{o()}}()})}getProcessor(){return this.processor}stopProcessor(){return y(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){var i,r;e.processor&&(e.log.debug("stopping processor",e.logContext),(i=e.processor.processedTrack)===null||i===void 0||i.stop(),yield e.processor.destroy(),e.processor=void 0,n||((r=e.processorElement)===null||r===void 0||r.remove(),e.processorElement=void 0),yield e._mediaStreamTrack.applyConstraints(e._constraints),yield e.setMediaStreamTrack(e._mediaStreamTrack,!0),e.emit(A.TrackProcessorUpdate))}()})}startPreConnectBuffer(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:100;if(!qv()){this.log.warn("MediaRecorder is not available, cannot start preconnect buffer",this.logContext);return}if(!this.localTrackRecorder)this.localTrackRecorder=new Vv(this,{mimeType:"audio/webm;codecs=opus"});else{this.log.warn("preconnect buffer already started");return}this.localTrackRecorder.start(e),this.autoStopPreConnectBuffer=setTimeout(()=>{this.log.warn("preconnect buffer timed out, stopping recording automatically",this.logContext),this.stopPreConnectBuffer()},zv)}stopPreConnectBuffer(){clearTimeout(this.autoStopPreConnectBuffer),this.localTrackRecorder&&(this.localTrackRecorder.stop(),this.localTrackRecorder=void 0)}getPreConnectBuffer(){var e;return(e=this.localTrackRecorder)===null||e===void 0?void 0:e.byteStream}}class Ir extends Nu{get enhancedNoiseCancellation(){return this.isKrispNoiseFilterEnabled}constructor(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=arguments.length>3?arguments[3]:void 0,s=arguments.length>4?arguments[4]:void 0;super(e,P.Kind.Audio,n,i,s),this.stopOnMute=!1,this.isKrispNoiseFilterEnabled=!1,this.monitorSender=()=>y(this,void 0,void 0,function*(){if(!this.sender){this._currentBitrate=0;return}let o;try{o=yield this.getSenderStats()}catch(a){this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:a}));return}o&&this.prevStats&&(this._currentBitrate=Rr(o,this.prevStats)),this.prevStats=o}),this.handleKrispNoiseFilterEnable=()=>{this.isKrispNoiseFilterEnabled=!0,this.log.debug("Krisp noise filter enabled",this.logContext),this.emit(A.AudioTrackFeatureUpdate,this,Re.TF_ENHANCED_NOISE_CANCELLATION,!0)},this.handleKrispNoiseFilterDisable=()=>{this.isKrispNoiseFilterEnabled=!1,this.log.debug("Krisp noise filter disabled",this.logContext),this.emit(A.AudioTrackFeatureUpdate,this,Re.TF_ENHANCED_NOISE_CANCELLATION,!1)},this.audioContext=r,this.checkForSilence()}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return y(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug("Track already muted",this.logContext),this):(this.source===P.Source.Microphone&&this.stopOnMute&&!this.isUserProvided&&(this.log.debug("stopping mic track",this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{n()}})}unmute(){const e=Object.create(null,{unmute:{get:()=>super.unmute}});return y(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{if(!this.isMuted)return this.log.debug("Track already unmuted",this.logContext),this;const i=this._constraints.deviceId&&this._mediaStreamTrack.getSettings().deviceId!==nn(this._constraints.deviceId);return this.source===P.Source.Microphone&&(this.stopOnMute||this._mediaStreamTrack.readyState==="ended"||i)&&!this.isUserProvided&&(this.log.debug("reacquiring mic track",this.logContext),yield this.restartTrack()),yield e.unmute.call(this),this}finally{n()}})}restartTrack(e){return y(this,void 0,void 0,function*(){let n;if(e){const i=Io({audio:e});typeof i.audio!="boolean"&&(n=i.audio)}yield this.restart(n)})}restart(e){const n=Object.create(null,{restart:{get:()=>super.restart}});return y(this,void 0,void 0,function*(){const i=yield n.restart.call(this,e);return this.checkForSilence(),i})}startMonitor(){$e()&&(this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},qo)))}setProcessor(e){return y(this,void 0,void 0,function*(){var n;const i=yield this.processorLock.lock();try{if(!Ct()&&!this.audioContext)throw Error("Audio context needs to be set on LocalAudioTrack in order to enable processors");this.processor&&(yield this.stopProcessor());const r={kind:this.kind,track:this._mediaStreamTrack,audioContext:this.audioContext};this.log.debug("setting up audio processor ".concat(e.name),this.logContext),yield e.init(r),this.processor=e,this.processor.processedTrack&&(yield(n=this.sender)===null||n===void 0?void 0:n.replaceTrack(this.processor.processedTrack),this.processor.processedTrack.addEventListener("enable-lk-krisp-noise-filter",this.handleKrispNoiseFilterEnable),this.processor.processedTrack.addEventListener("disable-lk-krisp-noise-filter",this.handleKrispNoiseFilterDisable)),this.emit(A.TrackProcessorUpdate,this.processor)}finally{i()}})}setAudioContext(e){this.audioContext=e}getSenderStats(){return y(this,void 0,void 0,function*(){var e;if(!(!((e=this.sender)===null||e===void 0)&&e.getStats))return;const n=yield this.sender.getStats();let i;return n.forEach(r=>{r.type==="outbound-rtp"&&(i={type:"audio",streamId:r.id,packetsSent:r.packetsSent,packetsLost:r.packetsLost,bytesSent:r.bytesSent,timestamp:r.timestamp,roundTripTime:r.roundTripTime,jitter:r.jitter})}),i})}checkForSilence(){return y(this,void 0,void 0,function*(){const e=yield bu(this);return e&&(this.isMuted||this.log.warn("silence detected on local audio track",this.logContext),this.emit(A.AudioSilenceDetected)),e})}}function Wv(t,e,n){switch(t.kind){case"audio":return new Ir(t,e,!1,void 0,n);case"video":return new Dr(t,e,!1,n);default:throw new Ut("unsupported track type: ".concat(t.kind))}}const Hv=Object.values(Ii),Kv=Object.values(vo),Gv=Object.values(bo),Jv=[Ii.h180,Ii.h360],Yv=[vo.h180,vo.h360],Xv=t=>[{scaleResolutionDownBy:2,fps:t.encoding.maxFramerate}].map(n=>{var i,r;return new re(Math.floor(t.width/n.scaleResolutionDownBy),Math.floor(t.height/n.scaleResolutionDownBy),Math.max(15e4,Math.floor(t.encoding.maxBitrate/(Math.pow(n.scaleResolutionDownBy,2)*(((i=t.encoding.maxFramerate)!==null&&i!==void 0?i:30)/((r=n.fps)!==null&&r!==void 0?r:30))))),n.fps,t.encoding.priority)}),zo=["q","h","f"];function Wo(t,e,n,i){var r,s;let o=i==null?void 0:i.videoEncoding;t&&(o=i==null?void 0:i.screenShareEncoding);const a=i==null?void 0:i.simulcast,c=i==null?void 0:i.scalabilityMode,l=i==null?void 0:i.videoCodec;if(!o&&!a&&!c||!e||!n)return[{}];o||(o=Zv(t,e,n,l),X.debug("using video encoding",o));const d=o.maxFramerate,u=new re(e,n,o.maxBitrate,o.maxFramerate,o.priority);if(c&&Ft(l)){const m=new Or(c),p=[];if(m.spatial>3)throw new Error("unsupported scalabilityMode: ".concat(c));const g=Ve();if(wn()||Ct()||(g==null?void 0:g.name)==="Chrome"&&tn(g==null?void 0:g.version,"113")<0){const b=m.suffix=="h"?2:3,C=iv(g);for(let w=0;w<m.spatial;w+=1)p.push({rid:zo[2-w],maxBitrate:o.maxBitrate/Math.pow(b,w),maxFramerate:u.encoding.maxFramerate,scaleResolutionDownBy:C?Math.pow(2,w):void 0});p[0].scalabilityMode=c}else p.push({maxBitrate:o.maxBitrate,maxFramerate:u.encoding.maxFramerate,scalabilityMode:c});return u.encoding.priority&&(p[0].priority=u.encoding.priority,p[0].networkPriority=u.encoding.priority),X.debug("using svc encoding",{encodings:p}),p}if(!a)return[o];let h=[];t?h=(r=Uu(i==null?void 0:i.screenShareSimulcastLayers))!==null&&r!==void 0?r:Lu(t,u):h=(s=Uu(i==null?void 0:i.videoSimulcastLayers))!==null&&s!==void 0?s:Lu(t,u);let f;if(h.length>0){const m=h[0];h.length>1&&([,f]=h);const p=Math.max(e,n);if(p>=960&&f)return Ho(e,n,[m,f,u],d);if(p>=480)return Ho(e,n,[m,u],d)}return Ho(e,n,[u])}function Qv(t,e,n){var i,r,s,o;if(!n.backupCodec||n.backupCodec===!0||n.backupCodec.codec===n.videoCodec)return;e!==n.backupCodec.codec&&X.warn("requested a different codec than specified as backup",{serverRequested:e,backup:n.backupCodec.codec}),n.videoCodec=e,n.videoEncoding=n.backupCodec.encoding;const a=t.mediaStreamTrack.getSettings(),c=(i=a.width)!==null&&i!==void 0?i:(r=t.dimensions)===null||r===void 0?void 0:r.width,l=(s=a.height)!==null&&s!==void 0?s:(o=t.dimensions)===null||o===void 0?void 0:o.height;return t.source===P.Source.ScreenShare&&n.simulcast&&(n.simulcast=!1),Wo(t.source===P.Source.ScreenShare,c,l,n)}function Zv(t,e,n,i){const r=e0(t,e,n);let{encoding:s}=r[0];const o=Math.max(e,n);for(let a=0;a<r.length;a+=1){const c=r[a];if(s=c.encoding,c.width>=o)break}if(i)switch(i){case"av1":s=Object.assign({},s),s.maxBitrate=s.maxBitrate*.7;break;case"vp9":s=Object.assign({},s),s.maxBitrate=s.maxBitrate*.85;break}return s}function e0(t,e,n){if(t)return Gv;const i=e>n?e/n:n/e;return Math.abs(i-16/9)<Math.abs(i-4/3)?Hv:Kv}function Lu(t,e){if(t)return Xv(e);const{width:n,height:i}=e,r=n>i?n/i:i/n;return Math.abs(r-16/9)<Math.abs(r-4/3)?Jv:Yv}function Ho(t,e,n,i){const r=[];if(n.forEach((s,o)=>{if(o>=zo.length)return;const a=Math.min(t,e),l={rid:zo[o],scaleResolutionDownBy:Math.max(1,a/Math.min(s.width,s.height)),maxBitrate:s.encoding.maxBitrate},d=i&&s.encoding.maxFramerate?Math.min(i,s.encoding.maxFramerate):s.encoding.maxFramerate;d&&(l.maxFramerate=d);const u=Hn()||o===0;s.encoding.priority&&u&&(l.priority=s.encoding.priority,l.networkPriority=s.encoding.priority),r.push(l)}),Ct()&&uu()==="ios"){let s;r.forEach(a=>{s?a.maxFramerate&&a.maxFramerate>s&&(s=a.maxFramerate):s=a.maxFramerate});let o=!0;r.forEach(a=>{var c;a.maxFramerate!=s&&(o&&(o=!1,X.info("Simulcast on iOS React-Native requires all encodings to share the same framerate.")),X.info('Setting framerate of encoding "'.concat((c=a.rid)!==null&&c!==void 0?c:"",'" to ').concat(s)),a.maxFramerate=s)})}return r}function Uu(t){if(t)return t.sort((e,n)=>{const{encoding:i}=e,{encoding:r}=n;return i.maxBitrate>r.maxBitrate?1:i.maxBitrate<r.maxBitrate?-1:i.maxBitrate===r.maxBitrate&&i.maxFramerate&&r.maxFramerate?i.maxFramerate>r.maxFramerate?1:-1:0})}class Or{constructor(e){const n=e.match(/^L(\d)T(\d)(h|_KEY|_KEY_SHIFT){0,1}$/);if(!n)throw new Error("invalid scalability mode");if(this.spatial=parseInt(n[1]),this.temporal=parseInt(n[2]),n.length>3)switch(n[3]){case"h":case"_KEY":case"_KEY_SHIFT":this.suffix=n[3]}}toString(){var e;return"L".concat(this.spatial,"T").concat(this.temporal).concat((e=this.suffix)!==null&&e!==void 0?e:"")}}function t0(t){return t.source===P.Source.ScreenShare||t.constraints.height&&nn(t.constraints.height)>=1080?"maintain-resolution":"balanced"}const n0=5e3;class Dr extends Nu{get sender(){return this._sender}set sender(e){this._sender=e,this.degradationPreference&&this.setDegradationPreference(this.degradationPreference)}constructor(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=arguments.length>3?arguments[3]:void 0;super(e,P.Kind.Video,n,i,r),this.simulcastCodecs=new Map,this.degradationPreference="balanced",this.monitorSender=()=>y(this,void 0,void 0,function*(){if(!this.sender){this._currentBitrate=0;return}let s;try{s=yield this.getSenderStats()}catch(a){this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:a}));return}const o=new Map(s.map(a=>[a.rid,a]));if(this.prevStats){let a=0;o.forEach((c,l)=>{var d;const u=(d=this.prevStats)===null||d===void 0?void 0:d.get(l);a+=Rr(c,u)}),this._currentBitrate=a}this.prevStats=o}),this.senderLock=new Fe}get isSimulcast(){return!!(this.sender&&this.sender.getParameters().encodings.length>1)}startMonitor(e){var n;if(this.signalClient=e,!$e())return;const i=(n=this.sender)===null||n===void 0?void 0:n.getParameters();i&&(this.encodings=i.encodings),!this.monitorInterval&&(this.monitorInterval=setInterval(()=>{this.monitorSender()},qo))}stop(){this._mediaStreamTrack.getConstraints(),this.simulcastCodecs.forEach(e=>{e.mediaStreamTrack.stop()}),super.stop()}pauseUpstream(){const e=Object.create(null,{pauseUpstream:{get:()=>super.pauseUpstream}});return y(this,void 0,void 0,function*(){var n,i,r,s,o;yield e.pauseUpstream.call(this);try{for(var a=!0,c=Lt(this.simulcastCodecs.values()),l;l=yield c.next(),n=l.done,!n;a=!0)s=l.value,a=!1,yield(o=s.sender)===null||o===void 0?void 0:o.replaceTrack(null)}catch(d){i={error:d}}finally{try{!a&&!n&&(r=c.return)&&(yield r.call(c))}finally{if(i)throw i.error}}})}resumeUpstream(){const e=Object.create(null,{resumeUpstream:{get:()=>super.resumeUpstream}});return y(this,void 0,void 0,function*(){var n,i,r,s,o;yield e.resumeUpstream.call(this);try{for(var a=!0,c=Lt(this.simulcastCodecs.values()),l;l=yield c.next(),n=l.done,!n;a=!0){s=l.value,a=!1;const d=s;yield(o=d.sender)===null||o===void 0?void 0:o.replaceTrack(d.mediaStreamTrack)}}catch(d){i={error:d}}finally{try{!a&&!n&&(r=c.return)&&(yield r.call(c))}finally{if(i)throw i.error}}})}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return y(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug("Track already muted",this.logContext),this):(this.source===P.Source.Camera&&!this.isUserProvided&&(this.log.debug("stopping camera track",this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{n()}})}unmute(){const e=Object.create(null,{unmute:{get:()=>super.unmute}});return y(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{return this.isMuted?(this.source===P.Source.Camera&&!this.isUserProvided&&(this.log.debug("reacquiring camera track",this.logContext),yield this.restartTrack()),yield e.unmute.call(this),this):(this.log.debug("Track already unmuted",this.logContext),this)}finally{n()}})}setTrackMuted(e){super.setTrackMuted(e);for(const n of this.simulcastCodecs.values())n.mediaStreamTrack.enabled=!e}getSenderStats(){return y(this,void 0,void 0,function*(){var e;if(!(!((e=this.sender)===null||e===void 0)&&e.getStats))return[];const n=[],i=yield this.sender.getStats();return i.forEach(r=>{var s;if(r.type==="outbound-rtp"){const o={type:"video",streamId:r.id,frameHeight:r.frameHeight,frameWidth:r.frameWidth,framesPerSecond:r.framesPerSecond,framesSent:r.framesSent,firCount:r.firCount,pliCount:r.pliCount,nackCount:r.nackCount,packetsSent:r.packetsSent,bytesSent:r.bytesSent,qualityLimitationReason:r.qualityLimitationReason,qualityLimitationDurations:r.qualityLimitationDurations,qualityLimitationResolutionChanges:r.qualityLimitationResolutionChanges,rid:(s=r.rid)!==null&&s!==void 0?s:r.id,retransmittedPacketsSent:r.retransmittedPacketsSent,targetBitrate:r.targetBitrate,timestamp:r.timestamp},a=i.get(r.remoteId);a&&(o.jitter=a.jitter,o.packetsLost=a.packetsLost,o.roundTripTime=a.roundTripTime),n.push(o)}}),n.sort((r,s)=>{var o,a;return((o=s.frameWidth)!==null&&o!==void 0?o:0)-((a=r.frameWidth)!==null&&a!==void 0?a:0)}),n})}setPublishingQuality(e){const n=[];for(let i=nt.LOW;i<=nt.HIGH;i+=1)n.push(new Zs({quality:i,enabled:i<=e}));this.log.debug("setting publishing quality. max quality ".concat(e),this.logContext),this.setPublishingLayers(Ft(this.codec),n)}restartTrack(e){return y(this,void 0,void 0,function*(){var n,i,r,s,o;let a;if(e){const u=Io({video:e});typeof u.video!="boolean"&&(a=u.video)}yield this.restart(a);try{for(var c=!0,l=Lt(this.simulcastCodecs.values()),d;d=yield l.next(),n=d.done,!n;c=!0){s=d.value,c=!1;const u=s;u.sender&&((o=u.sender.transport)===null||o===void 0?void 0:o.state)!=="closed"&&(u.mediaStreamTrack=this.mediaStreamTrack.clone(),yield u.sender.replaceTrack(u.mediaStreamTrack))}}catch(u){i={error:u}}finally{try{!c&&!n&&(r=l.return)&&(yield r.call(l))}finally{if(i)throw i.error}}})}setProcessor(e){const n=Object.create(null,{setProcessor:{get:()=>super.setProcessor}});return y(this,arguments,void 0,function(i){var r=this;let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){var o,a,c,l,d,u;if(yield n.setProcessor.call(r,i,s),!((d=r.processor)===null||d===void 0)&&d.processedTrack)try{for(var h=!0,f=Lt(r.simulcastCodecs.values()),m;m=yield f.next(),o=m.done,!o;h=!0)l=m.value,h=!1,yield(u=l.sender)===null||u===void 0?void 0:u.replaceTrack(r.processor.processedTrack)}catch(p){a={error:p}}finally{try{!h&&!o&&(c=f.return)&&(yield c.call(f))}finally{if(a)throw a.error}}}()})}setDegradationPreference(e){return y(this,void 0,void 0,function*(){if(this.degradationPreference=e,this.sender)try{this.log.debug("setting degradationPreference to ".concat(e),this.logContext);const n=this.sender.getParameters();n.degradationPreference=e,this.sender.setParameters(n)}catch(n){this.log.warn("failed to set degradationPreference",Object.assign({error:n},this.logContext))}})}addSimulcastTrack(e,n){if(this.simulcastCodecs.has(e)){this.log.error("".concat(e," already added, skipping adding simulcast codec"),this.logContext);return}const i={codec:e,mediaStreamTrack:this.mediaStreamTrack.clone(),sender:void 0,encodings:n};return this.simulcastCodecs.set(e,i),i}setSimulcastTrackSender(e,n){const i=this.simulcastCodecs.get(e);i&&(i.sender=n,setTimeout(()=>{this.subscribedCodecs&&this.setPublishingCodecs(this.subscribedCodecs)},n0))}setPublishingCodecs(e){return y(this,void 0,void 0,function*(){var n,i,r,s,o,a,c;if(this.log.debug("setting publishing codecs",Object.assign(Object.assign({},this.logContext),{codecs:e,currentCodec:this.codec})),!this.codec&&e.length>0)return yield this.setPublishingLayers(Ft(e[0].codec),e[0].qualities),[];this.subscribedCodecs=e;const l=[];try{for(n=!0,i=Lt(e);r=yield i.next(),s=r.done,!s;n=!0){c=r.value,n=!1;const d=c;if(!this.codec||this.codec===d.codec)yield this.setPublishingLayers(Ft(d.codec),d.qualities);else{const u=this.simulcastCodecs.get(d.codec);if(this.log.debug("try setPublishingCodec for ".concat(d.codec),Object.assign(Object.assign({},this.logContext),{simulcastCodecInfo:u})),!u||!u.sender){for(const h of d.qualities)if(h.enabled){l.push(d.codec);break}}else u.encodings&&(this.log.debug("try setPublishingLayersForSender ".concat(d.codec),this.logContext),yield Fu(u.sender,u.encodings,d.qualities,this.senderLock,Ft(d.codec),this.log,this.logContext))}}}catch(d){o={error:d}}finally{try{!n&&!s&&(a=i.return)&&(yield a.call(i))}finally{if(o)throw o.error}}return l})}setPublishingLayers(e,n){return y(this,void 0,void 0,function*(){this.log.debug("setting publishing layers",Object.assign(Object.assign({},this.logContext),{qualities:n})),!(!this.sender||!this.encodings)&&(yield Fu(this.sender,this.encodings,n,this.senderLock,e,this.log,this.logContext))})}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return y(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),lu()&&this.isInBackground&&this.source===P.Source.Camera&&(this._mediaStreamTrack.enabled=!1)})}}function Fu(t,e,n,i,r,s,o){return y(this,void 0,void 0,function*(){const a=yield i.lock();s.debug("setPublishingLayersForSender",Object.assign(Object.assign({},o),{sender:t,qualities:n,senderEncodings:e}));try{const c=t.getParameters(),{encodings:l}=c;if(!l)return;if(l.length!==e.length){s.warn("cannot set publishing layers, encodings mismatch",Object.assign(Object.assign({},o),{encodings:l,senderEncodings:e}));return}let d=!1;const u=Ve();if((u==null?void 0:u.name)==="Chrome"&&tn(u==null?void 0:u.version,"133")>0&&l[0].scalabilityMode){const f=l[0],m=new Or(f.scalabilityMode);let p=Fn.OFF;if(n.forEach(g=>{g.enabled&&(p===Fn.OFF||g.quality>p)&&(p=g.quality)}),p===Fn.OFF)f.active&&(f.active=!1,d=!0);else if(!f.active||m.spatial!==p+1){d=!0,f.active=!0;const g=new Or(e[0].scalabilityMode);m.spatial=p+1,m.suffix=g.suffix,m.spatial===1&&(m.suffix=void 0),f.scalabilityMode=m.toString(),f.scaleResolutionDownBy=Math.pow(2,2-p),e[0].maxBitrate&&(f.maxBitrate=e[0].maxBitrate/(f.scaleResolutionDownBy*f.scaleResolutionDownBy))}}else r&&n.some(m=>m.enabled)&&n.forEach(m=>m.enabled=!0),l.forEach((f,m)=>{var p;let g=(p=f.rid)!==null&&p!==void 0?p:"";g===""&&(g="q");const b=Bu(g),C=n.find(w=>w.quality===b);C&&f.active!==C.enabled&&(d=!0,f.active=C.enabled,s.debug("setting layer ".concat(C.quality," to ").concat(f.active?"enabled":"disabled"),o),Hn()&&(C.enabled?(f.scaleResolutionDownBy=e[m].scaleResolutionDownBy,f.maxBitrate=e[m].maxBitrate,f.maxFrameRate=e[m].maxFrameRate):(f.scaleResolutionDownBy=4,f.maxBitrate=10,f.maxFrameRate=2)))});d&&(c.encodings=l,s.debug("setting encodings",Object.assign(Object.assign({},o),{encodings:c.encodings})),yield t.setParameters(c))}finally{a()}})}function Bu(t){switch(t){case"f":return nt.HIGH;case"h":return nt.MEDIUM;case"q":return nt.LOW;default:return nt.HIGH}}function ju(t,e,n,i){if(!n)return[new yn({quality:nt.HIGH,width:t,height:e,bitrate:0,ssrc:0})];if(i){const r=n[0].scalabilityMode,s=new Or(r),o=[],a=s.suffix=="h"?1.5:2,c=s.suffix=="h"?2:3;for(let l=0;l<s.spatial;l+=1)o.push(new yn({quality:Math.min(nt.HIGH,s.spatial-1)-l,width:Math.ceil(t/Math.pow(a,l)),height:Math.ceil(e/Math.pow(a,l)),bitrate:n[0].maxBitrate?Math.ceil(n[0].maxBitrate/Math.pow(c,l)):0,ssrc:0}));return o}return n.map(r=>{var s,o,a;const c=(s=r.scaleResolutionDownBy)!==null&&s!==void 0?s:1;let l=Bu((o=r.rid)!==null&&o!==void 0?o:"");return new yn({quality:l,width:Math.ceil(t/c),height:Math.ceil(e/c),bitrate:(a=r.maxBitrate)!==null&&a!==void 0?a:0,ssrc:0})})}const Vu="_lossy",qu="_reliable",i0=2*1e3,Ko="leave-reconnect",r0=3e4;var lt;(function(t){t[t.New=0]="New",t[t.Connected=1]="Connected",t[t.Disconnected=2]="Disconnected",t[t.Reconnecting=3]="Reconnecting",t[t.Closed=4]="Closed"})(lt||(lt={}));class s0 extends kt.EventEmitter{get isClosed(){return this._isClosed}get pendingReconnect(){return!!this.reconnectTimeout}constructor(e){var n;super(),this.options=e,this.rtcConfig={},this.peerConnectionTimeout=jo.peerConnectionTimeout,this.fullReconnectOnNext=!1,this.subscriberPrimary=!1,this.pcState=lt.New,this._isClosed=!0,this.pendingTrackResolvers={},this.reconnectAttempts=0,this.reconnectStart=0,this.attemptingReconnect=!1,this.joinAttempts=0,this.maxJoinAttempts=1,this.shouldFailNext=!1,this.log=X,this.reliableDataSequence=1,this.reliableMessageBuffer=new Tu,this.reliableReceivedState=new Rv(r0),this.handleDataChannel=i=>y(this,[i],void 0,function(r){var s=this;let{channel:o}=r;return function*(){if(o){if(o.label===qu)s.reliableDCSub=o;else if(o.label===Vu)s.lossyDCSub=o;else return;s.log.debug("on data channel ".concat(o.id,", ").concat(o.label),s.logContext),o.onmessage=s.handleDataMessage}}()}),this.handleDataMessage=i=>y(this,void 0,void 0,function*(){var r,s;const o=yield this.dataProcessLock.lock();try{let a;if(i.data instanceof ArrayBuffer)a=i.data;else if(i.data instanceof Blob)a=yield i.data.arrayBuffer();else{this.log.error("unsupported data type",Object.assign(Object.assign({},this.logContext),{data:i.data}));return}const c=je.fromBinary(new Uint8Array(a));if(c.sequence>0&&c.participantSid!==""){const l=this.reliableReceivedState.get(c.participantSid);if(l&&c.sequence<=l)return;this.reliableReceivedState.set(c.participantSid,c.sequence)}((r=c.value)===null||r===void 0?void 0:r.case)==="speaker"?this.emit(N.ActiveSpeakersUpdate,c.value.value.speakers):(((s=c.value)===null||s===void 0?void 0:s.case)==="user"&&a0(c,c.value.value),this.emit(N.DataPacketReceived,c))}finally{o()}}),this.handleDataError=i=>{const s=i.currentTarget.maxRetransmits===0?"lossy":"reliable";if(i instanceof ErrorEvent&&i.error){const{error:o}=i.error;this.log.error("DataChannel error on ".concat(s,": ").concat(i.message),Object.assign(Object.assign({},this.logContext),{error:o}))}else this.log.error("Unknown DataChannel error on ".concat(s),Object.assign(Object.assign({},this.logContext),{event:i}))},this.handleBufferedAmountLow=i=>{const s=i.currentTarget.maxRetransmits===0?K.LOSSY:K.RELIABLE;this.updateAndEmitDCBufferStatus(s)},this.handleDisconnect=(i,r)=>{if(this._isClosed)return;this.log.warn("".concat(i," disconnected"),this.logContext),this.reconnectAttempts===0&&(this.reconnectStart=Date.now());const s=c=>{this.log.warn("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(c,"ms. giving up"),this.logContext),this.emit(N.Disconnected),this.close()},o=Date.now()-this.reconnectStart;let a=this.getNextRetryDelay({elapsedMs:o,retryCount:this.reconnectAttempts});if(a===null){s(o);return}i===Ko&&(a=0),this.log.debug("reconnecting in ".concat(a,"ms"),this.logContext),this.clearReconnectTimeout(),this.token&&this.regionUrlProvider&&this.regionUrlProvider.updateToken(this.token),this.reconnectTimeout=Ae.setTimeout(()=>this.attemptReconnect(r).finally(()=>this.reconnectTimeout=void 0),a)},this.waitForRestarted=()=>new Promise((i,r)=>{this.pcState===lt.Connected&&i();const s=()=>{this.off(N.Disconnected,o),i()},o=()=>{this.off(N.Restarted,s),r()};this.once(N.Restarted,s),this.once(N.Disconnected,o)}),this.updateAndEmitDCBufferStatus=i=>{const r=this.isBufferStatusLow(i);typeof r<"u"&&r!==this.dcBufferStatus.get(i)&&(this.dcBufferStatus.set(i,r),this.emit(N.DCBufferStatusChanged,r,i))},this.isBufferStatusLow=i=>{const r=this.dataChannelForKind(i);if(r)return i===K.RELIABLE&&this.reliableMessageBuffer.alignBufferedAmount(r.bufferedAmount),r.bufferedAmount<=r.bufferedAmountLowThreshold},this.handleBrowserOnLine=()=>{this.client.currentState===le.RECONNECTING&&(this.clearReconnectTimeout(),this.attemptReconnect(Bn.RR_SIGNAL_DISCONNECTED))},this.log=Nt((n=e.loggerName)!==null&&n!==void 0?n:at.Engine),this.loggerOptions={loggerName:e.loggerName,loggerContextCb:()=>this.logContext},this.client=new Mo(void 0,this.loggerOptions),this.client.signalLatency=this.options.expSignalLatency,this.reconnectPolicy=this.options.reconnectPolicy,this.registerOnLineListener(),this.closingLock=new Fe,this.dataProcessLock=new Fe,this.dcBufferStatus=new Map([[K.LOSSY,!0],[K.RELIABLE,!0]]),this.client.onParticipantUpdate=i=>this.emit(N.ParticipantUpdate,i),this.client.onConnectionQuality=i=>this.emit(N.ConnectionQualityUpdate,i),this.client.onRoomUpdate=i=>this.emit(N.RoomUpdate,i),this.client.onSubscriptionError=i=>this.emit(N.SubscriptionError,i),this.client.onSubscriptionPermissionUpdate=i=>this.emit(N.SubscriptionPermissionUpdate,i),this.client.onSpeakersChanged=i=>this.emit(N.SpeakersChanged,i),this.client.onStreamStateUpdate=i=>this.emit(N.StreamStateChanged,i),this.client.onRequestResponse=i=>this.emit(N.SignalRequestResponse,i)}get logContext(){var e,n,i,r,s,o;return{room:(n=(e=this.latestJoinResponse)===null||e===void 0?void 0:e.room)===null||n===void 0?void 0:n.name,roomID:(r=(i=this.latestJoinResponse)===null||i===void 0?void 0:i.room)===null||r===void 0?void 0:r.sid,participant:(o=(s=this.latestJoinResponse)===null||s===void 0?void 0:s.participant)===null||o===void 0?void 0:o.identity,pID:this.participantSid}}join(e,n,i,r){return y(this,void 0,void 0,function*(){this.url=e,this.token=n,this.signalOpts=i,this.maxJoinAttempts=i.maxRetries;try{this.joinAttempts+=1,this.setupSignalClientCallbacks();const s=yield this.client.join(e,n,i,r);return this._isClosed=!1,this.latestJoinResponse=s,this.subscriberPrimary=s.subscriberPrimary,this.pcManager||(yield this.configure(s)),(!this.subscriberPrimary||s.fastPublish)&&this.negotiate(),this.clientConfiguration=s.clientConfiguration,this.emit(N.SignalConnected,s),s}catch(s){if(s instanceof ae&&s.reason===Q.ServerUnreachable&&(this.log.warn("Couldn't connect to server, attempt ".concat(this.joinAttempts," of ").concat(this.maxJoinAttempts),this.logContext),this.joinAttempts<this.maxJoinAttempts))return this.join(e,n,i,r);throw s}})}close(){return y(this,void 0,void 0,function*(){const e=yield this.closingLock.lock();if(this.isClosed){e();return}try{this._isClosed=!0,this.joinAttempts=0,this.emit(N.Closing),this.removeAllListeners(),this.deregisterOnLineListener(),this.clearPendingReconnect(),yield this.cleanupPeerConnections(),yield this.cleanupClient()}finally{e()}})}cleanupPeerConnections(){return y(this,void 0,void 0,function*(){var e;yield(e=this.pcManager)===null||e===void 0?void 0:e.close(),this.pcManager=void 0;const n=i=>{i&&(i.close(),i.onbufferedamountlow=null,i.onclose=null,i.onclosing=null,i.onerror=null,i.onmessage=null,i.onopen=null)};n(this.lossyDC),n(this.lossyDCSub),n(this.reliableDC),n(this.reliableDCSub),this.lossyDC=void 0,this.lossyDCSub=void 0,this.reliableDC=void 0,this.reliableDCSub=void 0,this.reliableMessageBuffer=new Tu,this.reliableDataSequence=1,this.reliableReceivedState.clear()})}cleanupClient(){return y(this,void 0,void 0,function*(){yield this.client.close(),this.client.resetCallbacks()})}addTrack(e){if(this.pendingTrackResolvers[e.cid])throw new Ut("a track with the same ID has already been published");return new Promise((n,i)=>{const r=setTimeout(()=>{delete this.pendingTrackResolvers[e.cid],i(new ae("publication of local track timed out, no response from server",Q.Timeout))},1e4);this.pendingTrackResolvers[e.cid]={resolve:s=>{clearTimeout(r),n(s)},reject:()=>{clearTimeout(r),i(new Error("Cancelled publication by calling unpublish"))}},this.client.sendAddTrack(e)})}removeTrack(e){if(e.track&&this.pendingTrackResolvers[e.track.id]){const{reject:n}=this.pendingTrackResolvers[e.track.id];n&&n(),delete this.pendingTrackResolvers[e.track.id]}try{return this.pcManager.removeTrack(e),!0}catch(n){this.log.warn("failed to remove track",Object.assign(Object.assign({},this.logContext),{error:n}))}return!1}updateMuteStatus(e,n){this.client.sendMuteTrack(e,n)}get dataSubscriberReadyState(){var e;return(e=this.reliableDCSub)===null||e===void 0?void 0:e.readyState}getConnectedServerAddress(){return y(this,void 0,void 0,function*(){var e;return(e=this.pcManager)===null||e===void 0?void 0:e.getConnectedAddress()})}setRegionUrlProvider(e){this.regionUrlProvider=e}configure(e){return y(this,void 0,void 0,function*(){var n,i;if(this.pcManager&&this.pcManager.currentState!==ye.NEW)return;this.participantSid=(n=e.participant)===null||n===void 0?void 0:n.sid;const r=this.makeRTCConfiguration(e);this.pcManager=new Fv(r,e.subscriberPrimary,this.loggerOptions),this.emit(N.TransportsCreated,this.pcManager.publisher,this.pcManager.subscriber),this.pcManager.onIceCandidate=(s,o)=>{this.client.sendIceCandidate(s,o)},this.pcManager.onPublisherOffer=s=>{this.client.sendOffer(s)},this.pcManager.onDataChannel=this.handleDataChannel,this.pcManager.onStateChange=(s,o,a)=>y(this,void 0,void 0,function*(){if(this.log.debug("primary PC state changed ".concat(s),this.logContext),["closed","disconnected","failed"].includes(o)&&(this.publisherConnectionPromise=void 0),s===ye.CONNECTED){const d=this.pcState===lt.New;this.pcState=lt.Connected,d&&this.emit(N.Connected,e)}else s===ye.FAILED&&this.pcState===lt.Connected&&(this.pcState=lt.Disconnected,this.handleDisconnect("peerconnection failed",a==="failed"?Bn.RR_SUBSCRIBER_FAILED:Bn.RR_PUBLISHER_FAILED));const c=this.client.isDisconnected||this.client.currentState===le.RECONNECTING,l=[ye.FAILED,ye.CLOSING,ye.CLOSED].includes(s);c&&l&&!this._isClosed&&this.emit(N.Offline)}),this.pcManager.onTrack=s=>{this.emit(N.MediaTrackAdded,s.track,s.streams[0],s.receiver)},o0((i=e.serverInfo)===null||i===void 0?void 0:i.protocol)||this.createDataChannels()})}setupSignalClientCallbacks(){this.client.onAnswer=e=>y(this,void 0,void 0,function*(){this.pcManager&&(this.log.debug("received server answer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type})),yield this.pcManager.setPublisherAnswer(e))}),this.client.onTrickle=(e,n)=>{this.pcManager&&(this.log.debug("got ICE candidate from peer",Object.assign(Object.assign({},this.logContext),{candidate:e,target:n})),this.pcManager.addIceCandidate(e,n))},this.client.onOffer=e=>y(this,void 0,void 0,function*(){if(!this.pcManager)return;const n=yield this.pcManager.createSubscriberAnswerFromOffer(e);this.client.sendAnswer(n)}),this.client.onLocalTrackPublished=e=>{var n;if(this.log.debug("received trackPublishedResponse",Object.assign(Object.assign({},this.logContext),{cid:e.cid,track:(n=e.track)===null||n===void 0?void 0:n.sid})),!this.pendingTrackResolvers[e.cid]){this.log.error("missing track resolver for ".concat(e.cid),Object.assign(Object.assign({},this.logContext),{cid:e.cid}));return}const{resolve:i}=this.pendingTrackResolvers[e.cid];delete this.pendingTrackResolvers[e.cid],i(e.track)},this.client.onLocalTrackUnpublished=e=>{this.emit(N.LocalTrackUnpublished,e)},this.client.onLocalTrackSubscribed=e=>{this.emit(N.LocalTrackSubscribed,e)},this.client.onTokenRefresh=e=>{this.token=e},this.client.onRemoteMuteChanged=(e,n)=>{this.emit(N.RemoteMute,e,n)},this.client.onSubscribedQualityUpdate=e=>{this.emit(N.SubscribedQualityUpdate,e)},this.client.onRoomMoved=e=>{var n;this.participantSid=(n=e.participant)===null||n===void 0?void 0:n.sid,this.latestJoinResponse&&(this.latestJoinResponse.room=e.room),this.emit(N.RoomMoved,e)},this.client.onClose=()=>{this.handleDisconnect("signal",Bn.RR_SIGNAL_DISCONNECTED)},this.client.onLeave=e=>{switch(this.log.debug("client leave request",Object.assign(Object.assign({},this.logContext),{reason:e==null?void 0:e.reason})),e.regions&&this.regionUrlProvider&&(this.log.debug("updating regions",this.logContext),this.regionUrlProvider.setServerReportedRegions(e.regions)),e.action){case qn.DISCONNECT:this.emit(N.Disconnected,e==null?void 0:e.reason),this.close();break;case qn.RECONNECT:this.fullReconnectOnNext=!0,this.handleDisconnect(Ko);break;case qn.RESUME:this.handleDisconnect(Ko)}}}makeRTCConfiguration(e){var n;const i=Object.assign({},this.rtcConfig);if(!((n=this.signalOpts)===null||n===void 0)&&n.e2eeEnabled&&(this.log.debug("E2EE - setting up transports with insertable streams",this.logContext),i.encodedInsertableStreams=!0),e.iceServers&&!i.iceServers){const r=[];e.iceServers.forEach(s=>{const o={urls:s.urls};s.username&&(o.username=s.username),s.credential&&(o.credential=s.credential),r.push(o)}),i.iceServers=r}return e.clientConfiguration&&e.clientConfiguration.forceRelay===Si.ENABLED&&(i.iceTransportPolicy="relay"),i.sdpSemantics="unified-plan",i.continualGatheringPolicy="gather_continually",i}createDataChannels(){this.pcManager&&(this.lossyDC&&(this.lossyDC.onmessage=null,this.lossyDC.onerror=null),this.reliableDC&&(this.reliableDC.onmessage=null,this.reliableDC.onerror=null),this.lossyDC=this.pcManager.createPublisherDataChannel(Vu,{ordered:!1,maxRetransmits:0}),this.reliableDC=this.pcManager.createPublisherDataChannel(qu,{ordered:!0}),this.lossyDC.onmessage=this.handleDataMessage,this.reliableDC.onmessage=this.handleDataMessage,this.lossyDC.onerror=this.handleDataError,this.reliableDC.onerror=this.handleDataError,this.lossyDC.bufferedAmountLowThreshold=65535,this.reliableDC.bufferedAmountLowThreshold=65535,this.lossyDC.onbufferedamountlow=this.handleBufferedAmountLow,this.reliableDC.onbufferedamountlow=this.handleBufferedAmountLow)}createSender(e,n,i){return y(this,void 0,void 0,function*(){if(yo())return yield this.createTransceiverRTCRtpSender(e,n,i);if(ko())return this.log.warn("using add-track fallback",this.logContext),yield this.createRTCRtpSender(e.mediaStreamTrack);throw new Pe("Required webRTC APIs not supported on this device")})}createSimulcastSender(e,n,i,r){return y(this,void 0,void 0,function*(){if(yo())return this.createSimulcastTransceiverSender(e,n,i,r);if(ko())return this.log.debug("using add-track fallback",this.logContext),this.createRTCRtpSender(e.mediaStreamTrack);throw new Pe("Cannot stream on this device")})}createTransceiverRTCRtpSender(e,n,i){return y(this,void 0,void 0,function*(){if(!this.pcManager)throw new Pe("publisher is closed");const r=[];e.mediaStream&&r.push(e.mediaStream),Jn(e)&&(e.codec=n.videoCodec);const s={direction:"sendonly",streams:r};return i&&(s.sendEncodings=i),(yield this.pcManager.addPublisherTransceiver(e.mediaStreamTrack,s)).sender})}createSimulcastTransceiverSender(e,n,i,r){return y(this,void 0,void 0,function*(){if(!this.pcManager)throw new Pe("publisher is closed");const s={direction:"sendonly"};r&&(s.sendEncodings=r);const o=yield this.pcManager.addPublisherTransceiver(n.mediaStreamTrack,s);if(i.videoCodec)return e.setSimulcastTrackSender(i.videoCodec,o.sender),o.sender})}createRTCRtpSender(e){return y(this,void 0,void 0,function*(){if(!this.pcManager)throw new Pe("publisher is closed");return this.pcManager.addPublisherTrack(e)})}attemptReconnect(e){return y(this,void 0,void 0,function*(){var n,i,r;if(!this._isClosed){if(this.attemptingReconnect){X.warn("already attempting reconnect, returning early",this.logContext);return}(((n=this.clientConfiguration)===null||n===void 0?void 0:n.resumeConnection)===Si.DISABLED||((r=(i=this.pcManager)===null||i===void 0?void 0:i.currentState)!==null&&r!==void 0?r:ye.NEW)===ye.NEW)&&(this.fullReconnectOnNext=!0);try{this.attemptingReconnect=!0,this.fullReconnectOnNext?yield this.restartConnection():yield this.resumeConnection(e),this.clearPendingReconnect(),this.fullReconnectOnNext=!1}catch(s){this.reconnectAttempts+=1;let o=!0;s instanceof Pe?(this.log.debug("received unrecoverable error",Object.assign(Object.assign({},this.logContext),{error:s})),o=!1):s instanceof Xn||(this.fullReconnectOnNext=!0),o?this.handleDisconnect("reconnect",Bn.RR_UNKNOWN):(this.log.info("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(Date.now()-this.reconnectStart,"ms. giving up"),this.logContext),this.emit(N.Disconnected),yield this.close())}finally{this.attemptingReconnect=!1}}})}getNextRetryDelay(e){try{return this.reconnectPolicy.nextRetryDelayInMs(e)}catch(n){this.log.warn("encountered error in reconnect policy",Object.assign(Object.assign({},this.logContext),{error:n}))}return null}restartConnection(e){return y(this,void 0,void 0,function*(){var n,i,r;try{if(!this.url||!this.token)throw new Pe("could not reconnect, url or token not saved");this.log.info("reconnecting, attempt: ".concat(this.reconnectAttempts),this.logContext),this.emit(N.Restarting),this.client.isDisconnected||(yield this.client.sendLeave()),yield this.cleanupPeerConnections(),yield this.cleanupClient();let s;try{if(!this.signalOpts)throw this.log.warn("attempted connection restart, without signal options present",this.logContext),new Xn;s=yield this.join(e??this.url,this.token,this.signalOpts)}catch(o){throw o instanceof ae&&o.reason===Q.NotAllowed?new Pe("could not reconnect, token might be expired"):new Xn}if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(this.client.setReconnected(),this.emit(N.SignalRestarted,s),yield this.waitForPCReconnected(),this.client.currentState!==le.CONNECTED)throw new Xn("Signal connection got severed during reconnect");(n=this.regionUrlProvider)===null||n===void 0||n.resetAttempts(),this.emit(N.Restarted)}catch(s){const o=yield(i=this.regionUrlProvider)===null||i===void 0?void 0:i.getNextBestRegionUrl();if(o){yield this.restartConnection(o);return}else throw(r=this.regionUrlProvider)===null||r===void 0||r.resetAttempts(),s}})}resumeConnection(e){return y(this,void 0,void 0,function*(){var n;if(!this.url||!this.token)throw new Pe("could not reconnect, url or token not saved");if(!this.pcManager)throw new Pe("publisher and subscriber connections unset");this.log.info("resuming signal connection, attempt ".concat(this.reconnectAttempts),this.logContext),this.emit(N.Resuming);let i;try{this.setupSignalClientCallbacks(),i=yield this.client.reconnect(this.url,this.token,this.participantSid,e)}catch(r){let s="";throw r instanceof Error&&(s=r.message,this.log.error(r.message,Object.assign(Object.assign({},this.logContext),{error:r}))),r instanceof ae&&r.reason===Q.NotAllowed?new Pe("could not reconnect, token might be expired"):r instanceof ae&&r.reason===Q.LeaveRequest?r:new Xn(s)}if(this.emit(N.SignalResumed),i){const r=this.makeRTCConfiguration(i);this.pcManager.updateConfiguration(r),this.latestJoinResponse&&(this.latestJoinResponse.serverInfo=i.serverInfo)}else this.log.warn("Did not receive reconnect response",this.logContext);if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(yield this.pcManager.triggerIceRestart(),yield this.waitForPCReconnected(),this.client.currentState!==le.CONNECTED)throw new Xn("Signal connection got severed during reconnect");this.client.setReconnected(),((n=this.reliableDC)===null||n===void 0?void 0:n.readyState)==="open"&&this.reliableDC.id===null&&this.createDataChannels(),i!=null&&i.lastMessageSeq&&this.resendReliableMessagesForResume(i.lastMessageSeq),this.emit(N.Resumed)})}waitForPCInitialConnection(e,n){return y(this,void 0,void 0,function*(){if(!this.pcManager)throw new Pe("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(n,e)})}waitForPCReconnected(){return y(this,void 0,void 0,function*(){this.pcState=lt.Reconnecting,this.log.debug("waiting for peer connection to reconnect",this.logContext);try{if(yield qe(i0),!this.pcManager)throw new Pe("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(void 0,this.peerConnectionTimeout),this.pcState=lt.Connected}catch(e){throw this.pcState=lt.Disconnected,new ae("could not establish PC connection, ".concat(e.message),Q.InternalError)}})}publishRpcResponse(e,n,i,r){return y(this,void 0,void 0,function*(){const s=new je({destinationIdentities:[e],kind:K.RELIABLE,value:{case:"rpcResponse",value:new $l({requestId:n,value:r?{case:"error",value:r.toProto()}:{case:"payload",value:i??""}})}});yield this.sendDataPacket(s,K.RELIABLE)})}publishRpcAck(e,n){return y(this,void 0,void 0,function*(){const i=new je({destinationIdentities:[e],kind:K.RELIABLE,value:{case:"rpcAck",value:new ql({requestId:n})}});yield this.sendDataPacket(i,K.RELIABLE)})}sendDataPacket(e,n){return y(this,void 0,void 0,function*(){yield this.ensurePublisherConnected(n),n===K.RELIABLE&&(e.sequence=this.reliableDataSequence,this.reliableDataSequence+=1);const i=e.toBinary(),r=this.dataChannelForKind(n);if(r){if(n===K.RELIABLE&&this.reliableMessageBuffer.push({data:i,sequence:e.sequence}),this.attemptingReconnect)return;r.send(i)}this.updateAndEmitDCBufferStatus(n)})}resendReliableMessagesForResume(e){return y(this,void 0,void 0,function*(){yield this.ensurePublisherConnected(K.RELIABLE);const n=this.dataChannelForKind(K.RELIABLE);n&&(this.reliableMessageBuffer.popToSequence(e),this.reliableMessageBuffer.getAll().forEach(i=>{n.send(i.data)})),this.updateAndEmitDCBufferStatus(K.RELIABLE)})}waitForBufferStatusLow(e){return new Promise((n,i)=>y(this,void 0,void 0,function*(){if(this.isBufferStatusLow(e))n();else{const r=()=>i("Engine closed");for(this.once(N.Closing,r);!this.dcBufferStatus.get(e);)yield qe(10);this.off(N.Closing,r),n()}}))}ensureDataTransportConnected(e){return y(this,arguments,void 0,function(n){var i=this;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.subscriberPrimary;return function*(){var s;if(!i.pcManager)throw new Pe("PC manager is closed");const o=r?i.pcManager.subscriber:i.pcManager.publisher,a=r?"Subscriber":"Publisher";if(!o)throw new ae("".concat(a," connection not set"),Q.InternalError);let c=!1;!r&&!i.dataChannelForKind(n,r)&&(i.createDataChannels(),c=!0),!c&&!r&&!i.pcManager.publisher.isICEConnected&&i.pcManager.publisher.getICEConnectionState()!=="checking"&&(c=!0),c&&i.negotiate();const l=i.dataChannelForKind(n,r);if((l==null?void 0:l.readyState)==="open")return;const d=new Date().getTime()+i.peerConnectionTimeout;for(;new Date().getTime()<d;){if(o.isICEConnected&&((s=i.dataChannelForKind(n,r))===null||s===void 0?void 0:s.readyState)==="open")return;yield qe(50)}throw new ae("could not establish ".concat(a," connection, state: ").concat(o.getICEConnectionState()),Q.InternalError)}()})}ensurePublisherConnected(e){return y(this,void 0,void 0,function*(){this.publisherConnectionPromise||(this.publisherConnectionPromise=this.ensureDataTransportConnected(e,!1)),yield this.publisherConnectionPromise})}verifyTransport(){return!(!this.pcManager||this.pcManager.currentState!==ye.CONNECTED||!this.client.ws||this.client.ws.readyState===WebSocket.CLOSED)}negotiate(){return y(this,void 0,void 0,function*(){return new Promise((e,n)=>y(this,void 0,void 0,function*(){if(!this.pcManager){n(new fo("PC manager is closed"));return}this.pcManager.requirePublisher(),this.pcManager.publisher.getTransceivers().length==0&&!this.lossyDC&&!this.reliableDC&&this.createDataChannels();const i=new AbortController,r=()=>{i.abort(),this.log.debug("engine disconnected while negotiation was ongoing",this.logContext),e()};this.isClosed&&n("cannot negotiate on closed engine"),this.on(N.Closing,r),this.pcManager.publisher.once(Yn.RTPVideoPayloadTypes,s=>{const o=new Map;s.forEach(a=>{const c=a.codec.toLowerCase();cv(c)&&o.set(a.payload,c)}),this.emit(N.RTPVideoMapUpdate,o)});try{yield this.pcManager.negotiate(i),e()}catch(s){s instanceof fo&&(this.fullReconnectOnNext=!0),this.handleDisconnect("negotiation",Bn.RR_UNKNOWN),n(s)}finally{this.off(N.Closing,r)}}))})}dataChannelForKind(e,n){if(n){if(e===K.LOSSY)return this.lossyDCSub;if(e===K.RELIABLE)return this.reliableDCSub}else{if(e===K.LOSSY)return this.lossyDC;if(e===K.RELIABLE)return this.reliableDC}}sendSyncState(e,n){var i,r;if(!this.pcManager){this.log.warn("sync state cannot be sent without peer connection setup",this.logContext);return}const s=this.pcManager.subscriber.getLocalDescription(),o=this.pcManager.subscriber.getRemoteDescription(),a=(r=(i=this.signalOpts)===null||i===void 0?void 0:i.autoSubscribe)!==null&&r!==void 0?r:!0,c=new Array,l=new Array;e.forEach(d=>{d.isDesired!==a&&c.push(d.trackSid),d.isEnabled||l.push(d.trackSid)}),this.client.sendSyncState(new ld({answer:s?Pr({sdp:s.sdp,type:s.type}):void 0,offer:o?Pr({sdp:o.sdp,type:o.type}):void 0,subscription:new fr({trackSids:c,subscribe:!a,participantTracks:[]}),publishTracks:vv(n),dataChannels:this.dataChannelsInfo(),trackSidsDisabled:l,datachannelReceiveStates:this.reliableReceivedState.map((d,u)=>new dd({publisherSid:u,lastSeq:d}))}))}failNext(){this.shouldFailNext=!0}dataChannelsInfo(){const e=[],n=(i,r)=>{(i==null?void 0:i.id)!==void 0&&i.id!==null&&e.push(new ud({label:i.label,id:i.id,target:r}))};return n(this.dataChannelForKind(K.LOSSY),ot.PUBLISHER),n(this.dataChannelForKind(K.RELIABLE),ot.PUBLISHER),n(this.dataChannelForKind(K.LOSSY,!0),ot.SUBSCRIBER),n(this.dataChannelForKind(K.RELIABLE,!0),ot.SUBSCRIBER),e}clearReconnectTimeout(){this.reconnectTimeout&&Ae.clearTimeout(this.reconnectTimeout)}clearPendingReconnect(){this.clearReconnectTimeout(),this.reconnectAttempts=0}registerOnLineListener(){$e()&&window.addEventListener("online",this.handleBrowserOnLine)}deregisterOnLineListener(){$e()&&window.removeEventListener("online",this.handleBrowserOnLine)}}class Xn extends Error{}function o0(t){return t!==void 0&&t>13}function a0(t,e){const n=t.participantIdentity?t.participantIdentity:e.participantIdentity;t.participantIdentity=n,e.participantIdentity=n;const i=t.destinationIdentities.length!==0?t.destinationIdentities:e.destinationIdentities;t.destinationIdentities=i,e.destinationIdentities=i}class Go{constructor(e,n){this.lastUpdateAt=0,this.settingsCacheTime=3e3,this.attemptedRegions=[],this.serverUrl=new URL(e),this.token=n}updateToken(e){this.token=e}isCloud(){return wo(this.serverUrl)}getServerUrl(){return this.serverUrl}getNextBestRegionUrl(e){return y(this,void 0,void 0,function*(){if(!this.isCloud())throw Error("region availability is only supported for LiveKit Cloud domains");(!this.regionSettings||Date.now()-this.lastUpdateAt>this.settingsCacheTime)&&(this.regionSettings=yield this.fetchRegionSettings(e));const n=this.regionSettings.regions.filter(i=>!this.attemptedRegions.find(r=>r.url===i.url));if(n.length>0){const i=n[0];return this.attemptedRegions.push(i),X.debug("next region: ".concat(i.region)),i.url}else return null})}resetAttempts(){this.attemptedRegions=[]}fetchRegionSettings(e){return y(this,void 0,void 0,function*(){const n=yield fetch("".concat(c0(this.serverUrl),"/regions"),{headers:{authorization:"Bearer ".concat(this.token)},signal:e});if(n.ok){const i=yield n.json();return this.lastUpdateAt=Date.now(),i}else throw new ae("Could not fetch region settings: ".concat(n.statusText),n.status===401?Q.NotAllowed:Q.InternalError,n.status)})}setServerReportedRegions(e){this.regionSettings=e,this.lastUpdateAt=Date.now()}}function c0(t){return"".concat(t.protocol.replace("ws","http"),"//").concat(t.host,"/settings")}class $u{get info(){return this._info}constructor(e,n,i){this.reader=n,this.totalByteSize=i,this._info=e,this.bytesReceived=0}}class l0 extends $u{handleChunkReceived(e){var n;this.bytesReceived+=e.content.byteLength;const i=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;(n=this.onProgress)===null||n===void 0||n.call(this,i)}[Symbol.asyncIterator](){const e=this.reader.getReader();return{next:()=>y(this,void 0,void 0,function*(){try{const{done:n,value:i}=yield e.read();return n?{done:!0,value:void 0}:(this.handleChunkReceived(i),{done:!1,value:i.content})}catch{return{done:!0,value:void 0}}}),return(){return y(this,void 0,void 0,function*(){return e.releaseLock(),{done:!0,value:void 0}})}}}readAll(){return y(this,void 0,void 0,function*(){var e,n,i,r;let s=new Set;try{for(var o=!0,a=Lt(this),c;c=yield a.next(),e=c.done,!e;o=!0){r=c.value,o=!1;const l=r;s.add(l)}}catch(l){n={error:l}}finally{try{!o&&!e&&(i=a.return)&&(yield i.call(a))}finally{if(n)throw n.error}}return Array.from(s)})}}class d0 extends $u{constructor(e,n,i){super(e,n,i),this.receivedChunks=new Map}handleChunkReceived(e){var n;const i=xr(e.chunkIndex),r=this.receivedChunks.get(i);if(r&&r.version>e.version)return;this.receivedChunks.set(i,e),this.bytesReceived+=e.content.byteLength;const s=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;(n=this.onProgress)===null||n===void 0||n.call(this,s)}[Symbol.asyncIterator](){const e=this.reader.getReader(),n=new TextDecoder;return{next:()=>y(this,void 0,void 0,function*(){try{const{done:i,value:r}=yield e.read();return i?{done:!0,value:void 0}:(this.handleChunkReceived(r),{done:!1,value:n.decode(r.content)})}catch{return{done:!0,value:void 0}}}),return(){return y(this,void 0,void 0,function*(){return e.releaseLock(),{done:!0,value:void 0}})}}}readAll(){return y(this,void 0,void 0,function*(){var e,n,i,r;let s="";try{for(var o=!0,a=Lt(this),c;c=yield a.next(),e=c.done,!e;o=!0)r=c.value,o=!1,s+=r}catch(l){n={error:l}}finally{try{!o&&!e&&(i=a.return)&&(yield i.call(a))}finally{if(n)throw n.error}}return s})}}class zu{constructor(e,n,i){this.writableStream=e,this.defaultWriter=e.getWriter(),this.onClose=i,this.info=n}write(e){return this.defaultWriter.write(e)}close(){return y(this,void 0,void 0,function*(){var e;yield this.defaultWriter.close(),this.defaultWriter.releaseLock(),(e=this.onClose)===null||e===void 0||e.call(this)})}}class u0 extends zu{}class h0 extends zu{}class Wu extends P{constructor(e,n,i,r,s){super(e,i,s),this.sid=n,this.receiver=r}get isLocal(){return!1}setMuted(e){this.isMuted!==e&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?A.Muted:A.Unmuted,this))}setMediaStream(e){this.mediaStream=e;const n=i=>{i.track===this._mediaStreamTrack&&(e.removeEventListener("removetrack",n),this.receiver&&"playoutDelayHint"in this.receiver&&(this.receiver.playoutDelayHint=void 0),this.receiver=void 0,this._currentBitrate=0,this.emit(A.Ended,this))};e.addEventListener("removetrack",n)}start(){this.startMonitor(),super.enable()}stop(){this.stopMonitor(),super.disable()}getRTCStatsReport(){return y(this,void 0,void 0,function*(){var e;return!((e=this.receiver)===null||e===void 0)&&e.getStats?yield this.receiver.getStats():void 0})}setPlayoutDelay(e){this.receiver?"playoutDelayHint"in this.receiver?this.receiver.playoutDelayHint=e:this.log.warn("Playout delay not supported in this browser"):this.log.warn("Cannot set playout delay, track already ended")}getPlayoutDelay(){if(this.receiver){if("playoutDelayHint"in this.receiver)return this.receiver.playoutDelayHint;this.log.warn("Playout delay not supported in this browser")}else this.log.warn("Cannot get playout delay, track already ended");return 0}startMonitor(){this.monitorInterval||(this.monitorInterval=setInterval(()=>this.monitorReceiver(),qo)),bv()&&this.registerTimeSyncUpdate()}registerTimeSyncUpdate(){const e=()=>{var n;this.timeSyncHandle=requestAnimationFrame(()=>e());const i=(n=this.receiver)===null||n===void 0?void 0:n.getSynchronizationSources()[0];if(i){const{timestamp:r,rtpTimestamp:s}=i;s&&this.rtpTimestamp!==s&&(this.emit(A.TimeSyncUpdate,{timestamp:r,rtpTimestamp:s}),this.rtpTimestamp=s)}};e()}}class f0 extends Wu{constructor(e,n,i,r,s,o){super(e,n,P.Kind.Audio,i,o),this.monitorReceiver=()=>y(this,void 0,void 0,function*(){if(!this.receiver){this._currentBitrate=0;return}const a=yield this.getReceiverStats();a&&this.prevStats&&this.receiver&&(this._currentBitrate=Rr(a,this.prevStats)),this.prevStats=a}),this.audioContext=r,this.webAudioPluginNodes=[],s&&(this.sinkId=s.deviceId)}setVolume(e){var n;for(const i of this.attachedElements)this.audioContext?(n=this.gainNode)===null||n===void 0||n.gain.setTargetAtTime(e,0,.1):i.volume=e;Ct()&&this._mediaStreamTrack._setVolume(e),this.elementVolume=e}getVolume(){if(this.elementVolume)return this.elementVolume;if(Ct())return 1;let e=0;return this.attachedElements.forEach(n=>{n.volume>e&&(e=n.volume)}),e}setSinkId(e){return y(this,void 0,void 0,function*(){this.sinkId=e,yield Promise.all(this.attachedElements.map(n=>{if(Co(n))return n.setSinkId(e)}))})}attach(e){const n=this.attachedElements.length===0;return e?super.attach(e):e=super.attach(),this.sinkId&&Co(e)&&e.setSinkId(this.sinkId).catch(i=>{this.log.error("Failed to set sink id on remote audio track",i,this.logContext)}),this.audioContext&&n&&(this.log.debug("using audio context mapping",this.logContext),this.connectWebAudio(this.audioContext,e),e.volume=0,e.muted=!0),this.elementVolume&&this.setVolume(this.elementVolume),e}detach(e){let n;return e?(n=super.detach(e),this.audioContext&&(this.attachedElements.length>0?this.connectWebAudio(this.audioContext,this.attachedElements[0]):this.disconnectWebAudio())):(n=super.detach(),this.disconnectWebAudio()),n}setAudioContext(e){this.audioContext=e,e&&this.attachedElements.length>0?this.connectWebAudio(e,this.attachedElements[0]):e||this.disconnectWebAudio()}setWebAudioPlugins(e){this.webAudioPluginNodes=e,this.attachedElements.length>0&&this.audioContext&&this.connectWebAudio(this.audioContext,this.attachedElements[0])}connectWebAudio(e,n){this.disconnectWebAudio(),this.sourceNode=e.createMediaStreamSource(n.srcObject);let i=this.sourceNode;this.webAudioPluginNodes.forEach(r=>{i.connect(r),i=r}),this.gainNode=e.createGain(),i.connect(this.gainNode),this.gainNode.connect(e.destination),this.elementVolume&&this.gainNode.gain.setTargetAtTime(this.elementVolume,0,.1),e.state!=="running"&&e.resume().then(()=>{e.state!=="running"&&this.emit(A.AudioPlaybackFailed,new Error("Audio Context couldn't be started automatically"))}).catch(r=>{this.emit(A.AudioPlaybackFailed,r)})}disconnectWebAudio(){var e,n;(e=this.gainNode)===null||e===void 0||e.disconnect(),(n=this.sourceNode)===null||n===void 0||n.disconnect(),this.gainNode=void 0,this.sourceNode=void 0}getReceiverStats(){return y(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;const e=yield this.receiver.getStats();let n;return e.forEach(i=>{i.type==="inbound-rtp"&&(n={type:"audio",streamId:i.id,timestamp:i.timestamp,jitter:i.jitter,bytesReceived:i.bytesReceived,concealedSamples:i.concealedSamples,concealmentEvents:i.concealmentEvents,silentConcealedSamples:i.silentConcealedSamples,silentConcealmentEvents:i.silentConcealmentEvents,totalAudioEnergy:i.totalAudioEnergy,totalSamplesDuration:i.totalSamplesDuration})}),n})}}const Jo=100;class p0 extends Wu{constructor(e,n,i,r,s){super(e,n,P.Kind.Video,i,s),this.elementInfos=[],this.monitorReceiver=()=>y(this,void 0,void 0,function*(){if(!this.receiver){this._currentBitrate=0;return}const o=yield this.getReceiverStats();o&&this.prevStats&&this.receiver&&(this._currentBitrate=Rr(o,this.prevStats)),this.prevStats=o}),this.debouncedHandleResize=Fo(()=>{this.updateDimensions()},Jo),this.adaptiveStreamSettings=r}get isAdaptiveStream(){return this.adaptiveStreamSettings!==void 0}get mediaStreamTrack(){return this._mediaStreamTrack}setMuted(e){super.setMuted(e),this.attachedElements.forEach(n=>{e?Wn(this._mediaStreamTrack,n):zn(this._mediaStreamTrack,n)})}attach(e){if(e?super.attach(e):e=super.attach(),this.adaptiveStreamSettings&&this.elementInfos.find(n=>n.element===e)===void 0){const n=new m0(e);this.observeElementInfo(n)}return e}observeElementInfo(e){this.adaptiveStreamSettings&&this.elementInfos.find(n=>n===e)===void 0?(e.handleResize=()=>{this.debouncedHandleResize()},e.handleVisibilityChanged=()=>{this.updateVisibility()},this.elementInfos.push(e),e.observe(),this.debouncedHandleResize(),this.updateVisibility()):this.log.warn("visibility resize observer not triggered",this.logContext)}stopObservingElementInfo(e){if(!this.isAdaptiveStream){this.log.warn("stopObservingElementInfo ignored",this.logContext);return}const n=this.elementInfos.filter(i=>i===e);for(const i of n)i.stopObserving();this.elementInfos=this.elementInfos.filter(i=>i!==e),this.updateVisibility(),this.debouncedHandleResize()}detach(e){let n=[];if(e)return this.stopObservingElement(e),super.detach(e);n=super.detach();for(const i of n)this.stopObservingElement(i);return n}getDecoderImplementation(){var e;return(e=this.prevStats)===null||e===void 0?void 0:e.decoderImplementation}getReceiverStats(){return y(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;const e=yield this.receiver.getStats();let n,i="",r=new Map;return e.forEach(s=>{s.type==="inbound-rtp"?(i=s.codecId,n={type:"video",streamId:s.id,framesDecoded:s.framesDecoded,framesDropped:s.framesDropped,framesReceived:s.framesReceived,packetsReceived:s.packetsReceived,packetsLost:s.packetsLost,frameWidth:s.frameWidth,frameHeight:s.frameHeight,pliCount:s.pliCount,firCount:s.firCount,nackCount:s.nackCount,jitter:s.jitter,timestamp:s.timestamp,bytesReceived:s.bytesReceived,decoderImplementation:s.decoderImplementation}):s.type==="codec"&&r.set(s.id,s)}),n&&i!==""&&r.get(i)&&(n.mimeType=r.get(i).mimeType),n})}stopObservingElement(e){const n=this.elementInfos.filter(i=>i.element===e);for(const i of n)this.stopObservingElementInfo(i)}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return y(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),this.isAdaptiveStream&&this.updateVisibility()})}updateVisibility(){var e,n;const i=this.elementInfos.reduce((a,c)=>Math.max(a,c.visibilityChangedAt||0),0),r=!((n=(e=this.adaptiveStreamSettings)===null||e===void 0?void 0:e.pauseVideoInBackground)!==null&&n!==void 0)||n?this.isInBackground:!1,s=this.elementInfos.some(a=>a.pictureInPicture),o=this.elementInfos.some(a=>a.visible)&&!r||s;if(this.lastVisible!==o){if(!o&&Date.now()-i<Jo){Ae.setTimeout(()=>{this.updateVisibility()},Jo);return}this.lastVisible=o,this.emit(A.VisibilityChanged,o,this)}}updateDimensions(){var e,n;let i=0,r=0;const s=this.getPixelDensity();for(const o of this.elementInfos){const a=o.width()*s,c=o.height()*s;a+c>i+r&&(i=a,r=c)}((e=this.lastDimensions)===null||e===void 0?void 0:e.width)===i&&((n=this.lastDimensions)===null||n===void 0?void 0:n.height)===r||(this.lastDimensions={width:i,height:r},this.emit(A.VideoDimensionsChanged,this.lastDimensions,this))}getPixelDensity(){var e;const n=(e=this.adaptiveStreamSettings)===null||e===void 0?void 0:e.pixelDensity;return n==="screen"?hu():n||(hu()>2?2:1)}}class m0{get visible(){return this.isPiP||this.isIntersecting}get pictureInPicture(){return this.isPiP}constructor(e,n){this.onVisibilityChanged=i=>{var r;const{target:s,isIntersecting:o}=i;s===this.element&&(this.isIntersecting=o,this.isPiP=Mi(this.element),this.visibilityChangedAt=Date.now(),(r=this.handleVisibilityChanged)===null||r===void 0||r.call(this))},this.onEnterPiP=()=>{var i,r,s;(r=(i=window.documentPictureInPicture)===null||i===void 0?void 0:i.window)===null||r===void 0||r.addEventListener("pagehide",this.onLeavePiP),this.isPiP=Mi(this.element),(s=this.handleVisibilityChanged)===null||s===void 0||s.call(this)},this.onLeavePiP=()=>{var i;this.isPiP=Mi(this.element),(i=this.handleVisibilityChanged)===null||i===void 0||i.call(this)},this.element=e,this.isIntersecting=n??Yo(e),this.isPiP=$e()&&Mi(e),this.visibilityChangedAt=0}width(){return this.element.clientWidth}height(){return this.element.clientHeight}observe(){var e,n,i;this.isIntersecting=Yo(this.element),this.isPiP=Mi(this.element),this.element.handleResize=()=>{var r;(r=this.handleResize)===null||r===void 0||r.call(this)},this.element.handleVisibilityChanged=this.onVisibilityChanged,pu().observe(this.element),fu().observe(this.element),this.element.addEventListener("enterpictureinpicture",this.onEnterPiP),this.element.addEventListener("leavepictureinpicture",this.onLeavePiP),(e=window.documentPictureInPicture)===null||e===void 0||e.addEventListener("enter",this.onEnterPiP),(i=(n=window.documentPictureInPicture)===null||n===void 0?void 0:n.window)===null||i===void 0||i.addEventListener("pagehide",this.onLeavePiP)}stopObserving(){var e,n,i,r,s;(e=pu())===null||e===void 0||e.unobserve(this.element),(n=fu())===null||n===void 0||n.unobserve(this.element),this.element.removeEventListener("enterpictureinpicture",this.onEnterPiP),this.element.removeEventListener("leavepictureinpicture",this.onLeavePiP),(i=window.documentPictureInPicture)===null||i===void 0||i.removeEventListener("enter",this.onEnterPiP),(s=(r=window.documentPictureInPicture)===null||r===void 0?void 0:r.window)===null||s===void 0||s.removeEventListener("pagehide",this.onLeavePiP)}}function Mi(t){var e,n;return document.pictureInPictureElement===t?!0:!((e=window.documentPictureInPicture)===null||e===void 0)&&e.window?Yo(t,(n=window.documentPictureInPicture)===null||n===void 0?void 0:n.window):!1}function Yo(t,e){const n=e||window;let i=t.offsetTop,r=t.offsetLeft;const s=t.offsetWidth,o=t.offsetHeight,{hidden:a}=t,{display:c}=getComputedStyle(t);for(;t.offsetParent;)t=t.offsetParent,i+=t.offsetTop,r+=t.offsetLeft;return i<n.pageYOffset+n.innerHeight&&r<n.pageXOffset+n.innerWidth&&i+o>n.pageYOffset&&r+s>n.pageXOffset&&!a&&c!=="none"}class jt extends kt.EventEmitter{constructor(e,n,i,r){var s;super(),this.metadataMuted=!1,this.encryption=Xe.NONE,this.log=X,this.handleMuted=()=>{this.emit(A.Muted)},this.handleUnmuted=()=>{this.emit(A.Unmuted)},this.log=Nt((s=r==null?void 0:r.loggerName)!==null&&s!==void 0?s:at.Publication),this.loggerContextCb=this.loggerContextCb,this.setMaxListeners(100),this.kind=e,this.trackSid=n,this.trackName=i,this.source=P.Source.Unknown}setTrack(e){this.track&&(this.track.off(A.Muted,this.handleMuted),this.track.off(A.Unmuted,this.handleUnmuted)),this.track=e,e&&(e.on(A.Muted,this.handleMuted),e.on(A.Unmuted,this.handleUnmuted))}get logContext(){var e;return Object.assign(Object.assign({},(e=this.loggerContextCb)===null||e===void 0?void 0:e.call(this)),Y(this))}get isMuted(){return this.metadataMuted}get isEnabled(){return!0}get isSubscribed(){return this.track!==void 0}get isEncrypted(){return this.encryption!==Xe.NONE}get audioTrack(){if(wt(this.track))return this.track}get videoTrack(){if(Jn(this.track))return this.track}updateInfo(e){this.trackSid=e.sid,this.trackName=e.name,this.source=P.sourceFromProto(e.source),this.mimeType=e.mimeType,this.kind===P.Kind.Video&&e.width>0&&(this.dimensions={width:e.width,height:e.height},this.simulcasted=e.simulcast),this.encryption=e.encryption,this.trackInfo=e,this.log.debug("update publication info",Object.assign(Object.assign({},this.logContext),{info:e}))}}(function(t){(function(e){e.Desired="desired",e.Subscribed="subscribed",e.Unsubscribed="unsubscribed"})(t.SubscriptionStatus||(t.SubscriptionStatus={})),function(e){e.Allowed="allowed",e.NotAllowed="not_allowed"}(t.PermissionStatus||(t.PermissionStatus={}))})(jt||(jt={}));class Xo extends jt{get isUpstreamPaused(){var e;return(e=this.track)===null||e===void 0?void 0:e.isUpstreamPaused}constructor(e,n,i,r){super(e,n.sid,n.name,r),this.track=void 0,this.handleTrackEnded=()=>{this.emit(A.Ended)},this.updateInfo(n),this.setTrack(i)}setTrack(e){this.track&&this.track.off(A.Ended,this.handleTrackEnded),super.setTrack(e),e&&e.on(A.Ended,this.handleTrackEnded)}get isMuted(){return this.track?this.track.isMuted:super.isMuted}get audioTrack(){return super.audioTrack}get videoTrack(){return super.videoTrack}get isLocal(){return!0}mute(){return y(this,void 0,void 0,function*(){var e;return(e=this.track)===null||e===void 0?void 0:e.mute()})}unmute(){return y(this,void 0,void 0,function*(){var e;return(e=this.track)===null||e===void 0?void 0:e.unmute()})}pauseUpstream(){return y(this,void 0,void 0,function*(){var e;yield(e=this.track)===null||e===void 0?void 0:e.pauseUpstream()})}resumeUpstream(){return y(this,void 0,void 0,function*(){var e;yield(e=this.track)===null||e===void 0?void 0:e.resumeUpstream()})}getTrackFeatures(){var e;if(wt(this.track)){const n=this.track.getSourceTrackSettings(),i=new Set;return n.autoGainControl&&i.add(Re.TF_AUTO_GAIN_CONTROL),n.echoCancellation&&i.add(Re.TF_ECHO_CANCELLATION),n.noiseSuppression&&i.add(Re.TF_NOISE_SUPPRESSION),n.channelCount&&n.channelCount>1&&i.add(Re.TF_STEREO),!((e=this.options)===null||e===void 0)&&e.dtx||i.add(Re.TF_NO_DTX),this.track.enhancedNoiseCancellation&&i.add(Re.TF_ENHANCED_NOISE_CANCELLATION),Array.from(i.values())}else return[]}}function Mr(t,e){return y(this,void 0,void 0,function*(){t??(t={});let n=!1;const{audioProcessor:i,videoProcessor:r,optionsWithoutProcessor:s}=ku(t);let o=s.audio,a=s.video;if(i&&typeof s.audio=="object"&&(s.audio.processor=i),r&&typeof s.video=="object"&&(s.video.processor=r),t.audio&&typeof s.audio=="object"&&typeof s.audio.deviceId=="string"){const u=s.audio.deviceId;s.audio.deviceId={exact:u},n=!0,o=Object.assign(Object.assign({},s.audio),{deviceId:{ideal:u}})}if(s.video&&typeof s.video=="object"&&typeof s.video.deviceId=="string"){const u=s.video.deviceId;s.video.deviceId={exact:u},n=!0,a=Object.assign(Object.assign({},s.video),{deviceId:{ideal:u}})}(s.audio===!0||typeof s.audio=="object"&&!s.audio.deviceId)&&(s.audio={deviceId:"default"}),s.video===!0?s.video={deviceId:"default"}:typeof s.video=="object"&&!s.video.deviceId&&(s.video.deviceId="default");const c=vu(s,Ou,Du),l=Io(c),d=navigator.mediaDevices.getUserMedia(l);s.audio&&(Ie.userMediaPromiseMap.set("audioinput",d),d.catch(()=>Ie.userMediaPromiseMap.delete("audioinput"))),s.video&&(Ie.userMediaPromiseMap.set("videoinput",d),d.catch(()=>Ie.userMediaPromiseMap.delete("videoinput")));try{const u=yield d;return yield Promise.all(u.getTracks().map(h=>y(this,void 0,void 0,function*(){const f=h.kind==="audio";let m=f?c.audio:c.video;(typeof m=="boolean"||!m)&&(m={});let p;const g=f?l.audio:l.video;typeof g!="boolean"&&(p=g);const b=h.getSettings().deviceId;p!=null&&p.deviceId&&nn(p.deviceId)!==b?p.deviceId=b:p||(p={deviceId:b});const C=Wv(h,p,e);return C.kind===P.Kind.Video?C.source=P.Source.Camera:C.kind===P.Kind.Audio&&(C.source=P.Source.Microphone),C.mediaStream=u,wt(C)&&i?yield C.setProcessor(i):Jn(C)&&r&&(yield C.setProcessor(r)),C})))}catch(u){if(!n)throw u;return Mr(Object.assign(Object.assign({},t),{audio:o,video:a}),e)}})}function g0(t){return y(this,void 0,void 0,function*(){return(yield Mr({audio:!1,video:!0}))[0]})}function v0(t){return y(this,void 0,void 0,function*(){return(yield Mr({audio:!0,video:!1}))[0]})}var on;(function(t){t.Excellent="excellent",t.Good="good",t.Poor="poor",t.Lost="lost",t.Unknown="unknown"})(on||(on={}));function b0(t){switch(t){case _i.EXCELLENT:return on.Excellent;case _i.GOOD:return on.Good;case _i.POOR:return on.Poor;case _i.LOST:return on.Lost;default:return on.Unknown}}class Hu extends kt.EventEmitter{get logContext(){var e,n;return Object.assign({},(n=(e=this.loggerOptions)===null||e===void 0?void 0:e.loggerContextCb)===null||n===void 0?void 0:n.call(e))}get isEncrypted(){return this.trackPublications.size>0&&Array.from(this.trackPublications.values()).every(e=>e.isEncrypted)}get isAgent(){var e;return((e=this.permissions)===null||e===void 0?void 0:e.agent)||this.kind===xi.AGENT}get isActive(){var e;return((e=this.participantInfo)===null||e===void 0?void 0:e.state)===jn.ACTIVE}get kind(){return this._kind}get attributes(){return Object.freeze(Object.assign({},this._attributes))}constructor(e,n,i,r,s,o){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:xi.STANDARD;var c;super(),this.audioLevel=0,this.isSpeaking=!1,this._connectionQuality=on.Unknown,this.log=X,this.log=Nt((c=o==null?void 0:o.loggerName)!==null&&c!==void 0?c:at.Participant),this.loggerOptions=o,this.setMaxListeners(100),this.sid=e,this.identity=n,this.name=i,this.metadata=r,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this._kind=a,this._attributes=s??{}}getTrackPublications(){return Array.from(this.trackPublications.values())}getTrackPublication(e){for(const[,n]of this.trackPublications)if(n.source===e)return n}getTrackPublicationByName(e){for(const[,n]of this.trackPublications)if(n.trackName===e)return n}waitUntilActive(){return this.isActive?Promise.resolve():this.activeFuture?this.activeFuture.promise:(this.activeFuture=new Kn,this.once(L.Active,()=>{var e,n;(n=(e=this.activeFuture)===null||e===void 0?void 0:e.resolve)===null||n===void 0||n.call(e),this.activeFuture=void 0}),this.activeFuture.promise)}get connectionQuality(){return this._connectionQuality}get isCameraEnabled(){var e;const n=this.getTrackPublication(P.Source.Camera);return!(!((e=n==null?void 0:n.isMuted)!==null&&e!==void 0)||e)}get isMicrophoneEnabled(){var e;const n=this.getTrackPublication(P.Source.Microphone);return!(!((e=n==null?void 0:n.isMuted)!==null&&e!==void 0)||e)}get isScreenShareEnabled(){return!!this.getTrackPublication(P.Source.ScreenShare)}get isLocal(){return!1}get joinedAt(){return this.participantInfo?new Date(Number.parseInt(this.participantInfo.joinedAt.toString())*1e3):new Date}updateInfo(e){var n;return this.participantInfo&&this.participantInfo.sid===e.sid&&this.participantInfo.version>e.version?!1:(this.identity=e.identity,this.sid=e.sid,this._setName(e.name),this._setMetadata(e.metadata),this._setAttributes(e.attributes),e.state===jn.ACTIVE&&((n=this.participantInfo)===null||n===void 0?void 0:n.state)!==jn.ACTIVE&&this.emit(L.Active),e.permission&&this.setPermissions(e.permission),this.participantInfo=e,!0)}_setMetadata(e){const n=this.metadata!==e,i=this.metadata;this.metadata=e,n&&this.emit(L.ParticipantMetadataChanged,i)}_setName(e){const n=this.name!==e;this.name=e,n&&this.emit(L.ParticipantNameChanged,e)}_setAttributes(e){const n=yv(this.attributes,e);this._attributes=e,Object.keys(n).length>0&&this.emit(L.AttributesChanged,n)}setPermissions(e){var n,i,r,s,o,a;const c=this.permissions,l=e.canPublish!==((n=this.permissions)===null||n===void 0?void 0:n.canPublish)||e.canSubscribe!==((i=this.permissions)===null||i===void 0?void 0:i.canSubscribe)||e.canPublishData!==((r=this.permissions)===null||r===void 0?void 0:r.canPublishData)||e.hidden!==((s=this.permissions)===null||s===void 0?void 0:s.hidden)||e.recorder!==((o=this.permissions)===null||o===void 0?void 0:o.recorder)||e.canPublishSources.length!==this.permissions.canPublishSources.length||e.canPublishSources.some((d,u)=>{var h;return d!==((h=this.permissions)===null||h===void 0?void 0:h.canPublishSources[u])})||e.canSubscribeMetrics!==((a=this.permissions)===null||a===void 0?void 0:a.canSubscribeMetrics);return this.permissions=e,l&&this.emit(L.ParticipantPermissionsChanged,c),l}setIsSpeaking(e){e!==this.isSpeaking&&(this.isSpeaking=e,e&&(this.lastSpokeAt=new Date),this.emit(L.IsSpeakingChanged,e))}setConnectionQuality(e){const n=this._connectionQuality;this._connectionQuality=b0(e),n!==this._connectionQuality&&this.emit(L.ConnectionQualityChanged,this._connectionQuality)}setDisconnected(){var e,n;this.activeFuture&&((n=(e=this.activeFuture).reject)===null||n===void 0||n.call(e,new Error("Participant disconnected")),this.activeFuture=void 0)}setAudioContext(e){this.audioContext=e,this.audioTrackPublications.forEach(n=>wt(n.track)&&n.track.setAudioContext(e))}addTrackPublication(e){e.on(A.Muted,()=>{this.emit(L.TrackMuted,e)}),e.on(A.Unmuted,()=>{this.emit(L.TrackUnmuted,e)});const n=e;switch(n.track&&(n.track.sid=e.trackSid),this.trackPublications.set(e.trackSid,e),e.kind){case P.Kind.Audio:this.audioTrackPublications.set(e.trackSid,e);break;case P.Kind.Video:this.videoTrackPublications.set(e.trackSid,e);break}}}function y0(t){var e,n,i;if(!t.participantSid&&!t.participantIdentity)throw new Error("Invalid track permission, must provide at least one of participantIdentity and participantSid");return new ad({participantIdentity:(e=t.participantIdentity)!==null&&e!==void 0?e:"",participantSid:(n=t.participantSid)!==null&&n!==void 0?n:"",allTracks:(i=t.allowAll)!==null&&i!==void 0?i:!1,trackSids:t.allowedTrackSids||[]})}const Ku=15e3;class k0 extends Hu{constructor(e,n,i,r,s){super(e,n,void 0,void 0,void 0,{loggerName:r.loggerName,loggerContextCb:()=>this.engine.logContext}),this.pendingPublishing=new Set,this.pendingPublishPromises=new Map,this.participantTrackPermissions=[],this.allParticipantsAllowedToSubscribe=!0,this.encryptionType=Xe.NONE,this.enabledPublishVideoCodecs=[],this.pendingAcks=new Map,this.pendingResponses=new Map,this.handleReconnecting=()=>{this.reconnectFuture||(this.reconnectFuture=new Kn)},this.handleReconnected=()=>{var o,a;(a=(o=this.reconnectFuture)===null||o===void 0?void 0:o.resolve)===null||a===void 0||a.call(o),this.reconnectFuture=void 0,this.updateTrackSubscriptionPermissions()},this.handleDisconnected=()=>{var o,a,c,l,d,u;this.reconnectFuture&&(this.reconnectFuture.promise.catch(h=>this.log.warn(h.message,this.logContext)),(a=(o=this.reconnectFuture)===null||o===void 0?void 0:o.reject)===null||a===void 0||a.call(o,"Got disconnected during reconnection attempt"),this.reconnectFuture=void 0),this.signalConnectedFuture&&((l=(c=this.signalConnectedFuture).reject)===null||l===void 0||l.call(c,"Got disconnected without signal connected"),this.signalConnectedFuture=void 0),(u=(d=this.activeAgentFuture)===null||d===void 0?void 0:d.reject)===null||u===void 0||u.call(d,"Got disconnected without active agent present"),this.activeAgentFuture=void 0,this.firstActiveAgent=void 0},this.handleSignalConnected=o=>{var a,c;o.participant&&this.updateInfo(o.participant),this.signalConnectedFuture||(this.signalConnectedFuture=new Kn),(c=(a=this.signalConnectedFuture).resolve)===null||c===void 0||c.call(a)},this.handleSignalRequestResponse=o=>{const{requestId:a,reason:c,message:l}=o,d=this.pendingSignalRequests.get(a);d&&(c!==eo.OK&&d.reject(new ru(l,c)),this.pendingSignalRequests.delete(a))},this.handleDataPacket=o=>{switch(o.value.case){case"rpcResponse":let a=o.value.value,c=null,l=null;a.value.case==="payload"?c=a.value.value:a.value.case==="error"&&(l=ke.fromProto(a.value.value)),this.handleIncomingRpcResponse(a.requestId,c,l);break;case"rpcAck":let d=o.value.value;this.handleIncomingRpcAck(d.requestId);break}},this.updateTrackSubscriptionPermissions=()=>{this.log.debug("updating track subscription permissions",Object.assign(Object.assign({},this.logContext),{allParticipantsAllowed:this.allParticipantsAllowedToSubscribe,participantTrackPermissions:this.participantTrackPermissions})),this.engine.client.sendUpdateSubscriptionPermissions(this.allParticipantsAllowedToSubscribe,this.participantTrackPermissions.map(o=>y0(o)))},this.onTrackUnmuted=o=>{this.onTrackMuted(o,o.isUpstreamPaused)},this.onTrackMuted=(o,a)=>{if(a===void 0&&(a=!0),!o.sid){this.log.error("could not update mute status for unpublished track",Object.assign(Object.assign({},this.logContext),Y(o)));return}this.engine.updateMuteStatus(o.sid,a)},this.onTrackUpstreamPaused=o=>{this.log.debug("upstream paused",Object.assign(Object.assign({},this.logContext),Y(o))),this.onTrackMuted(o,!0)},this.onTrackUpstreamResumed=o=>{this.log.debug("upstream resumed",Object.assign(Object.assign({},this.logContext),Y(o))),this.onTrackMuted(o,o.isMuted)},this.onTrackFeatureUpdate=o=>{const a=this.audioTrackPublications.get(o.sid);if(!a){this.log.warn("Could not update local audio track settings, missing publication for track ".concat(o.sid),this.logContext);return}this.engine.client.sendUpdateLocalAudioTrack(a.trackSid,a.getTrackFeatures())},this.handleSubscribedQualityUpdate=o=>y(this,void 0,void 0,function*(){var a,c,l,d,u;if(!(!((u=this.roomOptions)===null||u===void 0)&&u.dynacast))return;const h=this.videoTrackPublications.get(o.trackSid);if(!h){this.log.warn("received subscribed quality update for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:o.trackSid}));return}if(!h.videoTrack)return;const f=yield h.videoTrack.setPublishingCodecs(o.subscribedCodecs);try{for(var m=!0,p=Lt(f),g;g=yield p.next(),a=g.done,!a;m=!0){d=g.value,m=!1;const b=d;Yg(b)&&(this.log.debug("publish ".concat(b," for ").concat(h.videoTrack.sid),Object.assign(Object.assign({},this.logContext),Y(h))),yield this.publishAdditionalCodecForTrack(h.videoTrack,b,h.options))}}catch(b){c={error:b}}finally{try{!m&&!a&&(l=p.return)&&(yield l.call(p))}finally{if(c)throw c.error}}}),this.handleLocalTrackUnpublished=o=>{const a=this.trackPublications.get(o.trackSid);if(!a){this.log.warn("received unpublished event for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:o.trackSid}));return}this.unpublishTrack(a.track)},this.handleTrackEnded=o=>y(this,void 0,void 0,function*(){if(o.source===P.Source.ScreenShare||o.source===P.Source.ScreenShareAudio)this.log.debug("unpublishing local track due to TrackEnded",Object.assign(Object.assign({},this.logContext),Y(o))),this.unpublishTrack(o);else if(o.isUserProvided)yield o.mute();else if(Bt(o)||rn(o))try{if($e())try{const a=yield navigator==null?void 0:navigator.permissions.query({name:o.source===P.Source.Camera?"camera":"microphone"});if(a&&a.state==="denied")throw this.log.warn("user has revoked access to ".concat(o.source),Object.assign(Object.assign({},this.logContext),Y(o))),a.onchange=()=>{a.state!=="denied"&&(o.isMuted||o.restartTrack(),a.onchange=null)},new Error("GetUserMedia Permission denied")}catch{}o.isMuted||(this.log.debug("track ended, attempting to use a different device",Object.assign(Object.assign({},this.logContext),Y(o))),Bt(o)?yield o.restartTrack({deviceId:"default"}):yield o.restartTrack())}catch{this.log.warn("could not restart track, muting instead",Object.assign(Object.assign({},this.logContext),Y(o))),yield o.mute()}}),this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this.engine=i,this.roomOptions=r,this.setupEngine(i),this.activeDeviceMap=new Map([["audioinput","default"],["videoinput","default"],["audiooutput","default"]]),this.pendingSignalRequests=new Map,this.rpcHandlers=s}get lastCameraError(){return this.cameraError}get lastMicrophoneError(){return this.microphoneError}get isE2EEEnabled(){return this.encryptionType!==Xe.NONE}getTrackPublication(e){const n=super.getTrackPublication(e);if(n)return n}getTrackPublicationByName(e){const n=super.getTrackPublicationByName(e);if(n)return n}setupEngine(e){this.engine=e,this.engine.on(N.RemoteMute,(n,i)=>{const r=this.trackPublications.get(n);!r||!r.track||(i?r.mute():r.unmute())}),this.engine.on(N.Connected,this.handleReconnected).on(N.SignalConnected,this.handleSignalConnected).on(N.SignalRestarted,this.handleReconnected).on(N.SignalResumed,this.handleReconnected).on(N.Restarting,this.handleReconnecting).on(N.Resuming,this.handleReconnecting).on(N.LocalTrackUnpublished,this.handleLocalTrackUnpublished).on(N.SubscribedQualityUpdate,this.handleSubscribedQualityUpdate).on(N.Disconnected,this.handleDisconnected).on(N.SignalRequestResponse,this.handleSignalRequestResponse).on(N.DataPacketReceived,this.handleDataPacket),this.signalConnectedFuture=void 0}setMetadata(e){return y(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({metadata:e})})}setName(e){return y(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({name:e})})}setAttributes(e){return y(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({attributes:e})})}requestMetadataUpdate(e){return y(this,arguments,void 0,function(n){var i=this;let{metadata:r,name:s,attributes:o}=n;return function*(){return new Promise((a,c)=>y(i,void 0,void 0,function*(){var l,d;try{let u=!1;const h=yield this.engine.client.sendUpdateLocalMetadata((l=r??this.metadata)!==null&&l!==void 0?l:"",(d=s??this.name)!==null&&d!==void 0?d:"",o),f=performance.now();for(this.pendingSignalRequests.set(h,{resolve:a,reject:m=>{c(m),u=!0},values:{name:s,metadata:r,attributes:o}});performance.now()-f<5e3&&!u;){if((!s||this.name===s)&&(!r||this.metadata===r)&&(!o||Object.entries(o).every(m=>{let[p,g]=m;return this.attributes[p]===g||g===""&&!this.attributes[p]}))){this.pendingSignalRequests.delete(h),a();return}yield qe(50)}c(new ru("Request to update local metadata timed out","TimeoutError"))}catch(u){u instanceof Error&&c(u)}}))}()})}setCameraEnabled(e,n,i){return this.setTrackEnabled(P.Source.Camera,e,n,i)}setMicrophoneEnabled(e,n,i){return this.setTrackEnabled(P.Source.Microphone,e,n,i)}setScreenShareEnabled(e,n,i){return this.setTrackEnabled(P.Source.ScreenShare,e,n,i)}setPermissions(e){const n=this.permissions,i=super.setPermissions(e);return i&&n&&this.emit(L.ParticipantPermissionsChanged,n),i}setE2EEEnabled(e){return y(this,void 0,void 0,function*(){this.encryptionType=e?Xe.GCM:Xe.NONE,yield this.republishAllTracks(void 0,!1)})}setTrackEnabled(e,n,i,r){return y(this,void 0,void 0,function*(){var s,o;this.log.debug("setTrackEnabled",Object.assign(Object.assign({},this.logContext),{source:e,enabled:n})),this.republishPromise&&(yield this.republishPromise);let a=this.getTrackPublication(e);if(n)if(a)yield a.unmute();else{let c;if(this.pendingPublishing.has(e)){const l=yield this.waitForPendingPublicationOfSource(e);return l||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e})),yield l==null?void 0:l.unmute(),l}this.pendingPublishing.add(e);try{switch(e){case P.Source.Camera:c=yield this.createTracks({video:(s=i)!==null&&s!==void 0?s:!0});break;case P.Source.Microphone:c=yield this.createTracks({audio:(o=i)!==null&&o!==void 0?o:!0});break;case P.Source.ScreenShare:c=yield this.createScreenTracks(Object.assign({},i));break;default:throw new Ut(e)}}catch(l){throw c==null||c.forEach(d=>{d.stop()}),l instanceof Error&&this.emit(L.MediaDevicesError,l,Oo(e)),this.pendingPublishing.delete(e),l}for(const l of c)e===P.Source.Microphone&&wt(l)&&(r!=null&&r.preConnectBuffer)&&(this.log.info("starting preconnect buffer for microphone",Object.assign({},this.logContext)),l.startPreConnectBuffer());try{const l=[];for(const u of c)this.log.info("publishing track",Object.assign(Object.assign({},this.logContext),Y(u))),l.push(this.publishTrack(u,r));[a]=yield Promise.all(l)}catch(l){throw c==null||c.forEach(d=>{d.stop()}),l}finally{this.pendingPublishing.delete(e)}}else if(!(a!=null&&a.track)&&this.pendingPublishing.has(e)&&(a=yield this.waitForPendingPublicationOfSource(e),a||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e}))),a&&a.track)if(e===P.Source.ScreenShare){a=yield this.unpublishTrack(a.track);const c=this.getTrackPublication(P.Source.ScreenShareAudio);c&&c.track&&this.unpublishTrack(c.track)}else yield a.mute();return a})}enableCameraAndMicrophone(){return y(this,void 0,void 0,function*(){if(!(this.pendingPublishing.has(P.Source.Camera)||this.pendingPublishing.has(P.Source.Microphone))){this.pendingPublishing.add(P.Source.Camera),this.pendingPublishing.add(P.Source.Microphone);try{const e=yield this.createTracks({audio:!0,video:!0});yield Promise.all(e.map(n=>this.publishTrack(n)))}finally{this.pendingPublishing.delete(P.Source.Camera),this.pendingPublishing.delete(P.Source.Microphone)}}})}createTracks(e){return y(this,void 0,void 0,function*(){var n,i;e??(e={});const r=vu(e,(n=this.roomOptions)===null||n===void 0?void 0:n.audioCaptureDefaults,(i=this.roomOptions)===null||i===void 0?void 0:i.videoCaptureDefaults);try{return(yield Mr(r,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext})).map(a=>(wt(a)&&(this.microphoneError=void 0,a.setAudioContext(this.audioContext),a.source=P.Source.Microphone,this.emit(L.AudioStreamAcquired)),Jn(a)&&(this.cameraError=void 0,a.source=P.Source.Camera),a))}catch(s){throw s instanceof Error&&(e.audio&&(this.microphoneError=s),e.video&&(this.cameraError=s)),s}})}createScreenTracks(e){return y(this,void 0,void 0,function*(){if(e===void 0&&(e={}),navigator.mediaDevices.getDisplayMedia===void 0)throw new ho("getDisplayMedia not supported");e.resolution===void 0&&!nv()&&(e.resolution=bo.h1080fps30.resolution);const n=gv(e),i=yield navigator.mediaDevices.getDisplayMedia(n),r=i.getVideoTracks();if(r.length===0)throw new Ut("no video track found");const s=new Dr(r[0],void 0,!1,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});s.source=P.Source.ScreenShare,e.contentHint&&(s.mediaStreamTrack.contentHint=e.contentHint);const o=[s];if(i.getAudioTracks().length>0){this.emit(L.AudioStreamAcquired);const a=new Ir(i.getAudioTracks()[0],void 0,!1,this.audioContext,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});a.source=P.Source.ScreenShareAudio,o.push(a)}return o})}publishTrack(e,n){return y(this,void 0,void 0,function*(){return this.publishOrRepublishTrack(e,n)})}publishOrRepublishTrack(e,n){return y(this,arguments,void 0,function(i,r){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return function*(){var a,c,l,d;Bt(i)&&i.setAudioContext(s.audioContext),yield(a=s.reconnectFuture)===null||a===void 0?void 0:a.promise,s.republishPromise&&!o&&(yield s.republishPromise),Gn(i)&&s.pendingPublishPromises.has(i)&&(yield s.pendingPublishPromises.get(i));let u;if(i instanceof MediaStreamTrack)u=i.getConstraints();else{u=i.constraints;let b;switch(i.source){case P.Source.Microphone:b="audioinput";break;case P.Source.Camera:b="videoinput"}b&&s.activeDeviceMap.has(b)&&(u=Object.assign(Object.assign({},u),{deviceId:s.activeDeviceMap.get(b)}))}if(i instanceof MediaStreamTrack)switch(i.kind){case"audio":i=new Ir(i,u,!0,s.audioContext,{loggerName:s.roomOptions.loggerName,loggerContextCb:()=>s.logContext});break;case"video":i=new Dr(i,u,!0,{loggerName:s.roomOptions.loggerName,loggerContextCb:()=>s.logContext});break;default:throw new Ut("unsupported MediaStreamTrack kind ".concat(i.kind))}else i.updateLoggerOptions({loggerName:s.roomOptions.loggerName,loggerContextCb:()=>s.logContext});let h;if(s.trackPublications.forEach(b=>{b.track&&b.track===i&&(h=b)}),h)return s.log.warn("track has already been published, skipping",Object.assign(Object.assign({},s.logContext),Y(h))),h;const f="channelCount"in i.mediaStreamTrack.getSettings()&&i.mediaStreamTrack.getSettings().channelCount===2||i.mediaStreamTrack.getConstraints().channelCount===2,m=(c=r==null?void 0:r.forceStereo)!==null&&c!==void 0?c:f;m&&(r||(r={}),r.dtx===void 0&&s.log.info("Opus DTX will be disabled for stereo tracks by default. Enable them explicitly to make it work.",Object.assign(Object.assign({},s.logContext),Y(i))),r.red===void 0&&s.log.info("Opus RED will be disabled for stereo tracks by default. Enable them explicitly to make it work."),(l=r.dtx)!==null&&l!==void 0||(r.dtx=!1),(d=r.red)!==null&&d!==void 0||(r.red=!1));const p=Object.assign(Object.assign({},s.roomOptions.publishDefaults),r);!rv()&&s.roomOptions.e2ee&&(s.log.info("End-to-end encryption is set up, simulcast publishing will be disabled on Safari versions and iOS browsers running iOS < v17.2",Object.assign({},s.logContext)),p.simulcast=!1),p.source&&(i.source=p.source);const g=new Promise((b,C)=>y(s,void 0,void 0,function*(){try{if(this.engine.client.currentState!==le.CONNECTED){this.log.debug("deferring track publication until signal is connected",Object.assign(Object.assign({},this.logContext),{track:Y(i)}));const w=setTimeout(()=>{C(new iu("publishing rejected as engine not connected within timeout",408))},15e3);yield this.waitUntilEngineConnected(),clearTimeout(w);const k=yield this.publish(i,p,m);b(k)}else try{const w=yield this.publish(i,p,m);b(w)}catch(w){C(w)}}catch(w){C(w)}}));s.pendingPublishPromises.set(i,g);try{return yield g}catch(b){throw b}finally{s.pendingPublishPromises.delete(i)}}()})}waitUntilEngineConnected(){return this.signalConnectedFuture||(this.signalConnectedFuture=new Kn),this.signalConnectedFuture.promise}hasPermissionsToPublish(e){if(!this.permissions)return this.log.warn("no permissions present for publishing track",Object.assign(Object.assign({},this.logContext),Y(e))),!1;const{canPublish:n,canPublishSources:i}=this.permissions;return n&&(i.length===0||i.map(r=>kv(r)).includes(e.source))?!0:(this.log.warn("insufficient permissions to publish",Object.assign(Object.assign({},this.logContext),Y(e))),!1)}publish(e,n,i){return y(this,void 0,void 0,function*(){var r,s,o,a,c,l,d,u,h,f;if(!this.hasPermissionsToPublish(e))throw new iu("failed to publish track, insufficient permissions",403);Array.from(this.trackPublications.values()).find(O=>Gn(e)&&O.source===e.source)&&e.source!==P.Source.Unknown&&this.log.info("publishing a second track with the same source: ".concat(e.source),Object.assign(Object.assign({},this.logContext),Y(e))),n.stopMicTrackOnMute&&wt(e)&&(e.stopOnMute=!0),e.source===P.Source.ScreenShare&&Hn()&&(n.simulcast=!1),n.videoCodec==="av1"&&!Zg()&&(n.videoCodec=void 0),n.videoCodec==="vp9"&&!ev()&&(n.videoCodec=void 0),n.videoCodec===void 0&&(n.videoCodec=Bo),this.enabledPublishVideoCodecs.length>0&&(this.enabledPublishVideoCodecs.some(O=>n.videoCodec===Er(O.mime))||(n.videoCodec=Er(this.enabledPublishVideoCodecs[0].mime)));const p=n.videoCodec;e.on(A.Muted,this.onTrackMuted),e.on(A.Unmuted,this.onTrackUnmuted),e.on(A.Ended,this.handleTrackEnded),e.on(A.UpstreamPaused,this.onTrackUpstreamPaused),e.on(A.UpstreamResumed,this.onTrackUpstreamResumed),e.on(A.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate);const g=[],b=!(!((r=n.dtx)!==null&&r!==void 0)||r),C=e.getSourceTrackSettings();C.autoGainControl&&g.push(Re.TF_AUTO_GAIN_CONTROL),C.echoCancellation&&g.push(Re.TF_ECHO_CANCELLATION),C.noiseSuppression&&g.push(Re.TF_NOISE_SUPPRESSION),C.channelCount&&C.channelCount>1&&g.push(Re.TF_STEREO),b&&g.push(Re.TF_NO_DTX),Bt(e)&&e.hasPreConnectBuffer&&g.push(Re.TF_PRECONNECT_BUFFER);const w=new Js({cid:e.mediaStreamTrack.id,name:n.name,type:P.kindToProto(e.kind),muted:e.isMuted,source:P.sourceToProto(e.source),disableDtx:b,encryption:this.encryptionType,stereo:i,disableRed:this.isE2EEEnabled||!(!((s=n.red)!==null&&s!==void 0)||s),stream:n==null?void 0:n.stream,backupCodecPolicy:n==null?void 0:n.backupCodecPolicy,audioFeatures:g});let k;if(e.kind===P.Kind.Video){let O={width:0,height:0};try{O=yield e.waitForDimensions()}catch{const M=(a=(o=this.roomOptions.videoCaptureDefaults)===null||o===void 0?void 0:o.resolution)!==null&&a!==void 0?a:Ii.h720.resolution;O={width:M.width,height:M.height},this.log.error("could not determine track dimensions, using defaults",Object.assign(Object.assign(Object.assign({},this.logContext),Y(e)),{dims:O}))}w.width=O.width,w.height=O.height,rn(e)&&(Ft(p)&&(e.source===P.Source.ScreenShare&&(n.scalabilityMode="L1T3","contentHint"in e.mediaStreamTrack&&(e.mediaStreamTrack.contentHint="motion",this.log.info("forcing contentHint to motion for screenshare with SVC codecs",Object.assign(Object.assign({},this.logContext),Y(e))))),n.scalabilityMode=(c=n.scalabilityMode)!==null&&c!==void 0?c:"L3T3_KEY"),w.simulcastCodecs=[new Gs({codec:p,cid:e.mediaStreamTrack.id})],n.backupCodec===!0&&(n.backupCodec={codec:Bo}),n.backupCodec&&p!==n.backupCodec.codec&&w.encryption===Xe.NONE&&(this.roomOptions.dynacast||(this.roomOptions.dynacast=!0),w.simulcastCodecs.push(new Gs({codec:n.backupCodec.codec,cid:""})))),k=Wo(e.source===P.Source.ScreenShare,w.width,w.height,n),w.layers=ju(w.width,w.height,k,Ft(n.videoCodec))}else e.kind===P.Kind.Audio&&(k=[{maxBitrate:(l=n.audioPreset)===null||l===void 0?void 0:l.maxBitrate,priority:(u=(d=n.audioPreset)===null||d===void 0?void 0:d.priority)!==null&&u!==void 0?u:"high",networkPriority:(f=(h=n.audioPreset)===null||h===void 0?void 0:h.priority)!==null&&f!==void 0?f:"high"}]);if(!this.engine||this.engine.isClosed)throw new Pe("cannot publish track when not connected");const T=()=>y(this,void 0,void 0,function*(){var O,D,M;if(!this.engine.pcManager)throw new Pe("pcManager is not ready");if(e.sender=yield this.engine.createSender(e,n,k),rn(e)&&((O=n.degradationPreference)!==null&&O!==void 0||(n.degradationPreference=t0(e)),e.setDegradationPreference(n.degradationPreference)),k)if(Hn()&&e.kind===P.Kind.Audio){let U;for(const q of this.engine.pcManager.publisher.getTransceivers())if(q.sender===e.sender){U=q;break}U&&this.engine.pcManager.publisher.setTrackCodecBitrate({transceiver:U,codec:"opus",maxbr:!((D=k[0])===null||D===void 0)&&D.maxBitrate?k[0].maxBitrate/1e3:0})}else e.codec&&Ft(e.codec)&&(!((M=k[0])===null||M===void 0)&&M.maxBitrate)&&this.engine.pcManager.publisher.setTrackCodecBitrate({cid:w.cid,codec:e.codec,maxbr:k[0].maxBitrate/1e3});yield this.engine.negotiate()});let S;const _=new Promise((O,D)=>y(this,void 0,void 0,function*(){var M;try{S=yield this.engine.addTrack(w),O(S)}catch(U){e.sender&&(!((M=this.engine.pcManager)===null||M===void 0)&&M.publisher)&&(this.engine.pcManager.publisher.removeTrack(e.sender),yield this.engine.negotiate().catch(q=>{this.log.error("failed to negotiate after removing track due to failed add track request",Object.assign(Object.assign(Object.assign({},this.logContext),Y(e)),{error:q}))})),D(U)}}));if(this.enabledPublishVideoCodecs.length>0)S=(yield Promise.all([_,T()]))[0];else{S=yield _;let O;if(S.codecs.forEach(D=>{O===void 0&&(O=D.mimeType)}),O&&e.kind===P.Kind.Video){const D=Er(O);D!==p&&(this.log.debug("falling back to server selected codec",Object.assign(Object.assign(Object.assign({},this.logContext),Y(e)),{codec:D})),n.videoCodec=D,k=Wo(e.source===P.Source.ScreenShare,w.width,w.height,n))}yield T()}const R=new Xo(e.kind,S,e,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});if(R.options=n,e.sid=S.sid,this.log.debug("publishing ".concat(e.kind," with encodings"),Object.assign(Object.assign({},this.logContext),{encodings:k,trackInfo:S})),rn(e)?e.startMonitor(this.engine.client):Bt(e)&&e.startMonitor(),this.addTrackPublication(R),this.emit(L.LocalTrackPublished,R),Bt(e)&&S.audioFeatures.includes(Re.TF_PRECONNECT_BUFFER)){const O=e.getPreConnectBuffer();this.on(L.LocalTrackSubscribed,D=>{if(D.trackSid===S.sid){if(!e.hasPreConnectBuffer){this.log.warn("subscribe event came to late, buffer already closed",this.logContext);return}this.log.debug("finished recording preconnect buffer",Object.assign(Object.assign({},this.logContext),Y(e))),e.stopPreConnectBuffer()}}),O&&new Promise((M,U)=>y(this,void 0,void 0,function*(){var q,$,ce,G,ee,H;try{this.log.debug("waiting for agent",Object.assign(Object.assign({},this.logContext),Y(e)));const zt=setTimeout(()=>{U(new Error("agent not active within 10 seconds"))},1e4),Et=yield this.waitUntilActiveAgentPresent();clearTimeout(zt),this.log.debug("sending preconnect buffer",Object.assign(Object.assign({},this.logContext),Y(e)));const Ue=yield this.streamBytes({name:"preconnect-buffer",mimeType:"audio/opus",topic:"lk.agent.pre-connect-audio-buffer",destinationIdentities:[Et.identity],attributes:{trackId:R.trackSid,sampleRate:String((ee=C.sampleRate)!==null&&ee!==void 0?ee:"48000"),channels:String((H=C.channelCount)!==null&&H!==void 0?H:"1")}});try{for(var te=!0,Oe=Lt(O),mt;mt=yield Oe.next(),q=mt.done,!q;te=!0){G=mt.value,te=!1;const gt=G;yield Ue.write(gt)}}catch(gt){$={error:gt}}finally{try{!te&&!q&&(ce=Oe.return)&&(yield ce.call(Oe))}finally{if($)throw $.error}}yield Ue.close(),M()}catch(zt){U(zt)}})).then(()=>{this.log.debug("preconnect buffer sent successfully",Object.assign(Object.assign({},this.logContext),Y(e)))}).catch(M=>{this.log.error("error sending preconnect buffer",Object.assign(Object.assign(Object.assign({},this.logContext),Y(e)),{error:M}))})}return R})}get isLocal(){return!0}publishAdditionalCodecForTrack(e,n,i){return y(this,void 0,void 0,function*(){var r;if(this.encryptionType!==Xe.NONE)return;let s;if(this.trackPublications.forEach(f=>{f.track&&f.track===e&&(s=f)}),!s)throw new Ut("track is not published");if(!rn(e))throw new Ut("track is not a video track");const o=Object.assign(Object.assign({},(r=this.roomOptions)===null||r===void 0?void 0:r.publishDefaults),i),a=Qv(e,n,o);if(!a){this.log.info("backup codec has been disabled, ignoring request to add additional codec for track",Object.assign(Object.assign({},this.logContext),Y(e)));return}const c=e.addSimulcastTrack(n,a);if(!c)return;const l=new Js({cid:c.mediaStreamTrack.id,type:P.kindToProto(e.kind),muted:e.isMuted,source:P.sourceToProto(e.source),sid:e.sid,simulcastCodecs:[{codec:o.videoCodec,cid:c.mediaStreamTrack.id}]});if(l.layers=ju(l.width,l.height,a),!this.engine||this.engine.isClosed)throw new Pe("cannot publish track when not connected");const d=()=>y(this,void 0,void 0,function*(){yield this.engine.createSimulcastSender(e,c,o,a),yield this.engine.negotiate()}),h=(yield Promise.all([this.engine.addTrack(l),d()]))[0];this.log.debug("published ".concat(n," for track ").concat(e.sid),Object.assign(Object.assign({},this.logContext),{encodings:a,trackInfo:h}))})}unpublishTrack(e,n){return y(this,void 0,void 0,function*(){var i,r;if(Gn(e)){const l=this.pendingPublishPromises.get(e);l&&(this.log.info("awaiting publish promise before attempting to unpublish",Object.assign(Object.assign({},this.logContext),Y(e))),yield l)}const s=this.getPublicationForTrack(e),o=s?Y(s):void 0;if(this.log.debug("unpublishing track",Object.assign(Object.assign({},this.logContext),o)),!s||!s.track){this.log.warn("track was not unpublished because no publication was found",Object.assign(Object.assign({},this.logContext),o));return}e=s.track,e.off(A.Muted,this.onTrackMuted),e.off(A.Unmuted,this.onTrackUnmuted),e.off(A.Ended,this.handleTrackEnded),e.off(A.UpstreamPaused,this.onTrackUpstreamPaused),e.off(A.UpstreamResumed,this.onTrackUpstreamResumed),e.off(A.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate),n===void 0&&(n=(r=(i=this.roomOptions)===null||i===void 0?void 0:i.stopLocalTrackOnUnpublish)!==null&&r!==void 0?r:!0),n?e.stop():e.stopMonitor();let a=!1;const c=e.sender;if(e.sender=void 0,this.engine.pcManager&&this.engine.pcManager.currentState<ye.FAILED&&c)try{for(const l of this.engine.pcManager.publisher.getTransceivers())l.sender===c&&(l.direction="inactive",a=!0);if(this.engine.removeTrack(c)&&(a=!0),rn(e)){for(const[,l]of e.simulcastCodecs)l.sender&&(this.engine.removeTrack(l.sender)&&(a=!0),l.sender=void 0);e.simulcastCodecs.clear()}}catch(l){this.log.warn("failed to unpublish track",Object.assign(Object.assign(Object.assign({},this.logContext),o),{error:l}))}switch(this.trackPublications.delete(s.trackSid),s.kind){case P.Kind.Audio:this.audioTrackPublications.delete(s.trackSid);break;case P.Kind.Video:this.videoTrackPublications.delete(s.trackSid);break}return this.emit(L.LocalTrackUnpublished,s),s.setTrack(void 0),a&&(yield this.engine.negotiate()),s})}unpublishTracks(e){return y(this,void 0,void 0,function*(){return(yield Promise.all(e.map(i=>this.unpublishTrack(i)))).filter(i=>!!i)})}republishAllTracks(e){return y(this,arguments,void 0,function(n){var i=this;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){i.republishPromise&&(yield i.republishPromise),i.republishPromise=new Promise((s,o)=>y(i,void 0,void 0,function*(){try{const a=[];this.trackPublications.forEach(c=>{c.track&&(n&&(c.options=Object.assign(Object.assign({},c.options),n)),a.push(c))}),yield Promise.all(a.map(c=>y(this,void 0,void 0,function*(){const l=c.track;yield this.unpublishTrack(l,!1),r&&!l.isMuted&&l.source!==P.Source.ScreenShare&&l.source!==P.Source.ScreenShareAudio&&(Bt(l)||rn(l))&&!l.isUserProvided&&(this.log.debug("restarting existing track",Object.assign(Object.assign({},this.logContext),{track:c.trackSid})),yield l.restartTrack()),yield this.publishOrRepublishTrack(l,c.options,!0)}))),s()}catch(a){o(a)}finally{this.republishPromise=void 0}})),yield i.republishPromise}()})}publishData(e){return y(this,arguments,void 0,function(n){var i=this;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return function*(){const s=r.reliable?K.RELIABLE:K.LOSSY,o=r.destinationIdentities,a=r.topic,c=new je({kind:s,value:{case:"user",value:new Bl({participantIdentity:i.identity,payload:n,destinationIdentities:o,topic:a})}});yield i.engine.sendDataPacket(c,s)}()})}publishDtmf(e,n){return y(this,void 0,void 0,function*(){const i=new je({kind:K.RELIABLE,value:{case:"sipDtmf",value:new jl({code:e,digit:n})}});yield this.engine.sendDataPacket(i,K.RELIABLE)})}sendChatMessage(e,n){return y(this,void 0,void 0,function*(){const i={id:crypto.randomUUID(),message:e,timestamp:Date.now(),attachedFiles:n==null?void 0:n.attachments},r=new je({value:{case:"chatMessage",value:new qs(Object.assign(Object.assign({},i),{timestamp:pe.parse(i.timestamp)}))}});return yield this.engine.sendDataPacket(r,K.RELIABLE),this.emit(L.ChatMessage,i),i})}editChatMessage(e,n){return y(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},n),{message:e,editTimestamp:Date.now()}),r=new je({value:{case:"chatMessage",value:new qs(Object.assign(Object.assign({},i),{timestamp:pe.parse(i.timestamp),editTimestamp:pe.parse(i.editTimestamp)}))}});return yield this.engine.sendDataPacket(r,K.RELIABLE),this.emit(L.ChatMessage,i),i})}sendText(e,n){return y(this,void 0,void 0,function*(){var i;const r=crypto.randomUUID(),o=new TextEncoder().encode(e).byteLength,a=(i=n==null?void 0:n.attachments)===null||i===void 0?void 0:i.map(()=>crypto.randomUUID()),c=new Array(a?a.length+1:1).fill(0),l=(u,h)=>{var f;c[h]=u;const m=c.reduce((p,g)=>p+g,0);(f=n==null?void 0:n.onProgress)===null||f===void 0||f.call(n,m)},d=yield this.streamText({streamId:r,totalSize:o,destinationIdentities:n==null?void 0:n.destinationIdentities,topic:n==null?void 0:n.topic,attachedStreamIds:a,attributes:n==null?void 0:n.attributes});return yield d.write(e),l(1,0),yield d.close(),n!=null&&n.attachments&&a&&(yield Promise.all(n.attachments.map((u,h)=>y(this,void 0,void 0,function*(){return this._sendFile(a[h],u,{topic:n.topic,mimeType:u.type,onProgress:f=>{l(f,h+1)}})})))),d.info})}streamText(e){return y(this,void 0,void 0,function*(){var n,i;const r=(n=e==null?void 0:e.streamId)!==null&&n!==void 0?n:crypto.randomUUID(),s={id:r,mimeType:"text/plain",timestamp:Date.now(),topic:(i=e==null?void 0:e.topic)!==null&&i!==void 0?i:"",size:e==null?void 0:e.totalSize,attributes:e==null?void 0:e.attributes},o=new zs({streamId:r,mimeType:s.mimeType,topic:s.topic,timestamp:Tn(s.timestamp),totalLength:Tn(e==null?void 0:e.totalSize),attributes:s.attributes,contentHeader:{case:"textHeader",value:new Ql({version:e==null?void 0:e.version,attachedStreamIds:e==null?void 0:e.attachedStreamIds,replyToStreamId:e==null?void 0:e.replyToStreamId,operationType:(e==null?void 0:e.type)==="update"?$s.UPDATE:$s.CREATE})}}),a=e==null?void 0:e.destinationIdentities,c=new je({destinationIdentities:a,value:{case:"streamHeader",value:o}});yield this.engine.sendDataPacket(c,K.RELIABLE);let l=0;const d=this,u=new WritableStream({write(m){return y(this,void 0,void 0,function*(){for(const p of pv(m,Ku)){yield d.engine.waitForBufferStatusLow(K.RELIABLE);const g=new Ws({content:p,streamId:r,chunkIndex:Tn(l)}),b=new je({destinationIdentities:a,value:{case:"streamChunk",value:g}});yield d.engine.sendDataPacket(b,K.RELIABLE),l+=1}})},close(){return y(this,void 0,void 0,function*(){const m=new Hs({streamId:r}),p=new je({destinationIdentities:a,value:{case:"streamTrailer",value:m}});yield d.engine.sendDataPacket(p,K.RELIABLE)})},abort(m){console.log("Sink error:",m)}});let h=()=>y(this,void 0,void 0,function*(){yield f.close()});d.engine.once(N.Closing,h);const f=new u0(u,s,()=>this.engine.off(N.Closing,h));return f})}sendFile(e,n){return y(this,void 0,void 0,function*(){const i=crypto.randomUUID();return yield this._sendFile(i,e,n),{id:i}})}_sendFile(e,n,i){return y(this,void 0,void 0,function*(){var r;const s=yield this.streamBytes({streamId:e,totalSize:n.size,name:n.name,mimeType:(r=i==null?void 0:i.mimeType)!==null&&r!==void 0?r:n.type,topic:i==null?void 0:i.topic,destinationIdentities:i==null?void 0:i.destinationIdentities}),o=n.stream().getReader();for(;;){const{done:a,value:c}=yield o.read();if(a)break;yield s.write(c)}return yield s.close(),s.info})}streamBytes(e){return y(this,void 0,void 0,function*(){var n,i,r,s,o;const a=(n=e==null?void 0:e.streamId)!==null&&n!==void 0?n:crypto.randomUUID(),c=e==null?void 0:e.destinationIdentities,l={id:a,mimeType:(i=e==null?void 0:e.mimeType)!==null&&i!==void 0?i:"application/octet-stream",topic:(r=e==null?void 0:e.topic)!==null&&r!==void 0?r:"",timestamp:Date.now(),attributes:e==null?void 0:e.attributes,size:e==null?void 0:e.totalSize,name:(s=e==null?void 0:e.name)!==null&&s!==void 0?s:"unknown"},d=new zs({totalLength:Tn((o=l.size)!==null&&o!==void 0?o:0),mimeType:l.mimeType,streamId:a,topic:l.topic,timestamp:Tn(Date.now()),attributes:l.attributes,contentHeader:{case:"byteHeader",value:new Zl({name:l.name})}}),u=new je({destinationIdentities:c,value:{case:"streamHeader",value:d}});yield this.engine.sendDataPacket(u,K.RELIABLE);let h=0;const f=new Fe,m=this.engine,p=this.log,g=new WritableStream({write(C){return y(this,void 0,void 0,function*(){const w=yield f.lock();let k=0;try{for(;k<C.byteLength;){const T=C.slice(k,k+Ku);yield m.waitForBufferStatusLow(K.RELIABLE);const S=new je({destinationIdentities:c,value:{case:"streamChunk",value:new Ws({content:T,streamId:a,chunkIndex:Tn(h)})}});yield m.sendDataPacket(S,K.RELIABLE),h+=1,k+=T.byteLength}}finally{w()}})},close(){return y(this,void 0,void 0,function*(){const C=new Hs({streamId:a}),w=new je({destinationIdentities:c,value:{case:"streamTrailer",value:C}});yield m.sendDataPacket(w,K.RELIABLE)})},abort(C){p.error("Sink error:",C)}});return new h0(g,l)})}performRpc(e){return y(this,arguments,void 0,function(n){var i=this;let{destinationIdentity:r,method:s,payload:o,responseTimeout:a=1e4}=n;return function*(){return new Promise((l,d)=>y(i,void 0,void 0,function*(){var u,h,f,m;if(Vo(o)>Mu){d(ke.builtIn("REQUEST_PAYLOAD_TOO_LARGE"));return}if(!((h=(u=this.engine.latestJoinResponse)===null||u===void 0?void 0:u.serverInfo)===null||h===void 0)&&h.version&&tn((m=(f=this.engine.latestJoinResponse)===null||f===void 0?void 0:f.serverInfo)===null||m===void 0?void 0:m.version,"1.8.0")<0){d(ke.builtIn("UNSUPPORTED_SERVER"));return}const p=crypto.randomUUID();yield this.publishRpcRequest(r,p,s,o,a-2e3);const g=setTimeout(()=>{this.pendingAcks.delete(p),d(ke.builtIn("CONNECTION_TIMEOUT")),this.pendingResponses.delete(p),clearTimeout(b)},2e3);this.pendingAcks.set(p,{resolve:()=>{clearTimeout(g)},participantIdentity:r});const b=setTimeout(()=>{this.pendingResponses.delete(p),d(ke.builtIn("RESPONSE_TIMEOUT"))},a);this.pendingResponses.set(p,{resolve:(C,w)=>{clearTimeout(b),this.pendingAcks.has(p)&&(console.warn("RPC response received before ack",p),this.pendingAcks.delete(p),clearTimeout(g)),w?d(w):l(C??"")},participantIdentity:r})}))}()})}registerRpcMethod(e,n){this.rpcHandlers.has(e)&&this.log.warn("you're overriding the RPC handler for method ".concat(e,", in the future this will throw an error")),this.rpcHandlers.set(e,n)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}setTrackSubscriptionPermissions(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];this.participantTrackPermissions=n,this.allParticipantsAllowedToSubscribe=e,this.engine.client.isDisconnected||this.updateTrackSubscriptionPermissions()}handleIncomingRpcAck(e){const n=this.pendingAcks.get(e);n?(n.resolve(),this.pendingAcks.delete(e)):console.error("Ack received for unexpected RPC request",e)}handleIncomingRpcResponse(e,n,i){const r=this.pendingResponses.get(e);r?(r.resolve(n,i),this.pendingResponses.delete(e)):console.error("Response received for unexpected RPC request",e)}publishRpcRequest(e,n,i,r,s){return y(this,void 0,void 0,function*(){const o=new je({destinationIdentities:[e],kind:K.RELIABLE,value:{case:"rpcRequest",value:new Vl({id:n,method:i,payload:r,responseTimeoutMs:s,version:1})}});yield this.engine.sendDataPacket(o,K.RELIABLE)})}handleParticipantDisconnected(e){for(const[n,{participantIdentity:i}]of this.pendingAcks)i===e&&this.pendingAcks.delete(n);for(const[n,{participantIdentity:i,resolve:r}]of this.pendingResponses)i===e&&(r(null,ke.builtIn("RECIPIENT_DISCONNECTED")),this.pendingResponses.delete(n))}setEnabledPublishCodecs(e){this.enabledPublishVideoCodecs=e.filter(n=>n.mime.split("/")[0].toLowerCase()==="video")}updateInfo(e){return super.updateInfo(e)?(e.tracks.forEach(n=>{var i,r;const s=this.trackPublications.get(n.sid);if(s){const o=s.isMuted||((r=(i=s.track)===null||i===void 0?void 0:i.isUpstreamPaused)!==null&&r!==void 0?r:!1);o!==n.muted&&(this.log.debug("updating server mute state after reconcile",Object.assign(Object.assign(Object.assign({},this.logContext),Y(s)),{mutedOnServer:o})),this.engine.client.sendMuteTrack(n.sid,o))}}),!0):!1}setActiveAgent(e){var n,i,r,s;this.firstActiveAgent=e,e&&!this.firstActiveAgent&&(this.firstActiveAgent=e),e?(i=(n=this.activeAgentFuture)===null||n===void 0?void 0:n.resolve)===null||i===void 0||i.call(n,e):(s=(r=this.activeAgentFuture)===null||r===void 0?void 0:r.reject)===null||s===void 0||s.call(r,"Agent disconnected"),this.activeAgentFuture=void 0}waitUntilActiveAgentPresent(){return this.firstActiveAgent?Promise.resolve(this.firstActiveAgent):(this.activeAgentFuture||(this.activeAgentFuture=new Kn),this.activeAgentFuture.promise)}getPublicationForTrack(e){let n;return this.trackPublications.forEach(i=>{const r=i.track;r&&(e instanceof MediaStreamTrack?(Bt(r)||rn(r))&&r.mediaStreamTrack===e&&(n=i):e===r&&(n=i))}),n}waitForPendingPublicationOfSource(e){return y(this,void 0,void 0,function*(){const i=Date.now();for(;Date.now()<i+1e4;){const r=Array.from(this.pendingPublishPromises.entries()).find(s=>{let[o]=s;return o.source===e});if(r)return r[1];yield qe(20)}})}}class C0 extends jt{constructor(e,n,i,r){super(e,n.sid,n.name,r),this.track=void 0,this.allowed=!0,this.disabled=!1,this.currentVideoQuality=nt.HIGH,this.handleEnded=s=>{this.setTrack(void 0),this.emit(A.Ended,s)},this.handleVisibilityChange=s=>{this.log.debug("adaptivestream video visibility ".concat(this.trackSid,", visible=").concat(s),this.logContext),this.disabled=!s,this.emitTrackUpdate()},this.handleVideoDimensionsChange=s=>{this.log.debug("adaptivestream video dimensions ".concat(s.width,"x").concat(s.height),this.logContext),this.videoDimensions=s,this.emitTrackUpdate()},this.subscribed=i,this.updateInfo(n)}setSubscribed(e){const n=this.subscriptionStatus,i=this.permissionStatus;this.subscribed=e,e&&(this.allowed=!0);const r=new fr({trackSids:[this.trackSid],subscribe:this.subscribed,participantTracks:[new Wl({participantSid:"",trackSids:[this.trackSid]})]});this.emit(A.UpdateSubscription,r),this.emitSubscriptionUpdateIfChanged(n),this.emitPermissionUpdateIfChanged(i)}get subscriptionStatus(){return this.subscribed===!1?jt.SubscriptionStatus.Unsubscribed:super.isSubscribed?jt.SubscriptionStatus.Subscribed:jt.SubscriptionStatus.Desired}get permissionStatus(){return this.allowed?jt.PermissionStatus.Allowed:jt.PermissionStatus.NotAllowed}get isSubscribed(){return this.subscribed===!1?!1:super.isSubscribed}get isDesired(){return this.subscribed!==!1}get isEnabled(){return!this.disabled}get isLocal(){return!1}setEnabled(e){!this.isManualOperationAllowed()||this.disabled===!e||(this.disabled=!e,this.emitTrackUpdate())}setVideoQuality(e){!this.isManualOperationAllowed()||this.currentVideoQuality===e||(this.currentVideoQuality=e,this.videoDimensions=void 0,this.emitTrackUpdate())}setVideoDimensions(e){var n,i;this.isManualOperationAllowed()&&(((n=this.videoDimensions)===null||n===void 0?void 0:n.width)===e.width&&((i=this.videoDimensions)===null||i===void 0?void 0:i.height)===e.height||(Po(this.track)&&(this.videoDimensions=e),this.currentVideoQuality=void 0,this.emitTrackUpdate()))}setVideoFPS(e){this.isManualOperationAllowed()&&Po(this.track)&&this.fps!==e&&(this.fps=e,this.emitTrackUpdate())}get videoQuality(){return this.currentVideoQuality}setTrack(e){const n=this.subscriptionStatus,i=this.permissionStatus,r=this.track;r!==e&&(r&&(r.off(A.VideoDimensionsChanged,this.handleVideoDimensionsChange),r.off(A.VisibilityChanged,this.handleVisibilityChange),r.off(A.Ended,this.handleEnded),r.detach(),r.stopMonitor(),this.emit(A.Unsubscribed,r)),super.setTrack(e),e&&(e.sid=this.trackSid,e.on(A.VideoDimensionsChanged,this.handleVideoDimensionsChange),e.on(A.VisibilityChanged,this.handleVisibilityChange),e.on(A.Ended,this.handleEnded),this.emit(A.Subscribed,e)),this.emitPermissionUpdateIfChanged(i),this.emitSubscriptionUpdateIfChanged(n))}setAllowed(e){const n=this.subscriptionStatus,i=this.permissionStatus;this.allowed=e,this.emitPermissionUpdateIfChanged(i),this.emitSubscriptionUpdateIfChanged(n)}setSubscriptionError(e){this.emit(A.SubscriptionFailed,e)}updateInfo(e){super.updateInfo(e);const n=this.metadataMuted;this.metadataMuted=e.muted,this.track?this.track.setMuted(e.muted):n!==e.muted&&this.emit(e.muted?A.Muted:A.Unmuted)}emitSubscriptionUpdateIfChanged(e){const n=this.subscriptionStatus;e!==n&&this.emit(A.SubscriptionStatusChanged,n,e)}emitPermissionUpdateIfChanged(e){this.permissionStatus!==e&&this.emit(A.SubscriptionPermissionChanged,this.permissionStatus,e)}isManualOperationAllowed(){return this.kind===P.Kind.Video&&this.isAdaptiveStream?(this.log.warn("adaptive stream is enabled, cannot change video track settings",this.logContext),!1):this.isDesired?!0:(this.log.warn("cannot update track settings when not subscribed",this.logContext),!1)}get isAdaptiveStream(){return Po(this.track)&&this.track.isAdaptiveStream}emitTrackUpdate(){const e=new nd({trackSids:[this.trackSid],disabled:this.disabled,fps:this.fps});this.videoDimensions?(e.width=Math.ceil(this.videoDimensions.width),e.height=Math.ceil(this.videoDimensions.height)):this.currentVideoQuality!==void 0?e.quality=this.currentVideoQuality:e.quality=nt.HIGH,this.emit(A.UpdateSettings,e)}}class Ar extends Hu{static fromParticipantInfo(e,n,i){return new Ar(e,n.sid,n.identity,n.name,n.metadata,n.attributes,i,n.kind)}get logContext(){return Object.assign(Object.assign({},super.logContext),{rpID:this.sid,remoteParticipant:this.identity})}constructor(e,n,i,r,s,o,a){let c=arguments.length>7&&arguments[7]!==void 0?arguments[7]:xi.STANDARD;super(n,i||"",r,s,o,a,c),this.signalClient=e,this.trackPublications=new Map,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.volumeMap=new Map}addTrackPublication(e){super.addTrackPublication(e),e.on(A.UpdateSettings,n=>{this.log.debug("send update settings",Object.assign(Object.assign({},this.logContext),Y(e))),this.signalClient.sendUpdateTrackSettings(n)}),e.on(A.UpdateSubscription,n=>{n.participantTracks.forEach(i=>{i.participantSid=this.sid}),this.signalClient.sendUpdateSubscription(n)}),e.on(A.SubscriptionPermissionChanged,n=>{this.emit(L.TrackSubscriptionPermissionChanged,e,n)}),e.on(A.SubscriptionStatusChanged,n=>{this.emit(L.TrackSubscriptionStatusChanged,e,n)}),e.on(A.Subscribed,n=>{this.emit(L.TrackSubscribed,n,e)}),e.on(A.Unsubscribed,n=>{this.emit(L.TrackUnsubscribed,n,e)}),e.on(A.SubscriptionFailed,n=>{this.emit(L.TrackSubscriptionFailed,e.trackSid,n)})}getTrackPublication(e){const n=super.getTrackPublication(e);if(n)return n}getTrackPublicationByName(e){const n=super.getTrackPublicationByName(e);if(n)return n}setVolume(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:P.Source.Microphone;this.volumeMap.set(n,e);const i=this.getTrackPublication(n);i&&i.track&&i.track.setVolume(e)}getVolume(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P.Source.Microphone;const n=this.getTrackPublication(e);return n&&n.track?n.track.getVolume():this.volumeMap.get(e)}addSubscribedMediaTrack(e,n,i,r,s,o){let a=this.getTrackPublicationBySid(n);if(a||n.startsWith("TR")||this.trackPublications.forEach(d=>{!a&&e.kind===d.kind.toString()&&(a=d)}),!a){if(o===0){this.log.error("could not find published track",Object.assign(Object.assign({},this.logContext),{trackSid:n})),this.emit(L.TrackSubscriptionFailed,n);return}o===void 0&&(o=20),setTimeout(()=>{this.addSubscribedMediaTrack(e,n,i,r,s,o-1)},150);return}if(e.readyState==="ended"){this.log.error("unable to subscribe because MediaStreamTrack is ended. Do not call MediaStreamTrack.stop()",Object.assign(Object.assign({},this.logContext),Y(a))),this.emit(L.TrackSubscriptionFailed,n);return}const c=e.kind==="video";let l;return c?l=new p0(e,n,r,s):l=new f0(e,n,r,this.audioContext,this.audioOutput),l.source=a.source,l.isMuted=a.isMuted,l.setMediaStream(i),l.start(),a.setTrack(l),this.volumeMap.has(a.source)&&Eo(l)&&wt(l)&&l.setVolume(this.volumeMap.get(a.source)),a}get hasMetadata(){return!!this.participantInfo}getTrackPublicationBySid(e){return this.trackPublications.get(e)}updateInfo(e){if(!super.updateInfo(e))return!1;const n=new Map,i=new Map;return e.tracks.forEach(r=>{var s,o;let a=this.getTrackPublicationBySid(r.sid);if(a)a.updateInfo(r);else{const c=P.kindFromProto(r.type);if(!c)return;a=new C0(c,r,(s=this.signalClient.connectOptions)===null||s===void 0?void 0:s.autoSubscribe,{loggerContextCb:()=>this.logContext,loggerName:(o=this.loggerOptions)===null||o===void 0?void 0:o.loggerName}),a.updateInfo(r),i.set(r.sid,a);const l=Array.from(this.trackPublications.values()).find(d=>d.source===(a==null?void 0:a.source));l&&a.source!==P.Source.Unknown&&this.log.debug("received a second track publication for ".concat(this.identity," with the same source: ").concat(a.source),Object.assign(Object.assign({},this.logContext),{oldTrack:Y(l),newTrack:Y(a)})),this.addTrackPublication(a)}n.set(r.sid,a)}),this.trackPublications.forEach(r=>{n.has(r.trackSid)||(this.log.trace("detected removed track on remote participant, unpublishing",Object.assign(Object.assign({},this.logContext),Y(r))),this.unpublishTrack(r.trackSid,!0))}),i.forEach(r=>{this.emit(L.TrackPublished,r)}),!0}unpublishTrack(e,n){const i=this.trackPublications.get(e);if(!i)return;const{track:r}=i;switch(r&&(r.stop(),i.setTrack(void 0)),this.trackPublications.delete(e),i.kind){case P.Kind.Audio:this.audioTrackPublications.delete(e);break;case P.Kind.Video:this.videoTrackPublications.delete(e);break}n&&this.emit(L.TrackUnpublished,i)}setAudioOutput(e){return y(this,void 0,void 0,function*(){this.audioOutput=e;const n=[];this.audioTrackPublications.forEach(i=>{var r;wt(i.track)&&Eo(i.track)&&n.push(i.track.setSinkId((r=e.deviceId)!==null&&r!==void 0?r:"default"))}),yield Promise.all(n)})}emit(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];return this.log.trace("participant event",Object.assign(Object.assign({},this.logContext),{event:e,args:i})),super.emit(e,...i)}}var Z;(function(t){t.Disconnected="disconnected",t.Connecting="connecting",t.Connected="connected",t.Reconnecting="reconnecting",t.SignalReconnecting="signalReconnecting"})(Z||(Z={}));const w0=4*1e3;class Qn extends kt.EventEmitter{constructor(e){var n,i,r,s;if(super(),n=this,this.state=Z.Disconnected,this.activeSpeakers=[],this.isE2EEEnabled=!1,this.audioEnabled=!0,this.isVideoPlaybackBlocked=!1,this.log=X,this.bufferedEvents=[],this.isResuming=!1,this.byteStreamControllers=new Map,this.textStreamControllers=new Map,this.byteStreamHandlers=new Map,this.textStreamHandlers=new Map,this.rpcHandlers=new Map,this.connect=(o,a,c)=>y(this,void 0,void 0,function*(){var l;if(!tv())throw Ct()?Error("WebRTC isn't detected, have you called registerGlobals?"):Error("LiveKit doesn't seem to be supported on this browser. Try to update your browser and make sure no browser extensions are disabling webRTC.");const d=yield this.disconnectLock.lock();if(this.state===Z.Connected)return this.log.info("already connected to room ".concat(this.name),this.logContext),d(),Promise.resolve();if(this.connectFuture)return d(),this.connectFuture.promise;this.setAndEmitConnectionState(Z.Connecting),((l=this.regionUrlProvider)===null||l===void 0?void 0:l.getServerUrl().toString())!==o&&(this.regionUrl=void 0,this.regionUrlProvider=void 0),wo(new URL(o))&&(this.regionUrlProvider===void 0?this.regionUrlProvider=new Go(o,a):this.regionUrlProvider.updateToken(a),this.regionUrlProvider.fetchRegionSettings().then(f=>{var m;(m=this.regionUrlProvider)===null||m===void 0||m.setServerReportedRegions(f)}).catch(f=>{this.log.warn("could not fetch region settings",Object.assign(Object.assign({},this.logContext),{error:f}))}));const u=(f,m,p)=>y(this,void 0,void 0,function*(){var g,b;this.abortController&&this.abortController.abort();const C=new AbortController;this.abortController=C,d==null||d();try{yield this.attemptConnection(p??o,a,c,C),this.abortController=void 0,f()}catch(w){if(this.regionUrlProvider&&w instanceof ae&&w.reason!==Q.Cancelled&&w.reason!==Q.NotAllowed){let k=null;try{k=yield this.regionUrlProvider.getNextBestRegionUrl((g=this.abortController)===null||g===void 0?void 0:g.signal)}catch(T){if(T instanceof ae&&(T.status===401||T.reason===Q.Cancelled)){this.handleDisconnect(this.options.stopLocalTrackOnUnpublish),m(T);return}}k&&!(!((b=this.abortController)===null||b===void 0)&&b.signal.aborted)?(this.log.info("Initial connection failed with ConnectionError: ".concat(w.message,". Retrying with another region: ").concat(k),this.logContext),this.recreateEngine(),yield u(f,m,k)):(this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,gu(w)),m(w))}else{let k=st.UNKNOWN_REASON;w instanceof ae&&(k=gu(w)),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,k),m(w)}}}),h=this.regionUrl;return this.regionUrl=void 0,this.connectFuture=new Kn((f,m)=>{u(f,m,h)},()=>{this.clearConnectionFutures()}),this.connectFuture.promise}),this.connectSignal=(o,a,c,l,d,u)=>y(this,void 0,void 0,function*(){var h,f,m;const p=yield c.join(o,a,{autoSubscribe:l.autoSubscribe,adaptiveStream:typeof d.adaptiveStream=="object"?!0:d.adaptiveStream,maxRetries:l.maxRetries,e2eeEnabled:!!this.e2eeManager,websocketTimeout:l.websocketTimeout},u.signal);let g=p.serverInfo;if(g||(g={version:p.serverVersion,region:p.serverRegion}),this.serverInfo=g,this.log.debug("connected to Livekit Server ".concat(Object.entries(g).map(b=>{let[C,w]=b;return"".concat(C,": ").concat(w)}).join(", ")),{room:(h=p.room)===null||h===void 0?void 0:h.name,roomSid:(f=p.room)===null||f===void 0?void 0:f.sid,identity:(m=p.participant)===null||m===void 0?void 0:m.identity}),!g.version)throw new jg("unknown server version");return g.version==="0.15.1"&&this.options.dynacast&&(this.log.debug("disabling dynacast due to server version",this.logContext),d.dynacast=!1),p}),this.applyJoinResponse=o=>{const a=o.participant;if(this.localParticipant.sid=a.sid,this.localParticipant.identity=a.identity,this.localParticipant.setEnabledPublishCodecs(o.enabledPublishCodecs),this.options.e2ee&&this.e2eeManager)try{this.e2eeManager.setSifTrailer(o.sifTrailer)}catch(c){this.log.error(c instanceof Error?c.message:"Could not set SifTrailer",Object.assign(Object.assign({},this.logContext),{error:c}))}this.handleParticipantUpdates([a,...o.otherParticipants]),o.room&&this.handleRoomUpdate(o.room)},this.attemptConnection=(o,a,c,l)=>y(this,void 0,void 0,function*(){var d,u;this.state===Z.Reconnecting||this.isResuming||!((d=this.engine)===null||d===void 0)&&d.pendingReconnect?(this.log.info("Reconnection attempt replaced by new connection attempt",this.logContext),this.recreateEngine()):this.maybeCreateEngine(),!((u=this.regionUrlProvider)===null||u===void 0)&&u.isCloud()&&this.engine.setRegionUrlProvider(this.regionUrlProvider),this.acquireAudioContext(),this.connOptions=Object.assign(Object.assign({},jo),c),this.connOptions.rtcConfig&&(this.engine.rtcConfig=this.connOptions.rtcConfig),this.connOptions.peerConnectionTimeout&&(this.engine.peerConnectionTimeout=this.connOptions.peerConnectionTimeout);try{const h=yield this.connectSignal(o,a,this.engine,this.connOptions,this.options,l);this.applyJoinResponse(h),this.setupLocalParticipantEvents(),this.emit(I.SignalConnected)}catch(h){yield this.engine.close(),this.recreateEngine();const f=new ae("could not establish signal connection",Q.ServerUnreachable);throw h instanceof Error&&(f.message="".concat(f.message,": ").concat(h.message)),h instanceof ae&&(f.reason=h.reason,f.status=h.status),this.log.debug("error trying to establish signal connection",Object.assign(Object.assign({},this.logContext),{error:h})),f}if(l.signal.aborted)throw yield this.engine.close(),this.recreateEngine(),new ae("Connection attempt aborted",Q.Cancelled);try{yield this.engine.waitForPCInitialConnection(this.connOptions.peerConnectionTimeout,l)}catch(h){throw yield this.engine.close(),this.recreateEngine(),h}$e()&&this.options.disconnectOnPageLeave&&(window.addEventListener("pagehide",this.onPageLeave),window.addEventListener("beforeunload",this.onPageLeave)),$e()&&document.addEventListener("freeze",this.onPageLeave),this.setAndEmitConnectionState(Z.Connected),this.emit(I.Connected),this.registerConnectionReconcile()}),this.disconnect=function(){for(var o=arguments.length,a=new Array(o),c=0;c<o;c++)a[c]=arguments[c];return y(n,[...a],void 0,function(){var l=this;let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){var u,h,f,m;const p=yield l.disconnectLock.lock();try{if(l.state===Z.Disconnected){l.log.debug("already disconnected",l.logContext);return}l.log.info("disconnect from room",Object.assign({},l.logContext)),(l.state===Z.Connecting||l.state===Z.Reconnecting||l.isResuming)&&(l.log.warn("abort connection attempt",l.logContext),(u=l.abortController)===null||u===void 0||u.abort(),(f=(h=l.connectFuture)===null||h===void 0?void 0:h.reject)===null||f===void 0||f.call(h,new ae("Client initiated disconnect",Q.Cancelled)),l.connectFuture=void 0),!((m=l.engine)===null||m===void 0)&&m.client.isDisconnected||(yield l.engine.client.sendLeave()),l.engine&&(yield l.engine.close()),l.handleDisconnect(d,st.CLIENT_INITIATED),l.engine=void 0}finally{p()}}()})},this.onPageLeave=()=>y(this,void 0,void 0,function*(){this.log.info("Page leave detected, disconnecting",this.logContext),yield this.disconnect()}),this.startAudio=()=>y(this,void 0,void 0,function*(){const o=[],a=Ve();if(a&&a.os==="iOS"){const c="livekit-dummy-audio-el";let l=document.getElementById(c);if(!l){l=document.createElement("audio"),l.id=c,l.autoplay=!0,l.hidden=!0;const d=So();d.enabled=!0;const u=new MediaStream([d]);l.srcObject=u,document.addEventListener("visibilitychange",()=>{l&&(l.srcObject=document.hidden?null:u,document.hidden||(this.log.debug("page visible again, triggering startAudio to resume playback and update playback status",this.logContext),this.startAudio()))}),document.body.append(l),this.once(I.Disconnected,()=>{l==null||l.remove(),l=null})}o.push(l)}this.remoteParticipants.forEach(c=>{c.audioTrackPublications.forEach(l=>{l.track&&l.track.attachedElements.forEach(d=>{o.push(d)})})});try{yield Promise.all([this.acquireAudioContext(),...o.map(c=>(c.muted=!1,c.play()))]),this.handleAudioPlaybackStarted()}catch(c){throw this.handleAudioPlaybackFailed(c),c}}),this.startVideo=()=>y(this,void 0,void 0,function*(){const o=[];for(const a of this.remoteParticipants.values())a.videoTrackPublications.forEach(c=>{var l;(l=c.track)===null||l===void 0||l.attachedElements.forEach(d=>{o.includes(d)||o.push(d)})});yield Promise.all(o.map(a=>a.play())).then(()=>{this.handleVideoPlaybackStarted()}).catch(a=>{a.name==="NotAllowedError"?this.handleVideoPlaybackFailed():this.log.warn("Resuming video playback failed, make sure you call `startVideo` directly in a user gesture handler",this.logContext)})}),this.handleRestarting=()=>{this.clearConnectionReconcile(),this.isResuming=!1;for(const o of this.remoteParticipants.values())this.handleParticipantDisconnected(o.identity,o);this.setAndEmitConnectionState(Z.Reconnecting)&&this.emit(I.Reconnecting)},this.handleSignalRestarted=o=>y(this,void 0,void 0,function*(){this.log.debug("signal reconnected to server, region ".concat(o.serverRegion),Object.assign(Object.assign({},this.logContext),{region:o.serverRegion})),this.bufferedEvents=[],this.applyJoinResponse(o);try{yield this.localParticipant.republishAllTracks(void 0,!0)}catch(a){this.log.error("error trying to re-publish tracks after reconnection",Object.assign(Object.assign({},this.logContext),{error:a}))}try{yield this.engine.waitForRestarted(),this.log.debug("fully reconnected to server",Object.assign(Object.assign({},this.logContext),{region:o.serverRegion}))}catch{return}this.setAndEmitConnectionState(Z.Connected),this.emit(I.Reconnected),this.registerConnectionReconcile(),this.emitBufferedEvents()}),this.handleParticipantUpdates=o=>{o.forEach(a=>{var c;if(a.identity===this.localParticipant.identity){this.localParticipant.updateInfo(a);return}a.identity===""&&(a.identity=(c=this.sidToIdentity.get(a.sid))!==null&&c!==void 0?c:"");let l=this.remoteParticipants.get(a.identity);a.state===jn.DISCONNECTED?this.handleParticipantDisconnected(a.identity,l):l=this.getOrCreateParticipant(a.identity,a)})},this.handleActiveSpeakersUpdate=o=>{const a=[],c={};o.forEach(l=>{if(c[l.sid]=!0,l.sid===this.localParticipant.sid)this.localParticipant.audioLevel=l.level,this.localParticipant.setIsSpeaking(!0),a.push(this.localParticipant);else{const d=this.getRemoteParticipantBySid(l.sid);d&&(d.audioLevel=l.level,d.setIsSpeaking(!0),a.push(d))}}),c[this.localParticipant.sid]||(this.localParticipant.audioLevel=0,this.localParticipant.setIsSpeaking(!1)),this.remoteParticipants.forEach(l=>{c[l.sid]||(l.audioLevel=0,l.setIsSpeaking(!1))}),this.activeSpeakers=a,this.emitWhenConnected(I.ActiveSpeakersChanged,a)},this.handleSpeakersChanged=o=>{const a=new Map;this.activeSpeakers.forEach(l=>{const d=this.remoteParticipants.get(l.identity);d&&d.sid!==l.sid||a.set(l.sid,l)}),o.forEach(l=>{let d=this.getRemoteParticipantBySid(l.sid);l.sid===this.localParticipant.sid&&(d=this.localParticipant),d&&(d.audioLevel=l.level,d.setIsSpeaking(l.active),l.active?a.set(l.sid,d):a.delete(l.sid))});const c=Array.from(a.values());c.sort((l,d)=>d.audioLevel-l.audioLevel),this.activeSpeakers=c,this.emitWhenConnected(I.ActiveSpeakersChanged,c)},this.handleStreamStateUpdate=o=>{o.streamStates.forEach(a=>{const c=this.getRemoteParticipantBySid(a.participantSid);if(!c)return;const l=c.getTrackPublicationBySid(a.trackSid);if(!l||!l.track)return;const d=P.streamStateFromProto(a.state);d!==l.track.streamState&&(l.track.streamState=d,c.emit(L.TrackStreamStateChanged,l,l.track.streamState),this.emitWhenConnected(I.TrackStreamStateChanged,l,l.track.streamState,c))})},this.handleSubscriptionPermissionUpdate=o=>{const a=this.getRemoteParticipantBySid(o.participantSid);if(!a)return;const c=a.getTrackPublicationBySid(o.trackSid);c&&c.setAllowed(o.allowed)},this.handleSubscriptionError=o=>{const a=Array.from(this.remoteParticipants.values()).find(l=>l.trackPublications.has(o.trackSid));if(!a)return;const c=a.getTrackPublicationBySid(o.trackSid);c&&c.setSubscriptionError(o.err)},this.handleDataPacket=o=>{const a=this.remoteParticipants.get(o.participantIdentity);if(o.value.case==="user")this.handleUserPacket(a,o.value.value,o.kind);else if(o.value.case==="transcription")this.handleTranscription(a,o.value.value);else if(o.value.case==="sipDtmf")this.handleSipDtmf(a,o.value.value);else if(o.value.case==="chatMessage")this.handleChatMessage(a,o.value.value);else if(o.value.case==="metrics")this.handleMetrics(o.value.value,a);else if(o.value.case==="streamHeader")this.handleStreamHeader(o.value.value,o.participantIdentity);else if(o.value.case==="streamChunk")this.handleStreamChunk(o.value.value);else if(o.value.case==="streamTrailer")this.handleStreamTrailer(o.value.value);else if(o.value.case==="rpcRequest"){const c=o.value.value;this.handleIncomingRpcRequest(o.participantIdentity,c.id,c.method,c.payload,c.responseTimeoutMs,c.version)}},this.handleUserPacket=(o,a,c)=>{this.emit(I.DataReceived,a.payload,o,c,a.topic),o==null||o.emit(L.DataReceived,a.payload,c)},this.handleSipDtmf=(o,a)=>{this.emit(I.SipDTMFReceived,a,o),o==null||o.emit(L.SipDTMFReceived,a)},this.bufferedSegments=new Map,this.handleTranscription=(o,a)=>{const c=a.transcribedParticipantIdentity===this.localParticipant.identity?this.localParticipant:this.getParticipantByIdentity(a.transcribedParticipantIdentity),l=c==null?void 0:c.trackPublications.get(a.trackId),d=dv(a,this.transcriptionReceivedTimes);l==null||l.emit(A.TranscriptionReceived,d),c==null||c.emit(L.TranscriptionReceived,d,l),this.emit(I.TranscriptionReceived,d,c,l)},this.handleChatMessage=(o,a)=>{const c=uv(a);this.emit(I.ChatMessage,c,o)},this.handleMetrics=(o,a)=>{this.emit(I.MetricsReceived,o,a)},this.handleAudioPlaybackStarted=()=>{this.canPlaybackAudio||(this.audioEnabled=!0,this.emit(I.AudioPlaybackStatusChanged,!0))},this.handleAudioPlaybackFailed=o=>{this.log.warn("could not playback audio",Object.assign(Object.assign({},this.logContext),{error:o})),this.canPlaybackAudio&&(this.audioEnabled=!1,this.emit(I.AudioPlaybackStatusChanged,!1))},this.handleVideoPlaybackStarted=()=>{this.isVideoPlaybackBlocked&&(this.isVideoPlaybackBlocked=!1,this.emit(I.VideoPlaybackStatusChanged,!0))},this.handleVideoPlaybackFailed=()=>{this.isVideoPlaybackBlocked||(this.isVideoPlaybackBlocked=!0,this.emit(I.VideoPlaybackStatusChanged,!1))},this.handleDeviceChange=()=>y(this,void 0,void 0,function*(){var o;((o=Ve())===null||o===void 0?void 0:o.os)!=="iOS"&&(yield this.selectDefaultDevices()),this.emit(I.MediaDevicesChanged)}),this.handleRoomUpdate=o=>{const a=this.roomInfo;this.roomInfo=o,a&&a.metadata!==o.metadata&&this.emitWhenConnected(I.RoomMetadataChanged,o.metadata),(a==null?void 0:a.activeRecording)!==o.activeRecording&&this.emitWhenConnected(I.RecordingStatusChanged,o.activeRecording)},this.handleConnectionQualityUpdate=o=>{o.updates.forEach(a=>{if(a.participantSid===this.localParticipant.sid){this.localParticipant.setConnectionQuality(a.quality);return}const c=this.getRemoteParticipantBySid(a.participantSid);c&&c.setConnectionQuality(a.quality)})},this.onLocalParticipantMetadataChanged=o=>{this.emit(I.ParticipantMetadataChanged,o,this.localParticipant)},this.onLocalParticipantNameChanged=o=>{this.emit(I.ParticipantNameChanged,o,this.localParticipant)},this.onLocalAttributesChanged=o=>{this.emit(I.ParticipantAttributesChanged,o,this.localParticipant)},this.onLocalTrackMuted=o=>{this.emit(I.TrackMuted,o,this.localParticipant)},this.onLocalTrackUnmuted=o=>{this.emit(I.TrackUnmuted,o,this.localParticipant)},this.onTrackProcessorUpdate=o=>{var a;(a=o==null?void 0:o.onPublish)===null||a===void 0||a.call(o,this)},this.onLocalTrackPublished=o=>y(this,void 0,void 0,function*(){var a,c,l,d,u,h;(a=o.track)===null||a===void 0||a.on(A.TrackProcessorUpdate,this.onTrackProcessorUpdate),(c=o.track)===null||c===void 0||c.on(A.Restarted,this.onLocalTrackRestarted),(u=(d=(l=o.track)===null||l===void 0?void 0:l.getProcessor())===null||d===void 0?void 0:d.onPublish)===null||u===void 0||u.call(d,this),this.emit(I.LocalTrackPublished,o,this.localParticipant),Bt(o.track)&&(yield o.track.checkForSilence())&&this.emit(I.LocalAudioSilenceDetected,o);const f=yield(h=o.track)===null||h===void 0?void 0:h.getDeviceId(!1),m=Oo(o.source);m&&f&&f!==this.localParticipant.activeDeviceMap.get(m)&&(this.localParticipant.activeDeviceMap.set(m,f),this.emit(I.ActiveDeviceChanged,m,f))}),this.onLocalTrackUnpublished=o=>{var a,c;(a=o.track)===null||a===void 0||a.off(A.TrackProcessorUpdate,this.onTrackProcessorUpdate),(c=o.track)===null||c===void 0||c.off(A.Restarted,this.onLocalTrackRestarted),this.emit(I.LocalTrackUnpublished,o,this.localParticipant)},this.onLocalTrackRestarted=o=>y(this,void 0,void 0,function*(){const a=yield o.getDeviceId(!1),c=Oo(o.source);c&&a&&a!==this.localParticipant.activeDeviceMap.get(c)&&(this.log.debug("local track restarted, setting ".concat(c," ").concat(a," active"),this.logContext),this.localParticipant.activeDeviceMap.set(c,a),this.emit(I.ActiveDeviceChanged,c,a))}),this.onLocalConnectionQualityChanged=o=>{this.emit(I.ConnectionQualityChanged,o,this.localParticipant)},this.onMediaDevicesError=(o,a)=>{this.emit(I.MediaDevicesError,o,a)},this.onLocalParticipantPermissionsChanged=o=>{this.emit(I.ParticipantPermissionsChanged,o,this.localParticipant)},this.onLocalChatMessageSent=o=>{this.emit(I.ChatMessage,o,this.localParticipant)},this.setMaxListeners(100),this.remoteParticipants=new Map,this.sidToIdentity=new Map,this.options=Object.assign(Object.assign({},Uv),e),this.log=Nt((i=this.options.loggerName)!==null&&i!==void 0?i:at.Room),this.transcriptionReceivedTimes=new Map,this.options.audioCaptureDefaults=Object.assign(Object.assign({},Ou),e==null?void 0:e.audioCaptureDefaults),this.options.videoCaptureDefaults=Object.assign(Object.assign({},Du),e==null?void 0:e.videoCaptureDefaults),this.options.publishDefaults=Object.assign(Object.assign({},Lv),e==null?void 0:e.publishDefaults),this.maybeCreateEngine(),this.disconnectLock=new Fe,this.localParticipant=new k0("","",this.engine,this.options,this.rpcHandlers),this.options.videoCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("videoinput",nn(this.options.videoCaptureDefaults.deviceId)),this.options.audioCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("audioinput",nn(this.options.audioCaptureDefaults.deviceId)),!((r=this.options.audioOutput)===null||r===void 0)&&r.deviceId&&this.switchActiveDevice("audiooutput",nn(this.options.audioOutput.deviceId)).catch(o=>this.log.warn("Could not set audio output: ".concat(o.message),this.logContext)),this.options.e2ee&&this.setupE2EE(),$e()){const o=new AbortController;(s=navigator.mediaDevices)===null||s===void 0||s.addEventListener("devicechange",this.handleDeviceChange,{signal:o.signal}),Qn.cleanupRegistry&&Qn.cleanupRegistry.register(this,()=>{o.abort()})}}registerTextStreamHandler(e,n){if(this.textStreamHandlers.has(e))throw new TypeError('A text stream handler for topic "'.concat(e,'" has already been set.'));this.textStreamHandlers.set(e,n)}unregisterTextStreamHandler(e){this.textStreamHandlers.delete(e)}registerByteStreamHandler(e,n){if(this.byteStreamHandlers.has(e))throw new TypeError('A byte stream handler for topic "'.concat(e,'" has already been set.'));this.byteStreamHandlers.set(e,n)}unregisterByteStreamHandler(e){this.byteStreamHandlers.delete(e)}registerRpcMethod(e,n){if(this.rpcHandlers.has(e))throw Error("RPC handler already registered for method ".concat(e,", unregisterRpcMethod before trying to register again"));this.rpcHandlers.set(e,n)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}handleIncomingRpcRequest(e,n,i,r,s,o){return y(this,void 0,void 0,function*(){if(yield this.engine.publishRpcAck(e,n),o!==1){yield this.engine.publishRpcResponse(e,n,null,ke.builtIn("UNSUPPORTED_VERSION"));return}const a=this.rpcHandlers.get(i);if(!a){yield this.engine.publishRpcResponse(e,n,null,ke.builtIn("UNSUPPORTED_METHOD"));return}let c=null,l=null;try{const d=yield a({requestId:n,callerIdentity:e,payload:r,responseTimeout:s});Vo(d)>Mu?(c=ke.builtIn("RESPONSE_PAYLOAD_TOO_LARGE"),console.warn("RPC Response payload too large for ".concat(i))):l=d}catch(d){d instanceof ke?c=d:(console.warn("Uncaught error returned by RPC handler for ".concat(i,". Returning APPLICATION_ERROR instead."),d),c=ke.builtIn("APPLICATION_ERROR"))}yield this.engine.publishRpcResponse(e,n,l,c)})}setE2EEEnabled(e){return y(this,void 0,void 0,function*(){if(this.e2eeManager)yield Promise.all([this.localParticipant.setE2EEEnabled(e)]),this.localParticipant.identity!==""&&this.e2eeManager.setParticipantCryptorEnabled(e,this.localParticipant.identity);else throw Error("e2ee not configured, please set e2ee settings within the room options")})}setupE2EE(){var e;this.options.e2ee&&("e2eeManager"in this.options.e2ee?this.e2eeManager=this.options.e2ee.e2eeManager:this.e2eeManager=new Cv(this.options.e2ee),this.e2eeManager.on(Zt.ParticipantEncryptionStatusChanged,(n,i)=>{fv(i)&&(this.isE2EEEnabled=n),this.emit(I.ParticipantEncryptionStatusChanged,n,i)}),this.e2eeManager.on(Zt.EncryptionError,n=>this.emit(I.EncryptionError,n)),(e=this.e2eeManager)===null||e===void 0||e.setup(this))}get logContext(){var e;return{room:this.name,roomID:(e=this.roomInfo)===null||e===void 0?void 0:e.sid,participant:this.localParticipant.identity,pID:this.localParticipant.sid}}get isRecording(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.activeRecording)!==null&&n!==void 0?n:!1}getSid(){return y(this,void 0,void 0,function*(){return this.state===Z.Disconnected?"":this.roomInfo&&this.roomInfo.sid!==""?this.roomInfo.sid:new Promise((e,n)=>{const i=r=>{r.sid!==""&&(this.engine.off(N.RoomUpdate,i),e(r.sid))};this.engine.on(N.RoomUpdate,i),this.once(I.Disconnected,()=>{this.engine.off(N.RoomUpdate,i),n("Room disconnected before room server id was available")})})})}get name(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:""}get metadata(){var e;return(e=this.roomInfo)===null||e===void 0?void 0:e.metadata}get numParticipants(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.numParticipants)!==null&&n!==void 0?n:0}get numPublishers(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.numPublishers)!==null&&n!==void 0?n:0}maybeCreateEngine(){this.engine&&!this.engine.isClosed||(this.engine=new s0(this.options),this.engine.on(N.ParticipantUpdate,this.handleParticipantUpdates).on(N.RoomUpdate,this.handleRoomUpdate).on(N.SpeakersChanged,this.handleSpeakersChanged).on(N.StreamStateChanged,this.handleStreamStateUpdate).on(N.ConnectionQualityUpdate,this.handleConnectionQualityUpdate).on(N.SubscriptionError,this.handleSubscriptionError).on(N.SubscriptionPermissionUpdate,this.handleSubscriptionPermissionUpdate).on(N.MediaTrackAdded,(e,n,i)=>{this.onTrackAdded(e,n,i)}).on(N.Disconnected,e=>{this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,e)}).on(N.ActiveSpeakersUpdate,this.handleActiveSpeakersUpdate).on(N.DataPacketReceived,this.handleDataPacket).on(N.Resuming,()=>{this.clearConnectionReconcile(),this.isResuming=!0,this.log.info("Resuming signal connection",this.logContext),this.setAndEmitConnectionState(Z.SignalReconnecting)&&this.emit(I.SignalReconnecting)}).on(N.Resumed,()=>{this.registerConnectionReconcile(),this.isResuming=!1,this.log.info("Resumed signal connection",this.logContext),this.updateSubscriptions(),this.emitBufferedEvents(),this.setAndEmitConnectionState(Z.Connected)&&this.emit(I.Reconnected)}).on(N.SignalResumed,()=>{this.bufferedEvents=[],(this.state===Z.Reconnecting||this.isResuming)&&this.sendSyncState()}).on(N.Restarting,this.handleRestarting).on(N.SignalRestarted,this.handleSignalRestarted).on(N.Offline,()=>{this.setAndEmitConnectionState(Z.Reconnecting)&&this.emit(I.Reconnecting)}).on(N.DCBufferStatusChanged,(e,n)=>{this.emit(I.DCBufferStatusChanged,e,n)}).on(N.LocalTrackSubscribed,e=>{const n=this.localParticipant.getTrackPublications().find(i=>{let{trackSid:r}=i;return r===e});if(!n){this.log.warn("could not find local track subscription for subscribed event",this.logContext);return}this.localParticipant.emit(L.LocalTrackSubscribed,n),this.emitWhenConnected(I.LocalTrackSubscribed,n,this.localParticipant)}).on(N.RoomMoved,e=>{this.log.debug("room moved",e),e.room&&this.handleRoomUpdate(e.room),this.remoteParticipants.forEach((n,i)=>{this.handleParticipantDisconnected(i,n)}),this.emit(I.Moved,e.room.name),e.participant?this.handleParticipantUpdates([e.participant,...e.otherParticipants]):this.handleParticipantUpdates(e.otherParticipants)}),this.localParticipant&&this.localParticipant.setupEngine(this.engine),this.e2eeManager&&this.e2eeManager.setupEngine(this.engine))}static getLocalDevices(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ie.getInstance().getDevices(e,n)}prepareConnection(e,n){return y(this,void 0,void 0,function*(){if(this.state===Z.Disconnected){this.log.debug("prepareConnection to ".concat(e),this.logContext);try{if(wo(new URL(e))&&n){this.regionUrlProvider=new Go(e,n);const i=yield this.regionUrlProvider.getNextBestRegionUrl();i&&this.state===Z.Disconnected&&(this.regionUrl=i,yield fetch(xo(i),{method:"HEAD"}),this.log.debug("prepared connection to ".concat(i),this.logContext))}else yield fetch(xo(e),{method:"HEAD"})}catch(i){this.log.warn("could not prepare connection",Object.assign(Object.assign({},this.logContext),{error:i}))}}})}getParticipantByIdentity(e){return this.localParticipant.identity===e?this.localParticipant:this.remoteParticipants.get(e)}clearConnectionFutures(){this.connectFuture=void 0}simulateScenario(e,n){return y(this,void 0,void 0,function*(){let i=()=>{},r;switch(e){case"signal-reconnect":yield this.engine.client.handleOnClose("simulate disconnect");break;case"speaker":r=new yt({scenario:{case:"speakerUpdate",value:3}});break;case"node-failure":r=new yt({scenario:{case:"nodeFailure",value:!0}});break;case"server-leave":r=new yt({scenario:{case:"serverLeave",value:!0}});break;case"migration":r=new yt({scenario:{case:"migration",value:!0}});break;case"resume-reconnect":this.engine.failNext(),yield this.engine.client.handleOnClose("simulate resume-disconnect");break;case"disconnect-signal-on-resume":i=()=>y(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),r=new yt({scenario:{case:"disconnectSignalOnResume",value:!0}});break;case"disconnect-signal-on-resume-no-messages":i=()=>y(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),r=new yt({scenario:{case:"disconnectSignalOnResumeNoMessages",value:!0}});break;case"full-reconnect":this.engine.fullReconnectOnNext=!0,yield this.engine.client.handleOnClose("simulate full-reconnect");break;case"force-tcp":case"force-tls":r=new yt({scenario:{case:"switchCandidateProtocol",value:e==="force-tls"?2:1}}),i=()=>y(this,void 0,void 0,function*(){const s=this.engine.client.onLeave;s&&s(new pr({reason:st.CLIENT_INITIATED,action:qn.RECONNECT}))});break;case"subscriber-bandwidth":if(n===void 0||typeof n!="number")throw new Error("subscriber-bandwidth requires a number as argument");r=new yt({scenario:{case:"subscriberBandwidth",value:Tn(n)}});break;case"leave-full-reconnect":r=new yt({scenario:{case:"leaveRequestFullReconnect",value:!0}})}r&&(yield this.engine.client.sendSimulateScenario(r),yield i())})}get canPlaybackAudio(){return this.audioEnabled}get canPlaybackVideo(){return!this.isVideoPlaybackBlocked}getActiveDevice(e){return this.localParticipant.activeDeviceMap.get(e)}switchActiveDevice(e,n){return y(this,arguments,void 0,function(i,r){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return function*(){var a,c,l,d,u,h,f,m;let p=!0,g=!1;const b=o?{exact:r}:r;if(i==="audioinput"){g=s.localParticipant.audioTrackPublications.size===0;const C=(a=s.getActiveDevice(i))!==null&&a!==void 0?a:s.options.audioCaptureDefaults.deviceId;s.options.audioCaptureDefaults.deviceId=b;const w=Array.from(s.localParticipant.audioTrackPublications.values()).filter(k=>k.source===P.Source.Microphone);try{p=(yield Promise.all(w.map(k=>{var T;return(T=k.audioTrack)===null||T===void 0?void 0:T.setDeviceId(b)}))).every(k=>k===!0)}catch(k){throw s.options.audioCaptureDefaults.deviceId=C,k}}else if(i==="videoinput"){g=s.localParticipant.videoTrackPublications.size===0;const C=(c=s.getActiveDevice(i))!==null&&c!==void 0?c:s.options.videoCaptureDefaults.deviceId;s.options.videoCaptureDefaults.deviceId=b;const w=Array.from(s.localParticipant.videoTrackPublications.values()).filter(k=>k.source===P.Source.Camera);try{p=(yield Promise.all(w.map(k=>{var T;return(T=k.videoTrack)===null||T===void 0?void 0:T.setDeviceId(b)}))).every(k=>k===!0)}catch(k){throw s.options.videoCaptureDefaults.deviceId=C,k}}else if(i==="audiooutput"){if(!Co()&&!s.options.webAudioMix||s.options.webAudioMix&&s.audioContext&&!("setSinkId"in s.audioContext))throw new Error("cannot switch audio output, setSinkId not supported");s.options.webAudioMix&&(r=(l=yield Ie.getInstance().normalizeDeviceId("audiooutput",r))!==null&&l!==void 0?l:""),(d=(m=s.options).audioOutput)!==null&&d!==void 0||(m.audioOutput={});const C=(u=s.getActiveDevice(i))!==null&&u!==void 0?u:s.options.audioOutput.deviceId;s.options.audioOutput.deviceId=r;try{s.options.webAudioMix&&((h=s.audioContext)===null||h===void 0||h.setSinkId(r)),yield Promise.all(Array.from(s.remoteParticipants.values()).map(w=>w.setAudioOutput({deviceId:r})))}catch(w){throw s.options.audioOutput.deviceId=C,w}}return(g||i==="audiooutput")&&(s.localParticipant.activeDeviceMap.set(i,i==="audiooutput"&&((f=s.options.audioOutput)===null||f===void 0?void 0:f.deviceId)||r),s.emit(I.ActiveDeviceChanged,i,r)),p}()})}setupLocalParticipantEvents(){this.localParticipant.on(L.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).on(L.ParticipantNameChanged,this.onLocalParticipantNameChanged).on(L.AttributesChanged,this.onLocalAttributesChanged).on(L.TrackMuted,this.onLocalTrackMuted).on(L.TrackUnmuted,this.onLocalTrackUnmuted).on(L.LocalTrackPublished,this.onLocalTrackPublished).on(L.LocalTrackUnpublished,this.onLocalTrackUnpublished).on(L.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).on(L.MediaDevicesError,this.onMediaDevicesError).on(L.AudioStreamAcquired,this.startAudio).on(L.ChatMessage,this.onLocalChatMessageSent).on(L.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged)}recreateEngine(){var e;(e=this.engine)===null||e===void 0||e.close(),this.engine=void 0,this.isResuming=!1,this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.bufferedEvents=[],this.maybeCreateEngine()}onTrackAdded(e,n,i){if(this.state===Z.Connecting||this.state===Z.Reconnecting){const d=()=>{this.onTrackAdded(e,n,i),u()},u=()=>{this.off(I.Reconnected,d),this.off(I.Connected,d),this.off(I.Disconnected,u)};this.once(I.Reconnected,d),this.once(I.Connected,d),this.once(I.Disconnected,u);return}if(this.state===Z.Disconnected){this.log.warn("skipping incoming track after Room disconnected",this.logContext);return}if(e.readyState==="ended"){this.log.info("skipping incoming track as it already ended",this.logContext);return}const r=Qg(n.id),s=r[0];let o=r[1],a=e.id;if(o&&o.startsWith("TR")&&(a=o),s===this.localParticipant.sid){this.log.warn("tried to create RemoteParticipant for local participant",this.logContext);return}const c=Array.from(this.remoteParticipants.values()).find(d=>d.sid===s);if(!c){this.log.error("Tried to add a track for a participant, that's not present. Sid: ".concat(s),this.logContext);return}let l;this.options.adaptiveStream&&(typeof this.options.adaptiveStream=="object"?l=this.options.adaptiveStream:l={}),c.addSubscribedMediaTrack(e,a,n,i,l)}handleDisconnect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,n=arguments.length>1?arguments[1]:void 0;var i;if(this.clearConnectionReconcile(),this.isResuming=!1,this.bufferedEvents=[],this.transcriptionReceivedTimes.clear(),this.state!==Z.Disconnected){this.regionUrl=void 0;try{this.remoteParticipants.forEach(r=>{r.trackPublications.forEach(s=>{r.unpublishTrack(s.trackSid)})}),this.localParticipant.trackPublications.forEach(r=>{var s,o,a;r.track&&this.localParticipant.unpublishTrack(r.track,e),e?((s=r.track)===null||s===void 0||s.detach(),(o=r.track)===null||o===void 0||o.stop()):(a=r.track)===null||a===void 0||a.stopMonitor()}),this.localParticipant.off(L.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).off(L.ParticipantNameChanged,this.onLocalParticipantNameChanged).off(L.AttributesChanged,this.onLocalAttributesChanged).off(L.TrackMuted,this.onLocalTrackMuted).off(L.TrackUnmuted,this.onLocalTrackUnmuted).off(L.LocalTrackPublished,this.onLocalTrackPublished).off(L.LocalTrackUnpublished,this.onLocalTrackUnpublished).off(L.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).off(L.MediaDevicesError,this.onMediaDevicesError).off(L.AudioStreamAcquired,this.startAudio).off(L.ChatMessage,this.onLocalChatMessageSent).off(L.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged),this.localParticipant.trackPublications.clear(),this.localParticipant.videoTrackPublications.clear(),this.localParticipant.audioTrackPublications.clear(),this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.activeSpeakers=[],this.audioContext&&typeof this.options.webAudioMix=="boolean"&&(this.audioContext.close(),this.audioContext=void 0),$e()&&(window.removeEventListener("beforeunload",this.onPageLeave),window.removeEventListener("pagehide",this.onPageLeave),window.removeEventListener("freeze",this.onPageLeave),(i=navigator.mediaDevices)===null||i===void 0||i.removeEventListener("devicechange",this.handleDeviceChange))}finally{this.setAndEmitConnectionState(Z.Disconnected),this.emit(I.Disconnected,n)}}}handleParticipantDisconnected(e,n){var i;this.remoteParticipants.delete(e),n&&(n.trackPublications.forEach(r=>{n.unpublishTrack(r.trackSid,!0)}),this.emit(I.ParticipantDisconnected,n),n.setDisconnected(),(i=this.localParticipant)===null||i===void 0||i.handleParticipantDisconnected(n.identity))}handleStreamHeader(e,n){return y(this,void 0,void 0,function*(){var i;if(e.contentHeader.case==="byteHeader"){const r=this.byteStreamHandlers.get(e.topic);if(!r){this.log.debug("ignoring incoming byte stream due to no handler for topic",e.topic);return}let s;const o={id:e.streamId,name:(i=e.contentHeader.value.name)!==null&&i!==void 0?i:"unknown",mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:xr(e.timestamp),attributes:e.attributes},a=new ReadableStream({start:c=>{s=c,this.byteStreamControllers.set(e.streamId,{info:o,controller:s,startTime:Date.now()})}});r(new l0(o,a,xr(e.totalLength)),{identity:n})}else if(e.contentHeader.case==="textHeader"){const r=this.textStreamHandlers.get(e.topic);if(!r){this.log.debug("ignoring incoming text stream due to no handler for topic",e.topic);return}let s;const o={id:e.streamId,mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:Number(e.timestamp),attributes:e.attributes},a=new ReadableStream({start:c=>{s=c,this.textStreamControllers.set(e.streamId,{info:o,controller:s,startTime:Date.now()})}});r(new d0(o,a,xr(e.totalLength)),{identity:n})}})}handleStreamChunk(e){const n=this.byteStreamControllers.get(e.streamId);n&&e.content.length>0&&n.controller.enqueue(e);const i=this.textStreamControllers.get(e.streamId);i&&e.content.length>0&&i.controller.enqueue(e)}handleStreamTrailer(e){const n=this.textStreamControllers.get(e.streamId);n&&(n.info.attributes=Object.assign(Object.assign({},n.info.attributes),e.attributes),n.controller.close(),this.textStreamControllers.delete(e.streamId));const i=this.byteStreamControllers.get(e.streamId);i&&(i.info.attributes=Object.assign(Object.assign({},i.info.attributes),e.attributes),i.controller.close(),this.byteStreamControllers.delete(e.streamId))}selectDefaultDevices(){return y(this,void 0,void 0,function*(){var e,n,i;const r=Ie.getInstance().previousDevices,s=yield Ie.getInstance().getDevices(void 0,!1),o=Ve();if((o==null?void 0:o.name)==="Chrome"&&o.os!=="iOS")for(let c of s){const l=r.find(d=>d.deviceId===c.deviceId);l&&l.label!==""&&l.kind===c.kind&&l.label!==c.label&&this.getActiveDevice(c.kind)==="default"&&this.emit(I.ActiveDeviceChanged,c.kind,c.deviceId)}const a=["audiooutput","audioinput","videoinput"];for(let c of a){const l=mv(c),d=this.localParticipant.getTrackPublication(l);if(d&&(!((e=d.track)===null||e===void 0)&&e.isUserProvided))continue;const u=s.filter(f=>f.kind===c),h=this.getActiveDevice(c);if(h===((n=r.filter(f=>f.kind===c)[0])===null||n===void 0?void 0:n.deviceId)&&u.length>0&&((i=u[0])===null||i===void 0?void 0:i.deviceId)!==h){yield this.switchActiveDevice(c,u[0].deviceId);continue}c==="audioinput"&&!cu()||c==="videoinput"||u.length>0&&!u.find(f=>f.deviceId===this.getActiveDevice(c))&&(c!=="audiooutput"||!cu())&&(yield this.switchActiveDevice(c,u[0].deviceId))}})}acquireAudioContext(){return y(this,void 0,void 0,function*(){var e,n;if(typeof this.options.webAudioMix!="boolean"&&this.options.webAudioMix.audioContext?this.audioContext=this.options.webAudioMix.audioContext:(!this.audioContext||this.audioContext.state==="closed")&&(this.audioContext=(e=yu())!==null&&e!==void 0?e:void 0),this.options.webAudioMix&&this.remoteParticipants.forEach(r=>r.setAudioContext(this.audioContext)),this.localParticipant.setAudioContext(this.audioContext),this.audioContext&&this.audioContext.state==="suspended")try{yield Promise.race([this.audioContext.resume(),qe(200)])}catch(r){this.log.warn("Could not resume audio context",Object.assign(Object.assign({},this.logContext),{error:r}))}const i=((n=this.audioContext)===null||n===void 0?void 0:n.state)==="running";i!==this.canPlaybackAudio&&(this.audioEnabled=i,this.emit(I.AudioPlaybackStatusChanged,i))})}createParticipant(e,n){var i;let r;return n?r=Ar.fromParticipantInfo(this.engine.client,n,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}):r=new Ar(this.engine.client,"",e,void 0,void 0,void 0,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}),this.options.webAudioMix&&r.setAudioContext(this.audioContext),!((i=this.options.audioOutput)===null||i===void 0)&&i.deviceId&&r.setAudioOutput(this.options.audioOutput).catch(s=>this.log.warn("Could not set audio output: ".concat(s.message),this.logContext)),r}getOrCreateParticipant(e,n){if(this.remoteParticipants.has(e)){const r=this.remoteParticipants.get(e);return n&&r.updateInfo(n)&&this.sidToIdentity.set(n.sid,n.identity),r}const i=this.createParticipant(e,n);return this.remoteParticipants.set(e,i),this.sidToIdentity.set(n.sid,n.identity),this.emitWhenConnected(I.ParticipantConnected,i),i.on(L.TrackPublished,r=>{this.emitWhenConnected(I.TrackPublished,r,i)}).on(L.TrackSubscribed,(r,s)=>{r.kind===P.Kind.Audio?(r.on(A.AudioPlaybackStarted,this.handleAudioPlaybackStarted),r.on(A.AudioPlaybackFailed,this.handleAudioPlaybackFailed)):r.kind===P.Kind.Video&&(r.on(A.VideoPlaybackFailed,this.handleVideoPlaybackFailed),r.on(A.VideoPlaybackStarted,this.handleVideoPlaybackStarted)),this.emit(I.TrackSubscribed,r,s,i)}).on(L.TrackUnpublished,r=>{this.emit(I.TrackUnpublished,r,i)}).on(L.TrackUnsubscribed,(r,s)=>{this.emit(I.TrackUnsubscribed,r,s,i)}).on(L.TrackMuted,r=>{this.emitWhenConnected(I.TrackMuted,r,i)}).on(L.TrackUnmuted,r=>{this.emitWhenConnected(I.TrackUnmuted,r,i)}).on(L.ParticipantMetadataChanged,r=>{this.emitWhenConnected(I.ParticipantMetadataChanged,r,i)}).on(L.ParticipantNameChanged,r=>{this.emitWhenConnected(I.ParticipantNameChanged,r,i)}).on(L.AttributesChanged,r=>{this.emitWhenConnected(I.ParticipantAttributesChanged,r,i)}).on(L.ConnectionQualityChanged,r=>{this.emitWhenConnected(I.ConnectionQualityChanged,r,i)}).on(L.ParticipantPermissionsChanged,r=>{this.emitWhenConnected(I.ParticipantPermissionsChanged,r,i)}).on(L.TrackSubscriptionStatusChanged,(r,s)=>{this.emitWhenConnected(I.TrackSubscriptionStatusChanged,r,s,i)}).on(L.TrackSubscriptionFailed,(r,s)=>{this.emit(I.TrackSubscriptionFailed,r,i,s)}).on(L.TrackSubscriptionPermissionChanged,(r,s)=>{this.emitWhenConnected(I.TrackSubscriptionPermissionChanged,r,s,i)}).on(L.Active,()=>{this.emitWhenConnected(I.ParticipantActive,i),i.kind===xi.AGENT&&this.localParticipant.setActiveAgent(i)}),n&&i.updateInfo(n),i}sendSyncState(){const e=Array.from(this.remoteParticipants.values()).reduce((i,r)=>(i.push(...r.getTrackPublications()),i),[]),n=this.localParticipant.getTrackPublications();this.engine.sendSyncState(e,n)}updateSubscriptions(){for(const e of this.remoteParticipants.values())for(const n of e.videoTrackPublications.values())n.isSubscribed&&hv(n)&&n.emitTrackUpdate()}getRemoteParticipantBySid(e){const n=this.sidToIdentity.get(e);if(n)return this.remoteParticipants.get(n)}registerConnectionReconcile(){this.clearConnectionReconcile();let e=0;this.connectionReconcileInterval=Ae.setInterval(()=>{!this.engine||this.engine.isClosed||!this.engine.verifyTransport()?(e++,this.log.warn("detected connection state mismatch",Object.assign(Object.assign({},this.logContext),{numFailures:e,engine:this.engine?{closed:this.engine.isClosed,transportsConnected:this.engine.verifyTransport()}:void 0})),e>=3&&(this.recreateEngine(),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,st.STATE_MISMATCH))):e=0},w0)}clearConnectionReconcile(){this.connectionReconcileInterval&&Ae.clearInterval(this.connectionReconcileInterval)}setAndEmitConnectionState(e){return e===this.state?!1:(this.state=e,this.emit(I.ConnectionStateChanged,this.state),!0)}emitBufferedEvents(){this.bufferedEvents.forEach(e=>{let[n,i]=e;this.emit(n,...i)}),this.bufferedEvents=[]}emitWhenConnected(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];if(this.state===Z.Reconnecting||this.isResuming||!this.engine||this.engine.pendingReconnect)this.bufferedEvents.push([e,i]);else if(this.state===Z.Connected)return this.emit(e,...i);return!1}simulateParticipants(e){return y(this,void 0,void 0,function*(){var n,i;const r=Object.assign({audio:!0,video:!0,useRealTracks:!1},e.publish),s=Object.assign({count:9,audio:!1,video:!0,aspectRatios:[1.66,1.7,1.3]},e.participants);if(this.handleDisconnect(),this.roomInfo=new ur({sid:"RM_SIMULATED",name:"simulated-room",emptyTimeout:0,maxParticipants:0,creationTime:pe.parse(new Date().getTime()),metadata:"",numParticipants:1,numPublishers:1,turnPassword:"",enabledCodecs:[],activeRecording:!1}),this.localParticipant.updateInfo(new bn({identity:"simulated-local",name:"local-name"})),this.setupLocalParticipantEvents(),this.emit(I.SignalConnected),this.emit(I.Connected),this.setAndEmitConnectionState(Z.Connected),r.video){const o=new Xo(P.Kind.Video,new Vn({source:Se.CAMERA,sid:Math.floor(Math.random()*1e4).toString(),type:rt.AUDIO,name:"video-dummy"}),new Dr(r.useRealTracks?(yield window.navigator.mediaDevices.getUserMedia({video:!0})).getVideoTracks()[0]:mu(160*((n=s.aspectRatios[0])!==null&&n!==void 0?n:1),160,!0,!0),void 0,!1,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(o),this.localParticipant.emit(L.LocalTrackPublished,o)}if(r.audio){const o=new Xo(P.Kind.Audio,new Vn({source:Se.MICROPHONE,sid:Math.floor(Math.random()*1e4).toString(),type:rt.AUDIO}),new Ir(r.useRealTracks?(yield navigator.mediaDevices.getUserMedia({audio:!0})).getAudioTracks()[0]:So(),void 0,!1,this.audioContext,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(o),this.localParticipant.emit(L.LocalTrackPublished,o)}for(let o=0;o<s.count-1;o+=1){let a=new bn({sid:Math.floor(Math.random()*1e4).toString(),identity:"simulated-".concat(o),state:jn.ACTIVE,tracks:[],joinedAt:pe.parse(Date.now())});const c=this.getOrCreateParticipant(a.identity,a);if(s.video){const l=mu(160*((i=s.aspectRatios[o%s.aspectRatios.length])!==null&&i!==void 0?i:1),160,!1,!0),d=new Vn({source:Se.CAMERA,sid:Math.floor(Math.random()*1e4).toString(),type:rt.AUDIO});c.addSubscribedMediaTrack(l,d.sid,new MediaStream([l]),new RTCRtpReceiver),a.tracks=[...a.tracks,d]}if(s.audio){const l=So(),d=new Vn({source:Se.MICROPHONE,sid:Math.floor(Math.random()*1e4).toString(),type:rt.AUDIO});c.addSubscribedMediaTrack(l,d.sid,new MediaStream([l]),new RTCRtpReceiver),a.tracks=[...a.tracks,d]}c.updateInfo(a)}})}emit(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];if(e!==I.ActiveSpeakersChanged&&e!==I.TranscriptionReceived){const s=Gu(i).filter(o=>o!==void 0);this.log.debug("room event ".concat(e),Object.assign(Object.assign({},this.logContext),{event:e,args:s}))}return super.emit(e,...i)}}Qn.cleanupRegistry=typeof FinalizationRegistry<"u"&&new FinalizationRegistry(t=>{t()});function Gu(t){return t.map(e=>{if(e)return Array.isArray(e)?Gu(e):typeof e=="object"?"logContext"in e?e.logContext:void 0:e})}var dt;(function(t){t[t.IDLE=0]="IDLE",t[t.RUNNING=1]="RUNNING",t[t.SKIPPED=2]="SKIPPED",t[t.SUCCESS=3]="SUCCESS",t[t.FAILED=4]="FAILED"})(dt||(dt={}));class an extends kt.EventEmitter{constructor(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(),this.status=dt.IDLE,this.logs=[],this.options={},this.url=e,this.token=n,this.name=this.constructor.name,this.room=new Qn(i.roomOptions),this.connectOptions=i.connectOptions,this.options=i}run(e){return y(this,void 0,void 0,function*(){if(this.status!==dt.IDLE)throw Error("check is running already");this.setStatus(dt.RUNNING);try{yield this.perform()}catch(n){n instanceof Error&&(this.options.errorsAsWarnings?this.appendWarning(n.message):this.appendError(n.message))}return yield this.disconnect(),yield new Promise(n=>setTimeout(n,500)),this.status!==dt.SKIPPED&&this.setStatus(this.isSuccess()?dt.SUCCESS:dt.FAILED),e&&e(),this.getInfo()})}isSuccess(){return!this.logs.some(e=>e.level==="error")}connect(e){return y(this,void 0,void 0,function*(){return this.room.state===Z.Connected?this.room:(e||(e=this.url),yield this.room.connect(e,this.token,this.connectOptions),this.room)})}disconnect(){return y(this,void 0,void 0,function*(){this.room&&this.room.state!==Z.Disconnected&&(yield this.room.disconnect(),yield new Promise(e=>setTimeout(e,500)))})}skip(){this.setStatus(dt.SKIPPED)}switchProtocol(e){return y(this,void 0,void 0,function*(){let n=!1,i=!1;if(this.room.on(I.Reconnecting,()=>{n=!0}),this.room.once(I.Reconnected,()=>{i=!0}),this.room.simulateScenario("force-".concat(e)),yield new Promise(s=>setTimeout(s,1e3)),!n)return;const r=Date.now()+1e4;for(;Date.now()<r;){if(i)return;yield qe(100)}throw new Error("Could not reconnect using ".concat(e," protocol after 10 seconds"))})}appendMessage(e){this.logs.push({level:"info",message:e}),this.emit("update",this.getInfo())}appendWarning(e){this.logs.push({level:"warning",message:e}),this.emit("update",this.getInfo())}appendError(e){this.logs.push({level:"error",message:e}),this.emit("update",this.getInfo())}setStatus(e){this.status=e,this.emit("update",this.getInfo())}get engine(){var e;return(e=this.room)===null||e===void 0?void 0:e.engine}getInfo(){return{logs:this.logs,name:this.name,status:this.status,description:this.description}}}class T0 extends an{get description(){return"Cloud regions"}perform(){return y(this,void 0,void 0,function*(){const e=new Go(this.url,this.token);if(!e.isCloud()){this.skip();return}const n=[],i=new Set;for(let s=0;s<3;s++){const o=yield e.getNextBestRegionUrl();if(!o)break;if(i.has(o))continue;i.add(o);const a=yield this.checkCloudRegion(o);this.appendMessage("".concat(a.region," RTT: ").concat(a.rtt,"ms, duration: ").concat(a.duration,"ms")),n.push(a)}n.sort((s,o)=>(s.duration-o.duration)*.5+(s.rtt-o.rtt)*.5);const r=n[0];this.bestStats=r,this.appendMessage("best Cloud region: ".concat(r.region))})}getInfo(){const e=super.getInfo();return e.data=this.bestStats,e}checkCloudRegion(e){return y(this,void 0,void 0,function*(){var n,i;yield this.connect(e),this.options.protocol==="tcp"&&(yield this.switchProtocol("tcp"));const r=(n=this.room.serverInfo)===null||n===void 0?void 0:n.region;if(!r)throw new Error("Region not found");const s=yield this.room.localParticipant.streamText({topic:"test"}),o=1e3,c=1e6/o,l="A".repeat(o),d=Date.now();for(let m=0;m<c;m++)yield s.write(l);yield s.close();const u=Date.now(),h=yield(i=this.room.engine.pcManager)===null||i===void 0?void 0:i.publisher.getStats(),f={region:r,rtt:1e4,duration:u-d};return h==null||h.forEach(m=>{m.type==="candidate-pair"&&m.nominated&&(f.rtt=m.currentRoundTripTime*1e3)}),yield this.disconnect(),f})}}const Qo=1e4;class _0 extends an{get description(){return"Connection via UDP vs TCP"}perform(){return y(this,void 0,void 0,function*(){const e=yield this.checkConnectionProtocol("udp"),n=yield this.checkConnectionProtocol("tcp");this.bestStats=e,e.qualityLimitationDurations.bandwidth-n.qualityLimitationDurations.bandwidth>.5||(e.packetsLost-n.packetsLost)/e.packetsSent>.01?(this.appendMessage("best connection quality via tcp"),this.bestStats=n):this.appendMessage("best connection quality via udp");const i=this.bestStats;this.appendMessage("upstream bitrate: ".concat((i.bitrateTotal/i.count/1e3/1e3).toFixed(2)," mbps")),this.appendMessage("RTT: ".concat((i.rttTotal/i.count*1e3).toFixed(2)," ms")),this.appendMessage("jitter: ".concat((i.jitterTotal/i.count*1e3).toFixed(2)," ms")),i.packetsLost>0&&this.appendWarning("packets lost: ".concat((i.packetsLost/i.packetsSent*100).toFixed(2),"%")),i.qualityLimitationDurations.bandwidth>1&&this.appendWarning("bandwidth limited ".concat((i.qualityLimitationDurations.bandwidth/(Qo/1e3)*100).toFixed(2),"%")),i.qualityLimitationDurations.cpu>0&&this.appendWarning("cpu limited ".concat((i.qualityLimitationDurations.cpu/(Qo/1e3)*100).toFixed(2),"%"))})}getInfo(){const e=super.getInfo();return e.data=this.bestStats,e}checkConnectionProtocol(e){return y(this,void 0,void 0,function*(){yield this.connect(),e==="tcp"?yield this.switchProtocol("tcp"):yield this.switchProtocol("udp");const n=document.createElement("canvas");n.width=1280,n.height=720;const i=n.getContext("2d");if(!i)throw new Error("Could not get canvas context");let r=0;const s=()=>{r=(r+1)%360,i.fillStyle="hsl(".concat(r,", 100%, 50%)"),i.fillRect(0,0,n.width,n.height),requestAnimationFrame(s)};s();const a=n.captureStream(30).getVideoTracks()[0],l=(yield this.room.localParticipant.publishTrack(a,{simulcast:!1,degradationPreference:"maintain-resolution",videoEncoding:{maxBitrate:2e6}})).track,d={protocol:e,packetsLost:0,packetsSent:0,qualityLimitationDurations:{},rttTotal:0,jitterTotal:0,bitrateTotal:0,count:0},u=setInterval(()=>y(this,void 0,void 0,function*(){const h=yield l.getRTCStatsReport();h==null||h.forEach(f=>{f.type==="outbound-rtp"?(d.packetsSent=f.packetsSent,d.qualityLimitationDurations=f.qualityLimitationDurations,d.bitrateTotal+=f.targetBitrate,d.count++):f.type==="remote-inbound-rtp"&&(d.packetsLost=f.packetsLost,d.rttTotal+=f.roundTripTime,d.jitterTotal+=f.jitter)})}),1e3);return yield new Promise(h=>setTimeout(h,Qo)),clearInterval(u),a.stop(),n.remove(),yield this.disconnect(),d})}}class S0 extends an{get description(){return"Can publish audio"}perform(){return y(this,void 0,void 0,function*(){var e;const n=yield this.connect(),i=yield v0();if(yield bu(i,1e3))throw new Error("unable to detect audio from microphone");this.appendMessage("detected audio from microphone"),n.localParticipant.publishTrack(i),yield new Promise(a=>setTimeout(a,3e3));const s=yield(e=i.sender)===null||e===void 0?void 0:e.getStats();if(!s)throw new Error("Could not get RTCStats");let o=0;if(s.forEach(a=>{a.type==="outbound-rtp"&&(a.kind==="audio"||!a.kind&&a.mediaType==="audio")&&(o=a.packetsSent)}),o===0)throw new Error("Could not determine packets are sent");this.appendMessage("published ".concat(o," audio packets"))})}}class x0 extends an{get description(){return"Can publish video"}perform(){return y(this,void 0,void 0,function*(){var e;const n=yield this.connect(),i=yield g0();yield this.checkForVideo(i.mediaStreamTrack),n.localParticipant.publishTrack(i),yield new Promise(o=>setTimeout(o,5e3));const r=yield(e=i.sender)===null||e===void 0?void 0:e.getStats();if(!r)throw new Error("Could not get RTCStats");let s=0;if(r.forEach(o=>{o.type==="outbound-rtp"&&(o.kind==="video"||!o.kind&&o.mediaType==="video")&&(s+=o.packetsSent)}),s===0)throw new Error("Could not determine packets are sent");this.appendMessage("published ".concat(s," video packets"))})}checkForVideo(e){return y(this,void 0,void 0,function*(){const n=new MediaStream;n.addTrack(e.clone());const i=document.createElement("video");i.srcObject=n,i.muted=!0,yield new Promise(r=>{i.onplay=()=>{setTimeout(()=>{var s,o,a,c;const l=document.createElement("canvas"),d=e.getSettings(),u=(o=(s=d.width)!==null&&s!==void 0?s:i.videoWidth)!==null&&o!==void 0?o:1280,h=(c=(a=d.height)!==null&&a!==void 0?a:i.videoHeight)!==null&&c!==void 0?c:720;l.width=u,l.height=h;const f=l.getContext("2d");f.drawImage(i,0,0);const p=f.getImageData(0,0,l.width,l.height).data;let g=!0;for(let b=0;b<p.length;b+=4)if(p[b]!==0||p[b+1]!==0||p[b+2]!==0){g=!1;break}g?this.appendError("camera appears to be producing only black frames"):this.appendMessage("received video frames"),r()},1e3)},i.play()}),i.remove()})}}class E0 extends an{get description(){return"Resuming connection after interruption"}perform(){return y(this,void 0,void 0,function*(){var e;const n=yield this.connect();let i=!1,r=!1,s;const o=new Promise(l=>{setTimeout(l,5e3),s=l}),a=()=>{i=!0};n.on(I.SignalReconnecting,a).on(I.Reconnecting,a).on(I.Reconnected,()=>{r=!0,s(!0)}),(e=n.engine.client.ws)===null||e===void 0||e.close();const c=n.engine.client.onClose;if(c&&c(""),yield o,i){if(!r||n.state!==Z.Connected)throw this.appendWarning("reconnection is only possible in Redis-based configurations"),new Error("Not able to reconnect")}else throw new Error("Did not attempt to reconnect")})}}class P0 extends an{get description(){return"Can connect via TURN"}perform(){return y(this,void 0,void 0,function*(){var e,n;const i=new Mo,r=yield i.join(this.url,this.token,{autoSubscribe:!0,maxRetries:0,e2eeEnabled:!1,websocketTimeout:15e3});let s=!1,o=!1,a=!1;for(let c of r.iceServers)for(let l of c.urls)l.startsWith("turn:")?(o=!0,a=!0):l.startsWith("turns:")&&(o=!0,a=!0,s=!0),l.startsWith("stun:")&&(a=!0);a?o&&!s&&this.appendWarning("TURN is configured server side, but TURN/TLS is unavailable."):this.appendWarning("No STUN servers configured on server side."),yield i.close(),!((n=(e=this.connectOptions)===null||e===void 0?void 0:e.rtcConfig)===null||n===void 0)&&n.iceServers||o?yield this.room.connect(this.url,this.token,{rtcConfig:{iceTransportPolicy:"relay"}}):(this.appendWarning("No TURN servers configured."),this.skip(),yield new Promise(c=>setTimeout(c,0)))})}}class R0 extends an{get description(){return"Establishing WebRTC connection"}perform(){return y(this,void 0,void 0,function*(){let e=!1,n=!1;this.room.on(I.SignalConnected,()=>{const i=this.room.engine.client.onTrickle;this.room.engine.client.onTrickle=(r,s)=>{if(r.candidate){const o=new RTCIceCandidate(r);let a="".concat(o.protocol," ").concat(o.address,":").concat(o.port," ").concat(o.type);o.address&&(I0(o.address)?a+=" (private)":o.protocol==="tcp"&&o.tcpType==="passive"?(e=!0,a+=" (passive)"):o.protocol==="udp"&&(n=!0)),this.appendMessage(a)}i&&i(r,s)},this.room.engine.pcManager&&(this.room.engine.pcManager.subscriber.onIceCandidateError=r=>{r instanceof RTCPeerConnectionIceErrorEvent&&this.appendWarning("error with ICE candidate: ".concat(r.errorCode," ").concat(r.errorText," ").concat(r.url))})});try{yield this.connect(),X.info("now the room is connected")}catch(i){throw this.appendWarning("ports need to be open on firewall in order to connect."),i}e||this.appendWarning("Server is not configured for ICE/TCP"),n||this.appendWarning("No public IPv4 UDP candidates were found. Your server is likely not configured correctly")})}}function I0(t){const e=t.split(".");if(e.length===4){if(e[0]==="10")return!0;if(e[0]==="192"&&e[1]==="168")return!0;if(e[0]==="172"){const n=parseInt(e[1],10);if(n>=16&&n<=31)return!0}}return!1}class O0 extends an{get description(){return"Connecting to signal connection via WebSocket"}perform(){return y(this,void 0,void 0,function*(){var e,n,i;(this.url.startsWith("ws:")||this.url.startsWith("http:"))&&this.appendWarning("Server is insecure, clients may block connections to it");let r=new Mo;const s=yield r.join(this.url,this.token,{autoSubscribe:!0,maxRetries:0,e2eeEnabled:!1,websocketTimeout:15e3});this.appendMessage("Connected to server, version ".concat(s.serverVersion,".")),((e=s.serverInfo)===null||e===void 0?void 0:e.edition)===Kl.Cloud&&(!((n=s.serverInfo)===null||n===void 0)&&n.region)&&this.appendMessage("LiveKit Cloud: ".concat((i=s.serverInfo)===null||i===void 0?void 0:i.region)),yield r.close()})}}class kw extends kt.EventEmitter{constructor(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(),this.options={},this.checkResults=new Map,this.url=e,this.token=n,this.options=i}getNextCheckId(){const e=this.checkResults.size;return this.checkResults.set(e,{logs:[],status:dt.IDLE,name:"",description:""}),e}updateCheck(e,n){this.checkResults.set(e,n),this.emit("checkUpdate",e,n)}isSuccess(){return Array.from(this.checkResults.values()).every(e=>e.status!==dt.FAILED)}getResults(){return Array.from(this.checkResults.values())}createAndRunCheck(e){return y(this,void 0,void 0,function*(){const n=this.getNextCheckId(),i=new e(this.url,this.token,this.options),r=o=>{this.updateCheck(n,o)};i.on("update",r);const s=yield i.run();return i.off("update",r),s})}checkWebsocket(){return y(this,void 0,void 0,function*(){return this.createAndRunCheck(O0)})}checkWebRTC(){return y(this,void 0,void 0,function*(){return this.createAndRunCheck(R0)})}checkTURN(){return y(this,void 0,void 0,function*(){return this.createAndRunCheck(P0)})}checkReconnect(){return y(this,void 0,void 0,function*(){return this.createAndRunCheck(E0)})}checkPublishAudio(){return y(this,void 0,void 0,function*(){return this.createAndRunCheck(S0)})}checkPublishVideo(){return y(this,void 0,void 0,function*(){return this.createAndRunCheck(x0)})}checkConnectionProtocol(){return y(this,void 0,void 0,function*(){const e=yield this.createAndRunCheck(_0);if(e.data&&"protocol"in e.data){const n=e.data;this.options.protocol=n.protocol}return e})}checkCloudRegion(){return y(this,void 0,void 0,function*(){return this.createAndRunCheck(T0)})}}function Nr(){return Nr=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)({}).hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},Nr.apply(null,arguments)}const Ju=new Uint8Array(0);class Ai{static getFullOptions(e){return Nr({clientTools:{},onConnect:()=>{},onDebug:()=>{},onDisconnect:()=>{},onError:()=>{},onMessage:()=>{},onAudio:()=>{},onModeChange:()=>{},onStatusChange:()=>{},onCanSendFeedbackChange:()=>{}},e)}constructor(e,n){var i=this;this.options=void 0,this.connection=void 0,this.lastInterruptTimestamp=0,this.mode="listening",this.status="connecting",this.volume=1,this.currentEventId=1,this.lastFeedbackEventId=1,this.canSendFeedback=!1,this.endSessionWithDetails=async function(r){i.status!=="connected"&&i.status!=="connecting"||(i.updateStatus("disconnecting"),await i.handleEndSession(),i.updateStatus("disconnected"),i.options.onDisconnect(r))},this.onMessage=async function(r){switch(r.type){case"interruption":return void i.handleInterruption(r);case"agent_response":return void i.handleAgentResponse(r);case"user_transcript":return void i.handleUserTranscript(r);case"internal_tentative_agent_response":return void i.handleTentativeAgentResponse(r);case"client_tool_call":return void await i.handleClientToolCall(r);case"audio":return void i.handleAudio(r);case"ping":return void i.connection.sendMessage({type:"pong",event_id:r.ping_event.event_id});default:return void i.options.onDebug(r)}},this.setVolume=({volume:r})=>{this.volume=r},this.options=e,this.connection=n,this.options.onConnect({conversationId:n.conversationId}),this.connection.onMessage(this.onMessage),this.connection.onDisconnect(this.endSessionWithDetails),this.updateStatus("connected")}endSession(){return this.endSessionWithDetails({reason:"user"})}async handleEndSession(){this.connection.close()}updateMode(e){e!==this.mode&&(this.mode=e,this.options.onModeChange({mode:e}))}updateStatus(e){e!==this.status&&(this.status=e,this.options.onStatusChange({status:e}))}updateCanSendFeedback(){const e=this.currentEventId!==this.lastFeedbackEventId;this.canSendFeedback!==e&&(this.canSendFeedback=e,this.options.onCanSendFeedbackChange({canSendFeedback:e}))}handleInterruption(e){e.interruption_event&&(this.lastInterruptTimestamp=e.interruption_event.event_id)}handleAgentResponse(e){this.options.onMessage({source:"ai",message:e.agent_response_event.agent_response})}handleUserTranscript(e){this.options.onMessage({source:"user",message:e.user_transcription_event.user_transcript})}handleTentativeAgentResponse(e){this.options.onDebug({type:"tentative_agent_response",response:e.tentative_agent_response_internal_event.tentative_agent_response})}async handleClientToolCall(e){if(Object.prototype.hasOwnProperty.call(this.options.clientTools,e.client_tool_call.tool_name))try{var n;const i=(n=await this.options.clientTools[e.client_tool_call.tool_name](e.client_tool_call.parameters))!=null?n:"Client tool execution successful.",r=typeof i=="object"?JSON.stringify(i):String(i);this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:r,is_error:!1})}catch(i){this.onError(`Client tool execution failed with following error: ${i==null?void 0:i.message}`,{clientToolName:e.client_tool_call.tool_name}),this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:`Client tool execution failed: ${i==null?void 0:i.message}`,is_error:!0})}else{if(this.options.onUnhandledClientToolCall)return void this.options.onUnhandledClientToolCall(e.client_tool_call);this.onError(`Client tool with name ${e.client_tool_call.tool_name} is not defined on client`,{clientToolName:e.client_tool_call.tool_name}),this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:`Client tool with name ${e.client_tool_call.tool_name} is not defined on client`,is_error:!0})}}handleAudio(e){}onError(e,n){console.error(e,n),this.options.onError(e,n)}getId(){return this.connection.conversationId}isOpen(){return this.status==="connected"}setMicMuted(e){}getInputByteFrequencyData(){return Ju}getOutputByteFrequencyData(){return Ju}getInputVolume(){return 0}getOutputVolume(){return 0}sendFeedback(e){this.canSendFeedback?(this.connection.sendMessage({type:"feedback",score:e?"like":"dislike",event_id:this.currentEventId}),this.lastFeedbackEventId=this.currentEventId,this.updateCanSendFeedback()):console.warn(this.lastFeedbackEventId===0?"Cannot send feedback: the conversation has not started yet.":"Cannot send feedback: feedback has already been sent for the current response.")}sendContextualUpdate(e){this.connection.sendMessage({type:"contextual_update",text:e})}sendUserMessage(e){this.connection.sendMessage({type:"user_message",text:e})}sendUserActivity(){this.connection.sendMessage({type:"user_activity"})}sendMCPToolApprovalResult(e,n){this.connection.sendMessage({type:"mcp_tool_approval_result",tool_call_id:e,is_approved:n})}}let Yu=class{constructor(){this.queue=[],this.disconnectionDetails=null,this.onDisconnectCallback=null,this.onMessageCallback=null}onMessage(e){this.onMessageCallback=e;const n=this.queue;this.queue=[],n.length>0&&queueMicrotask(()=>{n.forEach(e)})}onDisconnect(e){this.onDisconnectCallback=e;const n=this.disconnectionDetails;n&&queueMicrotask(()=>{e(n)})}disconnect(e){var n;this.disconnectionDetails||(this.disconnectionDetails=e,(n=this.onDisconnectCallback)==null||n.call(this,e))}handleMessage(e){this.onMessageCallback?this.onMessageCallback(e):this.queue.push(e)}};function Lr(t){const[e,n]=t.split("_");if(!["pcm","ulaw"].includes(e))throw new Error(`Invalid format: ${t}`);const i=Number.parseInt(n);if(Number.isNaN(i))throw new Error(`Invalid sample rate: ${n}`);return{format:e,sampleRate:i}}function Zo(t){return!!t.type}function Xu(t){const e={type:"conversation_initiation_client_data"};var n,i,r,s,o;return t.overrides&&(e.conversation_config_override={agent:{prompt:(n=t.overrides.agent)==null?void 0:n.prompt,first_message:(i=t.overrides.agent)==null?void 0:i.firstMessage,language:(r=t.overrides.agent)==null?void 0:r.language},tts:{voice_id:(s=t.overrides.tts)==null?void 0:s.voiceId},conversation:{text_only:(o=t.overrides.conversation)==null?void 0:o.textOnly}}),t.customLlmExtraBody&&(e.custom_llm_extra_body=t.customLlmExtraBody),t.dynamicVariables&&(e.dynamic_variables=t.dynamicVariables),e}class ea extends Yu{constructor(e,n,i,r){super(),this.socket=void 0,this.conversationId=void 0,this.inputFormat=void 0,this.outputFormat=void 0,this.socket=e,this.conversationId=n,this.inputFormat=i,this.outputFormat=r,this.socket.addEventListener("error",s=>{setTimeout(()=>this.disconnect({reason:"error",message:"The connection was closed due to a socket error.",context:s}),0)}),this.socket.addEventListener("close",s=>{this.disconnect(s.code===1e3?{reason:"agent",context:s}:{reason:"error",message:s.reason||"The connection was closed by the server.",context:s})}),this.socket.addEventListener("message",s=>{try{const o=JSON.parse(s.data);if(!Zo(o))return;this.handleMessage(o)}catch{}})}static async create(e){let n=null;try{var i;const s=(i=e.origin)!=null?i:"wss://api.elevenlabs.io",o=e.signedUrl?e.signedUrl:s+"/v1/convai/conversation?agent_id="+e.agentId,a=["convai"];e.authorization&&a.push(`bearer.${e.authorization}`),n=new WebSocket(o,a);const c=await new Promise((m,p)=>{n.addEventListener("open",()=>{var g;const b=Xu(e);(g=n)==null||g.send(JSON.stringify(b))},{once:!0}),n.addEventListener("error",g=>{setTimeout(()=>p(g),0)}),n.addEventListener("close",p),n.addEventListener("message",g=>{const b=JSON.parse(g.data);Zo(b)&&(b.type==="conversation_initiation_metadata"?m(b.conversation_initiation_metadata_event):console.warn("First received message is not conversation metadata."))},{once:!0})}),{conversation_id:l,agent_output_audio_format:d,user_input_audio_format:u}=c,h=Lr(u??"pcm_16000"),f=Lr(d);return new ea(n,l,h,f)}catch(s){var r;throw(r=n)==null||r.close(),s}}close(){this.socket.close()}sendMessage(e){this.socket.send(JSON.stringify(e))}}class ta extends Yu{constructor(e,n,i,r){super(),this.conversationId=void 0,this.inputFormat=void 0,this.outputFormat=void 0,this.room=void 0,this.isConnected=!1,this.room=e,this.conversationId=n,this.inputFormat=i,this.outputFormat=r,this.setupRoomEventListeners()}static async create(e){let n;if("conversationToken"in e&&e.conversationToken)n=e.conversationToken;else{if(!("agentId"in e)||!e.agentId)throw new Error("Either conversationToken or agentId is required for WebRTC connection");try{const r=await fetch(`https://api.elevenlabs.io/v1/convai/conversation/token?agent_id=${e.agentId}`);if(!r.ok)throw new Error(`ElevenLabs API returned ${r.status} ${r.statusText}`);if(n=(await r.json()).token,!n)throw new Error("No conversation token received from API")}catch(r){let s=r instanceof Error?r.message:String(r);throw r instanceof Error&&r.message.includes("401")&&(s="Your agent has authentication enabled, but no signed URL or conversation token was provided."),new Error(`Failed to fetch conversation token for agent ${e.agentId}: ${s}`)}}const i=new Qn;try{const r=`webrtc-${Date.now()}`,s=Lr("pcm_48000"),o=Lr("pcm_48000"),a=new ta(i,r,s,o);let c=e.livekitUrl||"wss://livekit.rtc.elevenlabs.io";await i.connect(c,n),await new Promise(d=>{if(a.isConnected)d();else{const u=()=>{i.off(I.Connected,u),d()};i.on(I.Connected,u)}}),i.name&&(a.conversationId=i.name),await i.localParticipant.setMicrophoneEnabled(!0);const l=Xu(e);return await a.sendMessage(l),a}catch(r){throw await i.disconnect(),r}}setupRoomEventListeners(){var e=this;this.room.on(I.Connected,async function(){e.isConnected=!0,console.info("WebRTC room connected")}),this.room.on(I.Disconnected,n=>{this.isConnected=!1,this.disconnect({reason:"agent",context:new CloseEvent("close",{reason:n==null?void 0:n.toString()})})}),this.room.on(I.ConnectionStateChanged,n=>{n===Z.Disconnected&&(this.isConnected=!1,this.disconnect({reason:"error",message:`LiveKit connection state changed to ${n}`,context:new Event("connection_state_changed")}))}),this.room.on(I.DataReceived,(n,i)=>{try{const r=JSON.parse(new TextDecoder().decode(n));if(r.type==="audio")return;Zo(r)?this.handleMessage(r):console.warn("Invalid socket event received:",r)}catch(r){console.warn("Failed to parse incoming data message:",r),console.warn("Raw payload:",new TextDecoder().decode(n))}}),this.room.on(I.TrackSubscribed,async function(n,i,r){if(n.kind===P.Kind.Audio&&r.identity.includes("agent")){const s=n.attach();s.autoplay=!0,s.controls=!1,s.style.display="none",document.body.appendChild(s)}})}close(){this.isConnected&&this.room.disconnect()}async sendMessage(e){if(this.isConnected&&this.room.localParticipant){if(!("user_audio_chunk"in e))try{const n=new TextEncoder().encode(JSON.stringify(e));await this.room.localParticipant.publishData(n,{reliable:!0})}catch(n){console.error("Failed to send message via WebRTC:",n),console.error("Error details:",n)}}else console.warn("Cannot send message: room not connected or no local participant")}getRoom(){return this.room}}async function Qu(t){const e=function(n){return n.connectionType?n.connectionType:"conversationToken"in n&&n.conversationToken?"webrtc":"websocket"}(t);switch(e){case"websocket":return ea.create(t);case"webrtc":return ta.create(t);default:throw new Error(`Unknown connection type: ${e}`)}}function Zu(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}async function eh(t={default:0,android:3e3}){let e=t.default;var n;if(/android/i.test(navigator.userAgent))e=(n=t.android)!=null?n:e;else if(Zu()){var i;e=(i=t.ios)!=null?i:e}e>0&&await new Promise(r=>setTimeout(r,e))}class na extends Ai{static async startSession(e){const n=Ai.getFullOptions(e);n.onStatusChange({status:"connecting"}),n.onCanSendFeedbackChange({canSendFeedback:!1});let i=null;try{return await eh(n.connectionDelay),i=await Qu(e),new na(n,i)}catch(s){var r;throw n.onStatusChange({status:"disconnected"}),(r=i)==null||r.close(),s}}}function D0(t){const e=new Uint8Array(t);return window.btoa(String.fromCharCode(...e))}function M0(t){const e=window.atob(t),n=e.length,i=new Uint8Array(n);for(let r=0;r<n;r++)i[r]=e.charCodeAt(r);return i.buffer}const ia=new Map;function th(t,e){return async n=>{const i=ia.get(t);if(i)return n.addModule(i);const r=new Blob([e],{type:"application/javascript"}),s=URL.createObjectURL(r);try{return await n.addModule(s),void ia.set(t,s)}catch{URL.revokeObjectURL(s)}try{const o=`data:application/javascript;base64,${btoa(e)}`;await n.addModule(o),ia.set(t,o)}catch{throw new Error(`Failed to load the ${t} worklet module. Make sure the browser supports AudioWorklets.`)}}}const A0=th("raw-audio-processor",`
2
39
  const BIAS = 0x84;
3
40
  const CLIP = 32635;
4
41
  const encodeTable = [
@@ -117,7 +154,7 @@ class RawAudioProcessor extends AudioWorkletProcessor {
117
154
  }
118
155
  }
119
156
  registerProcessor("raw-audio-processor", RawAudioProcessor);
120
- `);class fr{static async create({sampleRate:t,format:n,preferHeadphonesForIosDevices:r}){let o=null,a=null;try{const l={sampleRate:{ideal:t},echoCancellation:{ideal:!0},noiseSuppression:{ideal:!0}};if(ga()&&r){const h=(await window.navigator.mediaDevices.enumerateDevices()).find(g=>g.kind==="audioinput"&&["airpod","headphone","earphone"].find(p=>g.label.toLowerCase().includes(p)));h&&(l.deviceId={ideal:h.deviceId})}const c=navigator.mediaDevices.getSupportedConstraints().sampleRate;o=new window.AudioContext(c?{sampleRate:t}:{});const f=o.createAnalyser();c||await o.audioWorklet.addModule("https://cdn.jsdelivr.net/npm/@alexanderolsen/libsamplerate-js@2.1.2/dist/libsamplerate.worklet.js"),await fl(o.audioWorklet),a=await navigator.mediaDevices.getUserMedia({audio:l});const u=o.createMediaStreamSource(a),v=new AudioWorkletNode(o,"raw-audio-processor");return v.port.postMessage({type:"setFormat",format:n,sampleRate:t}),u.connect(f),f.connect(v),await o.resume(),new fr(o,f,v,a)}catch(l){var i,s;throw(i=a)==null||i.getTracks().forEach(c=>c.stop()),(s=o)==null||s.close(),l}}constructor(t,n,r,o){this.context=void 0,this.analyser=void 0,this.worklet=void 0,this.inputStream=void 0,this.context=t,this.analyser=n,this.worklet=r,this.inputStream=o}async close(){this.inputStream.getTracks().forEach(t=>t.stop()),await this.context.close()}setMuted(t){this.worklet.port.postMessage({type:"setMuted",isMuted:t})}}const pl=wa("audio-concat-processor",`
157
+ `);class ra{static async create({sampleRate:e,format:n,preferHeadphonesForIosDevices:i}){let r=null,s=null;try{const c={sampleRate:{ideal:e},echoCancellation:{ideal:!0},noiseSuppression:{ideal:!0}};if(Zu()&&i){const f=(await window.navigator.mediaDevices.enumerateDevices()).find(m=>m.kind==="audioinput"&&["airpod","headphone","earphone"].find(p=>m.label.toLowerCase().includes(p)));f&&(c.deviceId={ideal:f.deviceId})}const l=navigator.mediaDevices.getSupportedConstraints().sampleRate;r=new window.AudioContext(l?{sampleRate:e}:{});const d=r.createAnalyser();l||await r.audioWorklet.addModule("https://cdn.jsdelivr.net/npm/@alexanderolsen/libsamplerate-js@2.1.2/dist/libsamplerate.worklet.js"),await A0(r.audioWorklet),s=await navigator.mediaDevices.getUserMedia({audio:c});const u=r.createMediaStreamSource(s),h=new AudioWorkletNode(r,"raw-audio-processor");return h.port.postMessage({type:"setFormat",format:n,sampleRate:e}),u.connect(d),d.connect(h),await r.resume(),new ra(r,d,h,s)}catch(c){var o,a;throw(o=s)==null||o.getTracks().forEach(l=>l.stop()),(a=r)==null||a.close(),c}}constructor(e,n,i,r){this.context=void 0,this.analyser=void 0,this.worklet=void 0,this.inputStream=void 0,this.context=e,this.analyser=n,this.worklet=i,this.inputStream=r}async close(){this.inputStream.getTracks().forEach(e=>e.stop()),await this.context.close()}setMuted(e){this.worklet.port.postMessage({type:"setMuted",isMuted:e})}}const N0=th("audio-concat-processor",`
121
158
  const decodeTable = [0,132,396,924,1980,4092,8316,16764];
122
159
 
123
160
  export function decodeSample(muLawSample) {
@@ -204,10 +241,10 @@ class AudioConcatProcessor extends AudioWorkletProcessor {
204
241
  }
205
242
 
206
243
  registerProcessor("audio-concat-processor", AudioConcatProcessor);
207
- `);class pr{static async create({sampleRate:t,format:n}){let r=null;try{r=new AudioContext({sampleRate:t});const a=r.createAnalyser(),i=r.createGain();i.connect(a),a.connect(r.destination),await pl(r.audioWorklet);const s=new AudioWorkletNode(r,"audio-concat-processor");return s.port.postMessage({type:"setFormat",format:n}),s.connect(i),await r.resume(),new pr(r,a,i,s)}catch(a){var o;throw(o=r)==null||o.close(),a}}constructor(t,n,r,o){this.context=void 0,this.analyser=void 0,this.gain=void 0,this.worklet=void 0,this.context=t,this.analyser=n,this.gain=r,this.worklet=o}async close(){await this.context.close()}}class hr extends zt{static async startSession(t){var n;const r=zt.getFullOptions(t);r.onStatusChange({status:"connecting"}),r.onCanSendFeedbackChange({canSendFeedback:!1});let o=null,a=null,i=null,s=null,l=null;if((n=t.useWakeLock)==null||n)try{l=await navigator.wakeLock.request("screen")}catch{}try{var c;return s=await navigator.mediaDevices.getUserMedia({audio:!0}),await _a(r.connectionDelay),a=await un.create(t),[o,i]=await Promise.all([fr.create(cn({},a.inputFormat,{preferHeadphonesForIosDevices:t.preferHeadphonesForIosDevices})),pr.create(a.outputFormat)]),(c=s)==null||c.getTracks().forEach(p=>p.stop()),s=null,new hr(r,a,o,i,l)}catch(p){var f,u,v,h;r.onStatusChange({status:"disconnected"}),(f=s)==null||f.getTracks().forEach(m=>m.stop()),(u=a)==null||u.close(),await((v=o)==null?void 0:v.close()),await((h=i)==null?void 0:h.close());try{var g;await((g=l)==null?void 0:g.release()),l=null}catch{}throw p}}constructor(t,n,r,o,a){super(t,n),this.input=void 0,this.output=void 0,this.wakeLock=void 0,this.inputFrequencyData=void 0,this.outputFrequencyData=void 0,this.onInputWorkletMessage=i=>{this.status==="connected"&&this.connection.sendMessage({user_audio_chunk:ul(i.data[0].buffer)})},this.onOutputWorkletMessage=({data:i})=>{i.type==="process"&&this.updateMode(i.finished?"listening":"speaking")},this.addAudioBase64Chunk=i=>{this.output.gain.gain.value=this.volume,this.output.worklet.port.postMessage({type:"clearInterrupted"}),this.output.worklet.port.postMessage({type:"buffer",buffer:dl(i)})},this.fadeOutAudio=()=>{this.updateMode("listening"),this.output.worklet.port.postMessage({type:"interrupt"}),this.output.gain.gain.exponentialRampToValueAtTime(1e-4,this.output.context.currentTime+2),setTimeout(()=>{this.output.gain.gain.value=this.volume,this.output.worklet.port.postMessage({type:"clearInterrupted"})},2e3)},this.calculateVolume=i=>{if(i.length===0)return 0;let s=0;for(let l=0;l<i.length;l++)s+=i[l]/255;return s/=i.length,s<0?0:s>1?1:s},this.input=r,this.output=o,this.wakeLock=a,this.input.worklet.port.onmessage=this.onInputWorkletMessage,this.output.worklet.port.onmessage=this.onOutputWorkletMessage}async handleEndSession(){await super.handleEndSession();try{var t;await((t=this.wakeLock)==null?void 0:t.release()),this.wakeLock=null}catch{}await this.input.close(),await this.output.close()}handleInterruption(t){super.handleInterruption(t),this.fadeOutAudio()}handleAudio(t){this.lastInterruptTimestamp<=t.audio_event.event_id&&(this.options.onAudio(t.audio_event.audio_base_64),this.addAudioBase64Chunk(t.audio_event.audio_base_64),this.currentEventId=t.audio_event.event_id,this.updateCanSendFeedback(),this.updateMode("speaking"))}setMicMuted(t){this.input.setMuted(t)}getInputByteFrequencyData(){return this.inputFrequencyData!=null||(this.inputFrequencyData=new Uint8Array(this.input.analyser.frequencyBinCount)),this.input.analyser.getByteFrequencyData(this.inputFrequencyData),this.inputFrequencyData}getOutputByteFrequencyData(){return this.outputFrequencyData!=null||(this.outputFrequencyData=new Uint8Array(this.output.analyser.frequencyBinCount)),this.output.analyser.getByteFrequencyData(this.outputFrequencyData),this.outputFrequencyData}getInputVolume(){return this.calculateVolume(this.getInputByteFrequencyData())}getOutputVolume(){return this.calculateVolume(this.getOutputByteFrequencyData())}}class hl extends zt{static startSession(t){return t.textOnly?ur.startSession(t):hr.startSession(t)}}function ya(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=ya(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function q(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=ya(e))&&(r&&(r+=" "),r+=t);return r}var vl=Object.defineProperty,ml=(e,t,n)=>t in e?vl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ue=(e,t,n)=>ml(e,typeof t!="symbol"?t+"":t,n);function mt(e){return e?e==="true"?!0:e==="false"?!1:null:null}const vr=["variant","placement","override-config","avatar-image-url","avatar-orb-color-1","avatar-orb-color-2","agent-id","signed-url","terms-key","server-location","language","dynamic-variables","show-avatar-when-collapsed","override-prompt","override-first-message","override-language","override-voice-id","override-text-only","mic-muting","transcript","text-input","text-contents"],gl='@import"https://fonts.googleapis.com/css2?family=Inter:wght@400,500&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-auto{pointer-events:auto}.\\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-3{bottom:-12px}.bottom-0{bottom:0}.bottom-20{bottom:80px}.left-0{left:0}.left-1\\/2{left:50%}.left-4{left:16px}.right-0{right:0}.top-0{top:0}.top-1\\/2{top:50%}.top-20{top:80px}.top-4{top:16px}.z-1{z-index:1}.z-10{z-index:10}.m-1{margin:4px}.-mx-0\\.5{margin-left:-2px;margin-right:-2px}.mx-1{margin-left:4px;margin-right:4px}.-mr-1\\.5{margin-right:-6px}.ml-auto{margin-left:auto}.mt-2{margin-top:8px}.block{display:block}.inline{display:inline}.\\!flex{display:flex!important}.flex{display:flex}.inline-flex{display:inline-flex}.contents{display:contents}.hidden{display:none}.h-11{height:44px}.h-16{height:64px}.h-4{height:16px}.h-48{height:192px}.h-5{height:20px}.h-6{height:24px}.h-9{height:36px}.h-\\[calc\\(100\\%-80px\\)\\]{height:calc(100% - 80px)}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[550px\\]{max-height:550px}.max-h-\\[8lh\\]{max-height:8lh}.max-h-\\[min\\(384px\\,var\\(--radix-select-content-available-height\\)\\)\\]{max-height:min(384px,var(--radix-select-content-available-height))}.min-h-min{min-height:-moz-min-content;min-height:min-content}.w-16{width:64px}.w-4{width:16px}.w-48{width:192px}.w-5{width:20px}.w-6{width:24px}.w-64{width:256px}.w-9{width:36px}.w-full{width:100%}.w-screen{width:100vw}.\\!min-w-60{min-width:240px!important}.min-w-0{min-width:0px}.min-w-60{min-width:240px}.min-w-9{min-width:36px}.min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.min-w-max{min-width:-moz-max-content;min-width:max-content}.min-w-min{min-width:-moz-min-content;min-width:min-content}.max-w-64{max-width:256px}.max-w-\\[400px\\]{max-width:400px}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-bottom{transform-origin:bottom}.origin-bottom-left{transform-origin:bottom left}.origin-bottom-right{transform-origin:bottom right}.origin-top{transform-origin:top}.origin-top-left{transform-origin:top left}.origin-top-right{transform-origin:top right}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\\[calc\\(var\\(--el-overlay-padding\\)\\)\\]{--tw-translate-y: calc(calc(var(--el-overlay-padding)) * -1);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[calc\\(var\\(--el-overlay-padding\\)\\)\\]{--tw-translate-y: calc(var(--el-overlay-padding));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate: -180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\\[0\\.333\\]{--tw-scale-x: .333;--tw-scale-y: .333;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-2\\.5{gap:10px}.gap-3{gap:12px}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded-\\[calc\\(var\\(--el-button-radius\\)\\+4px\\)\\]{border-radius:calc(var(--el-button-radius) + 4px)}.rounded-bubble{border-radius:var(--el-bubble-radius)}.rounded-button{border-radius:var(--el-button-radius)}.rounded-compact-sheet{border-radius:var(--el-compact-sheet-radius)}.rounded-dropdown-sheet{border-radius:var(--el-dropdown-sheet-radius)}.rounded-full{border-radius:9999px}.rounded-input{border-radius:var(--el-input-radius)}.rounded-sheet{border-radius:var(--el-sheet-radius)}.rounded-bl-\\[calc\\(var\\(--el-bubble-radius\\)\\/3\\)\\]{border-bottom-left-radius:calc(var(--el-bubble-radius) / 3)}.border{border-width:1px}.border-accent{border-color:var(--el-accent)}.border-base-border{border-color:var(--el-base-border)}.bg-accent{background-color:var(--el-accent)}.bg-base{background-color:var(--el-base)}.bg-base-active{background-color:var(--el-base-active)}.bg-base-border{background-color:var(--el-base-border)}.bg-base-hover{background-color:var(--el-base-hover)}.bg-cover{background-size:cover}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:4px}.p-1\\.5{padding:6px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.px-1{padding-left:4px;padding-right:4px}.px-1\\.5{padding-left:6px;padding-right:6px}.px-2{padding-left:8px;padding-right:8px}.px-2\\.5{padding-left:10px;padding-right:10px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-8{padding-left:32px;padding-right:32px}.py-1\\.5{padding-top:6px;padding-bottom:6px}.py-2\\.5{padding-top:10px;padding-bottom:10px}.py-\\[calc\\(theme\\(spacing\\.2\\)-1px\\)\\]{padding-top:7px;padding-bottom:7px}.pb-1{padding-bottom:4px}.pb-3{padding-bottom:12px}.pl-16{padding-left:64px}.pr-16{padding-right:64px}.pr-3{padding-right:12px}.pt-1{padding-top:4px}.text-center{text-align:center}.text-\\[10px\\]{font-size:10px}.text-lg{font-size:18px;line-height:26px}.text-md{font-size:16px;line-height:24px}.text-sm{font-size:14px;line-height:20px}.text-xs{font-size:12px;line-height:16px}.font-medium{font-weight:500}.text-accent-primary{color:var(--el-accent-primary)}.text-base-error{color:var(--el-base-error)}.text-base-primary{color:var(--el-base-primary)}.text-base-subtle{color:var(--el-base-subtle)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-30{opacity:.3}.shadow-lg{--tw-shadow: 0 2px 40px 1px rgba(0, 0, 0, .12);--tw-shadow-colored: 0 2px 40px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 2px 24px 1px rgba(0, 0, 0, .16);--tw-shadow-colored: 0 2px 24px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[border-radius\\]{transition-property:border-radius;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[margin\\]{transition-property:margin;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[opacity\\,width\\,height\\,transform\\,flex-grow\\]{transition-property:opacity,width,height,transform,flex-grow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[transform\\,left\\,top\\]{transition-property:transform,left,top;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.overlay{position:absolute;inset:var(--el-overlay-padding);right:calc(var(--el-overlay-padding) + var(--removed-body-scroll-bar-size, 0px))}.focus-ring{--tw-ring-color: var(--el-accent);--tw-ring-offset-width: 2px;--tw-ring-offset-color: var(--el-base)}.focus-ring:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.animate-text{background-image:linear-gradient(75deg,var(--el-base-primary),var(--el-base-subtle),var(--el-base-primary),var(--el-base-subtle));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:TextAnimation 2s linear infinite}@keyframes TextAnimation{0%{background-position:0 0}to{background-position:100% 0}}.\\!terms h6,.terms h6{font-size:12px;line-height:16px;font-weight:500;color:var(--el-base-primary)}.\\!terms h5,.terms h5{font-size:14px;line-height:20px;font-weight:500;color:var(--el-base-primary)}.\\!terms h4,.terms h4{font-size:16px;line-height:24px;font-weight:500;color:var(--el-base-primary)}.\\!terms h3,.terms h3{font-size:18px;line-height:26px;font-weight:500;color:var(--el-base-primary)}.\\!terms h2,.terms h2{font-size:20px;line-height:28px;font-weight:500;color:var(--el-base-primary)}.\\!terms h2,.terms h2{font-size:24px;line-height:30px;font-weight:500;color:var(--el-base-primary)}.\\[field-sizing\\:content\\]{field-sizing:content}.\\[line-height\\:var\\(--el-overlay-padding\\)\\]{line-height:var(--el-overlay-padding)}.\\[overflow-wrap\\:break-word\\]{overflow-wrap:break-word}.dev-host,:host{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;font-size:16px;line-height:24px;color:var(--el-base-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;scrollbar-color:#e5e7eb transparent}.placeholder\\:text-base-subtle::-moz-placeholder{color:var(--el-base-subtle)}.placeholder\\:text-base-subtle::placeholder{color:var(--el-base-subtle)}.hover\\:border-accent-hover:hover{border-color:var(--el-accent-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--el-accent-hover)}.hover\\:bg-base-hover:hover{background-color:var(--el-base-hover)}.hover\\:opacity-50:hover{opacity:.5}.focus-visible\\:underline-offset-2:focus-visible{text-underline-offset:2px}.focus-visible\\:opacity-100:focus-visible{opacity:1}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.active\\:border-accent-active:active{border-color:var(--el-accent-active)}.active\\:bg-accent-active:active{background-color:var(--el-accent-active)}.active\\:bg-base-active:active{background-color:var(--el-base-active)}.data-hidden\\:-translate-y-4[data-shown=false]{--tw-translate-y: -16px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-hidden\\:translate-y-2[data-shown=false]{--tw-translate-y: 8px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-hidden\\:scale-100[data-shown=false]{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-hidden\\:scale-75[data-shown=false]{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-hidden\\:scale-90[data-shown=false]{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-hidden\\:opacity-0[data-shown=false]{opacity:0}.data-\\[highlighted\\]\\:bg-base-active[data-highlighted]{background-color:var(--el-base-active)}',ba=["tiny","compact","full"];function _l(e){return ba.includes(e)?e:ba[0]}const wl=["top-left","top","top-right","bottom-left","bottom","bottom-right"];function yl(e){return wl.includes(e)?e:"bottom-right"}const xa={main_label:"Need help?",start_call:"Start a call",start_chat:"Start a chat",new_call:"New call",end_call:"End",mute_microphone:"Mute microphone",change_language:"Change language",collapse:"Collapse",expand:"Expand",copied:"Copied!",accept_terms:"Accept",dismiss_terms:"Cancel",listening_status:"Listening",speaking_status:"Talk to interrupt",connecting_status:"Connecting",chatting_status:"Chatting with AI Agent",input_label:"Text message input",input_placeholder:"Send a message",input_placeholder_text_only:"Send a message",input_placeholder_new_conversation:"Start a new conversation",user_ended_conversation:"You ended the conversation",agent_ended_conversation:"The agent ended the conversation",conversation_id:"ID",error_occurred:"An error occurred",copy_id:"Copy ID"},bl=Object.keys(xa),Ca={base:"#ffffff",base_hover:"#f9fafb",base_active:"#f3f4f6",base_border:"#e5e7eb",base_subtle:"#6b7280",base_primary:"#000000",base_error:"#ef4444",accent:"#000000",accent_hover:"#1f2937",accent_active:"#374151",accent_border:"#4b5563",accent_subtle:"#6b7280",accent_primary:"#ffffff",overlay_padding:32,button_radius:18,input_radius:10,bubble_radius:15,sheet_radius:"calc(var(--el-button-radius) + 6px)",compact_sheet_radius:"calc(var(--el-button-radius) + 12px)",dropdown_sheet_radius:"calc(var(--el-input-radius) + 6px)"},xl=Object.keys(Ca);function Ce(e){const t=We(e);if(t==null)throw new Error(`${e.displayName} cannot be used outside of provider`);return t}const ka=ie(null);function Cl({value:e,children:t}){const n=B(()=>Object.fromEntries(vr.map(r=>[r,ve(e[r])])),[]);return vr.forEach(r=>{n[r].value=e[r]}),d(ka.Provider,{value:n,children:t})}function kl(){return Ce(ka)}function Y(e){return kl()[e]}const Sa=ie(null);function Sl({children:e}){const t=Y("server-location"),n=B(()=>{const r=me(()=>El(t.value));return{location:r,serverUrl:me(()=>r.value==="us"?"https://api.us.elevenlabs.io":"https://api.elevenlabs.io"),webSocketUrl:me(()=>r.value==="us"?"wss://api.us.elevenlabs.io":"wss://api.elevenlabs.io")}},[]);return d(Sa.Provider,{value:n,children:e})}function Ea(){return Ce(Sa)}function El(e="us"){switch(e){case"us":case"global":return e;default:return console.warn(`[ConversationalAI] Invalid server-location: ${e}. Defaulting to "us"`),"us"}}const Ut={en:{name:"English",flagCode:"us",languageCode:"en"},zh:{name:"中文",flagCode:"cn",languageCode:"zh"},es:{name:"Español",flagCode:"es",languageCode:"es"},hi:{name:"हिन्दी",flagCode:"in",languageCode:"hi"},pt:{name:"Português (Portugal)",flagCode:"pt",languageCode:"pt"},"pt-br":{name:"Português (Brasil)",flagCode:"br",languageCode:"pt-br"},fr:{name:"Français",flagCode:"fr",languageCode:"fr"},de:{name:"Deutsch",flagCode:"de",languageCode:"de"},ja:{name:"日本語",flagCode:"jp",languageCode:"ja"},ar:{name:"العربية",flagCode:"ae",languageCode:"ar"},ru:{name:"Русский",flagCode:"ru",languageCode:"ru"},ko:{name:"한국어",flagCode:"kr",languageCode:"ko"},id:{name:"Bahasa Indonesia",flagCode:"id",languageCode:"id"},it:{name:"Italiano",flagCode:"it",languageCode:"it"},nl:{name:"Nederlands",flagCode:"nl",languageCode:"nl"},tr:{name:"Türkçe",flagCode:"tr",languageCode:"tr"},pl:{name:"Polski",flagCode:"pl",languageCode:"pl"},sv:{name:"Svenska",flagCode:"se",languageCode:"sv"},ms:{name:"Bahasa Melayu",flagCode:"my",languageCode:"ms"},ro:{name:"Română",flagCode:"ro",languageCode:"ro"},uk:{name:"Українська",flagCode:"ua",languageCode:"uk"},el:{name:"Ελληνικά",flagCode:"gr",languageCode:"el"},cs:{name:"Čeština",flagCode:"cz",languageCode:"cs"},da:{name:"Dansk",flagCode:"dk",languageCode:"da"},fi:{name:"Suomi",flagCode:"fi",languageCode:"fi"},bg:{name:"Български",flagCode:"bg",languageCode:"bg"},hr:{name:"Hrvatski",flagCode:"hr",languageCode:"hr"},sk:{name:"Slovenčina",flagCode:"sk",languageCode:"sk"},ta:{name:"தமிழ்",flagCode:"in",languageCode:"ta"},hu:{name:"Magyar",flagCode:"hu",languageCode:"hu"},no:{name:"Norsk",flagCode:"no",languageCode:"no"},vi:{name:"Tiếng Việt",flagCode:"vn",languageCode:"vi"}};function mr(e){return Object.keys(Ut).includes(e??"")}const Ta=ie(null);function Tl({children:e}){const t=le(),n=Y("language"),r=Y("override-language"),o=xe(n.peek()??t.peek().language),a=J(()=>(t.value.supported_language_overrides??[]).filter(mr)),i=J(()=>a.value.map(l=>Ut[l]).sort((l,c)=>l.name.localeCompare(c.name))),s=B(()=>({language:me(()=>mr(r.value)?Ut[r.value]:mr(o.value)&&a.value.includes(o.value)?Ut[o.value]:Ut[t.value.language]),setLanguage:l=>{o.value=l},options:i,showPicker:me(()=>i.value.length>0)}),[]);return d(Ta.Provider,{value:s,children:e})}function gt(){return Ce(Ta)}const Na=ie(null);function Nl({children:e}){const t=le(),n=J(()=>t.value.mic_muting_enabled??!1),r=xe(!1),o=B(()=>({isMuted:me(()=>n.value?r.value:!1),setIsMuted:a=>{r.value=a},isMutingEnabled:n}),[]);return d(Na.Provider,{value:o,children:e})}function Pa(){return Ce(Na)}const Aa=ie(null);function Pl({children:e}){const{language:t}=gt(),n=Y("override-prompt"),r=Y("override-first-message"),o=Y("override-voice-id"),a=Y("override-text-only"),i=J(()=>({agent:{prompt:{prompt:n.value},firstMessage:r.value,language:t.value.languageCode},tts:{voiceId:o.value},conversation:{textOnly:mt(a.value)??void 0}})),s=Y("dynamic-variables"),l=J(()=>{if(s.value)try{return JSON.parse(s.value)}catch(g){console.error(`[ConversationalAI] Cannot parse dynamic-variables: ${g==null?void 0:g.message}`)}}),{webSocketUrl:c}=Ea(),f=Y("agent-id"),u=Y("signed-url"),v=gr(),h=J(()=>{const g={dynamicVariables:l.value,overrides:i.value,connectionDelay:{default:300},textOnly:v.value};return f.value?{agentId:f.value,origin:c.value,...g}:u.value?{signedUrl:u.value,...g}:(console.error("[ConversationalAI] Either agent-id or signed-url is required"),null)});return h.value?d(Aa.Provider,{value:h,children:e}):null}function Al(){return Ce(Aa)}const $a=ie(null);function $l({children:e}){const t=le(),n=B(()=>{const r=t.peek().terms_key,o=r?!!localStorage.getItem(r):!1,a=ve(!1),i=ve(o),s=me(()=>!t.value.terms_html||i.value);let l=[];return{termsShown:a,termsAccepted:s,dismissTerms:()=>{a.value=!1,l.forEach(c=>c.reject()),l=[]},acceptTerms:()=>{i.value=!0,a.value=!1;const c=t.peek().terms_key;c&&localStorage.setItem(c,"true"),l.forEach(f=>f.resolve()),l=[]},requestTerms:async()=>{s.peek()||(a.value=!0,await new Promise((c,f)=>{l.push({resolve:c,reject:f})}))}}},[]);return d($a.Provider,{value:n,children:e})}function dn(){return Ce($a)}const Ia=ie(null);function Il({children:e}){const t=Dl();return Ve(()=>{if(t.conversationTextOnly.value===!0){t.transcript.value;const n=setTimeout(()=>{t.endSession()},10*60*1e3);return()=>{clearTimeout(n)}}}),d(Ia.Provider,{value:t,children:e})}function de(){return Ce(Ia)}function Dl(){const e=E(null),t=E(null),n=le(),r=Ma(),o=dn(),a=Al(),{isMuted:i}=Pa();return Ve(()=>{var s;const l=i.value;(s=e==null?void 0:e.current)==null||s.setMicMuted(l)}),A(()=>()=>{var s;(s=e.current)==null||s.endSession()},[]),B(()=>{const s=ve("disconnected"),l=me(()=>s.value==="disconnected"),c=ve("listening"),f=me(()=>c.value==="speaking"),u=ve(null),v=ve(null),h=ve(!1),g=ve([]),p=ve(0),m=ve(null);return{status:s,isSpeaking:f,mode:c,isDisconnected:l,lastId:v,error:u,canSendFeedback:h,conversationIndex:p,conversationTextOnly:m,transcript:g,startSession:async(_,w)=>{var y,b;if(await o.requestTerms(),(y=e.current)!=null&&y.isOpen())return e.current.getId();if(t.current)return(await t.current).getId();let C=structuredClone(a.peek());w&&n.value.supports_text_only&&(C.textOnly=!0,n.value.text_only||(C.overrides??(C.overrides={}),(b=C.overrides).conversation??(b.conversation={}),C.overrides.conversation.textOnly=!0));try{C=Ml(_,C)}catch(k){console.error("[ConversationalAI] Error triggering call event:",k)}m.value=C.textOnly??!1,g.value=w?[{type:"message",role:"user",message:w,isText:!0,conversationIndex:p.peek()}]:[];try{if(t.current=hl.startSession({...C,onModeChange:x=>{c.value=x.mode},onStatusChange:x=>{s.value=x.status},onCanSendFeedbackChange:x=>{h.value=x.canSendFeedback},onMessage:({source:x,message:P})=>{m.peek()===!0&&x==="ai"&&P===r.peek()||(g.value=[...g.value,{type:"message",role:x,message:P,isText:!1,conversationIndex:p.peek()}])},onDisconnect:x=>{m.value=null,g.value=[...g.value,x.reason==="error"?{type:"error",message:x.message,conversationIndex:p.peek()}:{type:"disconnection",role:x.reason==="user"?"user":"ai",conversationIndex:p.peek()}],p.value++,x.reason==="error"&&(u.value=x.message,console.error("[ConversationalAI] Disconnected due to an error:",x.message))}}),e.current=await t.current,e.current.setMicMuted(i.peek()),w){const x=e.current;setTimeout(()=>x.sendUserMessage(w),100)}const k=e.current.getId();return v.value=k,u.value=null,k}catch(k){let x="Could not start a conversation.";k instanceof CloseEvent?x=k.reason||x:k instanceof Error&&(x=k.message||x),u.value=x,g.value=[...g.value,{type:"error",message:x,conversationIndex:p.peek()}]}finally{t.current=null}},endSession:async()=>{const _=e.current;e.current=null,await(_==null?void 0:_.endSession())},getInputVolume:()=>{var _;return((_=e.current)==null?void 0:_.getInputVolume())??0},getOutputVolume:()=>{var _;return((_=e.current)==null?void 0:_.getOutputVolume())??0},sendFeedback:_=>{var w;(w=e.current)==null||w.sendFeedback(_)},sendUserMessage:_=>{var w;(w=e.current)==null||w.sendUserMessage(_),g.value=[...g.value,{type:"message",role:"user",message:_,isText:!0,conversationIndex:p.peek()}]},sendUserActivity:()=>{var _;(_=e.current)==null||_.sendUserActivity()}}},[a,i])}function Ml(e,t){try{const n=new CustomEvent("elevenlabs-convai:call",{bubbles:!0,composed:!0,detail:{config:t}});return e.dispatchEvent(n),n.detail.config}catch(n){return console.error("[ConversationalAI] Could not trigger call event:",n),t}}const Da=ie(null);function Ol({children:e}){const{serverUrl:t}=Ea(),n=Y("agent-id"),r=Y("override-config"),o=xe(null);Ve(()=>{if(r.value)try{const g=JSON.parse(r.value);if(g){o.value=g;return}}catch(g){console.error(`[ConversationalAI] Cannot parse override-config: ${g==null?void 0:g.message}`)}if(!n.value){o.value=null;return}const h=new AbortController;return Ll(n.value,t.value,h.signal).then(g=>{h.signal.aborted||(o.value=g)}).catch(g=>{console.error(`[ConversationalAI] Cannot fetch config for agent ${n.value}: ${g==null?void 0:g.message}`),h.signal.aborted||(o.value=null)}),()=>{h.abort()}});const a=Y("variant"),i=Y("placement"),s=Y("terms-key"),l=Y("mic-muting"),c=Y("transcript"),f=Y("text-input"),u=Y("override-text-only"),v=J(()=>{if(!o.value)return null;const h=a.value??o.value.variant,g=i.value??o.value.placement,p=s.value??o.value.terms_key,m=mt(u.value)??o.value.text_only??!1,_=mt(l.value)??o.value.mic_muting_enabled,w=mt(c.value)??o.value.transcript_enabled,y=mt(f.value)??o.value.text_input_enabled;return{...o.value,variant:_l(h),placement:yl(g),terms_key:p,mic_muting_enabled:!m&&_,transcript_enabled:m||w,text_input_enabled:m||y}});return v.value?d(Da.Provider,{value:v,children:e}):null}function le(){return Ce(Da)}function gr(){const e=Y("override-text-only"),t=le();return J(()=>mt(e.value)??t.value.text_only??!1)}function fn(){const e=gr(),{conversationTextOnly:t}=de();return J(()=>t.value??e.value)}function Ma(){const e=Y("override-first-message"),t=le(),{language:n}=gt();return J(()=>{var r,o;return e.value??((o=(r=t.value.language_presets)==null?void 0:r[n.value.languageCode])==null?void 0:o.first_message)??t.value.first_message??null})}async function Ll(e,t,n){const r=await(await fetch(`${t}/v1/convai/agents/${e}/widget`,{signal:n})).json();if(!r.widget_config)throw new Error("Response does not contain widget_config");return r.widget_config}const Rl=tn(function(){const e=le(),t=J(()=>{const n=e.value.styles;return`:host, :root {
208
- ${xl.map(r=>`${Fl(r)}: ${zl((n==null?void 0:n[r])??Ca[r])};`).join(`
244
+ `);class sa{static async create({sampleRate:e,format:n}){let i=null;try{i=new AudioContext({sampleRate:e});const s=i.createAnalyser(),o=i.createGain();o.connect(s),s.connect(i.destination),await N0(i.audioWorklet);const a=new AudioWorkletNode(i,"audio-concat-processor");return a.port.postMessage({type:"setFormat",format:n}),a.connect(o),await i.resume(),new sa(i,s,o,a)}catch(s){var r;throw(r=i)==null||r.close(),s}}constructor(e,n,i,r){this.context=void 0,this.analyser=void 0,this.gain=void 0,this.worklet=void 0,this.context=e,this.analyser=n,this.gain=i,this.worklet=r}async close(){await this.context.close()}}class oa extends Ai{static async startSession(e){var n;const i=Ai.getFullOptions(e);i.onStatusChange({status:"connecting"}),i.onCanSendFeedbackChange({canSendFeedback:!1});let r=null,s=null,o=null,a=null,c=null;if((n=e.useWakeLock)==null||n)try{c=await navigator.wakeLock.request("screen")}catch{}try{var l;return a=await navigator.mediaDevices.getUserMedia({audio:!0}),await eh(i.connectionDelay),s=await Qu(e),[r,o]=await Promise.all([ra.create(Nr({},s.inputFormat,{preferHeadphonesForIosDevices:e.preferHeadphonesForIosDevices})),sa.create(s.outputFormat)]),(l=a)==null||l.getTracks().forEach(p=>p.stop()),a=null,new oa(i,s,r,o,c)}catch(p){var d,u,h,f;i.onStatusChange({status:"disconnected"}),(d=a)==null||d.getTracks().forEach(g=>g.stop()),(u=s)==null||u.close(),await((h=r)==null?void 0:h.close()),await((f=o)==null?void 0:f.close());try{var m;await((m=c)==null?void 0:m.release()),c=null}catch{}throw p}}constructor(e,n,i,r,s){super(e,n),this.input=void 0,this.output=void 0,this.wakeLock=void 0,this.inputFrequencyData=void 0,this.outputFrequencyData=void 0,this.onInputWorkletMessage=o=>{this.status==="connected"&&this.connection.sendMessage({user_audio_chunk:D0(o.data[0].buffer)})},this.onOutputWorkletMessage=({data:o})=>{o.type==="process"&&this.updateMode(o.finished?"listening":"speaking")},this.addAudioBase64Chunk=o=>{this.output.gain.gain.value=this.volume,this.output.worklet.port.postMessage({type:"clearInterrupted"}),this.output.worklet.port.postMessage({type:"buffer",buffer:M0(o)})},this.fadeOutAudio=()=>{this.updateMode("listening"),this.output.worklet.port.postMessage({type:"interrupt"}),this.output.gain.gain.exponentialRampToValueAtTime(1e-4,this.output.context.currentTime+2),setTimeout(()=>{this.output.gain.gain.value=this.volume,this.output.worklet.port.postMessage({type:"clearInterrupted"})},2e3)},this.calculateVolume=o=>{if(o.length===0)return 0;let a=0;for(let c=0;c<o.length;c++)a+=o[c]/255;return a/=o.length,a<0?0:a>1?1:a},this.input=i,this.output=r,this.wakeLock=s,this.input.worklet.port.onmessage=this.onInputWorkletMessage,this.output.worklet.port.onmessage=this.onOutputWorkletMessage}async handleEndSession(){await super.handleEndSession();try{var e;await((e=this.wakeLock)==null?void 0:e.release()),this.wakeLock=null}catch{}await this.input.close(),await this.output.close()}handleInterruption(e){super.handleInterruption(e),this.fadeOutAudio()}handleAudio(e){this.lastInterruptTimestamp<=e.audio_event.event_id&&(this.options.onAudio(e.audio_event.audio_base_64),this.addAudioBase64Chunk(e.audio_event.audio_base_64),this.currentEventId=e.audio_event.event_id,this.updateCanSendFeedback(),this.updateMode("speaking"))}setMicMuted(e){this.input.setMuted(e)}getInputByteFrequencyData(){return this.inputFrequencyData!=null||(this.inputFrequencyData=new Uint8Array(this.input.analyser.frequencyBinCount)),this.input.analyser.getByteFrequencyData(this.inputFrequencyData),this.inputFrequencyData}getOutputByteFrequencyData(){return this.outputFrequencyData!=null||(this.outputFrequencyData=new Uint8Array(this.output.analyser.frequencyBinCount)),this.output.analyser.getByteFrequencyData(this.outputFrequencyData),this.outputFrequencyData}getInputVolume(){return this.calculateVolume(this.getInputByteFrequencyData())}getOutputVolume(){return this.calculateVolume(this.getOutputByteFrequencyData())}}class L0 extends Ai{static startSession(e){return e.textOnly?na.startSession(e):oa.startSession(e)}}function nh(t){var e,n,i="";if(typeof t=="string"||typeof t=="number")i+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(n=nh(t[e]))&&(i&&(i+=" "),i+=n)}else for(n in t)t[n]&&(i&&(i+=" "),i+=n);return i}function de(){for(var t,e,n=0,i="",r=arguments.length;n<r;n++)(t=arguments[n])&&(e=nh(t))&&(i&&(i+=" "),i+=e);return i}var U0=Object.defineProperty,F0=(t,e,n)=>e in t?U0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ze=(t,e,n)=>F0(t,typeof e!="symbol"?e+"":e,n);function Zn(t){return t?t==="true"?!0:t==="false"?!1:null:null}const aa=["variant","placement","override-config","avatar-image-url","avatar-orb-color-1","avatar-orb-color-2","agent-id","signed-url","terms-key","server-location","language","dynamic-variables","show-avatar-when-collapsed","override-prompt","override-first-message","override-language","override-voice-id","override-text-only","mic-muting","transcript","text-input","text-contents"],B0='@import"https://fonts.googleapis.com/css2?family=Inter:wght@400,500&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-auto{pointer-events:auto}.\\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-3{bottom:-12px}.bottom-0{bottom:0}.bottom-1{bottom:4px}.bottom-20{bottom:80px}.left-0{left:0}.left-1\\/2{left:50%}.left-4{left:16px}.right-0{right:0}.right-1{right:4px}.top-0{top:0}.top-1\\/2{top:50%}.top-20{top:80px}.top-4{top:16px}.z-1{z-index:1}.z-10{z-index:10}.m-1{margin:4px}.-mx-0\\.5{margin-left:-2px;margin-right:-2px}.mx-1{margin-left:4px;margin-right:4px}.-mr-1\\.5{margin-right:-6px}.ml-auto{margin-left:auto}.mt-2{margin-top:8px}.block{display:block}.inline{display:inline}.\\!flex{display:flex!important}.flex{display:flex}.inline-flex{display:inline-flex}.contents{display:contents}.hidden{display:none}.h-11{height:44px}.h-16{height:64px}.h-4{height:16px}.h-48{height:192px}.h-5{height:20px}.h-6{height:24px}.h-7{height:28px}.h-9{height:36px}.h-\\[calc\\(100\\%-80px\\)\\]{height:calc(100% - 80px)}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[550px\\]{max-height:550px}.max-h-\\[8lh\\]{max-height:8lh}.max-h-\\[min\\(384px\\,var\\(--radix-select-content-available-height\\)\\)\\]{max-height:min(384px,var(--radix-select-content-available-height))}.min-h-min{min-height:-moz-min-content;min-height:min-content}.w-16{width:64px}.w-4{width:16px}.w-48{width:192px}.w-5{width:20px}.w-6{width:24px}.w-64{width:256px}.w-7{width:28px}.w-9{width:36px}.w-full{width:100%}.w-screen{width:100vw}.\\!min-w-60{min-width:240px!important}.min-w-0{min-width:0px}.min-w-60{min-width:240px}.min-w-9{min-width:36px}.min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.min-w-max{min-width:-moz-max-content;min-width:max-content}.min-w-min{min-width:-moz-min-content;min-width:min-content}.max-w-64{max-width:256px}.max-w-\\[400px\\]{max-width:400px}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-bottom{transform-origin:bottom}.origin-bottom-left{transform-origin:bottom left}.origin-bottom-right{transform-origin:bottom right}.origin-top{transform-origin:top}.origin-top-left{transform-origin:top left}.origin-top-right{transform-origin:top right}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\\[calc\\(var\\(--el-overlay-padding\\)\\)\\]{--tw-translate-y: calc(calc(var(--el-overlay-padding)) * -1);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[calc\\(var\\(--el-overlay-padding\\)\\)\\]{--tw-translate-y: calc(var(--el-overlay-padding));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate: -180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\\[0\\.333\\]{--tw-scale-x: .333;--tw-scale-y: .333;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-2\\.5{gap:10px}.gap-3{gap:12px}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded-\\[calc\\(var\\(--el-button-radius\\)\\+4px\\)\\]{border-radius:calc(var(--el-button-radius) + 4px)}.rounded-bubble{border-radius:var(--el-bubble-radius)}.rounded-button{border-radius:var(--el-button-radius)}.rounded-compact-sheet{border-radius:var(--el-compact-sheet-radius)}.rounded-dropdown-sheet{border-radius:var(--el-dropdown-sheet-radius)}.rounded-full{border-radius:9999px}.rounded-input{border-radius:var(--el-input-radius)}.rounded-sheet{border-radius:var(--el-sheet-radius)}.rounded-bl-\\[calc\\(var\\(--el-bubble-radius\\)\\/3\\)\\]{border-bottom-left-radius:calc(var(--el-bubble-radius) / 3)}.border{border-width:1px}.border-accent{border-color:var(--el-accent)}.border-base-border{border-color:var(--el-base-border)}.bg-accent{background-color:var(--el-accent)}.bg-base{background-color:var(--el-base)}.bg-base-active{background-color:var(--el-base-active)}.bg-base-border{background-color:var(--el-base-border)}.bg-base-hover{background-color:var(--el-base-hover)}.bg-cover{background-size:cover}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:4px}.p-1\\.5{padding:6px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.px-1{padding-left:4px;padding-right:4px}.px-1\\.5{padding-left:6px;padding-right:6px}.px-2{padding-left:8px;padding-right:8px}.px-2\\.5{padding-left:10px;padding-right:10px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-8{padding-left:32px;padding-right:32px}.py-1\\.5{padding-top:6px;padding-bottom:6px}.py-2\\.5{padding-top:10px;padding-bottom:10px}.py-\\[calc\\(theme\\(spacing\\.2\\)-1px\\)\\]{padding-top:7px;padding-bottom:7px}.pb-1{padding-bottom:4px}.pb-3{padding-bottom:12px}.pl-16{padding-left:64px}.pr-16{padding-right:64px}.pr-3{padding-right:12px}.pr-9{padding-right:36px}.pt-1{padding-top:4px}.text-center{text-align:center}.text-\\[10px\\]{font-size:10px}.text-lg{font-size:18px;line-height:26px}.text-md{font-size:16px;line-height:24px}.text-sm{font-size:14px;line-height:20px}.text-xs{font-size:12px;line-height:16px}.font-medium{font-weight:500}.text-accent-primary{color:var(--el-accent-primary)}.text-base-error{color:var(--el-base-error)}.text-base-primary{color:var(--el-base-primary)}.text-base-subtle{color:var(--el-base-subtle)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-30{opacity:.3}.shadow-lg{--tw-shadow: 0 2px 40px 1px rgba(0, 0, 0, .12);--tw-shadow-colored: 0 2px 40px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 2px 24px 1px rgba(0, 0, 0, .16);--tw-shadow-colored: 0 2px 24px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[border-radius\\]{transition-property:border-radius;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[margin\\]{transition-property:margin;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[opacity\\,width\\,height\\,transform\\,flex-grow\\]{transition-property:opacity,width,height,transform,flex-grow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[transform\\,left\\,top\\]{transition-property:transform,left,top;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.overlay{position:absolute;inset:var(--el-overlay-padding);right:calc(var(--el-overlay-padding) + var(--removed-body-scroll-bar-size, 0px))}.focus-ring{--tw-ring-color: var(--el-accent);--tw-ring-offset-width: 2px;--tw-ring-offset-color: var(--el-base)}.focus-ring:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.animate-text{background-image:linear-gradient(75deg,var(--el-base-primary),var(--el-base-subtle),var(--el-base-primary),var(--el-base-subtle));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:TextAnimation 2s linear infinite}@keyframes TextAnimation{0%{background-position:0 0}to{background-position:100% 0}}.\\!terms h6,.terms h6{font-size:12px;line-height:16px;font-weight:500;color:var(--el-base-primary)}.\\!terms h5,.terms h5{font-size:14px;line-height:20px;font-weight:500;color:var(--el-base-primary)}.\\!terms h4,.terms h4{font-size:16px;line-height:24px;font-weight:500;color:var(--el-base-primary)}.\\!terms h3,.terms h3{font-size:18px;line-height:26px;font-weight:500;color:var(--el-base-primary)}.\\!terms h2,.terms h2{font-size:20px;line-height:28px;font-weight:500;color:var(--el-base-primary)}.\\!terms h2,.terms h2{font-size:24px;line-height:30px;font-weight:500;color:var(--el-base-primary)}.\\[field-sizing\\:content\\]{field-sizing:content}.\\[line-height\\:var\\(--el-overlay-padding\\)\\]{line-height:var(--el-overlay-padding)}.\\[overflow-wrap\\:break-word\\]{overflow-wrap:break-word}.dev-host,:host{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;font-size:16px;line-height:24px;color:var(--el-base-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;scrollbar-color:#e5e7eb transparent}.placeholder\\:text-base-subtle::-moz-placeholder{color:var(--el-base-subtle)}.placeholder\\:text-base-subtle::placeholder{color:var(--el-base-subtle)}.hover\\:border-accent-hover:hover{border-color:var(--el-accent-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--el-accent-hover)}.hover\\:bg-base-hover:hover{background-color:var(--el-base-hover)}.hover\\:opacity-50:hover{opacity:.5}.focus-visible\\:underline-offset-2:focus-visible{text-underline-offset:2px}.focus-visible\\:opacity-100:focus-visible{opacity:1}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.active\\:border-accent-active:active{border-color:var(--el-accent-active)}.active\\:bg-accent-active:active{background-color:var(--el-accent-active)}.active\\:bg-base-active:active{background-color:var(--el-base-active)}.data-hidden\\:-translate-y-4[data-shown=false]{--tw-translate-y: -16px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-hidden\\:translate-y-2[data-shown=false]{--tw-translate-y: 8px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-hidden\\:scale-100[data-shown=false]{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-hidden\\:scale-75[data-shown=false]{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-hidden\\:scale-90[data-shown=false]{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-hidden\\:opacity-0[data-shown=false]{opacity:0}.data-\\[highlighted\\]\\:bg-base-active[data-highlighted]{background-color:var(--el-base-active)}',ih=["tiny","compact","full"];function j0(t){return ih.includes(t)?t:ih[0]}const V0=["top-left","top","top-right","bottom-left","bottom","bottom-right"];function q0(t){return V0.includes(t)?t:"bottom-right"}const rh={main_label:"Need help?",start_call:"Start a call",start_chat:"Start a chat",send_message:"Send",new_call:"New call",end_call:"End",mute_microphone:"Mute microphone",change_language:"Change language",collapse:"Collapse",expand:"Expand",copied:"Copied!",accept_terms:"Accept",dismiss_terms:"Cancel",listening_status:"Listening",speaking_status:"Talk to interrupt",connecting_status:"Connecting",chatting_status:"Chatting with AI Agent",input_label:"Text message input",input_placeholder:"Send a message",input_placeholder_text_only:"Send a message",input_placeholder_new_conversation:"Start a new conversation",user_ended_conversation:"You ended the conversation",agent_ended_conversation:"The agent ended the conversation",conversation_id:"ID",error_occurred:"An error occurred",copy_id:"Copy ID"},$0=Object.keys(rh),sh={base:"#ffffff",base_hover:"#f9fafb",base_active:"#f3f4f6",base_border:"#e5e7eb",base_subtle:"#6b7280",base_primary:"#000000",base_error:"#ef4444",accent:"#000000",accent_hover:"#1f2937",accent_active:"#374151",accent_border:"#4b5563",accent_subtle:"#6b7280",accent_primary:"#ffffff",overlay_padding:32,button_radius:18,input_radius:10,bubble_radius:15,sheet_radius:"calc(var(--el-button-radius) + 6px)",compact_sheet_radius:"calc(var(--el-button-radius) + 12px)",dropdown_sheet_radius:"calc(var(--el-input-radius) + 6px)"},z0=Object.keys(sh);function W0(t="us"){switch(t){case"eu-residency":case"in-residency":case"us":case"global":return t;default:return console.warn(`[ConversationalAI] Invalid server-location: ${t}. Defaulting to "us"`),"us"}}function ut(t){const e=Ht(t);if(e==null)throw new Error(`${t.displayName} cannot be used outside of provider`);return e}const oh=De(null);function H0({value:t,children:e}){const n=ie(()=>Object.fromEntries(aa.map(i=>[i,Ge(t[i])])),[]);return aa.forEach(i=>{n[i].value=t[i]}),v(oh.Provider,{value:n,children:e})}function K0(){return ut(oh)}function ue(t){return K0()[t]}const ah=De(null);function G0({children:t}){const e=ue("server-location"),n=ie(()=>{const i=Je(()=>W0(e.value)),r={us:"https://api.us.elevenlabs.io","eu-residency":"https://api.eu.residency.elevenlabs.io","in-residency":"https://api.in.residency.elevenlabs.io",global:"https://api.elevenlabs.io"},s={us:"wss://api.us.elevenlabs.io","eu-residency":"wss://api.eu.residency.elevenlabs.io","in-residency":"wss://api.in.residency.elevenlabs.io",global:"wss://api.elevenlabs.io"};return{location:i,serverUrl:Je(()=>r[i.value]),webSocketUrl:Je(()=>s[i.value])}},[]);return v(ah.Provider,{value:n,children:t})}function ch(){return ut(ah)}const Ni={en:{name:"English",flagCode:"us",languageCode:"en"},zh:{name:"中文",flagCode:"cn",languageCode:"zh"},es:{name:"Español",flagCode:"es",languageCode:"es"},hi:{name:"हिन्दी",flagCode:"in",languageCode:"hi"},pt:{name:"Português (Portugal)",flagCode:"pt",languageCode:"pt"},"pt-br":{name:"Português (Brasil)",flagCode:"br",languageCode:"pt-br"},fr:{name:"Français",flagCode:"fr",languageCode:"fr"},de:{name:"Deutsch",flagCode:"de",languageCode:"de"},ja:{name:"日本語",flagCode:"jp",languageCode:"ja"},ar:{name:"العربية",flagCode:"ae",languageCode:"ar"},ru:{name:"Русский",flagCode:"ru",languageCode:"ru"},ko:{name:"한국어",flagCode:"kr",languageCode:"ko"},id:{name:"Bahasa Indonesia",flagCode:"id",languageCode:"id"},it:{name:"Italiano",flagCode:"it",languageCode:"it"},nl:{name:"Nederlands",flagCode:"nl",languageCode:"nl"},tr:{name:"Türkçe",flagCode:"tr",languageCode:"tr"},pl:{name:"Polski",flagCode:"pl",languageCode:"pl"},sv:{name:"Svenska",flagCode:"se",languageCode:"sv"},ms:{name:"Bahasa Melayu",flagCode:"my",languageCode:"ms"},ro:{name:"Română",flagCode:"ro",languageCode:"ro"},uk:{name:"Українська",flagCode:"ua",languageCode:"uk"},el:{name:"Ελληνικά",flagCode:"gr",languageCode:"el"},cs:{name:"Čeština",flagCode:"cz",languageCode:"cs"},da:{name:"Dansk",flagCode:"dk",languageCode:"da"},fi:{name:"Suomi",flagCode:"fi",languageCode:"fi"},bg:{name:"Български",flagCode:"bg",languageCode:"bg"},hr:{name:"Hrvatski",flagCode:"hr",languageCode:"hr"},sk:{name:"Slovenčina",flagCode:"sk",languageCode:"sk"},ta:{name:"தமிழ்",flagCode:"in",languageCode:"ta"},hu:{name:"Magyar",flagCode:"hu",languageCode:"hu"},no:{name:"Norsk",flagCode:"no",languageCode:"no"},vi:{name:"Tiếng Việt",flagCode:"vn",languageCode:"vi"}};function ca(t){return Object.keys(Ni).includes(t??"")}const lh=De(null);function J0({children:t}){const e=Ne(),n=ue("language"),i=ue("override-language"),r=Ye(n.peek()??e.peek().language),s=fe(()=>(e.value.supported_language_overrides??[]).filter(ca)),o=fe(()=>s.value.map(c=>Ni[c]).sort((c,l)=>c.name.localeCompare(l.name))),a=ie(()=>({language:Je(()=>ca(i.value)?Ni[i.value]:ca(r.value)&&s.value.includes(r.value)?Ni[r.value]:Ni[e.value.language]),setLanguage:c=>{r.value=c},options:o,showPicker:Je(()=>o.value.length>0)}),[]);return v(lh.Provider,{value:a,children:t})}function ei(){return ut(lh)}const dh=De(null);function Y0({children:t}){const e=Ne(),n=fe(()=>e.value.mic_muting_enabled??!1),i=Ye(!1),r=ie(()=>({isMuted:Je(()=>n.value?i.value:!1),setIsMuted:s=>{i.value=s},isMutingEnabled:n}),[]);return v(dh.Provider,{value:r,children:t})}function uh(){return ut(dh)}const hh=De(null);function X0({children:t}){const{language:e}=ei(),n=ue("override-prompt"),i=ue("override-first-message"),r=ue("override-voice-id"),s=ue("override-text-only"),o=fe(()=>({agent:{prompt:{prompt:n.value},firstMessage:i.value,language:e.value.languageCode},tts:{voiceId:r.value},conversation:{textOnly:Zn(s.value)??void 0}})),a=ue("dynamic-variables"),c=fe(()=>{if(a.value)try{return JSON.parse(a.value)}catch(m){console.error(`[ConversationalAI] Cannot parse dynamic-variables: ${m==null?void 0:m.message}`)}}),{webSocketUrl:l}=ch(),d=ue("agent-id"),u=ue("signed-url"),h=la(),f=fe(()=>{const m={dynamicVariables:c.value,overrides:o.value,connectionDelay:{default:300},textOnly:h.value};return d.value?{agentId:d.value,origin:l.value,...m}:u.value?{signedUrl:u.value,...m}:(console.error("[ConversationalAI] Either agent-id or signed-url is required"),null)});return f.value?v(hh.Provider,{value:f,children:t}):null}function Q0(){return ut(hh)}const fh=De(null);function Z0({children:t}){const e=Ne(),n=ie(()=>{const i=e.peek().terms_key,r=i?!!localStorage.getItem(i):!1,s=Ge(!1),o=Ge(r),a=Je(()=>!e.value.terms_html||o.value);let c=[];return{termsShown:s,termsAccepted:a,dismissTerms:()=>{s.value=!1,c.forEach(l=>l.reject()),c=[]},acceptTerms:()=>{o.value=!0,s.value=!1;const l=e.peek().terms_key;l&&localStorage.setItem(l,"true"),c.forEach(d=>d.resolve()),c=[]},requestTerms:async()=>{a.peek()||(s.value=!0,await new Promise((l,d)=>{c.push({resolve:l,reject:d})}))}}},[]);return v(fh.Provider,{value:n,children:t})}function Ur(){return ut(fh)}const ph=De(null);function eb({children:t}){const e=tb();return Jt(()=>{if(e.conversationTextOnly.value===!0){e.transcript.value;const n=setTimeout(()=>{e.endSession()},10*60*1e3);return()=>{clearTimeout(n)}}}),v(ph.Provider,{value:e,children:t})}function We(){return ut(ph)}function tb(){const t=B(null),e=B(null),n=Ne(),i=gh(),r=Ur(),s=Q0(),{isMuted:o}=uh();return Jt(()=>{var a;const c=o.value;(a=t==null?void 0:t.current)==null||a.setMicMuted(c)}),z(()=>()=>{var a;(a=t.current)==null||a.endSession()},[]),ie(()=>{const a=Ge("disconnected"),c=Je(()=>a.value==="disconnected"),l=Ge("listening"),d=Je(()=>l.value==="speaking"),u=Ge(null),h=Ge(null),f=Ge(!1),m=Ge([]),p=Ge(0),g=Ge(null);return{status:a,isSpeaking:d,mode:l,isDisconnected:c,lastId:h,error:u,canSendFeedback:f,conversationIndex:p,conversationTextOnly:g,transcript:m,startSession:async(b,C)=>{var w,k;if(await r.requestTerms(),(w=t.current)!=null&&w.isOpen())return t.current.getId();if(e.current)return(await e.current).getId();let T=structuredClone(s.peek());C&&n.value.supports_text_only&&(T.textOnly=!0,n.value.text_only||(T.overrides??(T.overrides={}),(k=T.overrides).conversation??(k.conversation={}),T.overrides.conversation.textOnly=!0));try{T=nb(b,T)}catch(S){console.error("[ConversationalAI] Error triggering call event:",S)}g.value=T.textOnly??!1,m.value=C?[{type:"message",role:"user",message:C,isText:!0,conversationIndex:p.peek()}]:[];try{if(e.current=L0.startSession({...T,onModeChange:_=>{l.value=_.mode},onStatusChange:_=>{a.value=_.status},onCanSendFeedbackChange:_=>{f.value=_.canSendFeedback},onMessage:({source:_,message:R})=>{g.peek()===!0&&_==="ai"&&R===i.peek()||(m.value=[...m.value,{type:"message",role:_,message:R,isText:!1,conversationIndex:p.peek()}])},onDisconnect:_=>{g.value=null,m.value=[...m.value,_.reason==="error"?{type:"error",message:_.message,conversationIndex:p.peek()}:{type:"disconnection",role:_.reason==="user"?"user":"ai",conversationIndex:p.peek()}],p.value++,_.reason==="error"&&(u.value=_.message,console.error("[ConversationalAI] Disconnected due to an error:",_.message))}}),t.current=await e.current,t.current.setMicMuted(o.peek()),C){const _=t.current;setTimeout(()=>_.sendUserMessage(C),100)}const S=t.current.getId();return h.value=S,u.value=null,S}catch(S){let _="Could not start a conversation.";S instanceof CloseEvent?_=S.reason||_:S instanceof Error&&(_=S.message||_),u.value=_,m.value=[...m.value,{type:"error",message:_,conversationIndex:p.peek()}]}finally{e.current=null}},endSession:async()=>{const b=t.current;t.current=null,await(b==null?void 0:b.endSession())},getInputVolume:()=>{var b;return((b=t.current)==null?void 0:b.getInputVolume())??0},getOutputVolume:()=>{var b;return((b=t.current)==null?void 0:b.getOutputVolume())??0},sendFeedback:b=>{var C;(C=t.current)==null||C.sendFeedback(b)},sendUserMessage:b=>{var C;(C=t.current)==null||C.sendUserMessage(b),m.value=[...m.value,{type:"message",role:"user",message:b,isText:!0,conversationIndex:p.peek()}]},sendUserActivity:()=>{var b;(b=t.current)==null||b.sendUserActivity()}}},[s,o])}function nb(t,e){try{const n=new CustomEvent("elevenlabs-convai:call",{bubbles:!0,composed:!0,detail:{config:e}});return t.dispatchEvent(n),n.detail.config}catch(n){return console.error("[ConversationalAI] Could not trigger call event:",n),e}}const mh=De(null);function ib({children:t}){const{serverUrl:e}=ch(),n=ue("agent-id"),i=ue("override-config"),r=Ye(null);Jt(()=>{if(i.value)try{const m=JSON.parse(i.value);if(m){r.value=m;return}}catch(m){console.error(`[ConversationalAI] Cannot parse override-config: ${m==null?void 0:m.message}`)}if(!n.value){r.value=null;return}const f=new AbortController;return rb(n.value,e.value,f.signal).then(m=>{f.signal.aborted||(r.value=m)}).catch(m=>{console.error(`[ConversationalAI] Cannot fetch config for agent ${n.value}: ${m==null?void 0:m.message}`),f.signal.aborted||(r.value=null)}),()=>{f.abort()}});const s=ue("variant"),o=ue("placement"),a=ue("terms-key"),c=ue("mic-muting"),l=ue("transcript"),d=ue("text-input"),u=ue("override-text-only"),h=fe(()=>{if(!r.value)return null;const f=s.value??r.value.variant,m=o.value??r.value.placement,p=a.value??r.value.terms_key,g=Zn(u.value)??r.value.text_only??!1,b=Zn(c.value)??r.value.mic_muting_enabled,C=Zn(l.value)??r.value.transcript_enabled,w=Zn(d.value)??r.value.text_input_enabled;return{...r.value,variant:j0(f),placement:q0(m),terms_key:p,mic_muting_enabled:!g&&b,transcript_enabled:g||C,text_input_enabled:g||w}});return h.value?v(mh.Provider,{value:h,children:t}):null}function Ne(){return ut(mh)}function la(){const t=ue("override-text-only"),e=Ne();return fe(()=>Zn(t.value)??e.value.text_only??!1)}function Fr(){const t=la(),{conversationTextOnly:e}=We();return fe(()=>e.value??t.value)}function gh(){const t=ue("override-first-message"),e=Ne(),{language:n}=ei();return fe(()=>{var i,r;return t.value??((r=(i=e.value.language_presets)==null?void 0:i[n.value.languageCode])==null?void 0:r.first_message)??e.value.first_message??null})}async function rb(t,e,n){const i=await(await fetch(`${e}/v1/convai/agents/${t}/widget`,{signal:n})).json();if(!i.widget_config)throw new Error("Response does not contain widget_config");return i.widget_config}const sb=Ji(function(){const t=Ne(),e=fe(()=>{const n=t.value.styles;return`:host, :root {
245
+ ${z0.map(i=>`${ob(i)}: ${ab((n==null?void 0:n[i])??sh[i])};`).join(`
209
246
  `)}
210
- }`});return d("style",{children:[t,gl]})});function Fl(e){return`--el-${e.replace(/_/g,"-")}`}function zl(e){return typeof e=="number"?`${e}px`:e}const Oa=ie(null);function Ul({children:e}){const t=le(),{language:n}=gt(),r=Y("text-contents"),o=J(()=>{try{if(r.value){const i=JSON.parse(r.value);if(typeof i=="object")return i}}catch(i){console.error("[ConversationalAI] Cannot parse text-contents:",i)}return{}}),a=B(()=>Object.fromEntries(bl.map(i=>[i,me(()=>{var s,l,c,f;return o.value[i]??((c=(l=(s=t.value.language_presets)==null?void 0:s[n.value.languageCode])==null?void 0:l.text_contents)==null?void 0:c[i])??((f=t.value.text_contents)==null?void 0:f[i])??xa[i]})])),[]);return d(Oa.Provider,{value:a,children:e})}function fe(){return Ce(Oa)}const La=ie(null);function Bl({children:e}){const t=le(),n=Y("avatar-image-url"),r=Y("avatar-orb-color-1"),o=Y("avatar-orb-color-2"),a=xe(""),i=J(()=>n.value?{type:"image",url:n.value}:r.value&&o.value?{type:"orb",color_1:r.value,color_2:o.value}:t.value.avatar),s=J(()=>{switch(i.value.type){case"url":return i.value.custom_url;case"orb":return a.value;case"image":return i.value.url}}),l=B(()=>({config:i,previewUrl:s,canvasUrl:a}),[]);return d(La.Provider,{value:l,children:e})}function _r(){return Ce(La)}const Ra=ie(null);function pn({children:e,...t}){const[n,r]=S(null);return d("div",{ref:r,...t,children:n&&d(Ra.Provider,{value:n,children:e})})}function Wl(){return Ce(Ra)}function wr(e){return e&&typeof e=="object"&&"peek"in e}function Hl(e){const t=wr(e),n=xe(t?e.peek():e);return t?e:(n.value=e,n)}function Fa(e){return wr(e)?e.value:e}function jl(e){return wr(e)?e.peek():e}function za(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ua(...e){return t=>{let n=!1;const r=e.map(o=>{const a=za(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){const a=r[o];typeof a=="function"?a():za(e[o],null)}}}}function ce(...e){return $(Ua(...e),e)}function Bt(e){const t=Vl(e),n=I((r,o)=>{const{children:a,...i}=r,s=He.toArray(a),l=s.find(Yl);if(l){const c=l.props.children,f=s.map(u=>u===l?He.count(c)>1?He.only(null):Le(c)?c.props.children:null:u);return d(t,{...i,ref:o,children:Le(c)?Lt(c,void 0,f):null})}return d(t,{...i,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}var Ba=Bt("Slot");function Vl(e){const t=I((n,r)=>{const{children:o,...a}=n;if(Le(o)){const i=Kl(o),s=Xl(a,o.props);return o.type!==ee&&(s.ref=r?Ua(r,i):i),Lt(o,s)}return He.count(o)>1?He.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ql=Symbol("radix.slottable");function Yl(e){return Le(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ql}function Xl(e,t){const n={...t};for(const r in t){const o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...i)=>{a(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function Kl(e){var t,n;let r=(t=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:t.get,o=r&&"isReactWarning"in r&&r.isReactWarning;return o?e.ref:(r=(n=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:n.get,o=r&&"isReactWarning"in r&&r.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}const yr=window.matchMedia("(prefers-reduced-motion: reduce)");function Wa(){const e=xe(yr.matches);return A(()=>{const t=n=>{e.value=n.matches};return yr.addEventListener("change",t),()=>yr.removeEventListener("change",t)},[]),e}function Ha({onStart:e,onEnd:t}){const n=E();n.current??(n.current=new Set);const r=E(e);r.current=e;const o=E(t);o.current=t;const a=xe(!1),i=$(l=>{var c,f;l.target===l.currentTarget&&((c=n.current)==null||c.add(l.propertyName),a.peek()||(a.value=!0,(f=r.current)==null||f.call(r)))},[]),s=$(l=>{var c,f,u;l.target===l.currentTarget&&((c=n.current)==null||c.delete(l.propertyName),(f=n.current)!=null&&f.size||(a.value=!1,(u=o.current)==null||u.call(o)))},[]);return{transitioning:a,handlers:{onTransitionStart:i,onTransitionEnd:s}}}function ke(e){const t=Wa().value?Gl:Zl;return d(t,{...e})}function Gl({active:e,...t}){return Fa(e)?d(Ba,{"data-shown":!0,...t}):null}function Zl({active:e,initial:t=e,...n}){const r=Hl(e),o=xe(jl(t));Ve(()=>{r.value&&(o.value=r.value)});const{handlers:a}=Ha({onEnd:()=>{o.value=r.value}});return!r.value&&!o.value?null:d(Ba,{"data-shown":r.value&&o.value,...a,...n})}const Jl=`#version 300 es
247
+ }`});return v("style",{children:[e,B0]})});function ob(t){return`--el-${t.replace(/_/g,"-")}`}function ab(t){return typeof t=="number"?`${t}px`:t}const vh=De(null);function cb({children:t}){const e=Ne(),{language:n}=ei(),i=ue("text-contents"),r=fe(()=>{try{if(i.value){const o=JSON.parse(i.value);if(typeof o=="object")return o}}catch(o){console.error("[ConversationalAI] Cannot parse text-contents:",o)}return{}}),s=ie(()=>Object.fromEntries($0.map(o=>[o,Je(()=>{var a,c,l,d;return r.value[o]??((l=(c=(a=e.value.language_presets)==null?void 0:a[n.value.languageCode])==null?void 0:c.text_contents)==null?void 0:l[o])??((d=e.value.text_contents)==null?void 0:d[o])??rh[o]})])),[]);return v(vh.Provider,{value:s,children:t})}function He(){return ut(vh)}const bh=De(null);function lb({children:t}){const e=Ne(),n=ue("avatar-image-url"),i=ue("avatar-orb-color-1"),r=ue("avatar-orb-color-2"),s=Ye(""),o=fe(()=>n.value?{type:"image",url:n.value}:i.value&&r.value?{type:"orb",color_1:i.value,color_2:r.value}:e.value.avatar),a=fe(()=>{switch(o.value.type){case"url":return o.value.custom_url;case"orb":return s.value;case"image":return o.value.url}}),c=ie(()=>({config:o,previewUrl:a,canvasUrl:s}),[]);return v(bh.Provider,{value:c,children:t})}function da(){return ut(bh)}const yh=De(null);function Br({children:t,...e}){const[n,i]=F(null);return v("div",{ref:i,...e,children:n&&v(yh.Provider,{value:n,children:t})})}function db(){return ut(yh)}function ua(t){return t&&typeof t=="object"&&"peek"in t}function ub(t){const e=ua(t),n=Ye(e?t.peek():t);return e?t:(n.value=t,n)}function kh(t){return ua(t)?t.value:t}function hb(t){return ua(t)?t.peek():t}function Ch(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function wh(...t){return e=>{let n=!1;const i=t.map(r=>{const s=Ch(r,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let r=0;r<i.length;r++){const s=i[r];typeof s=="function"?s():Ch(t[r],null)}}}}function Le(...t){return W(wh(...t),t)}function Li(t){const e=fb(t),n=J((i,r)=>{const{children:s,...o}=i,a=Kt.toArray(s),c=a.find(mb);if(c){const l=c.props.children,d=a.map(u=>u===c?Kt.count(l)>1?Kt.only(null):Ot(l)?l.props.children:null:u);return v(e,{...o,ref:r,children:Ot(l)?bi(l,void 0,d):null})}return v(e,{...o,ref:r,children:s})});return n.displayName=`${t}.Slot`,n}var Th=Li("Slot");function fb(t){const e=J((n,i)=>{const{children:r,...s}=n;if(Ot(r)){const o=vb(r),a=gb(s,r.props);return r.type!==Ce&&(a.ref=i?wh(i,o):o),bi(r,a)}return Kt.count(r)>1?Kt.only(null):null});return e.displayName=`${t}.SlotClone`,e}var pb=Symbol("radix.slottable");function mb(t){return Ot(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===pb}function gb(t,e){const n={...e};for(const i in e){const r=t[i],s=e[i];/^on[A-Z]/.test(i)?r&&s?n[i]=(...o)=>{s(...o),r(...o)}:r&&(n[i]=r):i==="style"?n[i]={...r,...s}:i==="className"&&(n[i]=[r,s].filter(Boolean).join(" "))}return{...t,...n}}function vb(t){var e,n;let i=(e=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:e.get,r=i&&"isReactWarning"in i&&i.isReactWarning;return r?t.ref:(i=(n=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:n.get,r=i&&"isReactWarning"in i&&i.isReactWarning,r?t.props.ref:t.props.ref||t.ref)}const ha=window.matchMedia("(prefers-reduced-motion: reduce)");function _h(){const t=Ye(ha.matches);return z(()=>{const e=n=>{t.value=n.matches};return ha.addEventListener("change",e),()=>ha.removeEventListener("change",e)},[]),t}function Sh({onStart:t,onEnd:e}){const n=B();n.current??(n.current=new Set);const i=B(t);i.current=t;const r=B(e);r.current=e;const s=Ye(!1),o=W(c=>{var l,d;c.target===c.currentTarget&&((l=n.current)==null||l.add(c.propertyName),s.peek()||(s.value=!0,(d=i.current)==null||d.call(i)))},[]),a=W(c=>{var l,d,u;c.target===c.currentTarget&&((l=n.current)==null||l.delete(c.propertyName),(d=n.current)!=null&&d.size||(s.value=!1,(u=r.current)==null||u.call(r)))},[]);return{transitioning:s,handlers:{onTransitionStart:o,onTransitionEnd:a}}}function it(t){const e=_h().value?bb:yb;return v(e,{...t})}function bb({active:t,...e}){return kh(t)?v(Th,{"data-shown":!0,...e}):null}function yb({active:t,initial:e=t,...n}){const i=ub(t),r=Ye(hb(e));Jt(()=>{i.value&&(r.value=i.value)});const{handlers:s}=Sh({onEnd:()=>{r.value=i.value}});return!i.value&&!r.value?null:v(Th,{"data-shown":i.value&&r.value,...s,...n})}const kb=`#version 300 es
211
248
  precision highp float;
212
249
 
213
250
  uniform float uTime;
@@ -371,7 +408,7 @@ void main() {
371
408
 
372
409
  outColor = color;
373
410
  }
374
- `,Ql=`#version 300 es
411
+ `,Cb=`#version 300 es
375
412
  precision highp float;
376
413
 
377
414
  in vec2 position;
@@ -382,44 +419,44 @@ void main() {
382
419
  vUv = position * 0.5 + 0.5;
383
420
  gl_Position = vec4(position, 0, 1);
384
421
  }
385
- `,ja=0,ec=new Float32Array([-1,1,-1,-1,1,1,1,-1]),tc="https://storage.googleapis.com/eleven-public-cdn/images/perlin-noise.png",Va=class et{constructor(t){ue(this,"gl"),ue(this,"program"),ue(this,"startTime"),ue(this,"targetSpeed",0),ue(this,"speed",.5),ue(this,"rafId",null),ue(this,"resizeObserver"),ue(this,"colorA",[0,0,0]),ue(this,"colorB",[0,0,0]),ue(this,"offsets",new Float32Array(7).map(()=>Math.random()*Math.PI*2)),ue(this,"copyNoiseImage",()=>{this.gl&&(this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,et.noiseImage),this.gl.generateMipmap(this.gl.TEXTURE_2D))}),ue(this,"toDataURL",()=>this.gl.canvas.toDataURL("image/png")),ue(this,"render",()=>{if(!this.gl){this.rafId=null;return}const i=(performance.now()-this.startTime)/1e3;this.gl.uniform1f(this.gl.getUniformLocation(this.program,"uTime"),i),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4),this.rafId=requestAnimationFrame(this.render)});const n=t.getContext("webgl2",{depth:!1,stencil:!1});this.gl=n,this.program=this.setupProgram(Jl,Ql);const r=n.createTexture();n.bindTexture(n.TEXTURE_2D,r),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,new Uint8Array([128,128,128,255])),et.noiseImage||(et.noiseImage=new Image,et.noiseImage.crossOrigin="anonymous",et.noiseImage.src=tc),et.noiseImage.complete?this.copyNoiseImage():et.noiseImage.addEventListener("load",this.copyNoiseImage);const o=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,o),n.bufferData(n.ARRAY_BUFFER,ec,n.STATIC_DRAW),n.vertexAttribPointer(ja,2,n.FLOAT,!1,0,0),n.enableVertexAttribArray(ja),this.updateColors("#2792DC","#9CE6E6"),this.resizeObserver=new ResizeObserver(i=>{const s=i[0],l=s.devicePixelContentBoxSize?s.devicePixelContentBoxSize[0]:s.contentBoxSize[0];t.width=Math.min(512,l.inlineSize),t.height=Math.min(512,l.blockSize),this.updateViewport()});const a=t.parentElement;if(a)try{this.resizeObserver.observe(a,{box:"device-pixel-content-box"})}catch{this.resizeObserver.observe(a)}this.startTime=performance.now(),this.rafId=requestAnimationFrame(this.render)}dispose(){var t;this.rafId!==null&&cancelAnimationFrame(this.rafId),(t=this.resizeObserver)==null||t.disconnect(),this.gl=null,this.program=null}updateViewport(){this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height)}updateColors(t,n){this.gl&&(this.colorA=this.updateColor("uColor1",t)??this.colorA,this.colorB=this.updateColor("uColor2",n)??this.colorB)}updateVolume(t,n){this.targetSpeed=.2+(1-Math.pow(n-1,2))*1.8,this.targetSpeed>this.speed&&(this.speed=this.targetSpeed),this.gl.uniform1f(this.gl.getUniformLocation(this.program,"uInputVolume"),t),this.gl.uniform1f(this.gl.getUniformLocation(this.program,"uOutputVolume"),n)}updateColor(t,n){try{const r=parseInt(n.slice(1,3),16)/255,o=parseInt(n.slice(3,5),16)/255,a=parseInt(n.slice(5,7),16)/255,i=[Math.pow(r,2.2),Math.pow(o,2.2),Math.pow(a,2.2)];return this.gl.uniform3fv(this.gl.getUniformLocation(this.program,t),i),i}catch(r){console.error(`[ConversationalAI] Failed to parse ${n} as color:`,r)}}setupProgram(t,n){const r=this.getShader(this.gl.FRAGMENT_SHADER,t),o=this.getShader(this.gl.VERTEX_SHADER,n);if(!r||!o)throw new Error("Failed to compile shaders");if(this.program=this.gl.createProgram(),this.gl.attachShader(this.program,r),this.gl.attachShader(this.program,o),this.gl.linkProgram(this.program),!this.gl.getProgramParameter(this.program,this.gl.LINK_STATUS))throw new Error("Failed to link program");return this.gl.useProgram(this.program),this.gl.uniform1i(this.gl.getUniformLocation(this.program,"uPerlinTexture"),0),this.gl.uniform1fv(this.gl.getUniformLocation(this.program,"uOffsets"),this.offsets),this.gl.uniform3fv(this.gl.getUniformLocation(this.program,"uColor1"),this.colorA),this.gl.uniform3fv(this.gl.getUniformLocation(this.program,"uColor2"),this.colorB),this.program}getShader(t,n){const r=this.gl.createShader(t);return this.gl.shaderSource(r,n),this.gl.compileShader(r),this.gl.getShaderParameter(r,this.gl.COMPILE_STATUS)?r:(this.gl.deleteShader(r),null)}};ue(Va,"noiseImage");let nc=Va;const rc={sm:"w-9 h-9",lg:"w-48 h-48"};function _t({size:e="sm",className:t}){const{getInputVolume:n,getOutputVolume:r,isSpeaking:o,isDisconnected:a}=de(),{config:i}=_r(),s=E(null),l=E(null);Ve(()=>{if(a.value){s.current.style.transform="",l.current.style.transform="";return}let f;function u(){const v=n(),h=r(),g=o.peek()?1:1-v*.4,p=o.peek()?1+h*.4:1;s.current.style.transform=`scale(${p})`,l.current.style.transform=`scale(${g})`,f=requestAnimationFrame(u)}return u(),()=>{cancelAnimationFrame(f)}});const c=J(()=>({backgroundImage:i.value.type==="image"?`url(${i.value.url})`:i.value.type==="url"?`url(${i.value.custom_url})`:void 0}));return d("div",{className:q("relative shrink-0",rc[e],t),children:[d("div",{ref:s,className:"absolute inset-0 rounded-full bg-base-border"}),d("div",{ref:l,style:c,className:"absolute inset-0 rounded-full overflow-hidden bg-base bg-cover",children:i.value.type==="orb"&&d(oc,{color1:i.value.color_1,color2:i.value.color_2})})]})}function oc({color1:e,color2:t}){const{canvasUrl:n}=_r(),[r,o]=S(null);A(()=>{r&&(r.updateColors(e,t),r.render(),n.value=r.toDataURL())},[r,e,t]);const a=$(i=>{if(i){const s=new nc(i);return o(s),()=>s.dispose()}else o(null)},[o]);return d("canvas",{className:"w-full h-full",ref:a})}const ac={phone:sc,"phone-off":lc,chat:cc,mic:uc,"mic-off":dc,check:hc,"chevron-down":fc,"chevron-up":pc},ic={sm:"text-xs",md:"text-lg"};function wt({name:e,size:t="md",className:n}){const r=ac[e];return d("slot",{name:`icon-${e}`,className:q("flex",ic[t],n),"aria-hidden":!0,children:d(r,{})})}function sc(e){return d("svg",{height:"1em",width:"1em",viewBox:"0 0 18 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:d("path",{d:"M3.7489 2.25C2.93286 2.25 2.21942 2.92142 2.27338 3.7963C2.6686 10.2041 7.79483 15.3303 14.2026 15.7255C15.0775 15.7795 15.7489 15.066 15.7489 14.25V11.958C15.7489 11.2956 15.3144 10.7116 14.6799 10.5213L12.6435 9.91035C12.1149 9.75179 11.542 9.89623 11.1518 10.2864L10.5901 10.8482C9.15291 10.0389 7.95998 8.84599 7.15074 7.40881L7.71246 6.84709C8.10266 6.45689 8.24711 5.88396 8.08854 5.35541L7.47761 3.31898C7.28727 2.6845 6.70329 2.25 6.04087 2.25H3.7489Z"})})}function lc(e){return d("svg",{height:"1em",width:"1em",viewBox:"0 0 19 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:[d("path",{d:"M16.0303 3.53033C16.3232 3.23744 16.3232 2.76256 16.0303 2.46967C15.7374 2.17678 15.2626 2.17678 14.9697 2.46967L8.6271 8.81224C8.25925 8.3778 7.93185 7.90804 7.65074 7.40881L8.21246 6.84709C8.60266 6.45689 8.74711 5.88396 8.58854 5.35541L7.97761 3.31898C7.78727 2.6845 7.20329 2.25 6.54087 2.25H4.2489C3.43286 2.25 2.71942 2.92142 2.77338 3.7963C2.95462 6.73468 4.13069 9.40357 5.96899 11.4703L2.96967 14.4697C2.67678 14.7626 2.67678 15.2374 2.96967 15.5303C3.26256 15.8232 3.73744 15.8232 4.03033 15.5303L16.0303 3.53033Z"}),d("path",{d:"M14.7026 15.7255C12.2994 15.5773 10.0765 14.7636 8.21584 13.4665L10.9278 10.7545C10.9815 10.7863 11.0356 10.8175 11.0901 10.8482L11.6518 10.2864C12.042 9.89623 12.6149 9.75179 13.1435 9.91035L15.1799 10.5213C15.8144 10.7116 16.2489 11.2956 16.2489 11.958V14.25C16.2489 15.066 15.5775 15.7795 14.7026 15.7255Z"})]})}function cc(e){return d("svg",{height:"1em",width:"1em",viewBox:"0 0 19 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:d("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M1.5 6.75C1.5 4.26472 3.51472 2.25 6 2.25H12C14.4853 2.25 16.5 4.26472 16.5 6.75V11.25C16.5 13.7353 14.4853 15.75 12 15.75H2.25C1.83579 15.75 1.5 15.4142 1.5 15V6.75ZM6 9.9375C5.48223 9.9375 5.0625 9.51777 5.0625 9C5.0625 8.48223 5.48223 8.0625 6 8.0625C6.51777 8.0625 6.9375 8.48223 6.9375 9C6.9375 9.51777 6.51777 9.9375 6 9.9375ZM9 9.9375C8.48223 9.9375 8.0625 9.51777 8.0625 9C8.0625 8.48223 8.48223 8.0625 9 8.0625C9.51777 8.0625 9.9375 8.48223 9.9375 9C9.9375 9.51777 9.51777 9.9375 9 9.9375ZM11.0625 9C11.0625 9.51777 11.4822 9.9375 12 9.9375C12.5178 9.9375 12.9375 9.51777 12.9375 9C12.9375 8.48223 12.5178 8.0625 12 8.0625C11.4822 8.0625 11.0625 8.48223 11.0625 9Z"})})}function uc(e){return d("svg",{height:"1em",width:"1em",viewBox:"0 0 19 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:[d("path",{d:"M9.50008 1.5C7.42901 1.5 5.75008 3.17893 5.75008 5.25V8.25C5.75008 10.3211 7.42901 12 9.50008 12C11.5712 12 13.2501 10.3211 13.2501 8.25V5.25C13.2501 3.17893 11.5712 1.5 9.50008 1.5Z"}),d("path",{d:"M4.88997 10.8417C4.66448 10.4943 4.20002 10.3954 3.85256 10.6209C3.50509 10.8463 3.40621 11.3108 3.63169 11.6583C4.47442 12.9569 6.08493 14.6838 8.75008 14.9616V15.75C8.75008 16.1642 9.08587 16.5 9.50008 16.5C9.9143 16.5 10.2501 16.1642 10.2501 15.75V14.9616C12.9152 14.6838 14.5257 12.9569 15.3685 11.6583C15.594 11.3108 15.4951 10.8463 15.1476 10.6209C14.8001 10.3954 14.3357 10.4943 14.1102 10.8417C13.3305 12.0432 11.9002 13.5 9.50008 13.5C7.1 13.5 5.66968 12.0432 4.88997 10.8417Z"})]})}function dc(e){return d("svg",{height:"1em",width:"1em",viewBox:"0 0 19 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:[d("path",{d:"M13.25 8.25C13.25 8.64791 13.188 9.03135 13.0732 9.39119L6.57947 2.8975C7.26687 2.04521 8.31974 1.5 9.49995 1.5C11.571 1.5 13.25 3.17893 13.25 5.25V8.25Z"}),d("path",{d:"M2.21967 1.71967C2.51256 1.42678 2.98744 1.42678 3.28033 1.71967L16.7803 15.2197C17.0732 15.5126 17.0732 15.9874 16.7803 16.2803C16.4874 16.5732 16.0126 16.5732 15.7197 16.2803L13.2828 13.8435C12.4719 14.4022 11.4678 14.8338 10.25 14.9614V15.75C10.25 16.1642 9.91422 16.5 9.50001 16.5C9.08579 16.5 8.75001 16.1642 8.75001 15.75V14.9616C6.08485 14.6838 4.47434 12.9569 3.63162 11.6583C3.40614 11.3108 3.50502 10.8463 3.85248 10.6209C4.19995 10.3954 4.66441 10.4943 4.88989 10.8417C5.6696 12.0432 7.09993 13.5 9.50001 13.5C10.5978 13.5 11.4845 13.1981 12.1992 12.7598L11.0875 11.6482C10.605 11.8739 10.0667 12 9.50001 12C7.42894 12 5.75001 10.3211 5.75001 8.25V6.31067L2.21967 2.78033C1.92678 2.48744 1.92678 2.01256 2.21967 1.71967Z"})]})}function fc(e){return d("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",width:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e,children:d("path",{d:"m6 9 6 6 6-6"})})}function pc(e){return d("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",width:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e,children:d("path",{d:"m18 15-6-6-6 6"})})}function hc(e){return d("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",width:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e,children:d("path",{d:"M20 6 9 17l-5-5"})})}function Fe(e){const t=Wa().value?vc:mc;return d(t,{...e})}function vc({visible:e,className:t,grow:n,dep:r,...o}){return e?d("div",{className:q(n&&"grow",t),...o}):null}function mc({visible:e,children:t,className:n,grow:r,dep:o,...a}){const[i,s]=S(e),[l,c]=S(null),[f,u]=S(null),v=E(t);e&&(v.current=t);const h=$(m=>{c(m),m&&!e&&(m.style.width="0px",m.style.height="0px")},[]);A(()=>{f&&(f.style.transition="none",f.style.opacity="0",f.offsetWidth,f.style.transition="",f.style.opacity="")},[o]),B(()=>{l&&(l.style.width=`${l.offsetWidth}px`,l.style.height=`${l.offsetHeight}px`)},[l,e,o]),A(()=>{if(!l||!f)return;e&&s(!0);const m=e?f.offsetWidth:0,_=e?f.offsetHeight:0;l.style.width=!e||l.offsetWidth!==m?`${m}px`:"",l.style.height=!e||l.offsetHeight!==_?`${_}px`:""},[l,f,e,o]);const{transitioning:g,handlers:p}=Ha({onEnd:()=>{e?(l.style.width="",l.style.height=""):s(!1)}});return d("div",{ref:h,className:q("relative inline-flex shrink-0 justify-center items-center transition-[opacity,width,height,transform,flex-grow] duration-200 min-w-0",!e&&"opacity-0 scale-75",e&&r&&"grow",e&&i&&!g.value&&"z-1"),...p,children:d("div",{ref:u,className:q("shrink-0 min-h-min min-w-min transition-opacity duration-200",r&&"grow",n),...a,children:(e||i)&&v.current})})}const gc={primary:"text-accent-primary border border-accent bg-accent hover:border-accent-hover hover:bg-accent-hover active:border-accent-active active:bg-accent-active",secondary:"text-base-primary border border-base-border bg-base hover:bg-base-hover active:bg-base-active"},qe=I(function({variant:e="secondary",children:t,icon:n,className:r,iconClassName:o,truncate:a=!0,...i},s){const l=!!n&&!t;return d("button",{ref:s,className:q("h-9 flex px-2.5 text-sm items-center transition-colors justify-center rounded-button duration-200 focus-ring overflow-hidden select-none",gc[e],l&&"min-w-9",r),type:"button",...i,children:[n&&d(wt,{className:q("transition-[margin] duration-200",l&&"-mx-0.5",o),name:n}),d(Fe,{visible:!!t,dep:t,children:d("span",{className:"block whitespace-nowrap max-w-64 truncate px-1.5",children:t})})]})});function br({className:e,...t}){const{status:n,isSpeaking:r}=de(),o=fn(),a=fe(),i=J(()=>n.value!=="connected"?a.connecting_status.value:o.value?a.chatting_status.value:r.value?a.speaking_status.value:a.listening_status.value),[s,l]=S(i.peek());return Ve(()=>{const c=i.value;if(n.value==="connected"&&r.value)l(c);else{const f=setTimeout(()=>{l(c)},500);return()=>clearTimeout(f)}}),d("div",{className:q("py-1.5 px-3 bg-base-active overflow-hidden rounded-bubble text-sm",e),...t,children:d(ke,{initial:!1,active:!0,children:d("div",{className:"animate-text whitespace-nowrap transition-[opacity,transform] ease-out duration-200 data-hidden:opacity-0 transform data-hidden:translate-y-2",children:s})},s)})}function qa(e,[t,n]){return Math.min(n,Math.max(t,e))}function oe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e==null||e(r),n===!1||!r.defaultPrevented)return t==null?void 0:t(r)}}function xr(e,t=[]){let n=[];function r(a,i){const s=ie(i),l=n.length;n=[...n,i];const c=u=>{var v;const{scope:h,children:g,...p}=u,m=((v=h==null?void 0:h[e])==null?void 0:v[l])||s,_=B(()=>p,Object.values(p));return d(m.Provider,{value:_,children:g})};c.displayName=a+"Provider";function f(u,v){var h;const g=((h=v==null?void 0:v[e])==null?void 0:h[l])||s,p=We(g);if(p)return p;if(i!==void 0)return i;throw new Error(`\`${u}\` must be used within \`${a}\``)}return[c,f]}const o=()=>{const a=n.map(i=>ie(i));return function(i){const s=(i==null?void 0:i[e])||a;return B(()=>({[`__scope${e}`]:{...i,[e]:s}}),[i,s])}};return o.scopeName=e,[r,_c(o,...t)]}function _c(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(o){const a=r.reduce((i,{useScope:s,scopeName:l})=>{const c=s(o)[`__scope${l}`];return{...i,...c}},{});return B(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function wc(e){const t=e+"CollectionProvider",[n,r]=xr(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=p=>{const{scope:m,children:_}=p,w=Re.useRef(null),y=Re.useRef(new Map).current;return d(o,{scope:m,itemMap:y,collectionRef:w,children:_})};i.displayName=t;const s=e+"CollectionSlot",l=Bt(s),c=Re.forwardRef((p,m)=>{const{scope:_,children:w}=p,y=a(s,_),b=ce(m,y.collectionRef);return d(l,{ref:b,children:w})});c.displayName=s;const f=e+"CollectionItemSlot",u="data-radix-collection-item",v=Bt(f),h=Re.forwardRef((p,m)=>{const{scope:_,children:w,...y}=p,b=Re.useRef(null),C=ce(m,b),k=a(f,_);return Re.useEffect(()=>(k.itemMap.set(b,{ref:b,...y}),()=>void k.itemMap.delete(b))),d(v,{[u]:"",ref:C,children:w})});h.displayName=f;function g(p){const m=a(e+"CollectionConsumer",p);return Re.useCallback(()=>{const _=m.collectionRef.current;if(!_)return[];const w=Array.from(_.querySelectorAll(`[${u}]`));return Array.from(m.itemMap.values()).sort((y,b)=>w.indexOf(y.ref.current)-w.indexOf(b.ref.current))},[m.collectionRef,m.itemMap])}return[{Provider:i,Slot:c,ItemSlot:h},g,r]}var yc=ie(void 0);function bc(e){const t=We(yc);return e||t||"ltr"}var xc=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],te=xc.reduce((e,t)=>{const n=Bt(`Primitive.${t}`),r=I((o,a)=>{const{asChild:i,...s}=o,l=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d(l,{...s,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Cc(e,t){e&&rn(()=>e.dispatchEvent(t))}function rt(e){const t=E(e);return A(()=>{t.current=e}),B(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function kc(e,t=globalThis==null?void 0:globalThis.document){const n=rt(e);A(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Sc="DismissableLayer",Cr="dismissableLayer.update",Ec="dismissableLayer.pointerDownOutside",Tc="dismissableLayer.focusOutside",Ya,Xa=ie({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ka=I((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:s,...l}=e,c=We(Xa),[f,u]=S(null),v=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,h]=S({}),g=ce(t,x=>u(x)),p=Array.from(c.layers),[m]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),_=p.indexOf(m),w=f?p.indexOf(f):-1,y=c.layersWithOutsidePointerEventsDisabled.size>0,b=w>=_,C=Ac(x=>{const P=x.target,D=[...c.branches].some(F=>F.contains(P));!b||D||(o==null||o(x),i==null||i(x),x.defaultPrevented||s==null||s())},v),k=$c(x=>{const P=x.target;[...c.branches].some(D=>D.contains(P))||(a==null||a(x),i==null||i(x),x.defaultPrevented||s==null||s())},v);return kc(x=>{w===c.layers.size-1&&(r==null||r(x),!x.defaultPrevented&&s&&(x.preventDefault(),s()))},v),A(()=>{if(f)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(Ya=v.body.style.pointerEvents,v.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(f)),c.layers.add(f),Ga(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(v.body.style.pointerEvents=Ya)}},[f,v,n,c]),A(()=>()=>{f&&(c.layers.delete(f),c.layersWithOutsidePointerEventsDisabled.delete(f),Ga())},[f,c]),A(()=>{const x=()=>h({});return document.addEventListener(Cr,x),()=>document.removeEventListener(Cr,x)},[]),d(te.div,{...l,ref:g,style:{pointerEvents:y?b?"auto":"none":void 0,...e.style},onFocusCapture:oe(e.onFocusCapture,k.onFocusCapture),onBlurCapture:oe(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:oe(e.onPointerDownCapture,C.onPointerDownCapture)})});Ka.displayName=Sc;var Nc="DismissableLayerBranch",Pc=I((e,t)=>{const n=We(Xa),r=E(null),o=ce(t,r);return A(()=>{const a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),d(te.div,{...e,ref:o})});Pc.displayName=Nc;function Ac(e,t=globalThis==null?void 0:globalThis.document){const n=rt(e),r=E(!1),o=E(()=>{});return A(()=>{const a=s=>{if(s.target&&!r.current){let l=function(){Za(Ec,n,c,{discrete:!0})};const c={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=l,t.addEventListener("click",o.current,{once:!0})):l()}else t.removeEventListener("click",o.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function $c(e,t=globalThis==null?void 0:globalThis.document){const n=rt(e),r=E(!1);return A(()=>{const o=a=>{a.target&&!r.current&&Za(Tc,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Ga(){const e=new CustomEvent(Cr);document.dispatchEvent(e)}function Za(e,t,n,{discrete:r}){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Cc(o,a):o.dispatchEvent(a)}var kr=0;function Ic(){A(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Ja()),document.body.insertAdjacentElement("beforeend",e[1]??Ja()),kr++,()=>{kr===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),kr--}},[])}function Ja(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Sr="focusScope.autoFocusOnMount",Er="focusScope.autoFocusOnUnmount",Qa={bubbles:!1,cancelable:!0},Dc="FocusScope",ei=I((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[s,l]=S(null),c=rt(o),f=rt(a),u=E(null),v=ce(t,p=>l(p)),h=E({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;A(()=>{if(r){let p=function(y){if(h.paused||!s)return;const b=y.target;s.contains(b)?u.current=b:Ye(u.current,{select:!0})},m=function(y){if(h.paused||!s)return;const b=y.relatedTarget;b!==null&&(s.contains(b)||Ye(u.current,{select:!0}))},_=function(y){if(document.activeElement===document.body)for(const b of y)b.removedNodes.length>0&&Ye(s)};document.addEventListener("focusin",p),document.addEventListener("focusout",m);const w=new MutationObserver(_);return s&&w.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",p),document.removeEventListener("focusout",m),w.disconnect()}}},[r,s,h.paused]),A(()=>{if(s){ri.add(h);const p=document.activeElement;if(!s.contains(p)){const m=new CustomEvent(Sr,Qa);s.addEventListener(Sr,c),s.dispatchEvent(m),m.defaultPrevented||(Mc(zc(ti(s)),{select:!0}),document.activeElement===p&&Ye(s))}return()=>{s.removeEventListener(Sr,c),setTimeout(()=>{const m=new CustomEvent(Er,Qa);s.addEventListener(Er,f),s.dispatchEvent(m),m.defaultPrevented||Ye(p??document.body,{select:!0}),s.removeEventListener(Er,f),ri.remove(h)},0)}}},[s,c,f,h]);const g=$(p=>{if(!n&&!r||h.paused)return;const m=p.key==="Tab"&&!p.altKey&&!p.ctrlKey&&!p.metaKey,_=document.activeElement;if(m&&_){const w=p.currentTarget,[y,b]=Oc(w);y&&b?!p.shiftKey&&_===b?(p.preventDefault(),n&&Ye(y,{select:!0})):p.shiftKey&&_===y&&(p.preventDefault(),n&&Ye(b,{select:!0})):_===w&&p.preventDefault()}},[n,r,h.paused]);return d(te.div,{tabIndex:-1,...i,ref:v,onKeyDown:g})});ei.displayName=Dc;function Mc(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Ye(r,{select:t}),document.activeElement!==n)return}function Oc(e){const t=ti(e),n=ni(t,e),r=ni(t.reverse(),e);return[n,r]}function ti(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ni(e,t){for(const n of e)if(!Lc(n,{upTo:t}))return n}function Lc(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Rc(e){return e instanceof HTMLInputElement&&"select"in e}function Ye(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Rc(e)&&t&&e.select()}}var ri=Fc();function Fc(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=oi(e,t),e.unshift(t)},remove(t){var n;e=oi(e,t),(n=e[0])==null||n.resume()}}}function oi(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function zc(e){return e.filter(t=>t.tagName!=="A")}var pe=globalThis!=null&&globalThis.document?Oe:()=>{},Uc=ra[" useId ".trim().toString()]||(()=>{}),Bc=0;function Tr(e){const[t,n]=S(Uc());return pe(()=>{n(r=>r??String(Bc++))},[e]),t?`radix-${t}`:""}const Wc=["top","right","bottom","left"],Xe=Math.min,ge=Math.max,hn=Math.round,vn=Math.floor,Pe=e=>({x:e,y:e}),Hc={left:"right",right:"left",bottom:"top",top:"bottom"},jc={start:"end",end:"start"};function Nr(e,t,n){return ge(e,Xe(t,n))}function ze(e,t){return typeof e=="function"?e(t):e}function Ue(e){return e.split("-")[0]}function yt(e){return e.split("-")[1]}function Pr(e){return e==="x"?"y":"x"}function Ar(e){return e==="y"?"height":"width"}function Ke(e){return["top","bottom"].includes(Ue(e))?"y":"x"}function $r(e){return Pr(Ke(e))}function Vc(e,t,n){n===void 0&&(n=!1);const r=yt(e),o=$r(e),a=Ar(o);let i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=mn(i)),[i,mn(i)]}function qc(e){const t=mn(e);return[Ir(e),t,Ir(t)]}function Ir(e){return e.replace(/start|end/g,t=>jc[t])}function Yc(e,t,n){const r=["left","right"],o=["right","left"],a=["top","bottom"],i=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:r:t?r:o;case"left":case"right":return t?a:i;default:return[]}}function Xc(e,t,n,r){const o=yt(e);let a=Yc(Ue(e),n==="start",r);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(Ir)))),a}function mn(e){return e.replace(/left|right|bottom|top/g,t=>Hc[t])}function Kc(e){return{top:0,right:0,bottom:0,left:0,...e}}function ai(e){return typeof e!="number"?Kc(e):{top:e,right:e,bottom:e,left:e}}function gn(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function ii(e,t,n){let{reference:r,floating:o}=e;const a=Ke(t),i=$r(t),s=Ar(i),l=Ue(t),c=a==="y",f=r.x+r.width/2-o.width/2,u=r.y+r.height/2-o.height/2,v=r[s]/2-o[s]/2;let h;switch(l){case"top":h={x:f,y:r.y-o.height};break;case"bottom":h={x:f,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:u};break;case"left":h={x:r.x-o.width,y:u};break;default:h={x:r.x,y:r.y}}switch(yt(t)){case"start":h[i]-=v*(n&&c?-1:1);break;case"end":h[i]+=v*(n&&c?-1:1);break}return h}const Gc=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,s=a.filter(Boolean),l=await(i.isRTL==null?void 0:i.isRTL(t));let c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:f,y:u}=ii(c,r,l),v=r,h={},g=0;for(let p=0;p<s.length;p++){const{name:m,fn:_}=s[p],{x:w,y,data:b,reset:C}=await _({x:f,y:u,initialPlacement:r,placement:v,strategy:o,middlewareData:h,rects:c,platform:i,elements:{reference:e,floating:t}});f=w??f,u=y??u,h={...h,[m]:{...h[m],...b}},C&&g<=50&&(g++,typeof C=="object"&&(C.placement&&(v=C.placement),C.rects&&(c=C.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:o}):C.rects),{x:f,y:u}=ii(c,v,l)),p=-1)}return{x:f,y:u,placement:v,strategy:o,middlewareData:h}};async function Wt(e,t){var n;t===void 0&&(t={});const{x:r,y:o,platform:a,rects:i,elements:s,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:v=!1,padding:h=0}=ze(t,e),g=ai(h),p=s[v?u==="floating"?"reference":"floating":u],m=gn(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(p)))==null||n?p:p.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(s.floating)),boundary:c,rootBoundary:f,strategy:l})),_=u==="floating"?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,w=await(a.getOffsetParent==null?void 0:a.getOffsetParent(s.floating)),y=await(a.isElement==null?void 0:a.isElement(w))?await(a.getScale==null?void 0:a.getScale(w))||{x:1,y:1}:{x:1,y:1},b=gn(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:_,offsetParent:w,strategy:l}):_);return{top:(m.top-b.top+g.top)/y.y,bottom:(b.bottom-m.bottom+g.bottom)/y.y,left:(m.left-b.left+g.left)/y.x,right:(b.right-m.right+g.right)/y.x}}const Zc=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:a,platform:i,elements:s,middlewareData:l}=t,{element:c,padding:f=0}=ze(e,t)||{};if(c==null)return{};const u=ai(f),v={x:n,y:r},h=$r(o),g=Ar(h),p=await i.getDimensions(c),m=h==="y",_=m?"top":"left",w=m?"bottom":"right",y=m?"clientHeight":"clientWidth",b=a.reference[g]+a.reference[h]-v[h]-a.floating[g],C=v[h]-a.reference[h],k=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c));let x=k?k[y]:0;(!x||!await(i.isElement==null?void 0:i.isElement(k)))&&(x=s.floating[y]||a.floating[g]);const P=b/2-C/2,D=x/2-p[g]/2-1,F=Xe(u[_],D),O=Xe(u[w],D),L=F,X=x-p[g]-O,z=x/2-p[g]/2+P,ne=Nr(L,z,X),R=!l.arrow&&yt(o)!=null&&z!==ne&&a.reference[g]/2-(z<L?F:O)-p[g]/2<0,j=R?z<L?z-L:z-X:0;return{[h]:v[h]+j,data:{[h]:ne,centerOffset:z-ne-j,...R&&{alignmentOffset:j}},reset:R}}}),Jc=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:o,middlewareData:a,rects:i,initialPlacement:s,platform:l,elements:c}=t,{mainAxis:f=!0,crossAxis:u=!0,fallbackPlacements:v,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:p=!0,...m}=ze(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};const _=Ue(o),w=Ke(s),y=Ue(s)===s,b=await(l.isRTL==null?void 0:l.isRTL(c.floating)),C=v||(y||!p?[mn(s)]:qc(s)),k=g!=="none";!v&&k&&C.push(...Xc(s,p,g,b));const x=[s,...C],P=await Wt(t,m),D=[];let F=((r=a.flip)==null?void 0:r.overflows)||[];if(f&&D.push(P[_]),u){const z=Vc(o,i,b);D.push(P[z[0]],P[z[1]])}if(F=[...F,{placement:o,overflows:D}],!D.every(z=>z<=0)){var O,L;const z=(((O=a.flip)==null?void 0:O.index)||0)+1,ne=x[z];if(ne)return{data:{index:z,overflows:F},reset:{placement:ne}};let R=(L=F.filter(j=>j.overflows[0]<=0).sort((j,M)=>j.overflows[1]-M.overflows[1])[0])==null?void 0:L.placement;if(!R)switch(h){case"bestFit":{var X;const j=(X=F.filter(M=>{if(k){const V=Ke(M.placement);return V===w||V==="y"}return!0}).map(M=>[M.placement,M.overflows.filter(V=>V>0).reduce((V,he)=>V+he,0)]).sort((M,V)=>M[1]-V[1])[0])==null?void 0:X[0];j&&(R=j);break}case"initialPlacement":R=s;break}if(o!==R)return{reset:{placement:R}}}return{}}}};function si(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function li(e){return Wc.some(t=>e[t]>=0)}const Qc=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...o}=ze(e,t);switch(r){case"referenceHidden":{const a=await Wt(t,{...o,elementContext:"reference"}),i=si(a,n.reference);return{data:{referenceHiddenOffsets:i,referenceHidden:li(i)}}}case"escaped":{const a=await Wt(t,{...o,altBoundary:!0}),i=si(a,n.floating);return{data:{escapedOffsets:i,escaped:li(i)}}}default:return{}}}}};async function eu(e,t){const{placement:n,platform:r,elements:o}=e,a=await(r.isRTL==null?void 0:r.isRTL(o.floating)),i=Ue(n),s=yt(n),l=Ke(n)==="y",c=["left","top"].includes(i)?-1:1,f=a&&l?-1:1,u=ze(t,e);let{mainAxis:v,crossAxis:h,alignmentAxis:g}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return s&&typeof g=="number"&&(h=s==="end"?g*-1:g),l?{x:h*f,y:v*c}:{x:v*c,y:h*f}}const tu=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:a,placement:i,middlewareData:s}=t,l=await eu(t,e);return i===((n=s.offset)==null?void 0:n.placement)&&(r=s.arrow)!=null&&r.alignmentOffset?{}:{x:o+l.x,y:a+l.y,data:{...l,placement:i}}}}},nu=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:a=!0,crossAxis:i=!1,limiter:s={fn:m=>{let{x:_,y:w}=m;return{x:_,y:w}}},...l}=ze(e,t),c={x:n,y:r},f=await Wt(t,l),u=Ke(Ue(o)),v=Pr(u);let h=c[v],g=c[u];if(a){const m=v==="y"?"top":"left",_=v==="y"?"bottom":"right",w=h+f[m],y=h-f[_];h=Nr(w,h,y)}if(i){const m=u==="y"?"top":"left",_=u==="y"?"bottom":"right",w=g+f[m],y=g-f[_];g=Nr(w,g,y)}const p=s.fn({...t,[v]:h,[u]:g});return{...p,data:{x:p.x-n,y:p.y-r,enabled:{[v]:a,[u]:i}}}}}},ru=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:a,middlewareData:i}=t,{offset:s=0,mainAxis:l=!0,crossAxis:c=!0}=ze(e,t),f={x:n,y:r},u=Ke(o),v=Pr(u);let h=f[v],g=f[u];const p=ze(s,t),m=typeof p=="number"?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(l){const y=v==="y"?"height":"width",b=a.reference[v]-a.floating[y]+m.mainAxis,C=a.reference[v]+a.reference[y]-m.mainAxis;h<b?h=b:h>C&&(h=C)}if(c){var _,w;const y=v==="y"?"width":"height",b=["top","left"].includes(Ue(o)),C=a.reference[u]-a.floating[y]+(b&&((_=i.offset)==null?void 0:_[u])||0)+(b?0:m.crossAxis),k=a.reference[u]+a.reference[y]+(b?0:((w=i.offset)==null?void 0:w[u])||0)-(b?m.crossAxis:0);g<C?g=C:g>k&&(g=k)}return{[v]:h,[u]:g}}}},ou=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:o,rects:a,platform:i,elements:s}=t,{apply:l=()=>{},...c}=ze(e,t),f=await Wt(t,c),u=Ue(o),v=yt(o),h=Ke(o)==="y",{width:g,height:p}=a.floating;let m,_;u==="top"||u==="bottom"?(m=u,_=v===(await(i.isRTL==null?void 0:i.isRTL(s.floating))?"start":"end")?"left":"right"):(_=u,m=v==="end"?"top":"bottom");const w=p-f.top-f.bottom,y=g-f.left-f.right,b=Xe(p-f[m],w),C=Xe(g-f[_],y),k=!t.middlewareData.shift;let x=b,P=C;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(P=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(x=w),k&&!v){const F=ge(f.left,0),O=ge(f.right,0),L=ge(f.top,0),X=ge(f.bottom,0);h?P=g-2*(F!==0||O!==0?F+O:ge(f.left,f.right)):x=p-2*(L!==0||X!==0?L+X:ge(f.top,f.bottom))}await l({...t,availableWidth:P,availableHeight:x});const D=await i.getDimensions(s.floating);return g!==D.width||p!==D.height?{reset:{rects:!0}}:{}}}};function _n(){return typeof window<"u"}function bt(e){return ci(e)?(e.nodeName||"").toLowerCase():"#document"}function _e(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ae(e){var t;return(t=(ci(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function ci(e){return _n()?e instanceof Node||e instanceof _e(e).Node:!1}function Se(e){return _n()?e instanceof Element||e instanceof _e(e).Element:!1}function $e(e){return _n()?e instanceof HTMLElement||e instanceof _e(e).HTMLElement:!1}function ui(e){return!_n()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof _e(e).ShadowRoot}function Ht(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=Ee(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function au(e){return["table","td","th"].includes(bt(e))}function wn(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function Dr(e){const t=Mr(),n=Se(e)?Ee(e):e;return["transform","translate","scale","rotate","perspective"].some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function iu(e){let t=Ge(e);for(;$e(t)&&!xt(t);){if(Dr(t))return t;if(wn(t))return null;t=Ge(t)}return null}function Mr(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function xt(e){return["html","body","#document"].includes(bt(e))}function Ee(e){return _e(e).getComputedStyle(e)}function yn(e){return Se(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ge(e){if(bt(e)==="html")return e;const t=e.assignedSlot||e.parentNode||ui(e)&&e.host||Ae(e);return ui(t)?t.host:t}function di(e){const t=Ge(e);return xt(t)?e.ownerDocument?e.ownerDocument.body:e.body:$e(t)&&Ht(t)?t:di(t)}function jt(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=di(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=_e(o);if(a){const s=Or(i);return t.concat(i,i.visualViewport||[],Ht(o)?o:[],s&&n?jt(s):[])}return t.concat(o,jt(o,[],n))}function Or(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function fi(e){const t=Ee(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=$e(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,s=hn(n)!==a||hn(r)!==i;return s&&(n=a,r=i),{width:n,height:r,$:s}}function Lr(e){return Se(e)?e:e.contextElement}function Ct(e){const t=Lr(e);if(!$e(t))return Pe(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:a}=fi(t);let i=(a?hn(n.width):n.width)/r,s=(a?hn(n.height):n.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!s||!Number.isFinite(s))&&(s=1),{x:i,y:s}}const su=Pe(0);function pi(e){const t=_e(e);return!Mr()||!t.visualViewport?su:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function lu(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==_e(e)?!1:t}function ot(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),a=Lr(e);let i=Pe(1);t&&(r?Se(r)&&(i=Ct(r)):i=Ct(e));const s=lu(a,n,r)?pi(a):Pe(0);let l=(o.left+s.x)/i.x,c=(o.top+s.y)/i.y,f=o.width/i.x,u=o.height/i.y;if(a){const v=_e(a),h=r&&Se(r)?_e(r):r;let g=v,p=Or(g);for(;p&&r&&h!==g;){const m=Ct(p),_=p.getBoundingClientRect(),w=Ee(p),y=_.left+(p.clientLeft+parseFloat(w.paddingLeft))*m.x,b=_.top+(p.clientTop+parseFloat(w.paddingTop))*m.y;l*=m.x,c*=m.y,f*=m.x,u*=m.y,l+=y,c+=b,g=_e(p),p=Or(g)}}return gn({width:f,height:u,x:l,y:c})}function Rr(e,t){const n=yn(e).scrollLeft;return t?t.left+n:ot(Ae(e)).left+n}function hi(e,t,n){n===void 0&&(n=!1);const r=e.getBoundingClientRect(),o=r.left+t.scrollLeft-(n?0:Rr(e,r)),a=r.top+t.scrollTop;return{x:o,y:a}}function cu(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const a=o==="fixed",i=Ae(r),s=t?wn(t.floating):!1;if(r===i||s&&a)return n;let l={scrollLeft:0,scrollTop:0},c=Pe(1);const f=Pe(0),u=$e(r);if((u||!u&&!a)&&((bt(r)!=="body"||Ht(i))&&(l=yn(r)),$e(r))){const h=ot(r);c=Ct(r),f.x=h.x+r.clientLeft,f.y=h.y+r.clientTop}const v=i&&!u&&!a?hi(i,l,!0):Pe(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+f.x+v.x,y:n.y*c.y-l.scrollTop*c.y+f.y+v.y}}function uu(e){return Array.from(e.getClientRects())}function du(e){const t=Ae(e),n=yn(e),r=e.ownerDocument.body,o=ge(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ge(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let i=-n.scrollLeft+Rr(e);const s=-n.scrollTop;return Ee(r).direction==="rtl"&&(i+=ge(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:s}}function fu(e,t){const n=_e(e),r=Ae(e),o=n.visualViewport;let a=r.clientWidth,i=r.clientHeight,s=0,l=0;if(o){a=o.width,i=o.height;const c=Mr();(!c||c&&t==="fixed")&&(s=o.offsetLeft,l=o.offsetTop)}return{width:a,height:i,x:s,y:l}}function pu(e,t){const n=ot(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=$e(e)?Ct(e):Pe(1),i=e.clientWidth*a.x,s=e.clientHeight*a.y,l=o*a.x,c=r*a.y;return{width:i,height:s,x:l,y:c}}function vi(e,t,n){let r;if(t==="viewport")r=fu(e,n);else if(t==="document")r=du(Ae(e));else if(Se(t))r=pu(t,n);else{const o=pi(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return gn(r)}function mi(e,t){const n=Ge(e);return n===t||!Se(n)||xt(n)?!1:Ee(n).position==="fixed"||mi(n,t)}function hu(e,t){const n=t.get(e);if(n)return n;let r=jt(e,[],!1).filter(s=>Se(s)&&bt(s)!=="body"),o=null;const a=Ee(e).position==="fixed";let i=a?Ge(e):e;for(;Se(i)&&!xt(i);){const s=Ee(i),l=Dr(i);!l&&s.position==="fixed"&&(o=null),(a?!l&&!o:!l&&s.position==="static"&&o&&["absolute","fixed"].includes(o.position)||Ht(i)&&!l&&mi(e,i))?r=r.filter(c=>c!==i):o=s,i=Ge(i)}return t.set(e,r),r}function vu(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const a=[...n==="clippingAncestors"?wn(t)?[]:hu(t,this._c):[].concat(n),r],i=a[0],s=a.reduce((l,c)=>{const f=vi(t,c,o);return l.top=ge(f.top,l.top),l.right=Xe(f.right,l.right),l.bottom=Xe(f.bottom,l.bottom),l.left=ge(f.left,l.left),l},vi(t,i,o));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function mu(e){const{width:t,height:n}=fi(e);return{width:t,height:n}}function gu(e,t,n){const r=$e(t),o=Ae(t),a=n==="fixed",i=ot(e,!0,a,t);let s={scrollLeft:0,scrollTop:0};const l=Pe(0);if(r||!r&&!a)if((bt(t)!=="body"||Ht(o))&&(s=yn(t)),r){const v=ot(t,!0,a,t);l.x=v.x+t.clientLeft,l.y=v.y+t.clientTop}else o&&(l.x=Rr(o));const c=o&&!r&&!a?hi(o,s):Pe(0),f=i.left+s.scrollLeft-l.x-c.x,u=i.top+s.scrollTop-l.y-c.y;return{x:f,y:u,width:i.width,height:i.height}}function Fr(e){return Ee(e).position==="static"}function gi(e,t){if(!$e(e)||Ee(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Ae(e)===n&&(n=n.ownerDocument.body),n}function _i(e,t){const n=_e(e);if(wn(e))return n;if(!$e(e)){let o=Ge(e);for(;o&&!xt(o);){if(Se(o)&&!Fr(o))return o;o=Ge(o)}return n}let r=gi(e,t);for(;r&&au(r)&&Fr(r);)r=gi(r,t);return r&&xt(r)&&Fr(r)&&!Dr(r)?n:r||iu(e)||n}const _u=async function(e){const t=this.getOffsetParent||_i,n=this.getDimensions,r=await n(e.floating);return{reference:gu(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function wu(e){return Ee(e).direction==="rtl"}const yu={convertOffsetParentRelativeRectToViewportRelativeRect:cu,getDocumentElement:Ae,getClippingRect:vu,getOffsetParent:_i,getElementRects:_u,getClientRects:uu,getDimensions:mu,getScale:Ct,isElement:Se,isRTL:wu};function wi(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function bu(e,t){let n=null,r;const o=Ae(e);function a(){var s;clearTimeout(r),(s=n)==null||s.disconnect(),n=null}function i(s,l){s===void 0&&(s=!1),l===void 0&&(l=1),a();const c=e.getBoundingClientRect(),{left:f,top:u,width:v,height:h}=c;if(s||t(),!v||!h)return;const g=vn(u),p=vn(o.clientWidth-(f+v)),m=vn(o.clientHeight-(u+h)),_=vn(f),w={rootMargin:-g+"px "+-p+"px "+-m+"px "+-_+"px",threshold:ge(0,Xe(1,l))||1};let y=!0;function b(C){const k=C[0].intersectionRatio;if(k!==l){if(!y)return i();k?i(!1,k):r=setTimeout(()=>{i(!1,1e-7)},1e3)}k===1&&!wi(c,e.getBoundingClientRect())&&i(),y=!1}try{n=new IntersectionObserver(b,{...w,root:o.ownerDocument})}catch{n=new IntersectionObserver(b,w)}n.observe(e)}return i(!0),a}function xu(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:l=!1}=r,c=Lr(e),f=o||a?[...c?jt(c):[],...jt(t)]:[];f.forEach(_=>{o&&_.addEventListener("scroll",n,{passive:!0}),a&&_.addEventListener("resize",n)});const u=c&&s?bu(c,n):null;let v=-1,h=null;i&&(h=new ResizeObserver(_=>{let[w]=_;w&&w.target===c&&h&&(h.unobserve(t),cancelAnimationFrame(v),v=requestAnimationFrame(()=>{var y;(y=h)==null||y.observe(t)})),n()}),c&&!l&&h.observe(c),h.observe(t));let g,p=l?ot(e):null;l&&m();function m(){const _=ot(e);p&&!wi(p,_)&&n(),p=_,g=requestAnimationFrame(m)}return n(),()=>{var _;f.forEach(w=>{o&&w.removeEventListener("scroll",n),a&&w.removeEventListener("resize",n)}),u==null||u(),(_=h)==null||_.disconnect(),h=null,l&&cancelAnimationFrame(g)}}const Cu=tu,ku=nu,Su=Jc,Eu=ou,Tu=Qc,yi=Zc,Nu=ru,Pu=(e,t,n)=>{const r=new Map,o={platform:yu,...n},a={...o.platform,_c:r};return Gc(e,t,{...o,platform:a})};var bn=typeof document<"u"?Oe:A;function xn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!xn(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const a=o[r];if(!(a==="_owner"&&e.$$typeof)&&!xn(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function bi(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function xi(e,t){const n=bi(e);return Math.round(t*n)/n}function zr(e){const t=E(e);return bn(()=>{t.current=e}),t}function Au(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:a,floating:i}={},transform:s=!0,whileElementsMounted:l,open:c}=e,[f,u]=S({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[v,h]=S(r);xn(v,r)||h(r);const[g,p]=S(null),[m,_]=S(null),w=$(M=>{M!==k.current&&(k.current=M,p(M))},[]),y=$(M=>{M!==x.current&&(x.current=M,_(M))},[]),b=a||g,C=i||m,k=E(null),x=E(null),P=E(f),D=l!=null,F=zr(l),O=zr(o),L=zr(c),X=$(()=>{if(!k.current||!x.current)return;const M={placement:t,strategy:n,middleware:v};O.current&&(M.platform=O.current),Pu(k.current,x.current,M).then(V=>{const he={...V,isPositioned:L.current!==!1};z.current&&!xn(P.current,he)&&(P.current=he,rn(()=>{u(he)}))})},[v,t,n,O,L]);bn(()=>{c===!1&&P.current.isPositioned&&(P.current.isPositioned=!1,u(M=>({...M,isPositioned:!1})))},[c]);const z=E(!1);bn(()=>(z.current=!0,()=>{z.current=!1}),[]),bn(()=>{if(b&&(k.current=b),C&&(x.current=C),b&&C){if(F.current)return F.current(b,C,X);X()}},[b,C,X,F,D]);const ne=B(()=>({reference:k,floating:x,setReference:w,setFloating:y}),[w,y]),R=B(()=>({reference:b,floating:C}),[b,C]),j=B(()=>{const M={position:n,left:0,top:0};if(!R.floating)return M;const V=xi(R.floating,f.x),he=xi(R.floating,f.y);return s?{...M,transform:"translate("+V+"px, "+he+"px)",...bi(R.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:V,top:he}},[n,s,R.floating,f.x,f.y]);return B(()=>({...f,update:X,refs:ne,elements:R,floatingStyles:j}),[f,X,ne,R,j])}const $u=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?yi({element:r.current,padding:o}).fn(n):{}:r?yi({element:r,padding:o}).fn(n):{}}}},Iu=(e,t)=>({...Cu(e),options:[e,t]}),Du=(e,t)=>({...ku(e),options:[e,t]}),Mu=(e,t)=>({...Nu(e),options:[e,t]}),Ou=(e,t)=>({...Su(e),options:[e,t]}),Lu=(e,t)=>({...Eu(e),options:[e,t]}),Ru=(e,t)=>({...Tu(e),options:[e,t]}),Fu=(e,t)=>({...$u(e),options:[e,t]});var zu="Arrow",Ci=I((e,t)=>{const{children:n,width:r=10,height:o=5,...a}=e;return d(te.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:d("polygon",{points:"0,0 30,0 15,10"})})});Ci.displayName=zu;var Uu=Ci;function Bu(e){const[t,n]=S(void 0);return pe(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const a=o[0];let i,s;if("borderBoxSize"in a){const l=a.borderBoxSize,c=Array.isArray(l)?l[0]:l;i=c.inlineSize,s=c.blockSize}else i=e.offsetWidth,s=e.offsetHeight;n({width:i,height:s})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var Ur="Popper",[ki,Si]=xr(Ur),[Wu,Ei]=ki(Ur),Ti=e=>{const{__scopePopper:t,children:n}=e,[r,o]=S(null);return d(Wu,{scope:t,anchor:r,onAnchorChange:o,children:n})};Ti.displayName=Ur;var Ni="PopperAnchor",Pi=I((e,t)=>{const{__scopePopper:n,virtualRef:r,...o}=e,a=Ei(Ni,n),i=E(null),s=ce(t,i);return A(()=>{a.onAnchorChange((r==null?void 0:r.current)||i.current)}),r?null:d(te.div,{...o,ref:s})});Pi.displayName=Ni;var Br="PopperContent",[Hu,ju]=ki(Br),Ai=I((e,t)=>{var n,r,o,a,i,s;const{__scopePopper:l,side:c="bottom",sideOffset:f=0,align:u="center",alignOffset:v=0,arrowPadding:h=0,avoidCollisions:g=!0,collisionBoundary:p=[],collisionPadding:m=0,sticky:_="partial",hideWhenDetached:w=!1,updatePositionStrategy:y="optimized",onPlaced:b,...C}=e,k=Ei(Br,l),[x,P]=S(null),D=ce(t,ye=>P(ye)),[F,O]=S(null),L=Bu(F),X=(L==null?void 0:L.width)??0,z=(L==null?void 0:L.height)??0,ne=c+(u!=="center"?"-"+u:""),R=typeof m=="number"?m:{top:0,right:0,bottom:0,left:0,...m},j=Array.isArray(p)?p:[p],M=j.length>0,V={padding:R,boundary:j.filter(qu),altBoundary:M},{refs:he,floatingStyles:st,placement:qt,isPositioned:Qe,middlewareData:we}=Au({strategy:"fixed",placement:ne,whileElementsMounted:(...ye)=>xu(...ye,{animationFrame:y==="always"}),elements:{reference:k.anchor},middleware:[Iu({mainAxis:f+z,alignmentAxis:v}),g&&Du({mainAxis:!0,crossAxis:!1,limiter:_==="partial"?Mu():void 0,...V}),g&&Ou({...V}),Lu({...V,apply:({elements:ye,rects:Yt,availableWidth:Xt,availableHeight:Kt})=>{const{width:Xf,height:Kf}=Yt.reference,On=ye.floating.style;On.setProperty("--radix-popper-available-width",`${Xt}px`),On.setProperty("--radix-popper-available-height",`${Kt}px`),On.setProperty("--radix-popper-anchor-width",`${Xf}px`),On.setProperty("--radix-popper-anchor-height",`${Kf}px`)}}),F&&Fu({element:F,padding:h}),Yu({arrowWidth:X,arrowHeight:z}),w&&Ru({strategy:"referenceHidden",...V})]}),[lt,ct]=Di(qt),N=rt(b);pe(()=>{Qe&&(N==null||N())},[Qe,N]);const G=(n=we.arrow)==null?void 0:n.x,re=(r=we.arrow)==null?void 0:r.y,U=((o=we.arrow)==null?void 0:o.centerOffset)!==0,[Q,ae]=S();return pe(()=>{x&&ae(window.getComputedStyle(x).zIndex)},[x]),d("div",{ref:he.setFloating,"data-radix-popper-content-wrapper":"",style:{...st,transform:Qe?st.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Q,"--radix-popper-transform-origin":[(a=we.transformOrigin)==null?void 0:a.x,(i=we.transformOrigin)==null?void 0:i.y].join(" "),...((s=we.hide)==null?void 0:s.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:d(Hu,{scope:l,placedSide:lt,onArrowChange:O,arrowX:G,arrowY:re,shouldHideArrow:U,children:d(te.div,{"data-side":lt,"data-align":ct,...C,ref:D,style:{...C.style,animation:Qe?void 0:"none"}})})})});Ai.displayName=Br;var $i="PopperArrow",Vu={top:"bottom",right:"left",bottom:"top",left:"right"},Ii=I(function(e,t){const{__scopePopper:n,...r}=e,o=ju($i,n),a=Vu[o.placedSide];return d("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:d(Uu,{...r,ref:t,style:{...r.style,display:"block"}})})});Ii.displayName=$i;function qu(e){return e!==null}var Yu=e=>({name:"transformOrigin",options:e,fn(t){var n,r,o;const{placement:a,rects:i,middlewareData:s}=t,l=((n=s.arrow)==null?void 0:n.centerOffset)!==0,c=l?0:e.arrowWidth,f=l?0:e.arrowHeight,[u,v]=Di(a),h={start:"0%",center:"50%",end:"100%"}[v],g=(((r=s.arrow)==null?void 0:r.x)??0)+c/2,p=(((o=s.arrow)==null?void 0:o.y)??0)+f/2;let m="",_="";return u==="bottom"?(m=l?h:`${g}px`,_=`${-f}px`):u==="top"?(m=l?h:`${g}px`,_=`${i.floating.height+f}px`):u==="right"?(m=`${-f}px`,_=l?h:`${p}px`):u==="left"&&(m=`${i.floating.width+f}px`,_=l?h:`${p}px`),{data:{x:m,y:_}}}});function Di(e){const[t,n="center"]=e.split("-");return[t,n]}var Xu=Ti,Ku=Pi,Gu=Ai,Zu=Ii,Ju="Portal",Mi=I((e,t)=>{var n;const{container:r,...o}=e,[a,i]=S(!1);pe(()=>i(!0),[]);const s=r||a&&((n=globalThis==null?void 0:globalThis.document)==null?void 0:n.body);return s?Re.createPortal(d(te.div,{...o,ref:t}),s):null});Mi.displayName=Ju;var Qu=ra[" useInsertionEffect ".trim().toString()]||pe;function Oi({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,a,i]=ed({defaultProp:t,onChange:n}),s=e!==void 0,l=s?e:o;{const f=E(e!==void 0);A(()=>{const u=f.current;u!==s&&console.warn(`${r} is changing from ${u?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),f.current=s},[s,r])}const c=$(f=>{var u;if(s){const v=td(f)?f(e):f;v!==e&&((u=i.current)==null||u.call(i,v))}else a(f)},[s,e,a,i]);return[l,c]}function ed({defaultProp:e,onChange:t}){const[n,r]=S(e),o=E(n),a=E(t);return Qu(()=>{a.current=t},[t]),A(()=>{var i;o.current!==n&&((i=a.current)==null||i.call(a,n),o.current=n)},[n,o]),[n,r,a]}function td(e){return typeof e=="function"}function nd(e){const t=E({value:e,previous:e});return B(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Li=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),rd="VisuallyHidden",od=I((e,t)=>d(te.span,{...e,ref:t,style:{...Li,...e.style}}));od.displayName=rd;var ad=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},kt=new WeakMap,Cn=new WeakMap,kn={},Wr=0,Ri=function(e){return e&&(e.host||Ri(e.parentNode))},id=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=Ri(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},sd=function(e,t,n,r){var o=id(t,Array.isArray(e)?e:[e]);kn[n]||(kn[n]=new WeakMap);var a=kn[n],i=[],s=new Set,l=new Set(o),c=function(u){!u||s.has(u)||(s.add(u),c(u.parentNode))};o.forEach(c);var f=function(u){!u||l.has(u)||Array.prototype.forEach.call(u.children,function(v){if(s.has(v))f(v);else try{var h=v.getAttribute(r),g=h!==null&&h!=="false",p=(kt.get(v)||0)+1,m=(a.get(v)||0)+1;kt.set(v,p),a.set(v,m),i.push(v),p===1&&g&&Cn.set(v,!0),m===1&&v.setAttribute(n,"true"),g||v.setAttribute(r,"true")}catch(_){console.error("aria-hidden: cannot operate on ",v,_)}})};return f(t),s.clear(),Wr++,function(){i.forEach(function(u){var v=kt.get(u)-1,h=a.get(u)-1;kt.set(u,v),a.set(u,h),v||(Cn.has(u)||u.removeAttribute(r),Cn.delete(u)),h||u.removeAttribute(n)}),Wr--,Wr||(kt=new WeakMap,kt=new WeakMap,Cn=new WeakMap,kn={})}},ld=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=ad(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),sd(r,o,n,"aria-hidden")):function(){return null}},Ie=function(){return Ie=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},Ie.apply(this,arguments)};function Fi(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function cd(e,t,n){for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Sn="right-scroll-bar-position",En="width-before-scroll-bar",ud="with-scroll-bars-hidden",dd="--removed-body-scroll-bar-size";function Hr(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function fd(e,t){var n=S(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var pd=typeof window<"u"?Oe:A,zi=new WeakMap;function hd(e,t){var n=fd(null,function(r){return e.forEach(function(o){return Hr(o,r)})});return pd(function(){var r=zi.get(n);if(r){var o=new Set(r),a=new Set(e),i=n.current;o.forEach(function(s){a.has(s)||Hr(s,null)}),a.forEach(function(s){o.has(s)||Hr(s,i)})}zi.set(n,e)},[e]),n}function vd(e){return e}function md(e,t){t===void 0&&(t=vd);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var i=t(a,r);return n.push(i),function(){n=n.filter(function(s){return s!==i})}},assignSyncMedium:function(a){for(r=!0;n.length;){var i=n;n=[],i.forEach(a)}n={push:function(s){return a(s)},filter:function(){return n}}},assignMedium:function(a){r=!0;var i=[];if(n.length){var s=n;n=[],s.forEach(a),i=n}var l=function(){var f=i;i=[],f.forEach(a)},c=function(){return Promise.resolve().then(l)};c(),n={push:function(f){i.push(f),c()},filter:function(f){return i=i.filter(f),n}}}};return o}function gd(e){e===void 0&&(e={});var t=md(null);return t.options=Ie({async:!0,ssr:!1},e),t}var Ui=function(e){var t=e.sideCar,n=Fi(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return K(r,Ie({},n))};Ui.isSideCarExport=!0;function _d(e,t){return e.useMedium(t),Ui}var Bi=gd(),jr=function(){},Tn=I(function(e,t){var n=E(null),r=S({onScrollCapture:jr,onWheelCapture:jr,onTouchMoveCapture:jr}),o=r[0],a=r[1],i=e.forwardProps,s=e.children,l=e.className,c=e.removeScrollBar,f=e.enabled,u=e.shards,v=e.sideCar,h=e.noIsolation,g=e.inert,p=e.allowPinchZoom,m=e.as,_=m===void 0?"div":m,w=e.gapMode,y=Fi(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),b=v,C=hd([n,t]),k=Ie(Ie({},y),o);return K(ee,null,f&&K(b,{sideCar:Bi,removeScrollBar:c,shards:u,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!p,lockRef:n,gapMode:w}),i?Lt(He.only(s),Ie(Ie({},k),{ref:C})):K(_,Ie({},k,{className:l,ref:C}),s))});Tn.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Tn.classNames={fullWidth:En,zeroRight:Sn};var wd=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function yd(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=wd();return t&&e.setAttribute("nonce",t),e}function bd(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function xd(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Cd=function(){var e=0,t=null;return{add:function(n){e==0&&(t=yd())&&(bd(t,n),xd(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},kd=function(){var e=Cd();return function(t,n){A(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Wi=function(){var e=kd(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},Sd={left:0,top:0,right:0,gap:0},Vr=function(e){return parseInt(e||"",10)||0},Ed=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[Vr(n),Vr(r),Vr(o)]},Td=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Sd;var t=Ed(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Nd=Wi(),St="data-scroll-locked",Pd=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,s=e.gap;return n===void 0&&(n="margin"),`
386
- .`.concat(ud,` {
387
- overflow: hidden `).concat(r,`;
388
- padding-right: `).concat(s,"px ").concat(r,`;
422
+ `,xh=0,wb=new Float32Array([-1,1,-1,-1,1,1,1,-1]),Tb="https://storage.googleapis.com/eleven-public-cdn/images/perlin-noise.png",Eh=class mn{constructor(e){ze(this,"gl"),ze(this,"program"),ze(this,"startTime"),ze(this,"targetSpeed",0),ze(this,"speed",.5),ze(this,"rafId",null),ze(this,"resizeObserver"),ze(this,"colorA",[0,0,0]),ze(this,"colorB",[0,0,0]),ze(this,"offsets",new Float32Array(7).map(()=>Math.random()*Math.PI*2)),ze(this,"copyNoiseImage",()=>{this.gl&&(this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,mn.noiseImage),this.gl.generateMipmap(this.gl.TEXTURE_2D))}),ze(this,"toDataURL",()=>this.gl.canvas.toDataURL("image/png")),ze(this,"render",()=>{if(!this.gl){this.rafId=null;return}const o=(performance.now()-this.startTime)/1e3;this.gl.uniform1f(this.gl.getUniformLocation(this.program,"uTime"),o),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4),this.rafId=requestAnimationFrame(this.render)});const n=e.getContext("webgl2",{depth:!1,stencil:!1});this.gl=n,this.program=this.setupProgram(kb,Cb);const i=n.createTexture();n.bindTexture(n.TEXTURE_2D,i),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,new Uint8Array([128,128,128,255])),mn.noiseImage||(mn.noiseImage=new Image,mn.noiseImage.crossOrigin="anonymous",mn.noiseImage.src=Tb),mn.noiseImage.complete?this.copyNoiseImage():mn.noiseImage.addEventListener("load",this.copyNoiseImage);const r=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,r),n.bufferData(n.ARRAY_BUFFER,wb,n.STATIC_DRAW),n.vertexAttribPointer(xh,2,n.FLOAT,!1,0,0),n.enableVertexAttribArray(xh),this.updateColors("#2792DC","#9CE6E6"),this.resizeObserver=new ResizeObserver(o=>{const a=o[0],c=a.devicePixelContentBoxSize?a.devicePixelContentBoxSize[0]:a.contentBoxSize[0];e.width=Math.min(512,c.inlineSize),e.height=Math.min(512,c.blockSize),this.updateViewport()});const s=e.parentElement;if(s)try{this.resizeObserver.observe(s,{box:"device-pixel-content-box"})}catch{this.resizeObserver.observe(s)}this.startTime=performance.now(),this.rafId=requestAnimationFrame(this.render)}dispose(){var e;this.rafId!==null&&cancelAnimationFrame(this.rafId),(e=this.resizeObserver)==null||e.disconnect(),this.gl=null,this.program=null}updateViewport(){this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height)}updateColors(e,n){this.gl&&(this.colorA=this.updateColor("uColor1",e)??this.colorA,this.colorB=this.updateColor("uColor2",n)??this.colorB)}updateVolume(e,n){this.targetSpeed=.2+(1-Math.pow(n-1,2))*1.8,this.targetSpeed>this.speed&&(this.speed=this.targetSpeed),this.gl.uniform1f(this.gl.getUniformLocation(this.program,"uInputVolume"),e),this.gl.uniform1f(this.gl.getUniformLocation(this.program,"uOutputVolume"),n)}updateColor(e,n){try{const i=parseInt(n.slice(1,3),16)/255,r=parseInt(n.slice(3,5),16)/255,s=parseInt(n.slice(5,7),16)/255,o=[Math.pow(i,2.2),Math.pow(r,2.2),Math.pow(s,2.2)];return this.gl.uniform3fv(this.gl.getUniformLocation(this.program,e),o),o}catch(i){console.error(`[ConversationalAI] Failed to parse ${n} as color:`,i)}}setupProgram(e,n){const i=this.getShader(this.gl.FRAGMENT_SHADER,e),r=this.getShader(this.gl.VERTEX_SHADER,n);if(!i||!r)throw new Error("Failed to compile shaders");if(this.program=this.gl.createProgram(),this.gl.attachShader(this.program,i),this.gl.attachShader(this.program,r),this.gl.linkProgram(this.program),!this.gl.getProgramParameter(this.program,this.gl.LINK_STATUS))throw new Error("Failed to link program");return this.gl.useProgram(this.program),this.gl.uniform1i(this.gl.getUniformLocation(this.program,"uPerlinTexture"),0),this.gl.uniform1fv(this.gl.getUniformLocation(this.program,"uOffsets"),this.offsets),this.gl.uniform3fv(this.gl.getUniformLocation(this.program,"uColor1"),this.colorA),this.gl.uniform3fv(this.gl.getUniformLocation(this.program,"uColor2"),this.colorB),this.program}getShader(e,n){const i=this.gl.createShader(e);return this.gl.shaderSource(i,n),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)?i:(this.gl.deleteShader(i),null)}};ze(Eh,"noiseImage");let _b=Eh;const Sb={sm:"w-9 h-9",lg:"w-48 h-48"};function ti({size:t="sm",className:e}){const{getInputVolume:n,getOutputVolume:i,isSpeaking:r,isDisconnected:s}=We(),{config:o}=da(),a=B(null),c=B(null);Jt(()=>{if(s.value){a.current.style.transform="",c.current.style.transform="";return}let d;function u(){const h=n(),f=i(),m=r.peek()?1:1-h*.4,p=r.peek()?1+f*.4:1;a.current.style.transform=`scale(${p})`,c.current.style.transform=`scale(${m})`,d=requestAnimationFrame(u)}return u(),()=>{cancelAnimationFrame(d)}});const l=fe(()=>({backgroundImage:o.value.type==="image"?`url(${o.value.url})`:o.value.type==="url"?`url(${o.value.custom_url})`:void 0}));return v("div",{className:de("relative shrink-0",Sb[t],e),children:[v("div",{ref:a,className:"absolute inset-0 rounded-full bg-base-border"}),v("div",{ref:c,style:l,className:"absolute inset-0 rounded-full overflow-hidden bg-base bg-cover",children:o.value.type==="orb"&&v(xb,{color1:o.value.color_1,color2:o.value.color_2})})]})}function xb({color1:t,color2:e}){const{canvasUrl:n}=da(),[i,r]=F(null);z(()=>{i&&(i.updateColors(t,e),i.render(),n.value=i.toDataURL())},[i,t,e]);const s=W(o=>{if(o){const a=new _b(o);return r(a),()=>a.dispose()}else r(null)},[r]);return v("canvas",{className:"w-full h-full",ref:s})}const Eb={phone:Rb,"phone-off":Ib,chat:Ob,mic:Db,"mic-off":Mb,check:Lb,"chevron-down":Ab,"chevron-up":Nb,send:Ub},Pb={sm:"text-xs",md:"text-lg"};function _n({name:t,size:e="md",className:n}){const i=Eb[t];return v("slot",{name:`icon-${t}`,className:de("flex",Pb[e],n),"aria-hidden":!0,children:v(i,{})})}function Rb(t){return v("svg",{height:"1em",width:"1em",viewBox:"0 0 18 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...t,children:v("path",{d:"M3.7489 2.25C2.93286 2.25 2.21942 2.92142 2.27338 3.7963C2.6686 10.2041 7.79483 15.3303 14.2026 15.7255C15.0775 15.7795 15.7489 15.066 15.7489 14.25V11.958C15.7489 11.2956 15.3144 10.7116 14.6799 10.5213L12.6435 9.91035C12.1149 9.75179 11.542 9.89623 11.1518 10.2864L10.5901 10.8482C9.15291 10.0389 7.95998 8.84599 7.15074 7.40881L7.71246 6.84709C8.10266 6.45689 8.24711 5.88396 8.08854 5.35541L7.47761 3.31898C7.28727 2.6845 6.70329 2.25 6.04087 2.25H3.7489Z"})})}function Ib(t){return v("svg",{height:"1em",width:"1em",viewBox:"0 0 19 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...t,children:[v("path",{d:"M16.0303 3.53033C16.3232 3.23744 16.3232 2.76256 16.0303 2.46967C15.7374 2.17678 15.2626 2.17678 14.9697 2.46967L8.6271 8.81224C8.25925 8.3778 7.93185 7.90804 7.65074 7.40881L8.21246 6.84709C8.60266 6.45689 8.74711 5.88396 8.58854 5.35541L7.97761 3.31898C7.78727 2.6845 7.20329 2.25 6.54087 2.25H4.2489C3.43286 2.25 2.71942 2.92142 2.77338 3.7963C2.95462 6.73468 4.13069 9.40357 5.96899 11.4703L2.96967 14.4697C2.67678 14.7626 2.67678 15.2374 2.96967 15.5303C3.26256 15.8232 3.73744 15.8232 4.03033 15.5303L16.0303 3.53033Z"}),v("path",{d:"M14.7026 15.7255C12.2994 15.5773 10.0765 14.7636 8.21584 13.4665L10.9278 10.7545C10.9815 10.7863 11.0356 10.8175 11.0901 10.8482L11.6518 10.2864C12.042 9.89623 12.6149 9.75179 13.1435 9.91035L15.1799 10.5213C15.8144 10.7116 16.2489 11.2956 16.2489 11.958V14.25C16.2489 15.066 15.5775 15.7795 14.7026 15.7255Z"})]})}function Ob(t){return v("svg",{height:"1em",width:"1em",viewBox:"0 0 19 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...t,children:v("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M1.5 6.75C1.5 4.26472 3.51472 2.25 6 2.25H12C14.4853 2.25 16.5 4.26472 16.5 6.75V11.25C16.5 13.7353 14.4853 15.75 12 15.75H2.25C1.83579 15.75 1.5 15.4142 1.5 15V6.75ZM6 9.9375C5.48223 9.9375 5.0625 9.51777 5.0625 9C5.0625 8.48223 5.48223 8.0625 6 8.0625C6.51777 8.0625 6.9375 8.48223 6.9375 9C6.9375 9.51777 6.51777 9.9375 6 9.9375ZM9 9.9375C8.48223 9.9375 8.0625 9.51777 8.0625 9C8.0625 8.48223 8.48223 8.0625 9 8.0625C9.51777 8.0625 9.9375 8.48223 9.9375 9C9.9375 9.51777 9.51777 9.9375 9 9.9375ZM11.0625 9C11.0625 9.51777 11.4822 9.9375 12 9.9375C12.5178 9.9375 12.9375 9.51777 12.9375 9C12.9375 8.48223 12.5178 8.0625 12 8.0625C11.4822 8.0625 11.0625 8.48223 11.0625 9Z"})})}function Db(t){return v("svg",{height:"1em",width:"1em",viewBox:"0 0 19 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...t,children:[v("path",{d:"M9.50008 1.5C7.42901 1.5 5.75008 3.17893 5.75008 5.25V8.25C5.75008 10.3211 7.42901 12 9.50008 12C11.5712 12 13.2501 10.3211 13.2501 8.25V5.25C13.2501 3.17893 11.5712 1.5 9.50008 1.5Z"}),v("path",{d:"M4.88997 10.8417C4.66448 10.4943 4.20002 10.3954 3.85256 10.6209C3.50509 10.8463 3.40621 11.3108 3.63169 11.6583C4.47442 12.9569 6.08493 14.6838 8.75008 14.9616V15.75C8.75008 16.1642 9.08587 16.5 9.50008 16.5C9.9143 16.5 10.2501 16.1642 10.2501 15.75V14.9616C12.9152 14.6838 14.5257 12.9569 15.3685 11.6583C15.594 11.3108 15.4951 10.8463 15.1476 10.6209C14.8001 10.3954 14.3357 10.4943 14.1102 10.8417C13.3305 12.0432 11.9002 13.5 9.50008 13.5C7.1 13.5 5.66968 12.0432 4.88997 10.8417Z"})]})}function Mb(t){return v("svg",{height:"1em",width:"1em",viewBox:"0 0 19 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...t,children:[v("path",{d:"M13.25 8.25C13.25 8.64791 13.188 9.03135 13.0732 9.39119L6.57947 2.8975C7.26687 2.04521 8.31974 1.5 9.49995 1.5C11.571 1.5 13.25 3.17893 13.25 5.25V8.25Z"}),v("path",{d:"M2.21967 1.71967C2.51256 1.42678 2.98744 1.42678 3.28033 1.71967L16.7803 15.2197C17.0732 15.5126 17.0732 15.9874 16.7803 16.2803C16.4874 16.5732 16.0126 16.5732 15.7197 16.2803L13.2828 13.8435C12.4719 14.4022 11.4678 14.8338 10.25 14.9614V15.75C10.25 16.1642 9.91422 16.5 9.50001 16.5C9.08579 16.5 8.75001 16.1642 8.75001 15.75V14.9616C6.08485 14.6838 4.47434 12.9569 3.63162 11.6583C3.40614 11.3108 3.50502 10.8463 3.85248 10.6209C4.19995 10.3954 4.66441 10.4943 4.88989 10.8417C5.6696 12.0432 7.09993 13.5 9.50001 13.5C10.5978 13.5 11.4845 13.1981 12.1992 12.7598L11.0875 11.6482C10.605 11.8739 10.0667 12 9.50001 12C7.42894 12 5.75001 10.3211 5.75001 8.25V6.31067L2.21967 2.78033C1.92678 2.48744 1.92678 2.01256 2.21967 1.71967Z"})]})}function Ab(t){return v("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",width:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...t,children:v("path",{d:"m6 9 6 6 6-6"})})}function Nb(t){return v("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",width:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...t,children:v("path",{d:"m18 15-6-6-6 6"})})}function Lb(t){return v("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",width:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...t,children:v("path",{d:"M20 6 9 17l-5-5"})})}function Ub(t){return v("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",width:"1em",viewBox:"0 0 20 20",fill:"currentColor",...t,children:v("path",{d:"M2.59413 5.1485C2.04 3.39377 3.86657 1.83482 5.51245 2.65776L16.47 8.13653C18.0055 8.90429 18.0055 11.0955 16.47 11.8633L5.51245 17.3421C3.86656 18.165 2.04 16.6061 2.59413 14.8513L3.86297 10.8333H7.50006C7.9603 10.8333 8.33339 10.4602 8.33339 10C8.33339 9.53976 7.9603 9.16667 7.50006 9.16667H3.86302L2.59413 5.1485Z",fill:"black"})})}function Vt(t){const e=_h().value?Fb:Bb;return v(e,{...t})}function Fb({visible:t,className:e,grow:n,dep:i,...r}){return t?v("div",{className:de(n&&"grow",e),...r}):null}function Bb({visible:t,children:e,className:n,grow:i,dep:r,...s}){const[o,a]=F(t),[c,l]=F(null),[d,u]=F(null),h=B(e);t&&(h.current=e);const f=W(g=>{l(g),g&&!t&&(g.style.width="0px",g.style.height="0px")},[]);z(()=>{d&&(d.style.transition="none",d.style.opacity="0",d.offsetWidth,d.style.transition="",d.style.opacity="")},[r]),ie(()=>{c&&(c.style.width=`${c.offsetWidth}px`,c.style.height=`${c.offsetHeight}px`)},[c,t,r]),z(()=>{if(!c||!d)return;t&&a(!0);const g=t?d.offsetWidth:0,b=t?d.offsetHeight:0;c.style.width=!t||c.offsetWidth!==g?`${g}px`:"",c.style.height=!t||c.offsetHeight!==b?`${b}px`:""},[c,d,t,r]);const{transitioning:m,handlers:p}=Sh({onEnd:()=>{t?(c.style.width="",c.style.height=""):a(!1)}});return v("div",{ref:f,className:de("relative inline-flex shrink-0 justify-center items-center transition-[opacity,width,height,transform,flex-grow] duration-200 min-w-0",!t&&"opacity-0 scale-75",t&&i&&"grow",t&&o&&!m.value&&"z-1"),...p,children:v("div",{ref:u,className:de("shrink-0 min-h-min min-w-min transition-opacity duration-200",i&&"grow",n),...s,children:(t||o)&&h.current})})}const jb={primary:"text-accent-primary border border-accent bg-accent hover:border-accent-hover hover:bg-accent-hover active:border-accent-active active:bg-accent-active",secondary:"text-base-primary border border-base-border bg-base hover:bg-base-hover active:bg-base-active"},cn=J(function({variant:t="secondary",children:e,icon:n,className:i,iconClassName:r,truncate:s=!0,...o},a){const c=!!n&&!e;return v("button",{ref:a,className:de("h-9 flex px-2.5 text-sm items-center transition-colors justify-center rounded-button duration-200 focus-ring overflow-hidden select-none",jb[t],c&&"min-w-9",i),type:"button",...o,children:[n&&v(_n,{className:de("transition-[margin] duration-200",c&&"-mx-0.5",r),name:n}),v(Vt,{visible:!!e,dep:e,children:v("span",{className:"block whitespace-nowrap max-w-64 truncate px-1.5",children:e})})]})});function fa({className:t,...e}){const{status:n,isSpeaking:i}=We(),r=Fr(),s=He(),o=fe(()=>n.value!=="connected"?s.connecting_status.value:r.value?s.chatting_status.value:i.value?s.speaking_status.value:s.listening_status.value),[a,c]=F(o.peek());return Jt(()=>{const l=o.value;if(n.value==="connected"&&i.value)c(l);else{const d=setTimeout(()=>{c(l)},500);return()=>clearTimeout(d)}}),v("div",{className:de("py-1.5 px-3 bg-base-active overflow-hidden rounded-bubble text-sm",t),...e,children:v(it,{initial:!1,active:!0,children:v("div",{className:"animate-text whitespace-nowrap transition-[opacity,transform] ease-out duration-200 data-hidden:opacity-0 transform data-hidden:translate-y-2",children:a})},a)})}function Ph(t,[e,n]){return Math.min(n,Math.max(e,t))}function xe(t,e,{checkForDefaultPrevented:n=!0}={}){return function(i){if(t==null||t(i),n===!1||!i.defaultPrevented)return e==null?void 0:e(i)}}function pa(t,e=[]){let n=[];function i(s,o){const a=De(o),c=n.length;n=[...n,o];const l=u=>{var h;const{scope:f,children:m,...p}=u,g=((h=f==null?void 0:f[t])==null?void 0:h[c])||a,b=ie(()=>p,Object.values(p));return v(g.Provider,{value:b,children:m})};l.displayName=s+"Provider";function d(u,h){var f;const m=((f=h==null?void 0:h[t])==null?void 0:f[c])||a,p=Ht(m);if(p)return p;if(o!==void 0)return o;throw new Error(`\`${u}\` must be used within \`${s}\``)}return[l,d]}const r=()=>{const s=n.map(o=>De(o));return function(o){const a=(o==null?void 0:o[t])||s;return ie(()=>({[`__scope${t}`]:{...o,[t]:a}}),[o,a])}};return r.scopeName=t,[i,Vb(r,...e)]}function Vb(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const i=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(r){const s=i.reduce((o,{useScope:a,scopeName:c})=>{const l=a(r)[`__scope${c}`];return{...o,...l}},{});return ie(()=>({[`__scope${e.scopeName}`]:s}),[s])}};return n.scopeName=e.scopeName,n}function qb(t){const e=t+"CollectionProvider",[n,i]=pa(e),[r,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),o=p=>{const{scope:g,children:b}=p,C=Dt.useRef(null),w=Dt.useRef(new Map).current;return v(r,{scope:g,itemMap:w,collectionRef:C,children:b})};o.displayName=e;const a=t+"CollectionSlot",c=Li(a),l=Dt.forwardRef((p,g)=>{const{scope:b,children:C}=p,w=s(a,b),k=Le(g,w.collectionRef);return v(c,{ref:k,children:C})});l.displayName=a;const d=t+"CollectionItemSlot",u="data-radix-collection-item",h=Li(d),f=Dt.forwardRef((p,g)=>{const{scope:b,children:C,...w}=p,k=Dt.useRef(null),T=Le(g,k),S=s(d,b);return Dt.useEffect(()=>(S.itemMap.set(k,{ref:k,...w}),()=>void S.itemMap.delete(k))),v(h,{[u]:"",ref:T,children:C})});f.displayName=d;function m(p){const g=s(t+"CollectionConsumer",p);return Dt.useCallback(()=>{const b=g.collectionRef.current;if(!b)return[];const C=Array.from(b.querySelectorAll(`[${u}]`));return Array.from(g.itemMap.values()).sort((w,k)=>C.indexOf(w.ref.current)-C.indexOf(k.ref.current))},[g.collectionRef,g.itemMap])}return[{Provider:o,Slot:l,ItemSlot:f},m,i]}var $b=De(void 0);function zb(t){const e=Ht($b);return t||e||"ltr"}var Wb=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Te=Wb.reduce((t,e)=>{const n=Li(`Primitive.${e}`),i=J((r,s)=>{const{asChild:o,...a}=r,c=o?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),v(c,{...a,ref:s})});return i.displayName=`Primitive.${e}`,{...t,[e]:i}},{});function Hb(t,e){t&&Xi(()=>t.dispatchEvent(e))}function Sn(t){const e=B(t);return z(()=>{e.current=t}),ie(()=>(...n)=>{var i;return(i=e.current)==null?void 0:i.call(e,...n)},[])}function Kb(t,e=globalThis==null?void 0:globalThis.document){const n=Sn(t);z(()=>{const i=r=>{r.key==="Escape"&&n(r)};return e.addEventListener("keydown",i,{capture:!0}),()=>e.removeEventListener("keydown",i,{capture:!0})},[n,e])}var Gb="DismissableLayer",ma="dismissableLayer.update",Jb="dismissableLayer.pointerDownOutside",Yb="dismissableLayer.focusOutside",Rh,Ih=De({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Oh=J((t,e)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:i,onPointerDownOutside:r,onFocusOutside:s,onInteractOutside:o,onDismiss:a,...c}=t,l=Ht(Ih),[d,u]=F(null),h=(d==null?void 0:d.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,f]=F({}),m=Le(e,_=>u(_)),p=Array.from(l.layers),[g]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),b=p.indexOf(g),C=d?p.indexOf(d):-1,w=l.layersWithOutsidePointerEventsDisabled.size>0,k=C>=b,T=Zb(_=>{const R=_.target,O=[...l.branches].some(D=>D.contains(R));!k||O||(r==null||r(_),o==null||o(_),_.defaultPrevented||a==null||a())},h),S=ey(_=>{const R=_.target;[...l.branches].some(O=>O.contains(R))||(s==null||s(_),o==null||o(_),_.defaultPrevented||a==null||a())},h);return Kb(_=>{C===l.layers.size-1&&(i==null||i(_),!_.defaultPrevented&&a&&(_.preventDefault(),a()))},h),z(()=>{if(d)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(Rh=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(d)),l.layers.add(d),Dh(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=Rh)}},[d,h,n,l]),z(()=>()=>{d&&(l.layers.delete(d),l.layersWithOutsidePointerEventsDisabled.delete(d),Dh())},[d,l]),z(()=>{const _=()=>f({});return document.addEventListener(ma,_),()=>document.removeEventListener(ma,_)},[]),v(Te.div,{...c,ref:m,style:{pointerEvents:w?k?"auto":"none":void 0,...t.style},onFocusCapture:xe(t.onFocusCapture,S.onFocusCapture),onBlurCapture:xe(t.onBlurCapture,S.onBlurCapture),onPointerDownCapture:xe(t.onPointerDownCapture,T.onPointerDownCapture)})});Oh.displayName=Gb;var Xb="DismissableLayerBranch",Qb=J((t,e)=>{const n=Ht(Ih),i=B(null),r=Le(e,i);return z(()=>{const s=i.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),v(Te.div,{...t,ref:r})});Qb.displayName=Xb;function Zb(t,e=globalThis==null?void 0:globalThis.document){const n=Sn(t),i=B(!1),r=B(()=>{});return z(()=>{const s=a=>{if(a.target&&!i.current){let c=function(){Mh(Jb,n,l,{discrete:!0})};const l={originalEvent:a};a.pointerType==="touch"?(e.removeEventListener("click",r.current),r.current=c,e.addEventListener("click",r.current,{once:!0})):c()}else e.removeEventListener("click",r.current);i.current=!1},o=window.setTimeout(()=>{e.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(o),e.removeEventListener("pointerdown",s),e.removeEventListener("click",r.current)}},[e,n]),{onPointerDownCapture:()=>i.current=!0}}function ey(t,e=globalThis==null?void 0:globalThis.document){const n=Sn(t),i=B(!1);return z(()=>{const r=s=>{s.target&&!i.current&&Mh(Yb,n,{originalEvent:s},{discrete:!1})};return e.addEventListener("focusin",r),()=>e.removeEventListener("focusin",r)},[e,n]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function Dh(){const t=new CustomEvent(ma);document.dispatchEvent(t)}function Mh(t,e,n,{discrete:i}){const r=n.originalEvent.target,s=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&r.addEventListener(t,e,{once:!0}),i?Hb(r,s):r.dispatchEvent(s)}var ga=0;function ty(){z(()=>{const t=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",t[0]??Ah()),document.body.insertAdjacentElement("beforeend",t[1]??Ah()),ga++,()=>{ga===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),ga--}},[])}function Ah(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var va="focusScope.autoFocusOnMount",ba="focusScope.autoFocusOnUnmount",Nh={bubbles:!1,cancelable:!0},ny="FocusScope",Lh=J((t,e)=>{const{loop:n=!1,trapped:i=!1,onMountAutoFocus:r,onUnmountAutoFocus:s,...o}=t,[a,c]=F(null),l=Sn(r),d=Sn(s),u=B(null),h=Le(e,p=>c(p)),f=B({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;z(()=>{if(i){let p=function(w){if(f.paused||!a)return;const k=w.target;a.contains(k)?u.current=k:ln(u.current,{select:!0})},g=function(w){if(f.paused||!a)return;const k=w.relatedTarget;k!==null&&(a.contains(k)||ln(u.current,{select:!0}))},b=function(w){if(document.activeElement===document.body)for(const k of w)k.removedNodes.length>0&&ln(a)};document.addEventListener("focusin",p),document.addEventListener("focusout",g);const C=new MutationObserver(b);return a&&C.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",p),document.removeEventListener("focusout",g),C.disconnect()}}},[i,a,f.paused]),z(()=>{if(a){Bh.add(f);const p=document.activeElement;if(!a.contains(p)){const g=new CustomEvent(va,Nh);a.addEventListener(va,l),a.dispatchEvent(g),g.defaultPrevented||(iy(cy(Uh(a)),{select:!0}),document.activeElement===p&&ln(a))}return()=>{a.removeEventListener(va,l),setTimeout(()=>{const g=new CustomEvent(ba,Nh);a.addEventListener(ba,d),a.dispatchEvent(g),g.defaultPrevented||ln(p??document.body,{select:!0}),a.removeEventListener(ba,d),Bh.remove(f)},0)}}},[a,l,d,f]);const m=W(p=>{if(!n&&!i||f.paused)return;const g=p.key==="Tab"&&!p.altKey&&!p.ctrlKey&&!p.metaKey,b=document.activeElement;if(g&&b){const C=p.currentTarget,[w,k]=ry(C);w&&k?!p.shiftKey&&b===k?(p.preventDefault(),n&&ln(w,{select:!0})):p.shiftKey&&b===w&&(p.preventDefault(),n&&ln(k,{select:!0})):b===C&&p.preventDefault()}},[n,i,f.paused]);return v(Te.div,{tabIndex:-1,...o,ref:h,onKeyDown:m})});Lh.displayName=ny;function iy(t,{select:e=!1}={}){const n=document.activeElement;for(const i of t)if(ln(i,{select:e}),document.activeElement!==n)return}function ry(t){const e=Uh(t),n=Fh(e,t),i=Fh(e.reverse(),t);return[n,i]}function Uh(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const r=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||r?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function Fh(t,e){for(const n of t)if(!sy(n,{upTo:e}))return n}function sy(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function oy(t){return t instanceof HTMLInputElement&&"select"in t}function ln(t,{select:e=!1}={}){if(t&&t.focus){const n=document.activeElement;t.focus({preventScroll:!0}),t!==n&&oy(t)&&e&&t.select()}}var Bh=ay();function ay(){let t=[];return{add(e){const n=t[0];e!==n&&(n==null||n.pause()),t=jh(t,e),t.unshift(e)},remove(e){var n;t=jh(t,e),(n=t[0])==null||n.resume()}}}function jh(t,e){const n=[...t],i=n.indexOf(e);return i!==-1&&n.splice(i,1),n}function cy(t){return t.filter(e=>e.tagName!=="A")}var Ke=globalThis!=null&&globalThis.document?It:()=>{},ly=Gc[" useId ".trim().toString()]||(()=>{}),dy=0;function ya(t){const[e,n]=F(ly());return Ke(()=>{n(i=>i??String(dy++))},[t]),e?`radix-${e}`:""}const uy=["top","right","bottom","left"],dn=Math.min,Qe=Math.max,jr=Math.round,Vr=Math.floor,Tt=t=>({x:t,y:t}),hy={left:"right",right:"left",bottom:"top",top:"bottom"},fy={start:"end",end:"start"};function ka(t,e,n){return Qe(t,dn(e,n))}function qt(t,e){return typeof t=="function"?t(e):t}function $t(t){return t.split("-")[0]}function ni(t){return t.split("-")[1]}function Ca(t){return t==="x"?"y":"x"}function wa(t){return t==="y"?"height":"width"}function un(t){return["top","bottom"].includes($t(t))?"y":"x"}function Ta(t){return Ca(un(t))}function py(t,e,n){n===void 0&&(n=!1);const i=ni(t),r=Ta(t),s=wa(r);let o=r==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(o=qr(o)),[o,qr(o)]}function my(t){const e=qr(t);return[_a(t),e,_a(e)]}function _a(t){return t.replace(/start|end/g,e=>fy[e])}function gy(t,e,n){const i=["left","right"],r=["right","left"],s=["top","bottom"],o=["bottom","top"];switch(t){case"top":case"bottom":return n?e?r:i:e?i:r;case"left":case"right":return e?s:o;default:return[]}}function vy(t,e,n,i){const r=ni(t);let s=gy($t(t),n==="start",i);return r&&(s=s.map(o=>o+"-"+r),e&&(s=s.concat(s.map(_a)))),s}function qr(t){return t.replace(/left|right|bottom|top/g,e=>hy[e])}function by(t){return{top:0,right:0,bottom:0,left:0,...t}}function Vh(t){return typeof t!="number"?by(t):{top:t,right:t,bottom:t,left:t}}function $r(t){const{x:e,y:n,width:i,height:r}=t;return{width:i,height:r,top:n,left:e,right:e+i,bottom:n+r,x:e,y:n}}function qh(t,e,n){let{reference:i,floating:r}=t;const s=un(e),o=Ta(e),a=wa(o),c=$t(e),l=s==="y",d=i.x+i.width/2-r.width/2,u=i.y+i.height/2-r.height/2,h=i[a]/2-r[a]/2;let f;switch(c){case"top":f={x:d,y:i.y-r.height};break;case"bottom":f={x:d,y:i.y+i.height};break;case"right":f={x:i.x+i.width,y:u};break;case"left":f={x:i.x-r.width,y:u};break;default:f={x:i.x,y:i.y}}switch(ni(e)){case"start":f[o]-=h*(n&&l?-1:1);break;case"end":f[o]+=h*(n&&l?-1:1);break}return f}const yy=async(t,e,n)=>{const{placement:i="bottom",strategy:r="absolute",middleware:s=[],platform:o}=n,a=s.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(e));let l=await o.getElementRects({reference:t,floating:e,strategy:r}),{x:d,y:u}=qh(l,i,c),h=i,f={},m=0;for(let p=0;p<a.length;p++){const{name:g,fn:b}=a[p],{x:C,y:w,data:k,reset:T}=await b({x:d,y:u,initialPlacement:i,placement:h,strategy:r,middlewareData:f,rects:l,platform:o,elements:{reference:t,floating:e}});d=C??d,u=w??u,f={...f,[g]:{...f[g],...k}},T&&m<=50&&(m++,typeof T=="object"&&(T.placement&&(h=T.placement),T.rects&&(l=T.rects===!0?await o.getElementRects({reference:t,floating:e,strategy:r}):T.rects),{x:d,y:u}=qh(l,h,c)),p=-1)}return{x:d,y:u,placement:h,strategy:r,middlewareData:f}};async function Ui(t,e){var n;e===void 0&&(e={});const{x:i,y:r,platform:s,rects:o,elements:a,strategy:c}=t,{boundary:l="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:h=!1,padding:f=0}=qt(e,t),m=Vh(f),p=a[h?u==="floating"?"reference":"floating":u],g=$r(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(p)))==null||n?p:p.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(a.floating)),boundary:l,rootBoundary:d,strategy:c})),b=u==="floating"?{x:i,y:r,width:o.floating.width,height:o.floating.height}:o.reference,C=await(s.getOffsetParent==null?void 0:s.getOffsetParent(a.floating)),w=await(s.isElement==null?void 0:s.isElement(C))?await(s.getScale==null?void 0:s.getScale(C))||{x:1,y:1}:{x:1,y:1},k=$r(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:b,offsetParent:C,strategy:c}):b);return{top:(g.top-k.top+m.top)/w.y,bottom:(k.bottom-g.bottom+m.bottom)/w.y,left:(g.left-k.left+m.left)/w.x,right:(k.right-g.right+m.right)/w.x}}const ky=t=>({name:"arrow",options:t,async fn(e){const{x:n,y:i,placement:r,rects:s,platform:o,elements:a,middlewareData:c}=e,{element:l,padding:d=0}=qt(t,e)||{};if(l==null)return{};const u=Vh(d),h={x:n,y:i},f=Ta(r),m=wa(f),p=await o.getDimensions(l),g=f==="y",b=g?"top":"left",C=g?"bottom":"right",w=g?"clientHeight":"clientWidth",k=s.reference[m]+s.reference[f]-h[f]-s.floating[m],T=h[f]-s.reference[f],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l));let _=S?S[w]:0;(!_||!await(o.isElement==null?void 0:o.isElement(S)))&&(_=a.floating[w]||s.floating[m]);const R=k/2-T/2,O=_/2-p[m]/2-1,D=dn(u[b],O),M=dn(u[C],O),U=D,q=_-p[m]-M,$=_/2-p[m]/2+R,ce=ka(U,$,q),G=!c.arrow&&ni(r)!=null&&$!==ce&&s.reference[m]/2-($<U?D:M)-p[m]/2<0,ee=G?$<U?$-U:$-q:0;return{[f]:h[f]+ee,data:{[f]:ce,centerOffset:$-ce-ee,...G&&{alignmentOffset:ee}},reset:G}}}),Cy=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,i;const{placement:r,middlewareData:s,rects:o,initialPlacement:a,platform:c,elements:l}=e,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:h,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:p=!0,...g}=qt(t,e);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const b=$t(r),C=un(a),w=$t(a)===a,k=await(c.isRTL==null?void 0:c.isRTL(l.floating)),T=h||(w||!p?[qr(a)]:my(a)),S=m!=="none";!h&&S&&T.push(...vy(a,p,m,k));const _=[a,...T],R=await Ui(e,g),O=[];let D=((i=s.flip)==null?void 0:i.overflows)||[];if(d&&O.push(R[b]),u){const $=py(r,o,k);O.push(R[$[0]],R[$[1]])}if(D=[...D,{placement:r,overflows:O}],!O.every($=>$<=0)){var M,U;const $=(((M=s.flip)==null?void 0:M.index)||0)+1,ce=_[$];if(ce)return{data:{index:$,overflows:D},reset:{placement:ce}};let G=(U=D.filter(ee=>ee.overflows[0]<=0).sort((ee,H)=>ee.overflows[1]-H.overflows[1])[0])==null?void 0:U.placement;if(!G)switch(f){case"bestFit":{var q;const ee=(q=D.filter(H=>{if(S){const te=un(H.placement);return te===C||te==="y"}return!0}).map(H=>[H.placement,H.overflows.filter(te=>te>0).reduce((te,Oe)=>te+Oe,0)]).sort((H,te)=>H[1]-te[1])[0])==null?void 0:q[0];ee&&(G=ee);break}case"initialPlacement":G=a;break}if(r!==G)return{reset:{placement:G}}}return{}}}};function $h(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function zh(t){return uy.some(e=>t[e]>=0)}const wy=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){const{rects:n}=e,{strategy:i="referenceHidden",...r}=qt(t,e);switch(i){case"referenceHidden":{const s=await Ui(e,{...r,elementContext:"reference"}),o=$h(s,n.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:zh(o)}}}case"escaped":{const s=await Ui(e,{...r,altBoundary:!0}),o=$h(s,n.floating);return{data:{escapedOffsets:o,escaped:zh(o)}}}default:return{}}}}};async function Ty(t,e){const{placement:n,platform:i,elements:r}=t,s=await(i.isRTL==null?void 0:i.isRTL(r.floating)),o=$t(n),a=ni(n),c=un(n)==="y",l=["left","top"].includes(o)?-1:1,d=s&&c?-1:1,u=qt(e,t);let{mainAxis:h,crossAxis:f,alignmentAxis:m}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return a&&typeof m=="number"&&(f=a==="end"?m*-1:m),c?{x:f*d,y:h*l}:{x:h*l,y:f*d}}const _y=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,i;const{x:r,y:s,placement:o,middlewareData:a}=e,c=await Ty(e,t);return o===((n=a.offset)==null?void 0:n.placement)&&(i=a.arrow)!=null&&i.alignmentOffset?{}:{x:r+c.x,y:s+c.y,data:{...c,placement:o}}}}},Sy=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:i,placement:r}=e,{mainAxis:s=!0,crossAxis:o=!1,limiter:a={fn:g=>{let{x:b,y:C}=g;return{x:b,y:C}}},...c}=qt(t,e),l={x:n,y:i},d=await Ui(e,c),u=un($t(r)),h=Ca(u);let f=l[h],m=l[u];if(s){const g=h==="y"?"top":"left",b=h==="y"?"bottom":"right",C=f+d[g],w=f-d[b];f=ka(C,f,w)}if(o){const g=u==="y"?"top":"left",b=u==="y"?"bottom":"right",C=m+d[g],w=m-d[b];m=ka(C,m,w)}const p=a.fn({...e,[h]:f,[u]:m});return{...p,data:{x:p.x-n,y:p.y-i,enabled:{[h]:s,[u]:o}}}}}},xy=function(t){return t===void 0&&(t={}),{options:t,fn(e){const{x:n,y:i,placement:r,rects:s,middlewareData:o}=e,{offset:a=0,mainAxis:c=!0,crossAxis:l=!0}=qt(t,e),d={x:n,y:i},u=un(r),h=Ca(u);let f=d[h],m=d[u];const p=qt(a,e),g=typeof p=="number"?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(c){const w=h==="y"?"height":"width",k=s.reference[h]-s.floating[w]+g.mainAxis,T=s.reference[h]+s.reference[w]-g.mainAxis;f<k?f=k:f>T&&(f=T)}if(l){var b,C;const w=h==="y"?"width":"height",k=["top","left"].includes($t(r)),T=s.reference[u]-s.floating[w]+(k&&((b=o.offset)==null?void 0:b[u])||0)+(k?0:g.crossAxis),S=s.reference[u]+s.reference[w]+(k?0:((C=o.offset)==null?void 0:C[u])||0)-(k?g.crossAxis:0);m<T?m=T:m>S&&(m=S)}return{[h]:f,[u]:m}}}},Ey=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var n,i;const{placement:r,rects:s,platform:o,elements:a}=e,{apply:c=()=>{},...l}=qt(t,e),d=await Ui(e,l),u=$t(r),h=ni(r),f=un(r)==="y",{width:m,height:p}=s.floating;let g,b;u==="top"||u==="bottom"?(g=u,b=h===(await(o.isRTL==null?void 0:o.isRTL(a.floating))?"start":"end")?"left":"right"):(b=u,g=h==="end"?"top":"bottom");const C=p-d.top-d.bottom,w=m-d.left-d.right,k=dn(p-d[g],C),T=dn(m-d[b],w),S=!e.middlewareData.shift;let _=k,R=T;if((n=e.middlewareData.shift)!=null&&n.enabled.x&&(R=w),(i=e.middlewareData.shift)!=null&&i.enabled.y&&(_=C),S&&!h){const D=Qe(d.left,0),M=Qe(d.right,0),U=Qe(d.top,0),q=Qe(d.bottom,0);f?R=m-2*(D!==0||M!==0?D+M:Qe(d.left,d.right)):_=p-2*(U!==0||q!==0?U+q:Qe(d.top,d.bottom))}await c({...e,availableWidth:R,availableHeight:_});const O=await o.getDimensions(a.floating);return m!==O.width||p!==O.height?{reset:{rects:!0}}:{}}}};function zr(){return typeof window<"u"}function ii(t){return Wh(t)?(t.nodeName||"").toLowerCase():"#document"}function Ze(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function _t(t){var e;return(e=(Wh(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function Wh(t){return zr()?t instanceof Node||t instanceof Ze(t).Node:!1}function ht(t){return zr()?t instanceof Element||t instanceof Ze(t).Element:!1}function St(t){return zr()?t instanceof HTMLElement||t instanceof Ze(t).HTMLElement:!1}function Hh(t){return!zr()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Ze(t).ShadowRoot}function Fi(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=ft(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&!["inline","contents"].includes(r)}function Py(t){return["table","td","th"].includes(ii(t))}function Wr(t){return[":popover-open",":modal"].some(e=>{try{return t.matches(e)}catch{return!1}})}function Sa(t){const e=xa(),n=ht(t)?ft(t):t;return["transform","translate","scale","rotate","perspective"].some(i=>n[i]?n[i]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(i=>(n.willChange||"").includes(i))||["paint","layout","strict","content"].some(i=>(n.contain||"").includes(i))}function Ry(t){let e=hn(t);for(;St(e)&&!ri(e);){if(Sa(e))return e;if(Wr(e))return null;e=hn(e)}return null}function xa(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function ri(t){return["html","body","#document"].includes(ii(t))}function ft(t){return Ze(t).getComputedStyle(t)}function Hr(t){return ht(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function hn(t){if(ii(t)==="html")return t;const e=t.assignedSlot||t.parentNode||Hh(t)&&t.host||_t(t);return Hh(e)?e.host:e}function Kh(t){const e=hn(t);return ri(e)?t.ownerDocument?t.ownerDocument.body:t.body:St(e)&&Fi(e)?e:Kh(e)}function Bi(t,e,n){var i;e===void 0&&(e=[]),n===void 0&&(n=!0);const r=Kh(t),s=r===((i=t.ownerDocument)==null?void 0:i.body),o=Ze(r);if(s){const a=Ea(o);return e.concat(o,o.visualViewport||[],Fi(r)?r:[],a&&n?Bi(a):[])}return e.concat(r,Bi(r,[],n))}function Ea(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Gh(t){const e=ft(t);let n=parseFloat(e.width)||0,i=parseFloat(e.height)||0;const r=St(t),s=r?t.offsetWidth:n,o=r?t.offsetHeight:i,a=jr(n)!==s||jr(i)!==o;return a&&(n=s,i=o),{width:n,height:i,$:a}}function Pa(t){return ht(t)?t:t.contextElement}function si(t){const e=Pa(t);if(!St(e))return Tt(1);const n=e.getBoundingClientRect(),{width:i,height:r,$:s}=Gh(e);let o=(s?jr(n.width):n.width)/i,a=(s?jr(n.height):n.height)/r;return(!o||!Number.isFinite(o))&&(o=1),(!a||!Number.isFinite(a))&&(a=1),{x:o,y:a}}const Iy=Tt(0);function Jh(t){const e=Ze(t);return!xa()||!e.visualViewport?Iy:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function Oy(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==Ze(t)?!1:e}function xn(t,e,n,i){e===void 0&&(e=!1),n===void 0&&(n=!1);const r=t.getBoundingClientRect(),s=Pa(t);let o=Tt(1);e&&(i?ht(i)&&(o=si(i)):o=si(t));const a=Oy(s,n,i)?Jh(s):Tt(0);let c=(r.left+a.x)/o.x,l=(r.top+a.y)/o.y,d=r.width/o.x,u=r.height/o.y;if(s){const h=Ze(s),f=i&&ht(i)?Ze(i):i;let m=h,p=Ea(m);for(;p&&i&&f!==m;){const g=si(p),b=p.getBoundingClientRect(),C=ft(p),w=b.left+(p.clientLeft+parseFloat(C.paddingLeft))*g.x,k=b.top+(p.clientTop+parseFloat(C.paddingTop))*g.y;c*=g.x,l*=g.y,d*=g.x,u*=g.y,c+=w,l+=k,m=Ze(p),p=Ea(m)}}return $r({width:d,height:u,x:c,y:l})}function Ra(t,e){const n=Hr(t).scrollLeft;return e?e.left+n:xn(_t(t)).left+n}function Yh(t,e,n){n===void 0&&(n=!1);const i=t.getBoundingClientRect(),r=i.left+e.scrollLeft-(n?0:Ra(t,i)),s=i.top+e.scrollTop;return{x:r,y:s}}function Dy(t){let{elements:e,rect:n,offsetParent:i,strategy:r}=t;const s=r==="fixed",o=_t(i),a=e?Wr(e.floating):!1;if(i===o||a&&s)return n;let c={scrollLeft:0,scrollTop:0},l=Tt(1);const d=Tt(0),u=St(i);if((u||!u&&!s)&&((ii(i)!=="body"||Fi(o))&&(c=Hr(i)),St(i))){const f=xn(i);l=si(i),d.x=f.x+i.clientLeft,d.y=f.y+i.clientTop}const h=o&&!u&&!s?Yh(o,c,!0):Tt(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+d.x+h.x,y:n.y*l.y-c.scrollTop*l.y+d.y+h.y}}function My(t){return Array.from(t.getClientRects())}function Ay(t){const e=_t(t),n=Hr(t),i=t.ownerDocument.body,r=Qe(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),s=Qe(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let o=-n.scrollLeft+Ra(t);const a=-n.scrollTop;return ft(i).direction==="rtl"&&(o+=Qe(e.clientWidth,i.clientWidth)-r),{width:r,height:s,x:o,y:a}}function Ny(t,e){const n=Ze(t),i=_t(t),r=n.visualViewport;let s=i.clientWidth,o=i.clientHeight,a=0,c=0;if(r){s=r.width,o=r.height;const l=xa();(!l||l&&e==="fixed")&&(a=r.offsetLeft,c=r.offsetTop)}return{width:s,height:o,x:a,y:c}}function Ly(t,e){const n=xn(t,!0,e==="fixed"),i=n.top+t.clientTop,r=n.left+t.clientLeft,s=St(t)?si(t):Tt(1),o=t.clientWidth*s.x,a=t.clientHeight*s.y,c=r*s.x,l=i*s.y;return{width:o,height:a,x:c,y:l}}function Xh(t,e,n){let i;if(e==="viewport")i=Ny(t,n);else if(e==="document")i=Ay(_t(t));else if(ht(e))i=Ly(e,n);else{const r=Jh(t);i={x:e.x-r.x,y:e.y-r.y,width:e.width,height:e.height}}return $r(i)}function Qh(t,e){const n=hn(t);return n===e||!ht(n)||ri(n)?!1:ft(n).position==="fixed"||Qh(n,e)}function Uy(t,e){const n=e.get(t);if(n)return n;let i=Bi(t,[],!1).filter(a=>ht(a)&&ii(a)!=="body"),r=null;const s=ft(t).position==="fixed";let o=s?hn(t):t;for(;ht(o)&&!ri(o);){const a=ft(o),c=Sa(o);!c&&a.position==="fixed"&&(r=null),(s?!c&&!r:!c&&a.position==="static"&&r&&["absolute","fixed"].includes(r.position)||Fi(o)&&!c&&Qh(t,o))?i=i.filter(l=>l!==o):r=a,o=hn(o)}return e.set(t,i),i}function Fy(t){let{element:e,boundary:n,rootBoundary:i,strategy:r}=t;const s=[...n==="clippingAncestors"?Wr(e)?[]:Uy(e,this._c):[].concat(n),i],o=s[0],a=s.reduce((c,l)=>{const d=Xh(e,l,r);return c.top=Qe(d.top,c.top),c.right=dn(d.right,c.right),c.bottom=dn(d.bottom,c.bottom),c.left=Qe(d.left,c.left),c},Xh(e,o,r));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function By(t){const{width:e,height:n}=Gh(t);return{width:e,height:n}}function jy(t,e,n){const i=St(e),r=_t(e),s=n==="fixed",o=xn(t,!0,s,e);let a={scrollLeft:0,scrollTop:0};const c=Tt(0);if(i||!i&&!s)if((ii(e)!=="body"||Fi(r))&&(a=Hr(e)),i){const h=xn(e,!0,s,e);c.x=h.x+e.clientLeft,c.y=h.y+e.clientTop}else r&&(c.x=Ra(r));const l=r&&!i&&!s?Yh(r,a):Tt(0),d=o.left+a.scrollLeft-c.x-l.x,u=o.top+a.scrollTop-c.y-l.y;return{x:d,y:u,width:o.width,height:o.height}}function Ia(t){return ft(t).position==="static"}function Zh(t,e){if(!St(t)||ft(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;return _t(t)===n&&(n=n.ownerDocument.body),n}function ef(t,e){const n=Ze(t);if(Wr(t))return n;if(!St(t)){let r=hn(t);for(;r&&!ri(r);){if(ht(r)&&!Ia(r))return r;r=hn(r)}return n}let i=Zh(t,e);for(;i&&Py(i)&&Ia(i);)i=Zh(i,e);return i&&ri(i)&&Ia(i)&&!Sa(i)?n:i||Ry(t)||n}const Vy=async function(t){const e=this.getOffsetParent||ef,n=this.getDimensions,i=await n(t.floating);return{reference:jy(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function qy(t){return ft(t).direction==="rtl"}const $y={convertOffsetParentRelativeRectToViewportRelativeRect:Dy,getDocumentElement:_t,getClippingRect:Fy,getOffsetParent:ef,getElementRects:Vy,getClientRects:My,getDimensions:By,getScale:si,isElement:ht,isRTL:qy};function tf(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function zy(t,e){let n=null,i;const r=_t(t);function s(){var a;clearTimeout(i),(a=n)==null||a.disconnect(),n=null}function o(a,c){a===void 0&&(a=!1),c===void 0&&(c=1),s();const l=t.getBoundingClientRect(),{left:d,top:u,width:h,height:f}=l;if(a||e(),!h||!f)return;const m=Vr(u),p=Vr(r.clientWidth-(d+h)),g=Vr(r.clientHeight-(u+f)),b=Vr(d),C={rootMargin:-m+"px "+-p+"px "+-g+"px "+-b+"px",threshold:Qe(0,dn(1,c))||1};let w=!0;function k(T){const S=T[0].intersectionRatio;if(S!==c){if(!w)return o();S?o(!1,S):i=setTimeout(()=>{o(!1,1e-7)},1e3)}S===1&&!tf(l,t.getBoundingClientRect())&&o(),w=!1}try{n=new IntersectionObserver(k,{...C,root:r.ownerDocument})}catch{n=new IntersectionObserver(k,C)}n.observe(t)}return o(!0),s}function Wy(t,e,n,i){i===void 0&&(i={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:c=!1}=i,l=Pa(t),d=r||s?[...l?Bi(l):[],...Bi(e)]:[];d.forEach(b=>{r&&b.addEventListener("scroll",n,{passive:!0}),s&&b.addEventListener("resize",n)});const u=l&&a?zy(l,n):null;let h=-1,f=null;o&&(f=new ResizeObserver(b=>{let[C]=b;C&&C.target===l&&f&&(f.unobserve(e),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var w;(w=f)==null||w.observe(e)})),n()}),l&&!c&&f.observe(l),f.observe(e));let m,p=c?xn(t):null;c&&g();function g(){const b=xn(t);p&&!tf(p,b)&&n(),p=b,m=requestAnimationFrame(g)}return n(),()=>{var b;d.forEach(C=>{r&&C.removeEventListener("scroll",n),s&&C.removeEventListener("resize",n)}),u==null||u(),(b=f)==null||b.disconnect(),f=null,c&&cancelAnimationFrame(m)}}const Hy=_y,Ky=Sy,Gy=Cy,Jy=Ey,Yy=wy,nf=ky,Xy=xy,Qy=(t,e,n)=>{const i=new Map,r={platform:$y,...n},s={...r.platform,_c:i};return yy(t,e,{...r,platform:s})};var Kr=typeof document<"u"?It:z;function Gr(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(typeof t=="function"&&t.toString()===e.toString())return!0;let n,i,r;if(t&&e&&typeof t=="object"){if(Array.isArray(t)){if(n=t.length,n!==e.length)return!1;for(i=n;i--!==0;)if(!Gr(t[i],e[i]))return!1;return!0}if(r=Object.keys(t),n=r.length,n!==Object.keys(e).length)return!1;for(i=n;i--!==0;)if(!{}.hasOwnProperty.call(e,r[i]))return!1;for(i=n;i--!==0;){const s=r[i];if(!(s==="_owner"&&t.$$typeof)&&!Gr(t[s],e[s]))return!1}return!0}return t!==t&&e!==e}function rf(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function sf(t,e){const n=rf(t);return Math.round(e*n)/n}function Oa(t){const e=B(t);return Kr(()=>{e.current=t}),e}function Zy(t){t===void 0&&(t={});const{placement:e="bottom",strategy:n="absolute",middleware:i=[],platform:r,elements:{reference:s,floating:o}={},transform:a=!0,whileElementsMounted:c,open:l}=t,[d,u]=F({x:0,y:0,strategy:n,placement:e,middlewareData:{},isPositioned:!1}),[h,f]=F(i);Gr(h,i)||f(i);const[m,p]=F(null),[g,b]=F(null),C=W(H=>{H!==S.current&&(S.current=H,p(H))},[]),w=W(H=>{H!==_.current&&(_.current=H,b(H))},[]),k=s||m,T=o||g,S=B(null),_=B(null),R=B(d),O=c!=null,D=Oa(c),M=Oa(r),U=Oa(l),q=W(()=>{if(!S.current||!_.current)return;const H={placement:e,strategy:n,middleware:h};M.current&&(H.platform=M.current),Qy(S.current,_.current,H).then(te=>{const Oe={...te,isPositioned:U.current!==!1};$.current&&!Gr(R.current,Oe)&&(R.current=Oe,Xi(()=>{u(Oe)}))})},[h,e,n,M,U]);Kr(()=>{l===!1&&R.current.isPositioned&&(R.current.isPositioned=!1,u(H=>({...H,isPositioned:!1})))},[l]);const $=B(!1);Kr(()=>($.current=!0,()=>{$.current=!1}),[]),Kr(()=>{if(k&&(S.current=k),T&&(_.current=T),k&&T){if(D.current)return D.current(k,T,q);q()}},[k,T,q,D,O]);const ce=ie(()=>({reference:S,floating:_,setReference:C,setFloating:w}),[C,w]),G=ie(()=>({reference:k,floating:T}),[k,T]),ee=ie(()=>{const H={position:n,left:0,top:0};if(!G.floating)return H;const te=sf(G.floating,d.x),Oe=sf(G.floating,d.y);return a?{...H,transform:"translate("+te+"px, "+Oe+"px)",...rf(G.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:te,top:Oe}},[n,a,G.floating,d.x,d.y]);return ie(()=>({...d,update:q,refs:ce,elements:G,floatingStyles:ee}),[d,q,ce,G,ee])}const ek=t=>{function e(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:t,fn(n){const{element:i,padding:r}=typeof t=="function"?t(n):t;return i&&e(i)?i.current!=null?nf({element:i.current,padding:r}).fn(n):{}:i?nf({element:i,padding:r}).fn(n):{}}}},tk=(t,e)=>({...Hy(t),options:[t,e]}),nk=(t,e)=>({...Ky(t),options:[t,e]}),ik=(t,e)=>({...Xy(t),options:[t,e]}),rk=(t,e)=>({...Gy(t),options:[t,e]}),sk=(t,e)=>({...Jy(t),options:[t,e]}),ok=(t,e)=>({...Yy(t),options:[t,e]}),ak=(t,e)=>({...ek(t),options:[t,e]});var ck="Arrow",of=J((t,e)=>{const{children:n,width:i=10,height:r=5,...s}=t;return v(Te.svg,{...s,ref:e,width:i,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?n:v("polygon",{points:"0,0 30,0 15,10"})})});of.displayName=ck;var lk=of;function dk(t){const[e,n]=F(void 0);return Ke(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});const i=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const s=r[0];let o,a;if("borderBoxSize"in s){const c=s.borderBoxSize,l=Array.isArray(c)?c[0]:c;o=l.inlineSize,a=l.blockSize}else o=t.offsetWidth,a=t.offsetHeight;n({width:o,height:a})});return i.observe(t,{box:"border-box"}),()=>i.unobserve(t)}else n(void 0)},[t]),e}var Da="Popper",[af,cf]=pa(Da),[uk,lf]=af(Da),df=t=>{const{__scopePopper:e,children:n}=t,[i,r]=F(null);return v(uk,{scope:e,anchor:i,onAnchorChange:r,children:n})};df.displayName=Da;var uf="PopperAnchor",hf=J((t,e)=>{const{__scopePopper:n,virtualRef:i,...r}=t,s=lf(uf,n),o=B(null),a=Le(e,o);return z(()=>{s.onAnchorChange((i==null?void 0:i.current)||o.current)}),i?null:v(Te.div,{...r,ref:a})});hf.displayName=uf;var Ma="PopperContent",[hk,fk]=af(Ma),ff=J((t,e)=>{var n,i,r,s,o,a;const{__scopePopper:c,side:l="bottom",sideOffset:d=0,align:u="center",alignOffset:h=0,arrowPadding:f=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:g=0,sticky:b="partial",hideWhenDetached:C=!1,updatePositionStrategy:w="optimized",onPlaced:k,...T}=t,S=lf(Ma,c),[_,R]=F(null),O=Le(e,et=>R(et)),[D,M]=F(null),U=dk(D),q=(U==null?void 0:U.width)??0,$=(U==null?void 0:U.height)??0,ce=l+(u!=="center"?"-"+u:""),G=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},ee=Array.isArray(p)?p:[p],H=ee.length>0,te={padding:G,boundary:ee.filter(mk),altBoundary:H},{refs:Oe,floatingStyles:mt,placement:zt,isPositioned:Et,middlewareData:Ue}=Zy({strategy:"fixed",placement:ce,whileElementsMounted:(...et)=>Wy(...et,{animationFrame:w==="always"}),elements:{reference:S.anchor},middleware:[tk({mainAxis:d+$,alignmentAxis:h}),m&&nk({mainAxis:!0,crossAxis:!1,limiter:b==="partial"?ik():void 0,...te}),m&&rk({...te}),sk({...te,apply:({elements:et,rects:Vi,availableWidth:qi,availableHeight:$i})=>{const{width:gw,height:vw}=Vi.reference,as=et.floating.style;as.setProperty("--radix-popper-available-width",`${qi}px`),as.setProperty("--radix-popper-available-height",`${$i}px`),as.setProperty("--radix-popper-anchor-width",`${gw}px`),as.setProperty("--radix-popper-anchor-height",`${vw}px`)}}),D&&ak({element:D,padding:f}),gk({arrowWidth:q,arrowHeight:$}),C&&ok({strategy:"referenceHidden",...te})]}),[gt,Rn]=gf(zt),V=Sn(k);Ke(()=>{Et&&(V==null||V())},[Et,V]);const me=(n=Ue.arrow)==null?void 0:n.x,_e=(i=Ue.arrow)==null?void 0:i.y,ne=((r=Ue.arrow)==null?void 0:r.centerOffset)!==0,[ve,Ee]=F();return Ke(()=>{_&&Ee(window.getComputedStyle(_).zIndex)},[_]),v("div",{ref:Oe.setFloating,"data-radix-popper-content-wrapper":"",style:{...mt,transform:Et?mt.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ve,"--radix-popper-transform-origin":[(s=Ue.transformOrigin)==null?void 0:s.x,(o=Ue.transformOrigin)==null?void 0:o.y].join(" "),...((a=Ue.hide)==null?void 0:a.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:v(hk,{scope:c,placedSide:gt,onArrowChange:M,arrowX:me,arrowY:_e,shouldHideArrow:ne,children:v(Te.div,{"data-side":gt,"data-align":Rn,...T,ref:O,style:{...T.style,animation:Et?void 0:"none"}})})})});ff.displayName=Ma;var pf="PopperArrow",pk={top:"bottom",right:"left",bottom:"top",left:"right"},mf=J(function(t,e){const{__scopePopper:n,...i}=t,r=fk(pf,n),s=pk[r.placedSide];return v("span",{ref:r.onArrowChange,style:{position:"absolute",left:r.arrowX,top:r.arrowY,[s]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[r.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[r.placedSide],visibility:r.shouldHideArrow?"hidden":void 0},children:v(lk,{...i,ref:e,style:{...i.style,display:"block"}})})});mf.displayName=pf;function mk(t){return t!==null}var gk=t=>({name:"transformOrigin",options:t,fn(e){var n,i,r;const{placement:s,rects:o,middlewareData:a}=e,c=((n=a.arrow)==null?void 0:n.centerOffset)!==0,l=c?0:t.arrowWidth,d=c?0:t.arrowHeight,[u,h]=gf(s),f={start:"0%",center:"50%",end:"100%"}[h],m=(((i=a.arrow)==null?void 0:i.x)??0)+l/2,p=(((r=a.arrow)==null?void 0:r.y)??0)+d/2;let g="",b="";return u==="bottom"?(g=c?f:`${m}px`,b=`${-d}px`):u==="top"?(g=c?f:`${m}px`,b=`${o.floating.height+d}px`):u==="right"?(g=`${-d}px`,b=c?f:`${p}px`):u==="left"&&(g=`${o.floating.width+d}px`,b=c?f:`${p}px`),{data:{x:g,y:b}}}});function gf(t){const[e,n="center"]=t.split("-");return[e,n]}var vk=df,bk=hf,yk=ff,kk=mf,Ck="Portal",vf=J((t,e)=>{var n;const{container:i,...r}=t,[s,o]=F(!1);Ke(()=>o(!0),[]);const a=i||s&&((n=globalThis==null?void 0:globalThis.document)==null?void 0:n.body);return a?Dt.createPortal(v(Te.div,{...r,ref:e}),a):null});vf.displayName=Ck;var wk=Gc[" useInsertionEffect ".trim().toString()]||Ke;function bf({prop:t,defaultProp:e,onChange:n=()=>{},caller:i}){const[r,s,o]=Tk({defaultProp:e,onChange:n}),a=t!==void 0,c=a?t:r;{const d=B(t!==void 0);z(()=>{const u=d.current;u!==a&&console.warn(`${i} is changing from ${u?"controlled":"uncontrolled"} to ${a?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=a},[a,i])}const l=W(d=>{var u;if(a){const h=_k(d)?d(t):d;h!==t&&((u=o.current)==null||u.call(o,h))}else s(d)},[a,t,s,o]);return[c,l]}function Tk({defaultProp:t,onChange:e}){const[n,i]=F(t),r=B(n),s=B(e);return wk(()=>{s.current=e},[e]),z(()=>{var o;r.current!==n&&((o=s.current)==null||o.call(s,n),r.current=n)},[n,r]),[n,i,s]}function _k(t){return typeof t=="function"}function Sk(t){const e=B({value:t,previous:t});return ie(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}var yf=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),xk="VisuallyHidden",Ek=J((t,e)=>v(Te.span,{...t,ref:e,style:{...yf,...t.style}}));Ek.displayName=xk;var Pk=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},oi=new WeakMap,Jr=new WeakMap,Yr={},Aa=0,kf=function(t){return t&&(t.host||kf(t.parentNode))},Rk=function(t,e){return e.map(function(n){if(t.contains(n))return n;var i=kf(n);return i&&t.contains(i)?i:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},Ik=function(t,e,n,i){var r=Rk(e,Array.isArray(t)?t:[t]);Yr[n]||(Yr[n]=new WeakMap);var s=Yr[n],o=[],a=new Set,c=new Set(r),l=function(u){!u||a.has(u)||(a.add(u),l(u.parentNode))};r.forEach(l);var d=function(u){!u||c.has(u)||Array.prototype.forEach.call(u.children,function(h){if(a.has(h))d(h);else try{var f=h.getAttribute(i),m=f!==null&&f!=="false",p=(oi.get(h)||0)+1,g=(s.get(h)||0)+1;oi.set(h,p),s.set(h,g),o.push(h),p===1&&m&&Jr.set(h,!0),g===1&&h.setAttribute(n,"true"),m||h.setAttribute(i,"true")}catch(b){console.error("aria-hidden: cannot operate on ",h,b)}})};return d(e),a.clear(),Aa++,function(){o.forEach(function(u){var h=oi.get(u)-1,f=s.get(u)-1;oi.set(u,h),s.set(u,f),h||(Jr.has(u)||u.removeAttribute(i),Jr.delete(u)),f||u.removeAttribute(n)}),Aa--,Aa||(oi=new WeakMap,oi=new WeakMap,Jr=new WeakMap,Yr={})}},Ok=function(t,e,n){n===void 0&&(n="data-aria-hidden");var i=Array.from(Array.isArray(t)?t:[t]),r=Pk(t);return r?(i.push.apply(i,Array.from(r.querySelectorAll("[aria-live]"))),Ik(i,r,n,"aria-hidden")):function(){return null}},xt=function(){return xt=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},xt.apply(this,arguments)};function Cf(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(t);r<i.length;r++)e.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(t,i[r])&&(n[i[r]]=t[i[r]]);return n}function Dk(t,e,n){for(var i=0,r=e.length,s;i<r;i++)(s||!(i in e))&&(s||(s=Array.prototype.slice.call(e,0,i)),s[i]=e[i]);return t.concat(s||Array.prototype.slice.call(e))}var Xr="right-scroll-bar-position",Qr="width-before-scroll-bar",Mk="with-scroll-bars-hidden",Ak="--removed-body-scroll-bar-size";function Na(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}function Nk(t,e){var n=F(function(){return{value:t,callback:e,facade:{get current(){return n.value},set current(i){var r=n.value;r!==i&&(n.value=i,n.callback(i,r))}}}})[0];return n.callback=e,n.facade}var Lk=typeof window<"u"?It:z,wf=new WeakMap;function Uk(t,e){var n=Nk(null,function(i){return t.forEach(function(r){return Na(r,i)})});return Lk(function(){var i=wf.get(n);if(i){var r=new Set(i),s=new Set(t),o=n.current;r.forEach(function(a){s.has(a)||Na(a,null)}),s.forEach(function(a){r.has(a)||Na(a,o)})}wf.set(n,t)},[t]),n}function Fk(t){return t}function Bk(t,e){e===void 0&&(e=Fk);var n=[],i=!1,r={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:t},useMedium:function(s){var o=e(s,i);return n.push(o),function(){n=n.filter(function(a){return a!==o})}},assignSyncMedium:function(s){for(i=!0;n.length;){var o=n;n=[],o.forEach(s)}n={push:function(a){return s(a)},filter:function(){return n}}},assignMedium:function(s){i=!0;var o=[];if(n.length){var a=n;n=[],a.forEach(s),o=n}var c=function(){var d=o;o=[],d.forEach(s)},l=function(){return Promise.resolve().then(c)};l(),n={push:function(d){o.push(d),l()},filter:function(d){return o=o.filter(d),n}}}};return r}function jk(t){t===void 0&&(t={});var e=Bk(null);return e.options=xt({async:!0,ssr:!1},t),e}var Tf=function(t){var e=t.sideCar,n=Cf(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=e.read();if(!i)throw new Error("Sidecar medium not found");return he(i,xt({},n))};Tf.isSideCarExport=!0;function Vk(t,e){return t.useMedium(e),Tf}var _f=jk(),La=function(){},Zr=J(function(t,e){var n=B(null),i=F({onScrollCapture:La,onWheelCapture:La,onTouchMoveCapture:La}),r=i[0],s=i[1],o=t.forwardProps,a=t.children,c=t.className,l=t.removeScrollBar,d=t.enabled,u=t.shards,h=t.sideCar,f=t.noIsolation,m=t.inert,p=t.allowPinchZoom,g=t.as,b=g===void 0?"div":g,C=t.gapMode,w=Cf(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),k=h,T=Uk([n,e]),S=xt(xt({},w),r);return he(Ce,null,d&&he(k,{sideCar:_f,removeScrollBar:l,shards:u,noIsolation:f,inert:m,setCallbacks:s,allowPinchZoom:!!p,lockRef:n,gapMode:C}),o?bi(Kt.only(a),xt(xt({},S),{ref:T})):he(b,xt({},S,{className:c,ref:T}),a))});Zr.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Zr.classNames={fullWidth:Qr,zeroRight:Xr};var qk=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function $k(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=qk();return e&&t.setAttribute("nonce",e),t}function zk(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function Wk(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var Hk=function(){var t=0,e=null;return{add:function(n){t==0&&(e=$k())&&(zk(e,n),Wk(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}},Kk=function(){var t=Hk();return function(e,n){z(function(){return t.add(e),function(){t.remove()}},[e&&n])}},Sf=function(){var t=Kk(),e=function(n){var i=n.styles,r=n.dynamic;return t(i,r),null};return e},Gk={left:0,top:0,right:0,gap:0},Ua=function(t){return parseInt(t||"",10)||0},Jk=function(t){var e=window.getComputedStyle(document.body),n=e[t==="padding"?"paddingLeft":"marginLeft"],i=e[t==="padding"?"paddingTop":"marginTop"],r=e[t==="padding"?"paddingRight":"marginRight"];return[Ua(n),Ua(i),Ua(r)]},Yk=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return Gk;var e=Jk(t),n=document.documentElement.clientWidth,i=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,i-n+e[2]-e[0])}},Xk=Sf(),ai="data-scroll-locked",Qk=function(t,e,n,i){var r=t.left,s=t.top,o=t.right,a=t.gap;return n===void 0&&(n="margin"),`
423
+ .`.concat(Mk,` {
424
+ overflow: hidden `).concat(i,`;
425
+ padding-right: `).concat(a,"px ").concat(i,`;
389
426
  }
390
- body[`).concat(St,`] {
391
- overflow: hidden `).concat(r,`;
427
+ body[`).concat(ai,`] {
428
+ overflow: hidden `).concat(i,`;
392
429
  overscroll-behavior: contain;
393
- `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&`
394
- padding-left: `.concat(o,`px;
395
- padding-top: `).concat(a,`px;
396
- padding-right: `).concat(i,`px;
430
+ `).concat([e&&"position: relative ".concat(i,";"),n==="margin"&&`
431
+ padding-left: `.concat(r,`px;
432
+ padding-top: `).concat(s,`px;
433
+ padding-right: `).concat(o,`px;
397
434
  margin-left:0;
398
435
  margin-top:0;
399
- margin-right: `).concat(s,"px ").concat(r,`;
400
- `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),`
436
+ margin-right: `).concat(a,"px ").concat(i,`;
437
+ `),n==="padding"&&"padding-right: ".concat(a,"px ").concat(i,";")].filter(Boolean).join(""),`
401
438
  }
402
439
 
403
- .`).concat(Sn,` {
404
- right: `).concat(s,"px ").concat(r,`;
440
+ .`).concat(Xr,` {
441
+ right: `).concat(a,"px ").concat(i,`;
405
442
  }
406
443
 
407
- .`).concat(En,` {
408
- margin-right: `).concat(s,"px ").concat(r,`;
444
+ .`).concat(Qr,` {
445
+ margin-right: `).concat(a,"px ").concat(i,`;
409
446
  }
410
447
 
411
- .`).concat(Sn," .").concat(Sn,` {
412
- right: 0 `).concat(r,`;
448
+ .`).concat(Xr," .").concat(Xr,` {
449
+ right: 0 `).concat(i,`;
413
450
  }
414
451
 
415
- .`).concat(En," .").concat(En,` {
416
- margin-right: 0 `).concat(r,`;
452
+ .`).concat(Qr," .").concat(Qr,` {
453
+ margin-right: 0 `).concat(i,`;
417
454
  }
418
455
 
419
- body[`).concat(St,`] {
420
- `).concat(dd,": ").concat(s,`px;
456
+ body[`).concat(ai,`] {
457
+ `).concat(Ak,": ").concat(a,`px;
421
458
  }
422
- `)},Hi=function(){var e=parseInt(document.body.getAttribute(St)||"0",10);return isFinite(e)?e:0},Ad=function(){A(function(){return document.body.setAttribute(St,(Hi()+1).toString()),function(){var e=Hi()-1;e<=0?document.body.removeAttribute(St):document.body.setAttribute(St,e.toString())}},[])},$d=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;Ad();var a=B(function(){return Td(o)},[o]);return K(Nd,{styles:Pd(a,!t,o,n?"":"!important")})},qr=!1;if(typeof window<"u")try{var Nn=Object.defineProperty({},"passive",{get:function(){return qr=!0,!0}});window.addEventListener("test",Nn,Nn),window.removeEventListener("test",Nn,Nn)}catch{qr=!1}var Et=qr?{passive:!1}:!1,Id=function(e){return e.tagName==="TEXTAREA"},ji=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Id(e)&&n[t]==="visible")},Dd=function(e){return ji(e,"overflowY")},Md=function(e){return ji(e,"overflowX")},Vi=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=qi(e,r);if(o){var a=Yi(e,r),i=a[1],s=a[2];if(i>s)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Od=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Ld=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},qi=function(e,t){return e==="v"?Dd(t):Md(t)},Yi=function(e,t){return e==="v"?Od(t):Ld(t)},Rd=function(e,t){return e==="h"&&t==="rtl"?-1:1},Fd=function(e,t,n,r,o){var a=Rd(e,window.getComputedStyle(t).direction),i=a*r,s=n.target,l=t.contains(s),c=!1,f=i>0,u=0,v=0;do{var h=Yi(e,s),g=h[0],p=h[1],m=h[2],_=p-m-a*g;(g||_)&&qi(e,s)&&(u+=_,v+=g),s instanceof ShadowRoot?s=s.host:s=s.parentNode}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(f&&Math.abs(u)<1||!f&&Math.abs(v)<1)&&(c=!0),c},Pn=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Xi=function(e){return[e.deltaX,e.deltaY]},Ki=function(e){return e&&"current"in e?e.current:e},zd=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Ud=function(e){return`
423
- .block-interactivity-`.concat(e,` {pointer-events: none;}
424
- .allow-interactivity-`).concat(e,` {pointer-events: all;}
425
- `)},Bd=0,Tt=[];function Wd(e){var t=E([]),n=E([0,0]),r=E(),o=S(Bd++)[0],a=S(Wi)[0],i=E(e);A(function(){i.current=e},[e]),A(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var p=cd([e.lockRef.current],(e.shards||[]).map(Ki)).filter(Boolean);return p.forEach(function(m){return m.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),p.forEach(function(m){return m.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var s=$(function(p,m){if("touches"in p&&p.touches.length===2||p.type==="wheel"&&p.ctrlKey)return!i.current.allowPinchZoom;var _=Pn(p),w=n.current,y="deltaX"in p?p.deltaX:w[0]-_[0],b="deltaY"in p?p.deltaY:w[1]-_[1],C,k=p.target,x=Math.abs(y)>Math.abs(b)?"h":"v";if("touches"in p&&x==="h"&&k.type==="range")return!1;var P=Vi(x,k);if(!P)return!0;if(P?C=x:(C=x==="v"?"h":"v",P=Vi(x,k)),!P)return!1;if(!r.current&&"changedTouches"in p&&(y||b)&&(r.current=C),!C)return!0;var D=r.current||C;return Fd(D,m,p,D==="h"?y:b)},[]),l=$(function(p){var m=p;if(!(!Tt.length||Tt[Tt.length-1]!==a)){var _="deltaY"in m?Xi(m):Pn(m),w=t.current.filter(function(C){return C.name===m.type&&(C.target===m.target||m.target===C.shadowParent)&&zd(C.delta,_)})[0];if(w&&w.should){m.cancelable&&m.preventDefault();return}if(!w){var y=(i.current.shards||[]).map(Ki).filter(Boolean).filter(function(C){return C.contains(m.target)}),b=y.length>0?s(m,y[0]):!i.current.noIsolation;b&&m.cancelable&&m.preventDefault()}}},[]),c=$(function(p,m,_,w){var y={name:p,delta:m,target:_,should:w,shadowParent:Hd(_)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(b){return b!==y})},1)},[]),f=$(function(p){n.current=Pn(p),r.current=void 0},[]),u=$(function(p){c(p.type,Xi(p),p.target,s(p,e.lockRef.current))},[]),v=$(function(p){c(p.type,Pn(p),p.target,s(p,e.lockRef.current))},[]);A(function(){return Tt.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:v}),document.addEventListener("wheel",l,Et),document.addEventListener("touchmove",l,Et),document.addEventListener("touchstart",f,Et),function(){Tt=Tt.filter(function(p){return p!==a}),document.removeEventListener("wheel",l,Et),document.removeEventListener("touchmove",l,Et),document.removeEventListener("touchstart",f,Et)}},[]);var h=e.removeScrollBar,g=e.inert;return K(ee,null,g?K(a,{styles:Ud(o)}):null,h?K($d,{gapMode:e.gapMode}):null)}function Hd(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const jd=_d(Bi,Wd);var Gi=I(function(e,t){return K(Tn,Ie({},e,{ref:t,sideCar:jd}))});Gi.classNames=Tn.classNames;var Vd=[" ","Enter","ArrowUp","ArrowDown"],qd=[" ","Enter"],at="Select",[An,$n,Yd]=wc(at),[Nt,Gf]=xr(at,[Yd,Si]),In=Si(),[Xd,Ze]=Nt(at),[Kd,Gd]=Nt(at),Zi=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:a,value:i,defaultValue:s,onValueChange:l,dir:c,name:f,autoComplete:u,disabled:v,required:h,form:g}=e,p=In(t),[m,_]=S(null),[w,y]=S(null),[b,C]=S(!1),k=bc(c),[x,P]=Oi({prop:r,defaultProp:o??!1,onChange:a,caller:at}),[D,F]=Oi({prop:i,defaultProp:s,onChange:l,caller:at}),O=E(null),L=m?g||!!m.closest("form"):!0,[X,z]=S(new Set),ne=Array.from(X).map(R=>R.props.value).join(";");return d(Xu,{...p,children:d(Xd,{required:h,scope:t,trigger:m,onTriggerChange:_,valueNode:w,onValueNodeChange:y,valueNodeHasChildren:b,onValueNodeHasChildrenChange:C,contentId:Tr(),value:D,onValueChange:F,open:x,onOpenChange:P,dir:k,triggerPointerDownPosRef:O,disabled:v,children:[d(An.Provider,{scope:t,children:d(Kd,{scope:e.__scopeSelect,onNativeOptionAdd:$(R=>{z(j=>new Set(j).add(R))},[]),onNativeOptionRemove:$(R=>{z(j=>{const M=new Set(j);return M.delete(R),M})},[]),children:n})}),L?d(_s,{"aria-hidden":!0,required:h,tabIndex:-1,name:f,autoComplete:u,value:D,onChange:R=>F(R.target.value),disabled:v,form:g,children:[D===void 0?d("option",{value:""}):null,Array.from(X)]},ne):null]})})};Zi.displayName=at;var Ji="SelectTrigger",Qi=I((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...o}=e,a=In(n),i=Ze(Ji,n),s=i.disabled||r,l=ce(t,i.onTriggerChange),c=$n(n),f=E("touch"),[u,v,h]=ys(p=>{const m=c().filter(y=>!y.disabled),_=m.find(y=>y.value===i.value),w=bs(m,p,_);w!==void 0&&i.onValueChange(w.value)}),g=p=>{s||(i.onOpenChange(!0),h()),p&&(i.triggerPointerDownPosRef.current={x:Math.round(p.pageX),y:Math.round(p.pageY)})};return d(Ku,{asChild:!0,...a,children:d(te.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":ws(i.value)?"":void 0,...o,ref:l,onClick:oe(o.onClick,p=>{p.currentTarget.focus(),f.current!=="mouse"&&g(p)}),onPointerDown:oe(o.onPointerDown,p=>{f.current=p.pointerType;const m=p.target;m.hasPointerCapture(p.pointerId)&&m.releasePointerCapture(p.pointerId),p.button===0&&p.ctrlKey===!1&&p.pointerType==="mouse"&&(g(p),p.preventDefault())}),onKeyDown:oe(o.onKeyDown,p=>{const m=u.current!=="";!(p.ctrlKey||p.altKey||p.metaKey)&&p.key.length===1&&v(p.key),!(m&&p.key===" ")&&Vd.includes(p.key)&&(g(),p.preventDefault())})})})});Qi.displayName=Ji;var es="SelectValue",Zd=I((e,t)=>{const{__scopeSelect:n,className:r,style:o,children:a,placeholder:i="",...s}=e,l=Ze(es,n),{onValueNodeHasChildrenChange:c}=l,f=a!==void 0,u=ce(t,l.onValueNodeChange);return pe(()=>{c(f)},[c,f]),d(te.span,{...s,ref:u,style:{pointerEvents:"none"},children:ws(l.value)?d(ee,{children:i}):a})});Zd.displayName=es;var Jd="SelectIcon",ts=I((e,t)=>{const{__scopeSelect:n,children:r,...o}=e;return d(te.span,{"aria-hidden":!0,...o,ref:t,children:r||"▼"})});ts.displayName=Jd;var Qd="SelectPortal",ns=e=>d(Mi,{asChild:!0,...e});ns.displayName=Qd;var it="SelectContent",rs=I((e,t)=>{const n=Ze(it,e.__scopeSelect),[r,o]=S();if(pe(()=>{o(new DocumentFragment)},[]),!n.open){const a=r;return a?nn(d(os,{scope:e.__scopeSelect,children:d(An.Slot,{scope:e.__scopeSelect,children:d("div",{children:e.children})})}),a):null}return d(as,{...e,ref:t})});rs.displayName=it;var Te=10,[os,Je]=Nt(it),ef="SelectContentImpl",tf=Bt("SelectContent.RemoveScroll"),as=I((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:a,onPointerDownOutside:i,side:s,sideOffset:l,align:c,alignOffset:f,arrowPadding:u,collisionBoundary:v,collisionPadding:h,sticky:g,hideWhenDetached:p,avoidCollisions:m,..._}=e,w=Ze(it,n),[y,b]=S(null),[C,k]=S(null),x=ce(t,N=>b(N)),[P,D]=S(null),[F,O]=S(null),L=$n(n),[X,z]=S(!1),ne=E(!1);A(()=>{if(y)return ld(y)},[y]),Ic();const R=$(N=>{const[G,...re]=L().map(ae=>ae.ref.current),[U]=re.slice(-1),Q=document.activeElement;for(const ae of N)if(ae===Q||(ae==null||ae.scrollIntoView({block:"nearest"}),ae===G&&C&&(C.scrollTop=0),ae===U&&C&&(C.scrollTop=C.scrollHeight),ae==null||ae.focus(),document.activeElement!==Q))return},[L,C]),j=$(()=>R([P,y]),[R,P,y]);A(()=>{X&&j()},[X,j]);const{onOpenChange:M,triggerPointerDownPosRef:V}=w;A(()=>{if(y){let N={x:0,y:0};const G=U=>{var Q,ae;N={x:Math.abs(Math.round(U.pageX)-(((Q=V.current)==null?void 0:Q.x)??0)),y:Math.abs(Math.round(U.pageY)-(((ae=V.current)==null?void 0:ae.y)??0))}},re=U=>{N.x<=10&&N.y<=10?U.preventDefault():y.contains(U.target)||M(!1),document.removeEventListener("pointermove",G),V.current=null};return V.current!==null&&(document.addEventListener("pointermove",G),document.addEventListener("pointerup",re,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",G),document.removeEventListener("pointerup",re,{capture:!0})}}},[y,M,V]),A(()=>{const N=()=>M(!1);return window.addEventListener("blur",N),window.addEventListener("resize",N),()=>{window.removeEventListener("blur",N),window.removeEventListener("resize",N)}},[M]);const[he,st]=ys(N=>{const G=L().filter(Q=>!Q.disabled),re=G.find(Q=>Q.ref.current===document.activeElement),U=bs(G,N,re);U&&setTimeout(()=>U.ref.current.focus())}),qt=$((N,G,re)=>{const U=!ne.current&&!re;(w.value!==void 0&&w.value===G||U)&&(D(N),U&&(ne.current=!0))},[w.value]),Qe=$(()=>y==null?void 0:y.focus(),[y]),we=$((N,G,re)=>{const U=!ne.current&&!re;(w.value!==void 0&&w.value===G||U)&&O(N)},[w.value]),lt=r==="popper"?Yr:is,ct=lt===Yr?{side:s,sideOffset:l,align:c,alignOffset:f,arrowPadding:u,collisionBoundary:v,collisionPadding:h,sticky:g,hideWhenDetached:p,avoidCollisions:m}:{};return d(os,{scope:n,content:y,viewport:C,onViewportChange:k,itemRefCallback:qt,selectedItem:P,onItemLeave:Qe,itemTextRefCallback:we,focusSelectedItem:j,selectedItemText:F,position:r,isPositioned:X,searchRef:he,children:d(Gi,{as:tf,allowPinchZoom:!0,children:d(ei,{asChild:!0,trapped:w.open,onMountAutoFocus:N=>{N.preventDefault()},onUnmountAutoFocus:oe(o,N=>{var G;(G=w.trigger)==null||G.focus({preventScroll:!0}),N.preventDefault()}),children:d(Ka,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:N=>N.preventDefault(),onDismiss:()=>w.onOpenChange(!1),children:d(lt,{role:"listbox",id:w.contentId,"data-state":w.open?"open":"closed",dir:w.dir,onContextMenu:N=>N.preventDefault(),..._,...ct,onPlaced:()=>z(!0),ref:x,style:{display:"flex",flexDirection:"column",outline:"none",..._.style},onKeyDown:oe(_.onKeyDown,N=>{const G=N.ctrlKey||N.altKey||N.metaKey;if(N.key==="Tab"&&N.preventDefault(),!G&&N.key.length===1&&st(N.key),["ArrowUp","ArrowDown","Home","End"].includes(N.key)){let re=L().filter(U=>!U.disabled).map(U=>U.ref.current);if(["ArrowUp","End"].includes(N.key)&&(re=re.slice().reverse()),["ArrowUp","ArrowDown"].includes(N.key)){const U=N.target,Q=re.indexOf(U);re=re.slice(Q+1)}setTimeout(()=>R(re)),N.preventDefault()}})})})})})})});as.displayName=ef;var nf="SelectItemAlignedPosition",is=I((e,t)=>{const{__scopeSelect:n,onPlaced:r,...o}=e,a=Ze(it,n),i=Je(it,n),[s,l]=S(null),[c,f]=S(null),u=ce(t,x=>f(x)),v=$n(n),h=E(!1),g=E(!0),{viewport:p,selectedItem:m,selectedItemText:_,focusSelectedItem:w}=i,y=$(()=>{if(a.trigger&&a.valueNode&&s&&c&&p&&m&&_){const x=a.trigger.getBoundingClientRect(),P=c.getBoundingClientRect(),D=a.valueNode.getBoundingClientRect(),F=_.getBoundingClientRect();if(a.dir!=="rtl"){const U=F.left-P.left,Q=D.left-U,ae=x.left-Q,ye=x.width+ae,Yt=Math.max(ye,P.width),Xt=window.innerWidth-Te,Kt=qa(Q,[Te,Math.max(Te,Xt-Yt)]);s.style.minWidth=ye+"px",s.style.left=Kt+"px"}else{const U=P.right-F.right,Q=window.innerWidth-D.right-U,ae=window.innerWidth-x.right-Q,ye=x.width+ae,Yt=Math.max(ye,P.width),Xt=window.innerWidth-Te,Kt=qa(Q,[Te,Math.max(Te,Xt-Yt)]);s.style.minWidth=ye+"px",s.style.right=Kt+"px"}const O=v(),L=window.innerHeight-Te*2,X=p.scrollHeight,z=window.getComputedStyle(c),ne=parseInt(z.borderTopWidth,10),R=parseInt(z.paddingTop,10),j=parseInt(z.borderBottomWidth,10),M=parseInt(z.paddingBottom,10),V=ne+R+X+M+j,he=Math.min(m.offsetHeight*5,V),st=window.getComputedStyle(p),qt=parseInt(st.paddingTop,10),Qe=parseInt(st.paddingBottom,10),we=x.top+x.height/2-Te,lt=L-we,ct=m.offsetHeight/2,N=m.offsetTop+ct,G=ne+R+N,re=V-G;if(G<=we){const U=O.length>0&&m===O[O.length-1].ref.current;s.style.bottom="0px";const Q=c.clientHeight-p.offsetTop-p.offsetHeight,ae=Math.max(lt,ct+(U?Qe:0)+Q+j),ye=G+ae;s.style.height=ye+"px"}else{const U=O.length>0&&m===O[0].ref.current;s.style.top="0px";const Q=Math.max(we,ne+p.offsetTop+(U?qt:0)+ct)+re;s.style.height=Q+"px",p.scrollTop=G-we+p.offsetTop}s.style.margin=`${Te}px 0`,s.style.minHeight=he+"px",s.style.maxHeight=L+"px",r==null||r(),requestAnimationFrame(()=>h.current=!0)}},[v,a.trigger,a.valueNode,s,c,p,m,_,a.dir,r]);pe(()=>y(),[y]);const[b,C]=S();pe(()=>{c&&C(window.getComputedStyle(c).zIndex)},[c]);const k=$(x=>{x&&g.current===!0&&(y(),w==null||w(),g.current=!1)},[y,w]);return d(of,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:h,onScrollButtonChange:k,children:d("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:b},children:d(te.div,{...o,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});is.displayName=nf;var rf="SelectPopperPosition",Yr=I((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:o=Te,...a}=e,i=In(n);return d(Gu,{...i,...a,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Yr.displayName=rf;var[of,Xr]=Nt(it,{}),Kr="SelectViewport",ss=I((e,t)=>{const{__scopeSelect:n,nonce:r,...o}=e,a=Je(Kr,n),i=Xr(Kr,n),s=ce(t,a.onViewportChange),l=E(0);return d(ee,{children:[d("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),d(An.Slot,{scope:n,children:d(te.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:oe(o.onScroll,c=>{const f=c.currentTarget,{contentWrapper:u,shouldExpandOnScrollRef:v}=i;if(v!=null&&v.current&&u){const h=Math.abs(l.current-f.scrollTop);if(h>0){const g=window.innerHeight-Te*2,p=parseFloat(u.style.minHeight),m=parseFloat(u.style.height),_=Math.max(p,m);if(_<g){const w=_+h,y=Math.min(g,w),b=w-y;u.style.height=y+"px",u.style.bottom==="0px"&&(f.scrollTop=b>0?b:0,u.style.justifyContent="flex-end")}}}l.current=f.scrollTop})})})]})});ss.displayName=Kr;var ls="SelectGroup",[af,sf]=Nt(ls),lf=I((e,t)=>{const{__scopeSelect:n,...r}=e,o=Tr();return d(af,{scope:n,id:o,children:d(te.div,{role:"group","aria-labelledby":o,...r,ref:t})})});lf.displayName=ls;var cs="SelectLabel",cf=I((e,t)=>{const{__scopeSelect:n,...r}=e,o=sf(cs,n);return d(te.div,{id:o.id,...r,ref:t})});cf.displayName=cs;var Dn="SelectItem",[uf,us]=Nt(Dn),ds=I((e,t)=>{const{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...i}=e,s=Ze(Dn,n),l=Je(Dn,n),c=s.value===r,[f,u]=S(a??""),[v,h]=S(!1),g=ce(t,w=>{var y;return(y=l.itemRefCallback)==null?void 0:y.call(l,w,r,o)}),p=Tr(),m=E("touch"),_=()=>{o||(s.onValueChange(r),s.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return d(uf,{scope:n,value:r,disabled:o,textId:p,isSelected:c,onItemTextChange:$(w=>{u(y=>y||((w==null?void 0:w.textContent)??"").trim())},[]),children:d(An.ItemSlot,{scope:n,value:r,disabled:o,textValue:f,children:d(te.div,{role:"option","aria-labelledby":p,"data-highlighted":v?"":void 0,"aria-selected":c&&v,"data-state":c?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:g,onFocus:oe(i.onFocus,()=>h(!0)),onBlur:oe(i.onBlur,()=>h(!1)),onClick:oe(i.onClick,()=>{m.current!=="mouse"&&_()}),onPointerUp:oe(i.onPointerUp,()=>{m.current==="mouse"&&_()}),onPointerDown:oe(i.onPointerDown,w=>{m.current=w.pointerType}),onPointerMove:oe(i.onPointerMove,w=>{var y;m.current=w.pointerType,o?(y=l.onItemLeave)==null||y.call(l):m.current==="mouse"&&w.currentTarget.focus({preventScroll:!0})}),onPointerLeave:oe(i.onPointerLeave,w=>{var y;w.currentTarget===document.activeElement&&((y=l.onItemLeave)==null||y.call(l))}),onKeyDown:oe(i.onKeyDown,w=>{var y;((y=l.searchRef)==null?void 0:y.current)!==""&&w.key===" "||(qd.includes(w.key)&&_(),w.key===" "&&w.preventDefault())})})})})});ds.displayName=Dn;var Vt="SelectItemText",fs=I((e,t)=>{const{__scopeSelect:n,className:r,style:o,...a}=e,i=Ze(Vt,n),s=Je(Vt,n),l=us(Vt,n),c=Gd(Vt,n),[f,u]=S(null),v=ce(t,_=>u(_),l.onItemTextChange,_=>{var w;return(w=s.itemTextRefCallback)==null?void 0:w.call(s,_,l.value,l.disabled)}),h=f==null?void 0:f.textContent,g=B(()=>d("option",{value:l.value,disabled:l.disabled,children:h},l.value),[l.disabled,l.value,h]),{onNativeOptionAdd:p,onNativeOptionRemove:m}=c;return pe(()=>(p(g),()=>m(g)),[p,m,g]),d(ee,{children:[d(te.span,{id:l.textId,...a,ref:v}),l.isSelected&&i.valueNode&&!i.valueNodeHasChildren?nn(a.children,i.valueNode):null]})});fs.displayName=Vt;var ps="SelectItemIndicator",hs=I((e,t)=>{const{__scopeSelect:n,...r}=e;return us(ps,n).isSelected?d(te.span,{"aria-hidden":!0,...r,ref:t}):null});hs.displayName=ps;var Gr="SelectScrollUpButton",vs=I((e,t)=>{const n=Je(Gr,e.__scopeSelect),r=Xr(Gr,e.__scopeSelect),[o,a]=S(!1),i=ce(t,r.onScrollButtonChange);return pe(()=>{if(n.viewport&&n.isPositioned){let s=function(){const c=l.scrollTop>0;a(c)};const l=n.viewport;return s(),l.addEventListener("scroll",s),()=>l.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?d(gs,{...e,ref:i,onAutoScroll:()=>{const{viewport:s,selectedItem:l}=n;s&&l&&(s.scrollTop=s.scrollTop-l.offsetHeight)}}):null});vs.displayName=Gr;var Zr="SelectScrollDownButton",ms=I((e,t)=>{const n=Je(Zr,e.__scopeSelect),r=Xr(Zr,e.__scopeSelect),[o,a]=S(!1),i=ce(t,r.onScrollButtonChange);return pe(()=>{if(n.viewport&&n.isPositioned){let s=function(){const c=l.scrollHeight-l.clientHeight,f=Math.ceil(l.scrollTop)<c;a(f)};const l=n.viewport;return s(),l.addEventListener("scroll",s),()=>l.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?d(gs,{...e,ref:i,onAutoScroll:()=>{const{viewport:s,selectedItem:l}=n;s&&l&&(s.scrollTop=s.scrollTop+l.offsetHeight)}}):null});ms.displayName=Zr;var gs=I((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...o}=e,a=Je("SelectScrollButton",n),i=E(null),s=$n(n),l=$(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return A(()=>()=>l(),[l]),pe(()=>{var c;const f=s().find(u=>u.ref.current===document.activeElement);(c=f==null?void 0:f.ref.current)==null||c.scrollIntoView({block:"nearest"})},[s]),d(te.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:oe(o.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(r,50))}),onPointerMove:oe(o.onPointerMove,()=>{var c;(c=a.onItemLeave)==null||c.call(a),i.current===null&&(i.current=window.setInterval(r,50))}),onPointerLeave:oe(o.onPointerLeave,()=>{l()})})}),df="SelectSeparator",ff=I((e,t)=>{const{__scopeSelect:n,...r}=e;return d(te.div,{"aria-hidden":!0,...r,ref:t})});ff.displayName=df;var Jr="SelectArrow",pf=I((e,t)=>{const{__scopeSelect:n,...r}=e,o=In(n),a=Ze(Jr,n),i=Je(Jr,n);return a.open&&i.position==="popper"?d(Zu,{...o,...r,ref:t}):null});pf.displayName=Jr;var hf="SelectBubbleInput",_s=I(({__scopeSelect:e,value:t,...n},r)=>{const o=E(null),a=ce(r,o),i=nd(t);return A(()=>{const s=o.current;if(!s)return;const l=window.HTMLSelectElement.prototype,c=Object.getOwnPropertyDescriptor(l,"value").set;if(i!==t&&c){const f=new Event("change",{bubbles:!0});c.call(s,t),s.dispatchEvent(f)}},[i,t]),d(te.select,{...n,style:{...Li,...n.style},ref:a,defaultValue:t})});_s.displayName=hf;function ws(e){return e===""||e===void 0}function ys(e){const t=rt(e),n=E(""),r=E(0),o=$(i=>{const s=n.current+i;t(s),function l(c){n.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>l(""),1e3))}(s)},[t]),a=$(()=>{n.current="",window.clearTimeout(r.current)},[]);return A(()=>()=>window.clearTimeout(r.current),[]),[n,o,a]}function bs(e,t,n){const r=t.length>1&&Array.from(t).every(s=>s===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=vf(e,Math.max(o,0));r.length===1&&(a=a.filter(s=>s!==n));const i=a.find(s=>s.textValue.toLowerCase().startsWith(r.toLowerCase()));return i!==n?i:void 0}function vf(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var mf=Zi,xs=Qi,Cs=ts,gf=ns,_f=rs,wf=ss,yf=ds,bf=fs,xf=hs,Cf=vs,kf=ms;const Sf={sm:"w-4 h-4",md:"w-6 h-6"};function Qr({size:e="md",flagCode:t,className:n,...r}){return d("img",{className:q("rounded-full object-cover",Sf[e],n),src:`https://storage.googleapis.com/eleven-public-cdn/images/flags/circle-flags/${t}.svg`,alt:`${t.toUpperCase()} flag`,...r})}function ks({children:e,...t}){const[n,r]=S(!1),{language:o,setLanguage:a,options:i}=gt(),s=Wl();return d(mf,{open:n,value:o.value.languageCode,onValueChange:l=>{a(l),r(!1)},onOpenChange:l=>{l&&r(!0)},children:[e,d(gf,{container:s,children:d(_f,{className:"overflow-hidden bg-base border border-base-border rounded-dropdown-sheet max-h-[min(384px,var(--radix-select-content-available-height))] min-w-[var(--radix-select-trigger-width)] z-10",position:"popper",sideOffset:8,align:"end",side:"top",onPointerDownOutside:()=>r(!1),onCloseAutoFocus:()=>r(!1),onEscapeKeyDown:()=>r(!1),...t,children:[d(Cf,{className:"flex items-center justify-center h-6 bg-base text-base-subtle cursor-default",children:d(wt,{size:"sm",name:"chevron-up"})}),d(wf,{className:"p-1.5",children:i.value.map(l=>d(yf,{value:l.languageCode,className:"flex select-none items-center p-1.5 pr-3 gap-2 cursor-pointer rounded-input relative focus-visible:outline-none data-[highlighted]:bg-base-active text-sm",children:[d(Qr,{flagCode:l.flagCode}),d(bf,{children:l.name}),d(xf,{className:"text-base-primary p-1.5 -mr-1.5 ml-auto",children:d(wt,{size:"sm",name:"check"})})]},l.languageCode))}),d(kf,{className:"flex items-center justify-center h-6 bg-base text-base-subtle cursor-default",children:d(wt,{size:"sm",name:"chevron-down"})})]})})]})}function Ef({className:e,...t}){const n=fe(),{language:r,showPicker:o}=gt();return o.value?d(ks,{align:"center",children:d(xs,{className:q("h-9 min-w-max rounded-button focus-ring px-2 flex gap-2 items-center text-base-primary bg-base hover:bg-base-hover active:bg-base-active font-medium",e),"aria-label":n.change_language,...t,children:[d(Qr,{size:"sm",flagCode:r.value.flagCode}),r.value.name,d(Cs,{className:"text-base-subtle",asChild:!0,children:d(wt,{size:"sm",name:"chevron-down"})})]})}):null}function Tf({className:e,...t}){return d("textarea",{className:q("px-3 py-[calc(theme(spacing.2)-1px)] border text-sm text-base-primary bg-base border-base-border rounded-input focus-ring resize-none [field-sizing:content] placeholder:text-base-subtle",e),...t})}function eo({visible:e,...t}){const n=fe(),{isMuted:r,isMutingEnabled:o,setIsMuted:a}=Pa(),i=$(()=>{a(!r.peek())},[a]);return o.value?d(Fe,{visible:e,className:"p-1",children:d(qe,{"aria-label":n.mute_microphone,"aria-pressed":r,icon:r.value?"mic-off":"mic",onClick:i,...t})}):null}function to({iconOnly:e,isDisconnected:t,children:n,...r}){const{endSession:o,startSession:a}=de(),i=fe();return d(qe,{variant:t?"primary":"secondary",icon:t?"phone":"phone-off",onClick:t?s=>a(s.currentTarget):o,"aria-label":t?i.start_call:i.end_call,...r,children:e?void 0:n??(t?i.start_call:i.end_call)})}function Nf({showTranscript:e,scrollPinned:t}){const[n,r]=S(""),o=fn(),{text_input_enabled:a}=le().value,i=fe(),{isDisconnected:s,status:l,startSession:c,sendUserMessage:f,sendUserActivity:u,conversationIndex:v}=de();return d("div",{className:"shrink-0 overflow-hidden flex p-3 items-end justify-end",children:[a&&d(Tf,{rows:1,"aria-label":i.input_label,value:n,onInput:u,onChange:h=>r(h.currentTarget.value),onKeyDown:async h=>{h.key==="Enter"&&!h.shiftKey&&(h.preventDefault(),n.trim()&&(t.value=!0,r(""),s.value?await c(h.currentTarget,n):f(n)))},className:"m-1 grow z-1 max-h-[8lh]",placeholder:o.value?s.value&&v.value>0?i.input_placeholder_new_conversation:i.input_placeholder_text_only:i.input_placeholder}),d("div",{className:"flex h-11 items-center",children:[d(eo,{visible:!o.value&&!s.value}),d(Fe,{visible:!o.value&&(!s.value||e),className:"p-1",children:d(to,{iconOnly:!s.value,isDisconnected:s.value,disabled:l.value==="disconnecting"||l.value==="connecting",children:i.new_call})})]})]})}function Pf({entry:e,animateIn:t}){const n=fe(),{previewUrl:r}=_r(),{lastId:o}=de();return d(ke,{initial:!t,active:!0,children:e.type==="message"?d("div",{className:q("flex gap-2.5 transition-[opacity,transform] duration-200 data-hidden:opacity-0 data-hidden:scale-75",e.role=="user"?"justify-end pl-16 origin-top-right":"pr-16 origin-top-left"),children:[e.role==="ai"&&d("img",{src:r,alt:"AI agent avatar",className:"bg-base-border shrink-0 w-5 h-5 rounded-full"}),d("div",{dir:"auto",className:q("px-3 py-2.5 rounded-bubble text-sm min-w-0 [overflow-wrap:break-word]",e.role==="user"?"bg-accent text-accent-primary":"bg-base-active text-base-primary"),children:e.message})]}):e.type==="disconnection"?d("div",{className:"mt-2 px-8 text-xs text-base-subtle text-center transition-opacity duration-200 data-hidden:opacity-0",children:[e.role==="user"?n.user_ended_conversation:n.agent_ended_conversation,d("br",{}),o.value&&d("span",{className:"break-all",children:[n.conversation_id,": ",o.value]})]}):d("div",{className:"mt-2 px-8 text-xs text-base-error text-center transition-opacity duration-200 data-hidden:opacity-0",children:[n.error_occurred,d("br",{}),e.message,o.value&&d(ee,{children:[d("br",{}),d("span",{className:"text-base-subtle break-all",children:[n.conversation_id,": ",o.value]})]})]})})}const Af=16;function $f({scrollPinned:e,transcript:t}){const n=E(null),r=a=>{var i;(i=n.current)==null||i.scrollTo({top:n.current.scrollHeight,behavior:a?"smooth":"instant"})},o=E(!0);return A(()=>{o.current=!1,r(!1)},[]),Ve(()=>{t.value,e.peek()&&r(!0)}),d("div",{ref:n,onScroll:a=>{e.value=a.currentTarget.scrollTop>=a.currentTarget.scrollHeight-a.currentTarget.clientHeight-Af},className:"px-4 pb-3 grow flex flex-col gap-3 overflow-x-hidden overflow-y-auto",children:t.value.map((a,i)=>d(Pf,{entry:a,animateIn:!o.current},`${a.message}-${i}-${a.conversationIndex}`))})}const If={"top-left":"origin-top-left",top:"origin-top","top-right":"origin-top-right","bottom-left":"origin-bottom-left","bottom-right":"origin-bottom-right",bottom:"origin-bottom"};function Df({open:e}){const t=fe(),n=gr(),r=fn(),o=le(),a=o.value.placement,{isDisconnected:i,startSession:s,transcript:l,conversationIndex:c}=de(),f=Ma(),u=J(()=>{var g;return n.value||r.value?!f.value||!n.value?l.value:[{type:"message",role:"ai",message:f.value,isText:!0,conversationIndex:((g=l.value[0])==null?void 0:g.conversationIndex)??c.peek()},...l.value]:o.value.transcript_enabled?l.value:l.value.filter(p=>p.type!=="message"||p.isText)}),v=u.value.length>0||!i.value&&o.value.transcript_enabled,h=xe(!0);return d(ke,{initial:!1,active:e,children:d("div",{className:q("flex flex-col overflow-hidden absolute bg-base shadow-lg pointer-events-auto rounded-sheet w-full max-w-[400px] h-[calc(100%-80px)] max-h-[550px]","transition-[transform,opacity] duration-200 data-hidden:scale-90 data-hidden:opacity-0",If[a],a.startsWith("top")?"top-20":"bottom-20"),children:[d("div",{className:"bg-base shrink-0 flex gap-2 p-4 items-start",children:[d("div",{className:"relative w-16 h-16"}),d(ke,{active:v&&!i.value,children:d(br,{className:"rounded-bl-[calc(var(--el-bubble-radius)/3)] transition-opacity data-hidden:opacity-0"})})]}),d($f,{transcript:u,scrollPinned:h}),d(Nf,{scrollPinned:h,showTranscript:v}),d(ke,{active:!v||i.value,children:d("div",{className:"absolute top-0 left-0 right-0 p-4 flex justify-center transition-[opacity,transform] duration-200 data-hidden:opacity-0 data-hidden:-translate-y-4",children:d(Ef,{})})}),d("div",{className:q("absolute origin-top-left transition-[transform,left,top] duration-200 z-1",v?"top-4 left-4 scale-[0.333]":"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 scale-100"),children:[d(_t,{size:"lg"}),d(ke,{active:!v&&i.value&&!n.value,children:d("div",{className:"absolute bottom-0 p-1 rounded-[calc(var(--el-button-radius)+4px)] bg-base left-1/2 -translate-x-1/2 translate-y-1/2 transition-[opacity,transform] data-hidden:opacity-0 data-hidden:scale-100 scale-150",children:d(qe,{"aria-label":t.start_call,variant:"primary",icon:"phone",onClick:g=>s(g.currentTarget)})})}),d(ke,{active:!v&&!i.value,children:d("div",{className:"absolute -bottom-3 left-1/2 -translate-x-1/2 translate-y-full transition-[opacity,transform] data-hidden:opacity-0 data-hidden:scale-75",children:d(br,{})})})]})]})})}function Ss({expanded:e}){const t=fn(),n=le().value.variant,{isDisconnected:r}=de(),o=fe(),a=$(()=>{e.value=!e.value},[e]);return d(ee,{children:[n==="full"&&d(Fe,{visible:!e.value&&!r.value,className:"p-1",children:d(_t,{})}),d(Fe,{grow:n!=="tiny",visible:!t.value&&!e.value&&!r.value,className:"p-1",children:d(to,{iconOnly:!0,isDisconnected:!1})}),d(eo,{visible:!t.value&&!e.value&&!r.value}),d(Fe,{grow:r.value,visible:!0,className:"p-1",children:d(qe,{className:"w-full",variant:"primary",iconClassName:q((e.value||!r.value)&&"transition-transform duration-200",e.value&&"-rotate-180"),icon:e.value?"chevron-up":r.value?t.value?"chat":"phone":"chevron-up","aria-label":e.value?o.collapse:r.value?t.value?o.start_chat:o.start_call:o.expand,onClick:!e.value&&!r.value?a:void 0,children:!e.value&&r.value&&n!=="tiny"?t.value?o.start_chat:o.start_call:void 0})})]})}function Mf({expanded:e,className:t,...n}){const{isDisconnected:r}=de(),o=fe();return d("div",{className:q("transition-[border-radius] flex flex-col p-2",!e.value&&r.value?"rounded-sheet":"rounded-compact-sheet",t),...n,children:[d(Fe,{visible:!e.value&&r.value,className:"p-1 !min-w-60",children:d("div",{className:"flex items-center gap-2",children:[d(_t,{}),d("div",{className:"text-sm max-w-64",children:o.main_label})]})}),d("div",{className:"flex items-center",children:d(Ss,{expanded:e})})]})}function Of({expanded:e,className:t,...n}){return d("div",{className:q("rounded-compact-sheet flex items-center p-2",t),...n,children:[d(Fe,{visible:!e.value,className:"p-1",children:d(_t,{})}),d(Ss,{expanded:e})]})}function Lf({visible:e,className:t,...n}){const r=fe(),{language:o,showPicker:a}=gt();return a.value?d(Fe,{visible:e,className:"p-1",children:d(ks,{children:d(xs,{className:q("h-9 min-w-max border border-base-border rounded-button focus-ring px-1.5 flex gap-1 items-center transition-colors duration-200 hover:bg-base-hover active:bg-base-active",t),"aria-label":r.change_language,...n,children:[d(Qr,{flagCode:o.value.flagCode}),d(Cs,{className:"px-1 text-base-subtle",asChild:!0,children:d(wt,{size:"sm",name:"chevron-down"})})]})})}):null}function Es(){const e=le().value.variant,{isDisconnected:t,status:n}=de();return d(ee,{children:[d(to,{isDisconnected:t.value,iconOnly:e==="tiny",className:"w-full m-1 z-1",disabled:n.value==="disconnecting"||n.value==="connecting"}),d(Lf,{visible:t.value}),d(eo,{visible:!t.value})]})}function Rf({className:e,...t}){const{isDisconnected:n}=de(),r=fe();return d("div",{className:q("flex flex-col p-2 rounded-sheet",e),...t,children:[d("div",{className:"flex items-center p-1 gap-2 min-w-60",children:[d(_t,{}),d("div",{className:"relative text-sm max-w-64",children:[d("span",{className:q("block transition-[transform,opacity] duration-200",!n.value&&"opacity-0 scale-90"),children:r.main_label}),d(ke,{active:!n.value,children:d(br,{className:"absolute top-1/2 -translate-y-1/2 transition-[transform,opacity] duration-200 data-hidden:opacity-0 data-hidden:scale-90"})})]})]}),d("div",{className:"flex items-center",children:d(Es,{})})]})}function Ff({className:e,...t}){return d("div",{className:q("rounded-compact-sheet flex items-center p-2",e),...t,children:[d(_t,{className:"mx-1"}),d(Es,{})]})}function zf({expandable:e,expanded:t}){const n=le().value.variant,r=dn(),{isDisconnected:o}=de(),a=$(async()=>{await r.requestTerms(),t.value=!t.peek()},[t]),i=n==="full";return e?d(i?Mf:Of,{expanded:t,className:q("bg-base shadow-md pointer-events-auto overflow-hidden",(o.value||t.value)&&"cursor-pointer"),onClick:o.value||t.value?a:void 0}):d(i?Rf:Ff,{className:"bg-base shadow-md pointer-events-auto overflow-hidden"})}function Uf(){const e=fe(),t=le(),{dismissTerms:n,acceptTerms:r}=dn();return d("div",{className:"max-w-[400px] flex flex-col gap-2 bg-base shadow-md pointer-events-auto rounded-sheet p-3 text-sm",children:[d("div",{className:"flex flex-col gap-1 terms p-2 pt-1",dangerouslySetInnerHTML:{__html:t.value.terms_html??""}}),d("div",{className:"flex justify-end gap-2",children:[d(qe,{onClick:n,children:e.dismiss_terms}),d(qe,{onClick:r,variant:"primary",children:e.accept_terms})]})]})}function Bf({copyText:e,children:t}){const n=fe(),[r,o]=S(!1);A(()=>{if(r){const i=setTimeout(()=>{o(!1)},2e3);return()=>{clearTimeout(i)}}},[r]);const a=$(()=>{const i=Fa(e);i&&(navigator.clipboard.writeText(i),o(!0))},[]);return d(qe,{onClick:a,children:r?n.copied:t})}function Wf({sawError:e}){const t=fe(),{error:n,lastId:r}=de(),o=$(()=>{e.value=!0},[]);return d("div",{className:"max-w-[400px] flex flex-col gap-2 bg-base shadow-md pointer-events-auto rounded-sheet p-3 text-sm",children:[d("div",{className:"p-2 pt-1",children:[d("h1",{className:"text-md font-medium pb-1",children:t.error_occurred}),n.value,r.value&&d(ee,{children:[d("br",{}),d("span",{className:"text-base-subtle",children:[t.conversation_id,": ",r.value]})]})]}),d("div",{className:"flex justify-end gap-2",children:[d(Bf,{copyText:r,children:t.copy_id}),d(qe,{variant:"primary",onClick:o,children:"Close"})]})]})}function Hf(){const e=le();return e.value.disable_banner?null:d("p",{className:q("whitespace-nowrap [line-height:var(--el-overlay-padding)] text-[10px] px-3",e.value.placement.startsWith("top")?"-translate-y-[calc(var(--el-overlay-padding))]":"translate-y-[calc(var(--el-overlay-padding))]"),children:[d("span",{className:"opacity-30",children:"Powered by ElevenLabs"})," ",d("a",{href:e.value.override_link||"https://elevenlabs.io/conversational-ai",className:"underline cursor-pointer pointer-events-auto focus-visible:outline-none opacity-30 hover:opacity-50 focus-visible:opacity-100 focus-visible:underline-offset-2",target:"_blank",children:"Conversational AI"})]})}const Pt={left:"items-start",center:"items-center",right:"items-end"},At={top:"flex-col-reverse justify-end",bottom:"flex-col justify-end"},jf={"top-left":`${At.top} ${Pt.left}`,top:`${At.top} ${Pt.center}`,"top-right":`${At.top} ${Pt.right}`,"bottom-left":`${At.bottom} ${Pt.left}`,bottom:`${At.bottom} ${Pt.center}`,"bottom-right":`${At.bottom} ${Pt.right}`},Mn={display:"none"},Vf=tn(function(){const e=xe(!1),t=le(),n=xe(!1),{error:r}=de(),o=dn(),a=J(()=>t.value.transcript_enabled||t.value.text_input_enabled),i=J(()=>q("overlay !flex transition-opacity duration-200 data-hidden:opacity-0",jf[t.value.placement]));Ve(()=>{r.value&&(a.value?(n.value=!0,e.value=!0):n.value=!1)});const s=J(()=>!a.value&&r.value&&!n.value?"error":!o.termsAccepted.value&&o.termsShown.value?"terms":"conversation"),l=J(()=>s.value==="error"),c=J(()=>s.value==="terms"),f=J(()=>s.value==="conversation");return d(ee,{children:[d(ke,{initial:!1,active:f,children:d(pn,{className:i,style:Mn,children:[a.value&&d(Df,{open:e}),d(zf,{expandable:a.value,expanded:e})]})}),d(ke,{initial:!1,active:c,children:d(pn,{className:i,style:Mn,children:d(Uf,{})})}),d(ke,{initial:!1,active:l,children:d(pn,{className:i,style:Mn,children:d(Wf,{sawError:n})})}),d(pn,{className:i,style:Mn,children:d(Hf,{})})]})});function qf(e){return d(Cl,{value:e,children:d(Sl,{children:d(Ol,{children:d($l,{children:d(Tl,{children:d(Nl,{children:d(Pl,{children:d(Il,{children:d(Ul,{children:d(Bl,{children:[d(Rl,{}),d(Vf,{})]})})})})})})})})})})}function Yf(e="elevenlabs-convai"){Rs(qf,e,[...vr],{shadow:!0})}Yf()})();
459
+ `)},xf=function(){var t=parseInt(document.body.getAttribute(ai)||"0",10);return isFinite(t)?t:0},Zk=function(){z(function(){return document.body.setAttribute(ai,(xf()+1).toString()),function(){var t=xf()-1;t<=0?document.body.removeAttribute(ai):document.body.setAttribute(ai,t.toString())}},[])},eC=function(t){var e=t.noRelative,n=t.noImportant,i=t.gapMode,r=i===void 0?"margin":i;Zk();var s=ie(function(){return Yk(r)},[r]);return he(Xk,{styles:Qk(s,!e,r,n?"":"!important")})},Fa=!1;if(typeof window<"u")try{var es=Object.defineProperty({},"passive",{get:function(){return Fa=!0,!0}});window.addEventListener("test",es,es),window.removeEventListener("test",es,es)}catch{Fa=!1}var ci=Fa?{passive:!1}:!1,tC=function(t){return t.tagName==="TEXTAREA"},Ef=function(t,e){if(!(t instanceof Element))return!1;var n=window.getComputedStyle(t);return n[e]!=="hidden"&&!(n.overflowY===n.overflowX&&!tC(t)&&n[e]==="visible")},nC=function(t){return Ef(t,"overflowY")},iC=function(t){return Ef(t,"overflowX")},Pf=function(t,e){var n=e.ownerDocument,i=e;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var r=Rf(t,i);if(r){var s=If(t,i),o=s[1],a=s[2];if(o>a)return!0}i=i.parentNode}while(i&&i!==n.body);return!1},rC=function(t){var e=t.scrollTop,n=t.scrollHeight,i=t.clientHeight;return[e,n,i]},sC=function(t){var e=t.scrollLeft,n=t.scrollWidth,i=t.clientWidth;return[e,n,i]},Rf=function(t,e){return t==="v"?nC(e):iC(e)},If=function(t,e){return t==="v"?rC(e):sC(e)},oC=function(t,e){return t==="h"&&e==="rtl"?-1:1},aC=function(t,e,n,i,r){var s=oC(t,window.getComputedStyle(e).direction),o=s*i,a=n.target,c=e.contains(a),l=!1,d=o>0,u=0,h=0;do{var f=If(t,a),m=f[0],p=f[1],g=f[2],b=p-g-s*m;(m||b)&&Rf(t,a)&&(u+=b,h+=m),a instanceof ShadowRoot?a=a.host:a=a.parentNode}while(!c&&a!==document.body||c&&(e.contains(a)||e===a));return(d&&Math.abs(u)<1||!d&&Math.abs(h)<1)&&(l=!0),l},ts=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},Of=function(t){return[t.deltaX,t.deltaY]},Df=function(t){return t&&"current"in t?t.current:t},cC=function(t,e){return t[0]===e[0]&&t[1]===e[1]},lC=function(t){return`
460
+ .block-interactivity-`.concat(t,` {pointer-events: none;}
461
+ .allow-interactivity-`).concat(t,` {pointer-events: all;}
462
+ `)},dC=0,li=[];function uC(t){var e=B([]),n=B([0,0]),i=B(),r=F(dC++)[0],s=F(Sf)[0],o=B(t);z(function(){o.current=t},[t]),z(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(r));var p=Dk([t.lockRef.current],(t.shards||[]).map(Df)).filter(Boolean);return p.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),p.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[t.inert,t.lockRef.current,t.shards]);var a=W(function(p,g){if("touches"in p&&p.touches.length===2||p.type==="wheel"&&p.ctrlKey)return!o.current.allowPinchZoom;var b=ts(p),C=n.current,w="deltaX"in p?p.deltaX:C[0]-b[0],k="deltaY"in p?p.deltaY:C[1]-b[1],T,S=p.target,_=Math.abs(w)>Math.abs(k)?"h":"v";if("touches"in p&&_==="h"&&S.type==="range")return!1;var R=Pf(_,S);if(!R)return!0;if(R?T=_:(T=_==="v"?"h":"v",R=Pf(_,S)),!R)return!1;if(!i.current&&"changedTouches"in p&&(w||k)&&(i.current=T),!T)return!0;var O=i.current||T;return aC(O,g,p,O==="h"?w:k)},[]),c=W(function(p){var g=p;if(!(!li.length||li[li.length-1]!==s)){var b="deltaY"in g?Of(g):ts(g),C=e.current.filter(function(T){return T.name===g.type&&(T.target===g.target||g.target===T.shadowParent)&&cC(T.delta,b)})[0];if(C&&C.should){g.cancelable&&g.preventDefault();return}if(!C){var w=(o.current.shards||[]).map(Df).filter(Boolean).filter(function(T){return T.contains(g.target)}),k=w.length>0?a(g,w[0]):!o.current.noIsolation;k&&g.cancelable&&g.preventDefault()}}},[]),l=W(function(p,g,b,C){var w={name:p,delta:g,target:b,should:C,shadowParent:hC(b)};e.current.push(w),setTimeout(function(){e.current=e.current.filter(function(k){return k!==w})},1)},[]),d=W(function(p){n.current=ts(p),i.current=void 0},[]),u=W(function(p){l(p.type,Of(p),p.target,a(p,t.lockRef.current))},[]),h=W(function(p){l(p.type,ts(p),p.target,a(p,t.lockRef.current))},[]);z(function(){return li.push(s),t.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:h}),document.addEventListener("wheel",c,ci),document.addEventListener("touchmove",c,ci),document.addEventListener("touchstart",d,ci),function(){li=li.filter(function(p){return p!==s}),document.removeEventListener("wheel",c,ci),document.removeEventListener("touchmove",c,ci),document.removeEventListener("touchstart",d,ci)}},[]);var f=t.removeScrollBar,m=t.inert;return he(Ce,null,m?he(s,{styles:lC(r)}):null,f?he(eC,{gapMode:t.gapMode}):null)}function hC(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}const fC=Vk(_f,uC);var Mf=J(function(t,e){return he(Zr,xt({},t,{ref:e,sideCar:fC}))});Mf.classNames=Zr.classNames;var pC=[" ","Enter","ArrowUp","ArrowDown"],mC=[" ","Enter"],En="Select",[ns,is,gC]=qb(En),[di,Cw]=pa(En,[gC,cf]),rs=cf(),[vC,fn]=di(En),[bC,yC]=di(En),Af=t=>{const{__scopeSelect:e,children:n,open:i,defaultOpen:r,onOpenChange:s,value:o,defaultValue:a,onValueChange:c,dir:l,name:d,autoComplete:u,disabled:h,required:f,form:m}=t,p=rs(e),[g,b]=F(null),[C,w]=F(null),[k,T]=F(!1),S=zb(l),[_,R]=bf({prop:i,defaultProp:r??!1,onChange:s,caller:En}),[O,D]=bf({prop:o,defaultProp:a,onChange:c,caller:En}),M=B(null),U=g?m||!!g.closest("form"):!0,[q,$]=F(new Set),ce=Array.from(q).map(G=>G.props.value).join(";");return v(vk,{...p,children:v(vC,{required:f,scope:e,trigger:g,onTriggerChange:b,valueNode:C,onValueNodeChange:w,valueNodeHasChildren:k,onValueNodeHasChildrenChange:T,contentId:ya(),value:O,onValueChange:D,open:_,onOpenChange:R,dir:S,triggerPointerDownPosRef:M,disabled:h,children:[v(ns.Provider,{scope:e,children:v(bC,{scope:t.__scopeSelect,onNativeOptionAdd:W(G=>{$(ee=>new Set(ee).add(G))},[]),onNativeOptionRemove:W(G=>{$(ee=>{const H=new Set(ee);return H.delete(G),H})},[]),children:n})}),U?v(tp,{"aria-hidden":!0,required:f,tabIndex:-1,name:d,autoComplete:u,value:O,onChange:G=>D(G.target.value),disabled:h,form:m,children:[O===void 0?v("option",{value:""}):null,Array.from(q)]},ce):null]})})};Af.displayName=En;var Nf="SelectTrigger",Lf=J((t,e)=>{const{__scopeSelect:n,disabled:i=!1,...r}=t,s=rs(n),o=fn(Nf,n),a=o.disabled||i,c=Le(e,o.onTriggerChange),l=is(n),d=B("touch"),[u,h,f]=ip(p=>{const g=l().filter(w=>!w.disabled),b=g.find(w=>w.value===o.value),C=rp(g,p,b);C!==void 0&&o.onValueChange(C.value)}),m=p=>{a||(o.onOpenChange(!0),f()),p&&(o.triggerPointerDownPosRef.current={x:Math.round(p.pageX),y:Math.round(p.pageY)})};return v(bk,{asChild:!0,...s,children:v(Te.button,{type:"button",role:"combobox","aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":"none",dir:o.dir,"data-state":o.open?"open":"closed",disabled:a,"data-disabled":a?"":void 0,"data-placeholder":np(o.value)?"":void 0,...r,ref:c,onClick:xe(r.onClick,p=>{p.currentTarget.focus(),d.current!=="mouse"&&m(p)}),onPointerDown:xe(r.onPointerDown,p=>{d.current=p.pointerType;const g=p.target;g.hasPointerCapture(p.pointerId)&&g.releasePointerCapture(p.pointerId),p.button===0&&p.ctrlKey===!1&&p.pointerType==="mouse"&&(m(p),p.preventDefault())}),onKeyDown:xe(r.onKeyDown,p=>{const g=u.current!=="";!(p.ctrlKey||p.altKey||p.metaKey)&&p.key.length===1&&h(p.key),!(g&&p.key===" ")&&pC.includes(p.key)&&(m(),p.preventDefault())})})})});Lf.displayName=Nf;var Uf="SelectValue",kC=J((t,e)=>{const{__scopeSelect:n,className:i,style:r,children:s,placeholder:o="",...a}=t,c=fn(Uf,n),{onValueNodeHasChildrenChange:l}=c,d=s!==void 0,u=Le(e,c.onValueNodeChange);return Ke(()=>{l(d)},[l,d]),v(Te.span,{...a,ref:u,style:{pointerEvents:"none"},children:np(c.value)?v(Ce,{children:o}):s})});kC.displayName=Uf;var CC="SelectIcon",Ff=J((t,e)=>{const{__scopeSelect:n,children:i,...r}=t;return v(Te.span,{"aria-hidden":!0,...r,ref:e,children:i||"▼"})});Ff.displayName=CC;var wC="SelectPortal",Bf=t=>v(vf,{asChild:!0,...t});Bf.displayName=wC;var Pn="SelectContent",jf=J((t,e)=>{const n=fn(Pn,t.__scopeSelect),[i,r]=F();if(Ke(()=>{r(new DocumentFragment)},[]),!n.open){const s=i;return s?Yi(v(Vf,{scope:t.__scopeSelect,children:v(ns.Slot,{scope:t.__scopeSelect,children:v("div",{children:t.children})})}),s):null}return v(qf,{...t,ref:e})});jf.displayName=Pn;var pt=10,[Vf,pn]=di(Pn),TC="SelectContentImpl",_C=Li("SelectContent.RemoveScroll"),qf=J((t,e)=>{const{__scopeSelect:n,position:i="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:s,onPointerDownOutside:o,side:a,sideOffset:c,align:l,alignOffset:d,arrowPadding:u,collisionBoundary:h,collisionPadding:f,sticky:m,hideWhenDetached:p,avoidCollisions:g,...b}=t,C=fn(Pn,n),[w,k]=F(null),[T,S]=F(null),_=Le(e,V=>k(V)),[R,O]=F(null),[D,M]=F(null),U=is(n),[q,$]=F(!1),ce=B(!1);z(()=>{if(w)return Ok(w)},[w]),ty();const G=W(V=>{const[me,..._e]=U().map(Ee=>Ee.ref.current),[ne]=_e.slice(-1),ve=document.activeElement;for(const Ee of V)if(Ee===ve||(Ee==null||Ee.scrollIntoView({block:"nearest"}),Ee===me&&T&&(T.scrollTop=0),Ee===ne&&T&&(T.scrollTop=T.scrollHeight),Ee==null||Ee.focus(),document.activeElement!==ve))return},[U,T]),ee=W(()=>G([R,w]),[G,R,w]);z(()=>{q&&ee()},[q,ee]);const{onOpenChange:H,triggerPointerDownPosRef:te}=C;z(()=>{if(w){let V={x:0,y:0};const me=ne=>{var ve,Ee;V={x:Math.abs(Math.round(ne.pageX)-(((ve=te.current)==null?void 0:ve.x)??0)),y:Math.abs(Math.round(ne.pageY)-(((Ee=te.current)==null?void 0:Ee.y)??0))}},_e=ne=>{V.x<=10&&V.y<=10?ne.preventDefault():w.contains(ne.target)||H(!1),document.removeEventListener("pointermove",me),te.current=null};return te.current!==null&&(document.addEventListener("pointermove",me),document.addEventListener("pointerup",_e,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",me),document.removeEventListener("pointerup",_e,{capture:!0})}}},[w,H,te]),z(()=>{const V=()=>H(!1);return window.addEventListener("blur",V),window.addEventListener("resize",V),()=>{window.removeEventListener("blur",V),window.removeEventListener("resize",V)}},[H]);const[Oe,mt]=ip(V=>{const me=U().filter(ve=>!ve.disabled),_e=me.find(ve=>ve.ref.current===document.activeElement),ne=rp(me,V,_e);ne&&setTimeout(()=>ne.ref.current.focus())}),zt=W((V,me,_e)=>{const ne=!ce.current&&!_e;(C.value!==void 0&&C.value===me||ne)&&(O(V),ne&&(ce.current=!0))},[C.value]),Et=W(()=>w==null?void 0:w.focus(),[w]),Ue=W((V,me,_e)=>{const ne=!ce.current&&!_e;(C.value!==void 0&&C.value===me||ne)&&M(V)},[C.value]),gt=i==="popper"?Ba:$f,Rn=gt===Ba?{side:a,sideOffset:c,align:l,alignOffset:d,arrowPadding:u,collisionBoundary:h,collisionPadding:f,sticky:m,hideWhenDetached:p,avoidCollisions:g}:{};return v(Vf,{scope:n,content:w,viewport:T,onViewportChange:S,itemRefCallback:zt,selectedItem:R,onItemLeave:Et,itemTextRefCallback:Ue,focusSelectedItem:ee,selectedItemText:D,position:i,isPositioned:q,searchRef:Oe,children:v(Mf,{as:_C,allowPinchZoom:!0,children:v(Lh,{asChild:!0,trapped:C.open,onMountAutoFocus:V=>{V.preventDefault()},onUnmountAutoFocus:xe(r,V=>{var me;(me=C.trigger)==null||me.focus({preventScroll:!0}),V.preventDefault()}),children:v(Oh,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:V=>V.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:v(gt,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:V=>V.preventDefault(),...b,...Rn,onPlaced:()=>$(!0),ref:_,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:xe(b.onKeyDown,V=>{const me=V.ctrlKey||V.altKey||V.metaKey;if(V.key==="Tab"&&V.preventDefault(),!me&&V.key.length===1&&mt(V.key),["ArrowUp","ArrowDown","Home","End"].includes(V.key)){let _e=U().filter(ne=>!ne.disabled).map(ne=>ne.ref.current);if(["ArrowUp","End"].includes(V.key)&&(_e=_e.slice().reverse()),["ArrowUp","ArrowDown"].includes(V.key)){const ne=V.target,ve=_e.indexOf(ne);_e=_e.slice(ve+1)}setTimeout(()=>G(_e)),V.preventDefault()}})})})})})})});qf.displayName=TC;var SC="SelectItemAlignedPosition",$f=J((t,e)=>{const{__scopeSelect:n,onPlaced:i,...r}=t,s=fn(Pn,n),o=pn(Pn,n),[a,c]=F(null),[l,d]=F(null),u=Le(e,_=>d(_)),h=is(n),f=B(!1),m=B(!0),{viewport:p,selectedItem:g,selectedItemText:b,focusSelectedItem:C}=o,w=W(()=>{if(s.trigger&&s.valueNode&&a&&l&&p&&g&&b){const _=s.trigger.getBoundingClientRect(),R=l.getBoundingClientRect(),O=s.valueNode.getBoundingClientRect(),D=b.getBoundingClientRect();if(s.dir!=="rtl"){const ne=D.left-R.left,ve=O.left-ne,Ee=_.left-ve,et=_.width+Ee,Vi=Math.max(et,R.width),qi=window.innerWidth-pt,$i=Ph(ve,[pt,Math.max(pt,qi-Vi)]);a.style.minWidth=et+"px",a.style.left=$i+"px"}else{const ne=R.right-D.right,ve=window.innerWidth-O.right-ne,Ee=window.innerWidth-_.right-ve,et=_.width+Ee,Vi=Math.max(et,R.width),qi=window.innerWidth-pt,$i=Ph(ve,[pt,Math.max(pt,qi-Vi)]);a.style.minWidth=et+"px",a.style.right=$i+"px"}const M=h(),U=window.innerHeight-pt*2,q=p.scrollHeight,$=window.getComputedStyle(l),ce=parseInt($.borderTopWidth,10),G=parseInt($.paddingTop,10),ee=parseInt($.borderBottomWidth,10),H=parseInt($.paddingBottom,10),te=ce+G+q+H+ee,Oe=Math.min(g.offsetHeight*5,te),mt=window.getComputedStyle(p),zt=parseInt(mt.paddingTop,10),Et=parseInt(mt.paddingBottom,10),Ue=_.top+_.height/2-pt,gt=U-Ue,Rn=g.offsetHeight/2,V=g.offsetTop+Rn,me=ce+G+V,_e=te-me;if(me<=Ue){const ne=M.length>0&&g===M[M.length-1].ref.current;a.style.bottom="0px";const ve=l.clientHeight-p.offsetTop-p.offsetHeight,Ee=Math.max(gt,Rn+(ne?Et:0)+ve+ee),et=me+Ee;a.style.height=et+"px"}else{const ne=M.length>0&&g===M[0].ref.current;a.style.top="0px";const ve=Math.max(Ue,ce+p.offsetTop+(ne?zt:0)+Rn)+_e;a.style.height=ve+"px",p.scrollTop=me-Ue+p.offsetTop}a.style.margin=`${pt}px 0`,a.style.minHeight=Oe+"px",a.style.maxHeight=U+"px",i==null||i(),requestAnimationFrame(()=>f.current=!0)}},[h,s.trigger,s.valueNode,a,l,p,g,b,s.dir,i]);Ke(()=>w(),[w]);const[k,T]=F();Ke(()=>{l&&T(window.getComputedStyle(l).zIndex)},[l]);const S=W(_=>{_&&m.current===!0&&(w(),C==null||C(),m.current=!1)},[w,C]);return v(EC,{scope:n,contentWrapper:a,shouldExpandOnScrollRef:f,onScrollButtonChange:S,children:v("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:v(Te.div,{...r,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});$f.displayName=SC;var xC="SelectPopperPosition",Ba=J((t,e)=>{const{__scopeSelect:n,align:i="start",collisionPadding:r=pt,...s}=t,o=rs(n);return v(yk,{...o,...s,ref:e,align:i,collisionPadding:r,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Ba.displayName=xC;var[EC,ja]=di(Pn,{}),Va="SelectViewport",zf=J((t,e)=>{const{__scopeSelect:n,nonce:i,...r}=t,s=pn(Va,n),o=ja(Va,n),a=Le(e,s.onViewportChange),c=B(0);return v(Ce,{children:[v("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),v(ns.Slot,{scope:n,children:v(Te.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:a,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:xe(r.onScroll,l=>{const d=l.currentTarget,{contentWrapper:u,shouldExpandOnScrollRef:h}=o;if(h!=null&&h.current&&u){const f=Math.abs(c.current-d.scrollTop);if(f>0){const m=window.innerHeight-pt*2,p=parseFloat(u.style.minHeight),g=parseFloat(u.style.height),b=Math.max(p,g);if(b<m){const C=b+f,w=Math.min(m,C),k=C-w;u.style.height=w+"px",u.style.bottom==="0px"&&(d.scrollTop=k>0?k:0,u.style.justifyContent="flex-end")}}}c.current=d.scrollTop})})})]})});zf.displayName=Va;var Wf="SelectGroup",[PC,RC]=di(Wf),IC=J((t,e)=>{const{__scopeSelect:n,...i}=t,r=ya();return v(PC,{scope:n,id:r,children:v(Te.div,{role:"group","aria-labelledby":r,...i,ref:e})})});IC.displayName=Wf;var Hf="SelectLabel",OC=J((t,e)=>{const{__scopeSelect:n,...i}=t,r=RC(Hf,n);return v(Te.div,{id:r.id,...i,ref:e})});OC.displayName=Hf;var ss="SelectItem",[DC,Kf]=di(ss),Gf=J((t,e)=>{const{__scopeSelect:n,value:i,disabled:r=!1,textValue:s,...o}=t,a=fn(ss,n),c=pn(ss,n),l=a.value===i,[d,u]=F(s??""),[h,f]=F(!1),m=Le(e,C=>{var w;return(w=c.itemRefCallback)==null?void 0:w.call(c,C,i,r)}),p=ya(),g=B("touch"),b=()=>{r||(a.onValueChange(i),a.onOpenChange(!1))};if(i==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return v(DC,{scope:n,value:i,disabled:r,textId:p,isSelected:l,onItemTextChange:W(C=>{u(w=>w||((C==null?void 0:C.textContent)??"").trim())},[]),children:v(ns.ItemSlot,{scope:n,value:i,disabled:r,textValue:d,children:v(Te.div,{role:"option","aria-labelledby":p,"data-highlighted":h?"":void 0,"aria-selected":l&&h,"data-state":l?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...o,ref:m,onFocus:xe(o.onFocus,()=>f(!0)),onBlur:xe(o.onBlur,()=>f(!1)),onClick:xe(o.onClick,()=>{g.current!=="mouse"&&b()}),onPointerUp:xe(o.onPointerUp,()=>{g.current==="mouse"&&b()}),onPointerDown:xe(o.onPointerDown,C=>{g.current=C.pointerType}),onPointerMove:xe(o.onPointerMove,C=>{var w;g.current=C.pointerType,r?(w=c.onItemLeave)==null||w.call(c):g.current==="mouse"&&C.currentTarget.focus({preventScroll:!0})}),onPointerLeave:xe(o.onPointerLeave,C=>{var w;C.currentTarget===document.activeElement&&((w=c.onItemLeave)==null||w.call(c))}),onKeyDown:xe(o.onKeyDown,C=>{var w;((w=c.searchRef)==null?void 0:w.current)!==""&&C.key===" "||(mC.includes(C.key)&&b(),C.key===" "&&C.preventDefault())})})})})});Gf.displayName=ss;var ji="SelectItemText",Jf=J((t,e)=>{const{__scopeSelect:n,className:i,style:r,...s}=t,o=fn(ji,n),a=pn(ji,n),c=Kf(ji,n),l=yC(ji,n),[d,u]=F(null),h=Le(e,b=>u(b),c.onItemTextChange,b=>{var C;return(C=a.itemTextRefCallback)==null?void 0:C.call(a,b,c.value,c.disabled)}),f=d==null?void 0:d.textContent,m=ie(()=>v("option",{value:c.value,disabled:c.disabled,children:f},c.value),[c.disabled,c.value,f]),{onNativeOptionAdd:p,onNativeOptionRemove:g}=l;return Ke(()=>(p(m),()=>g(m)),[p,g,m]),v(Ce,{children:[v(Te.span,{id:c.textId,...s,ref:h}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren?Yi(s.children,o.valueNode):null]})});Jf.displayName=ji;var Yf="SelectItemIndicator",Xf=J((t,e)=>{const{__scopeSelect:n,...i}=t;return Kf(Yf,n).isSelected?v(Te.span,{"aria-hidden":!0,...i,ref:e}):null});Xf.displayName=Yf;var qa="SelectScrollUpButton",Qf=J((t,e)=>{const n=pn(qa,t.__scopeSelect),i=ja(qa,t.__scopeSelect),[r,s]=F(!1),o=Le(e,i.onScrollButtonChange);return Ke(()=>{if(n.viewport&&n.isPositioned){let a=function(){const l=c.scrollTop>0;s(l)};const c=n.viewport;return a(),c.addEventListener("scroll",a),()=>c.removeEventListener("scroll",a)}},[n.viewport,n.isPositioned]),r?v(ep,{...t,ref:o,onAutoScroll:()=>{const{viewport:a,selectedItem:c}=n;a&&c&&(a.scrollTop=a.scrollTop-c.offsetHeight)}}):null});Qf.displayName=qa;var $a="SelectScrollDownButton",Zf=J((t,e)=>{const n=pn($a,t.__scopeSelect),i=ja($a,t.__scopeSelect),[r,s]=F(!1),o=Le(e,i.onScrollButtonChange);return Ke(()=>{if(n.viewport&&n.isPositioned){let a=function(){const l=c.scrollHeight-c.clientHeight,d=Math.ceil(c.scrollTop)<l;s(d)};const c=n.viewport;return a(),c.addEventListener("scroll",a),()=>c.removeEventListener("scroll",a)}},[n.viewport,n.isPositioned]),r?v(ep,{...t,ref:o,onAutoScroll:()=>{const{viewport:a,selectedItem:c}=n;a&&c&&(a.scrollTop=a.scrollTop+c.offsetHeight)}}):null});Zf.displayName=$a;var ep=J((t,e)=>{const{__scopeSelect:n,onAutoScroll:i,...r}=t,s=pn("SelectScrollButton",n),o=B(null),a=is(n),c=W(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return z(()=>()=>c(),[c]),Ke(()=>{var l;const d=a().find(u=>u.ref.current===document.activeElement);(l=d==null?void 0:d.ref.current)==null||l.scrollIntoView({block:"nearest"})},[a]),v(Te.div,{"aria-hidden":!0,...r,ref:e,style:{flexShrink:0,...r.style},onPointerDown:xe(r.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(i,50))}),onPointerMove:xe(r.onPointerMove,()=>{var l;(l=s.onItemLeave)==null||l.call(s),o.current===null&&(o.current=window.setInterval(i,50))}),onPointerLeave:xe(r.onPointerLeave,()=>{c()})})}),MC="SelectSeparator",AC=J((t,e)=>{const{__scopeSelect:n,...i}=t;return v(Te.div,{"aria-hidden":!0,...i,ref:e})});AC.displayName=MC;var za="SelectArrow",NC=J((t,e)=>{const{__scopeSelect:n,...i}=t,r=rs(n),s=fn(za,n),o=pn(za,n);return s.open&&o.position==="popper"?v(kk,{...r,...i,ref:e}):null});NC.displayName=za;var LC="SelectBubbleInput",tp=J(({__scopeSelect:t,value:e,...n},i)=>{const r=B(null),s=Le(i,r),o=Sk(e);return z(()=>{const a=r.current;if(!a)return;const c=window.HTMLSelectElement.prototype,l=Object.getOwnPropertyDescriptor(c,"value").set;if(o!==e&&l){const d=new Event("change",{bubbles:!0});l.call(a,e),a.dispatchEvent(d)}},[o,e]),v(Te.select,{...n,style:{...yf,...n.style},ref:s,defaultValue:e})});tp.displayName=LC;function np(t){return t===""||t===void 0}function ip(t){const e=Sn(t),n=B(""),i=B(0),r=W(o=>{const a=n.current+o;e(a),function c(l){n.current=l,window.clearTimeout(i.current),l!==""&&(i.current=window.setTimeout(()=>c(""),1e3))}(a)},[e]),s=W(()=>{n.current="",window.clearTimeout(i.current)},[]);return z(()=>()=>window.clearTimeout(i.current),[]),[n,r,s]}function rp(t,e,n){const i=e.length>1&&Array.from(e).every(a=>a===e[0])?e[0]:e,r=n?t.indexOf(n):-1;let s=UC(t,Math.max(r,0));i.length===1&&(s=s.filter(a=>a!==n));const o=s.find(a=>a.textValue.toLowerCase().startsWith(i.toLowerCase()));return o!==n?o:void 0}function UC(t,e){return t.map((n,i)=>t[(e+i)%t.length])}var FC=Af,sp=Lf,op=Ff,BC=Bf,jC=jf,VC=zf,qC=Gf,$C=Jf,zC=Xf,WC=Qf,HC=Zf;const KC={sm:"w-4 h-4",md:"w-6 h-6"};function Wa({size:t="md",flagCode:e,className:n,...i}){return v("img",{className:de("rounded-full object-cover",KC[t],n),src:`https://storage.googleapis.com/eleven-public-cdn/images/flags/circle-flags/${e}.svg`,alt:`${e.toUpperCase()} flag`,...i})}function ap({children:t,...e}){const[n,i]=F(!1),{language:r,setLanguage:s,options:o}=ei(),a=db();return v(FC,{open:n,value:r.value.languageCode,onValueChange:c=>{s(c),i(!1)},onOpenChange:c=>{c&&i(!0)},children:[t,v(BC,{container:a,children:v(jC,{className:"overflow-hidden bg-base border border-base-border rounded-dropdown-sheet max-h-[min(384px,var(--radix-select-content-available-height))] min-w-[var(--radix-select-trigger-width)] z-10",position:"popper",sideOffset:8,align:"end",side:"top",onPointerDownOutside:()=>i(!1),onCloseAutoFocus:()=>i(!1),onEscapeKeyDown:()=>i(!1),...e,children:[v(WC,{className:"flex items-center justify-center h-6 bg-base text-base-subtle cursor-default",children:v(_n,{size:"sm",name:"chevron-up"})}),v(VC,{className:"p-1.5",children:o.value.map(c=>v(qC,{value:c.languageCode,className:"flex select-none items-center p-1.5 pr-3 gap-2 cursor-pointer rounded-input relative focus-visible:outline-none data-[highlighted]:bg-base-active text-sm",children:[v(Wa,{flagCode:c.flagCode}),v($C,{children:c.name}),v(zC,{className:"text-base-primary p-1.5 -mr-1.5 ml-auto",children:v(_n,{size:"sm",name:"check"})})]},c.languageCode))}),v(HC,{className:"flex items-center justify-center h-6 bg-base text-base-subtle cursor-default",children:v(_n,{size:"sm",name:"chevron-down"})})]})})]})}function GC({className:t,...e}){const n=He(),{language:i,showPicker:r}=ei();return r.value?v(ap,{align:"center",children:v(sp,{className:de("h-9 min-w-max rounded-button focus-ring px-2 flex gap-2 items-center text-base-primary bg-base hover:bg-base-hover active:bg-base-active font-medium",t),"aria-label":n.change_language,...e,children:[v(Wa,{size:"sm",flagCode:i.value.flagCode}),i.value.name,v(op,{className:"text-base-subtle",asChild:!0,children:v(_n,{size:"sm",name:"chevron-down"})})]})}):null}function JC({className:t,...e}){return v("textarea",{className:de("px-3 py-[calc(theme(spacing.2)-1px)] border text-sm text-base-primary bg-base border-base-border rounded-input focus-ring resize-none [field-sizing:content] placeholder:text-base-subtle",t),...e})}function Ha({visible:t,...e}){const n=He(),{isMuted:i,isMutingEnabled:r,setIsMuted:s}=uh(),o=W(()=>{s(!i.peek())},[s]);return r.value?v(Vt,{visible:t,className:"p-1",children:v(cn,{"aria-label":n.mute_microphone,"aria-pressed":i,icon:i.value?"mic-off":"mic",onClick:o,...e})}):null}function Ka({iconOnly:t,isDisconnected:e,children:n,...i}){const{endSession:r,startSession:s}=We(),o=He();return v(cn,{variant:e?"primary":"secondary",icon:e?"phone":"phone-off",onClick:e?a=>s(a.currentTarget):r,"aria-label":e?o.start_call:o.end_call,...i,children:t?void 0:n??(e?o.start_call:o.end_call)})}function YC({showTranscript:t,scrollPinned:e}){const n=Ye(""),i=Fr(),{text_input_enabled:r}=Ne().value,s=He(),{isDisconnected:o,status:a,startSession:c,sendUserMessage:l,sendUserActivity:d,conversationIndex:u}=We(),h=W(async g=>{g.preventDefault();const b=n.value.trim();b&&(e.value=!0,n.value="",o.value?await c(g.currentTarget,b):l(b))},[n,e,o,c,l]),f=W(async g=>{g.key==="Enter"&&!g.shiftKey&&await h(g)},[h]),m=W(g=>{n.value=g.currentTarget.value},[n]),p=fe(()=>!!n.value.trim());return v("div",{className:"shrink-0 overflow-hidden flex p-3 items-end justify-end",children:[r&&v("div",{className:"relative grow min-w-0 flex z-1 m-1",children:[v(JC,{rows:1,"aria-label":s.input_label,value:n,onInput:d,onChange:m,onKeyDown:f,className:"min-w-0 w-full max-h-[8lh] pr-9",placeholder:i.value?o.value&&u.value>0?s.input_placeholder_new_conversation:s.input_placeholder_text_only:s.input_placeholder}),v(it,{active:p,children:v("button",{"aria-label":s.send_message,className:"absolute right-1 bottom-1 w-7 h-7 flex items-center justify-center hover:bg-base-hover active:bg-base-active rounded-button focus-ring transition-[transform,opacity] duration-200 data-hidden:opacity-0 data-hidden:scale-90",onClick:h,children:v(_n,{name:"send"})})})]}),v("div",{className:"flex h-11 items-center",children:[v(Ha,{visible:!i.value&&!o.value}),v(Vt,{visible:!i.value&&(!o.value||t),className:"p-1",children:v(Ka,{iconOnly:!o.value,isDisconnected:o.value,disabled:a.value==="disconnecting"||a.value==="connecting",children:s.new_call})})]})]})}function XC({entry:t,animateIn:e}){const n=He(),{previewUrl:i}=da(),{lastId:r}=We();return v(it,{initial:!e,active:!0,children:t.type==="message"?v("div",{className:de("flex gap-2.5 transition-[opacity,transform] duration-200 data-hidden:opacity-0 data-hidden:scale-75",t.role=="user"?"justify-end pl-16 origin-top-right":"pr-16 origin-top-left"),children:[t.role==="ai"&&v("img",{src:i,alt:"AI agent avatar",className:"bg-base-border shrink-0 w-5 h-5 rounded-full"}),v("div",{dir:"auto",className:de("px-3 py-2.5 rounded-bubble text-sm min-w-0 [overflow-wrap:break-word]",t.role==="user"?"bg-accent text-accent-primary":"bg-base-active text-base-primary"),children:t.message})]}):t.type==="disconnection"?v("div",{className:"mt-2 px-8 text-xs text-base-subtle text-center transition-opacity duration-200 data-hidden:opacity-0",children:[t.role==="user"?n.user_ended_conversation:n.agent_ended_conversation,v("br",{}),r.value&&v("span",{className:"break-all",children:[n.conversation_id,": ",r.value]})]}):v("div",{className:"mt-2 px-8 text-xs text-base-error text-center transition-opacity duration-200 data-hidden:opacity-0",children:[n.error_occurred,v("br",{}),t.message,r.value&&v(Ce,{children:[v("br",{}),v("span",{className:"text-base-subtle break-all",children:[n.conversation_id,": ",r.value]})]})]})})}const QC=16;function ZC({scrollPinned:t,transcript:e}){const n=B(null),i=s=>{var o;(o=n.current)==null||o.scrollTo({top:n.current.scrollHeight,behavior:s?"smooth":"instant"})},r=B(!0);return z(()=>{r.current=!1,i(!1)},[]),Jt(()=>{e.value,t.peek()&&i(!0)}),v("div",{ref:n,onScroll:s=>{t.value=s.currentTarget.scrollTop>=s.currentTarget.scrollHeight-s.currentTarget.clientHeight-QC},className:"px-4 pb-3 grow flex flex-col gap-3 overflow-x-hidden overflow-y-auto",children:e.value.map((s,o)=>v(XC,{entry:s,animateIn:!r.current},`${s.message}-${o}-${s.conversationIndex}`))})}const ew={"top-left":"origin-top-left",top:"origin-top","top-right":"origin-top-right","bottom-left":"origin-bottom-left","bottom-right":"origin-bottom-right",bottom:"origin-bottom"};function tw({open:t}){const e=He(),n=la(),i=Fr(),r=Ne(),s=r.value.placement,{isDisconnected:o,startSession:a,transcript:c,conversationIndex:l}=We(),d=gh(),u=fe(()=>{var m;return n.value||i.value?!d.value||!n.value?c.value:[{type:"message",role:"ai",message:d.value,isText:!0,conversationIndex:((m=c.value[0])==null?void 0:m.conversationIndex)??l.peek()},...c.value]:r.value.transcript_enabled?c.value:c.value.filter(p=>p.type!=="message"||p.isText)}),h=u.value.length>0||!o.value&&r.value.transcript_enabled,f=Ye(!0);return v(it,{initial:!1,active:t,children:v("div",{className:de("flex flex-col overflow-hidden absolute bg-base shadow-lg pointer-events-auto rounded-sheet w-full max-w-[400px] h-[calc(100%-80px)] max-h-[550px]","transition-[transform,opacity] duration-200 data-hidden:scale-90 data-hidden:opacity-0",ew[s],s.startsWith("top")?"top-20":"bottom-20"),children:[v("div",{className:"bg-base shrink-0 flex gap-2 p-4 items-start",children:[v("div",{className:"relative w-16 h-16"}),v(it,{active:h&&!o.value,children:v(fa,{className:"rounded-bl-[calc(var(--el-bubble-radius)/3)] transition-opacity data-hidden:opacity-0"})})]}),v(ZC,{transcript:u,scrollPinned:f}),v(YC,{scrollPinned:f,showTranscript:h}),v(it,{active:!h||o.value,children:v("div",{className:"absolute top-0 left-0 right-0 p-4 flex justify-center transition-[opacity,transform] duration-200 data-hidden:opacity-0 data-hidden:-translate-y-4",children:v(GC,{})})}),v("div",{className:de("absolute origin-top-left transition-[transform,left,top] duration-200 z-1",h?"top-4 left-4 scale-[0.333]":"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 scale-100"),children:[v(ti,{size:"lg"}),v(it,{active:!h&&o.value&&!n.value,children:v("div",{className:"absolute bottom-0 p-1 rounded-[calc(var(--el-button-radius)+4px)] bg-base left-1/2 -translate-x-1/2 translate-y-1/2 transition-[opacity,transform] data-hidden:opacity-0 data-hidden:scale-100 scale-150",children:v(cn,{"aria-label":e.start_call,variant:"primary",icon:"phone",onClick:m=>a(m.currentTarget)})})}),v(it,{active:!h&&!o.value,children:v("div",{className:"absolute -bottom-3 left-1/2 -translate-x-1/2 translate-y-full transition-[opacity,transform] data-hidden:opacity-0 data-hidden:scale-75",children:v(fa,{})})})]})]})})}function cp({expanded:t}){const e=Fr(),n=Ne().value.variant,{isDisconnected:i}=We(),r=He(),s=W(()=>{t.value=!t.value},[t]);return v(Ce,{children:[n==="full"&&v(Vt,{visible:!t.value&&!i.value,className:"p-1",children:v(ti,{})}),v(Vt,{grow:n!=="tiny",visible:!e.value&&!t.value&&!i.value,className:"p-1",children:v(Ka,{iconOnly:!0,isDisconnected:!1})}),v(Ha,{visible:!e.value&&!t.value&&!i.value}),v(Vt,{grow:i.value,visible:!0,className:"p-1",children:v(cn,{className:"w-full",variant:"primary",iconClassName:de((t.value||!i.value)&&"transition-transform duration-200",t.value&&"-rotate-180"),icon:t.value?"chevron-up":i.value?e.value?"chat":"phone":"chevron-up","aria-label":t.value?r.collapse:i.value?e.value?r.start_chat:r.start_call:r.expand,onClick:!t.value&&!i.value?s:void 0,children:!t.value&&i.value&&n!=="tiny"?e.value?r.start_chat:r.start_call:void 0})})]})}function nw({expanded:t,className:e,...n}){const{isDisconnected:i}=We(),r=He();return v("div",{className:de("transition-[border-radius] flex flex-col p-2",!t.value&&i.value?"rounded-sheet":"rounded-compact-sheet",e),...n,children:[v(Vt,{visible:!t.value&&i.value,className:"p-1 !min-w-60",children:v("div",{className:"flex items-center gap-2",children:[v(ti,{}),v("div",{className:"text-sm max-w-64",children:r.main_label})]})}),v("div",{className:"flex items-center",children:v(cp,{expanded:t})})]})}function iw({expanded:t,className:e,...n}){return v("div",{className:de("rounded-compact-sheet flex items-center p-2",e),...n,children:[v(Vt,{visible:!t.value,className:"p-1",children:v(ti,{})}),v(cp,{expanded:t})]})}function rw({visible:t,className:e,...n}){const i=He(),{language:r,showPicker:s}=ei();return s.value?v(Vt,{visible:t,className:"p-1",children:v(ap,{children:v(sp,{className:de("h-9 min-w-max border border-base-border rounded-button focus-ring px-1.5 flex gap-1 items-center transition-colors duration-200 hover:bg-base-hover active:bg-base-active",e),"aria-label":i.change_language,...n,children:[v(Wa,{flagCode:r.value.flagCode}),v(op,{className:"px-1 text-base-subtle",asChild:!0,children:v(_n,{size:"sm",name:"chevron-down"})})]})})}):null}function lp(){const t=Ne().value.variant,{isDisconnected:e,status:n}=We();return v(Ce,{children:[v(Ka,{isDisconnected:e.value,iconOnly:t==="tiny",className:"w-full m-1 z-1",disabled:n.value==="disconnecting"||n.value==="connecting"}),v(rw,{visible:e.value}),v(Ha,{visible:!e.value})]})}function sw({className:t,...e}){const{isDisconnected:n}=We(),i=He();return v("div",{className:de("flex flex-col p-2 rounded-sheet",t),...e,children:[v("div",{className:"flex items-center p-1 gap-2 min-w-60",children:[v(ti,{}),v("div",{className:"relative text-sm max-w-64",children:[v("span",{className:de("block transition-[transform,opacity] duration-200",!n.value&&"opacity-0 scale-90"),children:i.main_label}),v(it,{active:!n.value,children:v(fa,{className:"absolute top-1/2 -translate-y-1/2 transition-[transform,opacity] duration-200 data-hidden:opacity-0 data-hidden:scale-90"})})]})]}),v("div",{className:"flex items-center",children:v(lp,{})})]})}function ow({className:t,...e}){return v("div",{className:de("rounded-compact-sheet flex items-center p-2",t),...e,children:[v(ti,{className:"mx-1"}),v(lp,{})]})}function aw({expandable:t,expanded:e}){const n=Ne().value.variant,i=Ur(),{isDisconnected:r}=We(),s=W(async()=>{await i.requestTerms(),e.value=!e.peek()},[e]),o=n==="full";return t?v(o?nw:iw,{expanded:e,className:de("bg-base shadow-md pointer-events-auto overflow-hidden",(r.value||e.value)&&"cursor-pointer"),onClick:r.value||e.value?s:void 0}):v(o?sw:ow,{className:"bg-base shadow-md pointer-events-auto overflow-hidden"})}function cw(){const t=He(),e=Ne(),{dismissTerms:n,acceptTerms:i}=Ur();return v("div",{className:"max-w-[400px] flex flex-col gap-2 bg-base shadow-md pointer-events-auto rounded-sheet p-3 text-sm",children:[v("div",{className:"flex flex-col gap-1 terms p-2 pt-1",dangerouslySetInnerHTML:{__html:e.value.terms_html??""}}),v("div",{className:"flex justify-end gap-2",children:[v(cn,{onClick:n,children:t.dismiss_terms}),v(cn,{onClick:i,variant:"primary",children:t.accept_terms})]})]})}function lw({copyText:t,children:e}){const n=He(),[i,r]=F(!1);z(()=>{if(i){const o=setTimeout(()=>{r(!1)},2e3);return()=>{clearTimeout(o)}}},[i]);const s=W(()=>{const o=kh(t);o&&(navigator.clipboard.writeText(o),r(!0))},[]);return v(cn,{onClick:s,children:i?n.copied:e})}function dw({sawError:t}){const e=He(),{error:n,lastId:i}=We(),r=W(()=>{t.value=!0},[]);return v("div",{className:"max-w-[400px] flex flex-col gap-2 bg-base shadow-md pointer-events-auto rounded-sheet p-3 text-sm",children:[v("div",{className:"p-2 pt-1",children:[v("h1",{className:"text-md font-medium pb-1",children:e.error_occurred}),n.value,i.value&&v(Ce,{children:[v("br",{}),v("span",{className:"text-base-subtle",children:[e.conversation_id,": ",i.value]})]})]}),v("div",{className:"flex justify-end gap-2",children:[v(lw,{copyText:i,children:e.copy_id}),v(cn,{variant:"primary",onClick:r,children:"Close"})]})]})}function uw(){const t=Ne();return t.value.disable_banner?null:v("p",{className:de("whitespace-nowrap [line-height:var(--el-overlay-padding)] text-[10px] px-3",t.value.placement.startsWith("top")?"-translate-y-[calc(var(--el-overlay-padding))]":"translate-y-[calc(var(--el-overlay-padding))]"),children:[v("span",{className:"opacity-30",children:"Powered by ElevenLabs"})," ",v("a",{href:t.value.override_link||"https://elevenlabs.io/conversational-ai",className:"underline cursor-pointer pointer-events-auto focus-visible:outline-none opacity-30 hover:opacity-50 focus-visible:opacity-100 focus-visible:underline-offset-2",target:"_blank",children:"Conversational AI"})]})}const ui={left:"items-start",center:"items-center",right:"items-end"},hi={top:"flex-col-reverse justify-end",bottom:"flex-col justify-end"},hw={"top-left":`${hi.top} ${ui.left}`,top:`${hi.top} ${ui.center}`,"top-right":`${hi.top} ${ui.right}`,"bottom-left":`${hi.bottom} ${ui.left}`,bottom:`${hi.bottom} ${ui.center}`,"bottom-right":`${hi.bottom} ${ui.right}`},os={display:"none"},fw=Ji(function(){const t=Ye(!1),e=Ne(),n=Ye(!1),{error:i}=We(),r=Ur(),s=fe(()=>e.value.transcript_enabled||e.value.text_input_enabled),o=fe(()=>de("overlay !flex transition-opacity duration-200 data-hidden:opacity-0",hw[e.value.placement]));Jt(()=>{i.value&&(s.value?(n.value=!0,t.value=!0):n.value=!1)});const a=fe(()=>!s.value&&i.value&&!n.value?"error":!r.termsAccepted.value&&r.termsShown.value?"terms":"conversation"),c=fe(()=>a.value==="error"),l=fe(()=>a.value==="terms"),d=fe(()=>a.value==="conversation");return v(Ce,{children:[v(it,{initial:!1,active:d,children:v(Br,{className:o,style:os,children:[s.value&&v(tw,{open:t}),v(aw,{expandable:s.value,expanded:t})]})}),v(it,{initial:!1,active:l,children:v(Br,{className:o,style:os,children:v(cw,{})})}),v(it,{initial:!1,active:c,children:v(Br,{className:o,style:os,children:v(dw,{sawError:n})})}),v(Br,{className:o,style:os,children:v(uw,{})})]})});function pw(t){return v(H0,{value:t,children:v(G0,{children:v(ib,{children:v(Z0,{children:v(J0,{children:v(Y0,{children:v(X0,{children:v(eb,{children:v(cb,{children:v(lb,{children:[v(sb,{}),v(fw,{})]})})})})})})})})})})}function mw(t="elevenlabs-convai"){kp(pw,t,[...aa],{shadow:!0})}mw()})();