@100mslive/react-sdk 0.0.3-alpha.2 → 0.0.3-alpha.3

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 (56) hide show
  1. package/dist/{src/hooks → hooks}/HmsRoomProvider.d.ts +0 -0
  2. package/dist/{src/hooks → hooks}/store.d.ts +0 -0
  3. package/dist/{src/hooks → hooks}/types.d.ts +0 -0
  4. package/dist/{src/hooks → hooks}/useAVToggle.d.ts +0 -0
  5. package/dist/{src/hooks → hooks}/useAudioLevel.d.ts +0 -0
  6. package/dist/{src/hooks → hooks}/useDevices.d.ts +0 -0
  7. package/dist/{src/hooks → hooks}/usePreview.d.ts +0 -0
  8. package/dist/{src/hooks → hooks}/useVideo.d.ts +0 -0
  9. package/dist/{src/hooks → hooks}/useVideoList.d.ts +0 -0
  10. package/dist/{src/hooks → hooks}/useVideoTile.d.ts +2 -3
  11. package/dist/index.cjs.js +38 -2
  12. package/dist/{src/index.d.ts → index.d.ts} +0 -0
  13. package/dist/index.js +44 -0
  14. package/dist/{src/utils → utils}/groupBy.d.ts +0 -0
  15. package/dist/{src/utils → utils}/isBrowser.d.ts +0 -0
  16. package/dist/{src/utils → utils}/layout.d.ts +0 -0
  17. package/dist/{src/utils → utils}/logger.d.ts +0 -0
  18. package/package.json +12 -11
  19. package/dist/_virtual/_commonjsHelpers.js +0 -1
  20. package/dist/_virtual/eventemitter2.js_commonjs-module.js +0 -1
  21. package/dist/_virtual/grammar.js_commonjs-module.js +0 -1
  22. package/dist/_virtual/parser.js_commonjs-exports.js +0 -1
  23. package/dist/_virtual/sdp.js_commonjs-module.js +0 -1
  24. package/dist/_virtual/ua-parser.js_commonjs-module.js +0 -1
  25. package/dist/node_modules/eventemitter2/lib/eventemitter2.js +0 -8
  26. package/dist/node_modules/sdp/sdp.js +0 -1
  27. package/dist/node_modules/sdp-transform/lib/grammar.js +0 -1
  28. package/dist/node_modules/sdp-transform/lib/parser.js +0 -1
  29. package/dist/node_modules/ua-parser-js/src/ua-parser.js +0 -1
  30. package/dist/node_modules/webrtc-adapter/src/js/adapter_core.js +0 -1
  31. package/dist/node_modules/webrtc-adapter/src/js/adapter_factory.js +0 -1
  32. package/dist/node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js +0 -1
  33. package/dist/node_modules/webrtc-adapter/src/js/chrome/getdisplaymedia.js +0 -1
  34. package/dist/node_modules/webrtc-adapter/src/js/chrome/getusermedia.js +0 -1
  35. package/dist/node_modules/webrtc-adapter/src/js/common_shim.js +0 -1
  36. package/dist/node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js +0 -1
  37. package/dist/node_modules/webrtc-adapter/src/js/firefox/getdisplaymedia.js +0 -1
  38. package/dist/node_modules/webrtc-adapter/src/js/firefox/getusermedia.js +0 -1
  39. package/dist/node_modules/webrtc-adapter/src/js/safari/safari_shim.js +0 -1
  40. package/dist/node_modules/webrtc-adapter/src/js/utils.js +0 -1
  41. package/dist/packages/hms-video-web/dist/hms-video.esm.js +0 -1
  42. package/dist/packages/react-sdk/node_modules/zustand/esm/shallow.js +0 -1
  43. package/dist/packages/react-sdk/src/hooks/HmsRoomProvider.js +0 -1
  44. package/dist/packages/react-sdk/src/hooks/store.js +0 -1
  45. package/dist/packages/react-sdk/src/hooks/useAVToggle.js +0 -1
  46. package/dist/packages/react-sdk/src/hooks/useAudioLevel.js +0 -1
  47. package/dist/packages/react-sdk/src/hooks/useDevices.js +0 -1
  48. package/dist/packages/react-sdk/src/hooks/usePreview.js +0 -1
  49. package/dist/packages/react-sdk/src/hooks/useVideo.js +0 -1
  50. package/dist/packages/react-sdk/src/hooks/useVideoList.js +0 -1
  51. package/dist/packages/react-sdk/src/hooks/useVideoTile.js +0 -1
  52. package/dist/packages/react-sdk/src/index.js +0 -1
  53. package/dist/packages/react-sdk/src/utils/isBrowser.js +0 -1
  54. package/dist/packages/react-sdk/src/utils/layout.js +0 -1
  55. package/dist/packages/react-sdk/src/utils/logger.js +0 -1
  56. package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/index.cjs.js CHANGED
@@ -1,8 +1,44 @@
1
- "use strict";function e(){return e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},e.apply(this,arguments)}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),r=require("@100mslive/hms-video-store"),n=require("zustand"),i=require("react-intersection-observer");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(r){if("default"!==r&&!(r in e)){var n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return t[r]}})}}))})),Object.freeze(e)}var a,c=o(t),p=o(n);function l(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n=0;n<r.length;n++)if(!Object.prototype.hasOwnProperty.call(t,r[n])||!Object.is(e[r[n]],t[r[n]]))return!1;return!0}!function(e){e[e.VERBOSE=0]="VERBOSE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE"}(a||(a={}));class d{static v(e,...t){this.log(a.VERBOSE,e,...t)}static d(e,...t){this.log(a.DEBUG,e,...t)}static i(e,...t){this.log(a.INFO,e,...t)}static w(e,...t){this.log(a.WARN,e,...t)}static e(e,...t){this.log(a.ERROR,e,...t)}static log(e,t,...r){if(!(this.level.valueOf()>e.valueOf()))switch(e){case a.VERBOSE:console.log("HMSui-components: ",t,...r);break;case a.DEBUG:console.debug("HMSui-components: ",t,...r);break;case a.INFO:console.info("HMSui-components: ",t,...r);break;case a.WARN:console.warn("HMSui-components: ",t,...r);break;case a.ERROR:console.error("HMSui-components: ",t,...r)}}}d.level=a.VERBOSE;const u="It seems like you forgot to add your component within a top level HMSRoomProvider, please refer to 100ms react docs(https://docs.100ms.live/javascript/v2/features/integration#react-hooks) to check on the required steps for using this hook.";const f="undefined"!=typeof window,h=t.createContext(null);let m;const g=(v=h,(e,r=l)=>{e||d.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const n=t.useContext(v);if(!n)throw new Error(u);return(0,n.store)(e,r)});var v;const y=function(e){return(r,n=l)=>{r||d.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const i=t.useContext(e);if(!i)throw new Error(u);const o=i.statsStore;return null==o?void 0:o(r,n)}}(h),b=()=>{const e=t.useContext(h);if(!e)throw new Error(u);return e.store},w=()=>{const e=t.useContext(h);if(!e)throw new Error(u);return e.actions},T=({elements:t,tilesInFirstPage:r,onlyOnePage:n,isLastPageDifferentFromFirstPage:i,defaultWidth:o,defaultHeight:s,lastPageWidth:a,lastPageHeight:c})=>{const p=((e,t,r)=>e.reduce(((e,n,i)=>{const o=Math.floor(i/t);return o>0&&r||(e[o]||(e[o]=[]),e[o].push(n)),e}),[]))(t,r,n);return p.map(((t,r)=>t.map((t=>{const n=r===p.length-1;return e({},t,{height:i&&n?c:s,width:i&&n?a:o})}))))};const C=e=>function(e){if(0===e.length)return null;const t={};let r=e[0],n=1;for(let i=0;i<e.length;i++){const o=e[i];null===t[o]?t[o]=1:t[o]++,t[o]>n&&(r=o,n=t[o])}return r}(e.filter((e=>{var t,r;return(null==(t=e.track)?void 0:t.width)&&(null==(r=e.track)?void 0:r.height)})).map((e=>{var t,r;return((null==(t=e.track)?void 0:t.width)||1)/((null==(r=e.track)?void 0:r.height)||1)}))),E=(e,t,r,n,i)=>{if(e<0||t<0)throw new Error("Container must have a non-negative area");if(r<1||!Number.isInteger(r))throw new Error("Number of shapes to place must be a positive integer");const o=n&&i&&n/i;if(void 0!==o&&isNaN(o))throw new Error("Aspect ratio must be a number");let s={area:0,cols:0,rows:0,width:0,height:0};if(void 0!==o)for(let n=r;n>0;n+=-1){const i=Math.ceil(r/n);let a,c;e/(n*o)<=t/i?(a=e/n,c=a/o):(c=t/i,a=c*o);const p=a*c;p>s.area&&(s={area:p,width:a,height:c,rows:i,cols:n})}return s};function _({count:e,parentWidth:t,parentHeight:r,maxTileCount:n,maxRowCount:i,maxColCount:o,aspectRatio:s}){let a=0,c=0,p=0,l=0,d=!1,u=0;if(0===e)return{tilesInFirstPage:u,defaultWidth:a,defaultHeight:c,lastPageWidth:p,lastPageHeight:l,isLastPageDifferentFromFirstPage:d};if(n)({tilesInFirstPage:u,defaultWidth:a,defaultHeight:c,lastPageWidth:p,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:r,maxCount:n,aspectRatio:i})=>{let o=0,s=0,a=0,c=0,p=!1,l=0,d=0;const{width:u,height:f}=E(e,t,Math.min(r,n),i.width,i.height);if(o=u,s=f,l=Math.min(r,n),d=r%n,p=d>0&&r>n,p){const{width:r,height:n}=E(e,t,d,i.width,i.height);a=r,c=n}return{tilesInFirstPage:l,defaultWidth:o,defaultHeight:s,lastPageWidth:a,lastPageHeight:c,isLastPageDifferentFromFirstPage:p}})({parentWidth:t,parentHeight:r,count:e,maxCount:n,aspectRatio:s}));else if(i)({tilesInFirstPage:u,defaultWidth:a,defaultHeight:c,lastPageWidth:p,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:r,maxCount:n,aspectRatio:i})=>{let o=0,s=0,a=0,c=0,p=!1,l=0,d=0;const u=Math.min(Math.ceil(Math.sqrt(r*(i.width/i.height)/(e/t))),n),f=t/u,h=f*(i.width/i.height),m=Math.floor(e/h);if(o=h,s=f,l=Math.min(r,u*m),d=r%(u*m),p=d>0&&r>u*m,p){const r=t/Math.min(Math.ceil(Math.sqrt(d*(i.width/i.height)/(e/t))),n);c=r,a=r*(i.width/i.height)}return{tilesInFirstPage:l,defaultWidth:o,defaultHeight:s,lastPageWidth:a,lastPageHeight:c,isLastPageDifferentFromFirstPage:p}})({parentWidth:t,parentHeight:r,count:e,maxCount:i,aspectRatio:s}));else if(o)({tilesInFirstPage:u,defaultWidth:a,defaultHeight:c,lastPageWidth:p,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:r,maxCount:n,aspectRatio:i})=>{let o=0,s=0,a=0,c=0,p=!1,l=0,d=0;const u=Math.min(Math.ceil(Math.sqrt(r*(e/t)/(i.width/i.height))),n),f=e/u,h=f/(i.width/i.height),m=Math.floor(t/h);if(s=h,o=f,l=Math.min(r,m*u),d=r%(m*u),p=d>0&&r>m*u,p){const r=e/Math.min(Math.ceil(Math.sqrt(d*(e/t)/(i.width/i.height))),n);c=r/(i.width/i.height),a=r}return{tilesInFirstPage:l,defaultWidth:o,defaultHeight:s,lastPageWidth:a,lastPageHeight:c,isLastPageDifferentFromFirstPage:p}})({parentWidth:t,parentHeight:r,count:e,maxCount:o,aspectRatio:s}));else{const{width:n,height:i}=E(t,r,e,s.width,s.height);a=n,c=i,u=e}return{tilesInFirstPage:u,defaultWidth:a,defaultHeight:c,lastPageWidth:p,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}}let R=!0,S=!0;function P(e,t,r){const n=e.match(t);return n&&n.length>=r&&parseInt(n[r],10)}function k(e,t,r){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,i=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return i.apply(this,arguments);const o=e=>{const t=r(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,o),i.apply(this,[e,o])};const o=n.removeEventListener;n.removeEventListener=function(e,r){if(e!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(r))return o.apply(this,arguments);const n=this._eventMap[t].get(r);return this._eventMap[t].delete(r),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,n])},Object.defineProperty(n,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function A(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(R=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function x(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(S=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function D(){if("object"==typeof window){if(R)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}}function O(e,t){S&&console.warn(e+" is deprecated, please use "+t+" instead.")}function I(e){return"[object Object]"===Object.prototype.toString.call(e)}function L(e){return I(e)?Object.keys(e).reduce((function(t,r){const n=I(e[r]),i=n?L(e[r]):e[r],o=n&&!Object.keys(i).length;return void 0===i||o?t:Object.assign(t,{[r]:i})}),{}):e}function M(e,t,r){t&&!r.has(t.id)&&(r.set(t.id,t),Object.keys(t).forEach((n=>{n.endsWith("Id")?M(e,e.get(t[n]),r):n.endsWith("Ids")&&t[n].forEach((t=>{M(e,e.get(t),r)}))})))}function N(e,t,r){const n=r?"outbound-rtp":"inbound-rtp",i=new Map;if(null===t)return i;const o=[];return e.forEach((e=>{"track"===e.type&&e.trackIdentifier===t.id&&o.push(e)})),o.forEach((t=>{e.forEach((r=>{r.type===n&&r.trackId===t.id&&M(e,r,i)}))})),i}const j=D;function U(e,t){const r=e&&e.navigator;if(!r.mediaDevices)return;const n=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach((r=>{if("require"===r||"advanced"===r||"mediaSource"===r)return;const n="object"==typeof e[r]?e[r]:{ideal:e[r]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);const i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};"number"==typeof n.ideal?(e[i("min",r)]=n.ideal,t.optional.push(e),e={},e[i("max",r)]=n.ideal,t.optional.push(e)):(e[i("",r)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[i("",r)]=n.exact):["min","max"].forEach((e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,r)]=n[e])}))})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"==typeof e.video){let o=e.video.facingMode;o=o&&("object"==typeof o?o:{ideal:o});const s=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&(!r.mediaDevices.getSupportedConstraints||!r.mediaDevices.getSupportedConstraints().facingMode||s)){let t;if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?t=["back","rear"]:"user"!==o.exact&&"user"!==o.ideal||(t=["front"]),t)return r.mediaDevices.enumerateDevices().then((r=>{let s=(r=r.filter((e=>"videoinput"===e.kind))).find((e=>t.some((t=>e.label.toLowerCase().includes(t)))));return!s&&r.length&&t.includes("back")&&(s=r[r.length-1]),s&&(e.video.deviceId=o.exact?{exact:s.deviceId}:{ideal:s.deviceId}),e.video=n(e.video),j("chrome: "+JSON.stringify(e)),i(e)}))}e.video=n(e.video)}return j("chrome: "+JSON.stringify(e)),i(e)},o=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(r.getUserMedia=function(e,t,n){i(e,(e=>{r.webkitGetUserMedia(e,t,(e=>{n&&n(o(e))}))}))}.bind(r),r.mediaDevices.getUserMedia){const e=r.mediaDevices.getUserMedia.bind(r.mediaDevices);r.mediaDevices.getUserMedia=function(t){return i(t,(t=>e(t).then((e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach((e=>{e.stop()})),new DOMException("","NotFoundError");return e}),(e=>Promise.reject(o(e))))))}}}function F(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function G(e){if("object"==typeof e&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",(r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===r.track.id)):{track:r.track};const i=new Event("track");i.track=r.track,i.receiver=n,i.transceiver={receiver:n},i.streams=[t.stream],this.dispatchEvent(i)})),t.stream.getTracks().forEach((r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===r.id)):{track:r};const i=new Event("track");i.track=r,i.receiver=n,i.transceiver={receiver:n},i.streams=[t.stream],this.dispatchEvent(i)}))},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else k(e,"track",(e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e)))}function H(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let i=r.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach((e=>{this._senders.push(t(this,e))}))};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach((e=>{const t=this._senders.find((t=>t.track===e));t&&this._senders.splice(this._senders.indexOf(t),1)}))}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function V(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,n]=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||"function"!=typeof e))return t.apply(this,[]);const i=function(e){const t={};return e.result().forEach((e=>{const r={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach((t=>{r[t]=e.stat(t)})),t[r.id]=r})),t},o=function(e){return new Map(Object.keys(e).map((t=>[t,e[t]])))};if(arguments.length>=2){const n=function(e){r(o(i(e)))};return t.apply(this,[n,e])}return new Promise(((e,r)=>{t.apply(this,[function(t){e(o(i(t)))},r])})).then(r,n)}}function z(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>N(t,e.track,!0)))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),k(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>N(t,e.track,!1)))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,r,n;return this.getSenders().forEach((r=>{r.track===e&&(t?n=!0:t=r)})),this.getReceivers().forEach((t=>(t.track===e&&(r?n=!0:r=t),t.track===e))),n||t&&r?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():r?r.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function W(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((e=>this._shimmedLocalStreams[e][0]))};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(n)&&this._shimmedLocalStreams[r.id].push(n):this._shimmedLocalStreams[r.id]=[r,n],n};const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException("Track already exists.","InvalidAccessError")}));const t=this.getSenders();r.apply(this,arguments);const n=this.getSenders().filter((e=>-1===t.indexOf(e)));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((t=>{const r=this._shimmedLocalStreams[t].indexOf(e);-1!==r&&this._shimmedLocalStreams[t].splice(r,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]})),i.apply(this,arguments)}}function B(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return W(e);const r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=r.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map((e=>this._reverseStreams[e.id]))};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[t.id]){const r=new e.MediaStream(t.getTracks());this._streams[t.id]=r,this._reverseStreams[r.id]=t,t=r}n.apply(this,[t])};const i=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],i=e._streams[n.id];r=r.replace(new RegExp(i.id,"g"),n.id)})),new RTCSessionDescription({type:t.type,sdp:r})}function s(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],i=e._streams[n.id];r=r.replace(new RegExp(n.id,"g"),i.id)})),new RTCSessionDescription({type:t.type,sdp:r})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,r){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const n=[].slice.call(arguments,1);if(1!==n.length||!n[0].getTracks().find((e=>e===t)))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");const i=this.getSenders().find((e=>e.track===t));if(i)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const o=this._streams[r.id];if(o)o.addTrack(t),Promise.resolve().then((()=>{this.dispatchEvent(new Event("negotiationneeded"))}));else{const n=new e.MediaStream([t]);this._streams[r.id]=n,this._reverseStreams[n.id]=r,this.addStream(n)}return this.getSenders().find((e=>e.track===t))},["createOffer","createAnswer"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?r.apply(this,[t=>{const r=o(this,t);e[0].apply(null,[r])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):r.apply(this,arguments).then((e=>o(this,e)))}};e.RTCPeerConnection.prototype[t]=n[t]}));const a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=s(this,arguments[0]),a.apply(this,arguments)):a.apply(this,arguments)};const c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const e=c.get.apply(this);return""===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(e._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach((r=>{this._streams[r].getTracks().find((t=>e.track===t))&&(t=this._streams[r])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function K(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}))}function q(e,t){k(e,"negotiationneeded",(e=>{const r=e.target;if(!(t.version<72||r.getConfiguration&&"plan-b"===r.getConfiguration().sdpSemantics)||"stable"===r.signalingState)return e}))}var J=Object.freeze({__proto__:null,shimMediaStream:F,shimOnTrack:G,shimGetSendersWithDtmf:H,shimGetStats:V,shimSenderReceiverGetStats:z,shimAddTrackRemoveTrackWithNative:W,shimAddTrackRemoveTrack:B,shimPeerConnection:K,fixNegotiationNeeded:q,shimGetUserMedia:U,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&("function"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(r){return t(r).then((t=>{const n=r.video&&r.video.width,i=r.video&&r.video.height,o=r.video&&r.video.frameRate;return r.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:o||3}},n&&(r.video.mandatory.maxWidth=n),i&&(r.video.mandatory.maxHeight=i),e.navigator.mediaDevices.getUserMedia(r)}))}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}});function $(e,t){const r=e&&e.navigator,n=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,t,n){O("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),r.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){const e=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])},t=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(r){return"object"==typeof r&&"object"==typeof r.audio&&(r=JSON.parse(JSON.stringify(r)),e(r.audio,"autoGainControl","mozAutoGainControl"),e(r.audio,"noiseSuppression","mozNoiseSuppression")),t(r)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const r=t.apply(this,arguments);return e(r,"mozAutoGainControl","autoGainControl"),e(r,"mozNoiseSuppression","noiseSuppression"),r}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(r){return"audio"===this.kind&&"object"==typeof r&&(r=JSON.parse(JSON.stringify(r)),e(r,"autoGainControl","mozAutoGainControl"),e(r,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[r])}}}}function Y(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function Z(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}));const r={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,i,o]=arguments;return n.apply(this,[e||null]).then((e=>{if(t.version<53&&!i)try{e.forEach((e=>{e.type=r[e.type]||e.type}))}catch(t){if("TypeError"!==t.name)throw t;e.forEach(((t,n)=>{e.set(n,Object.assign({},t,{type:r[t.type]||t.type}))}))}return e})).then(i,o)}}function Q(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function X(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),k(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function ee(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){O("removeStream","removeTrack"),this.getSenders().forEach((t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)}))})}function te(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function re(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];const e=arguments[1],r=e&&"sendEncodings"in e;r&&e.sendEncodings.forEach((e=>{if("rid"in e){if(!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));const n=t.apply(this,arguments);if(r){const{sender:t}=n,r=t.getParameters();(!("encodings"in r)||1===r.encodings.length&&0===Object.keys(r.encodings[0]).length)&&(r.encodings=e.sendEncodings,t.sendEncodings=e.sendEncodings,this.setParametersPromises.push(t.setParameters(r).then((()=>{delete t.sendEncodings})).catch((()=>{delete t.sendEncodings}))))}return n})}function ne(e){if("object"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function ie(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function oe(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}var se=Object.freeze({__proto__:null,shimOnTrack:Y,shimPeerConnection:Z,shimSenderGetStats:Q,shimReceiverGetStats:X,shimRemoveStream:ee,shimRTCDataChannel:te,shimAddTransceiver:re,shimGetParameters:ne,shimCreateOffer:ie,shimCreateAnswer:oe,shimGetUserMedia:$,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!r||!r.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===r.video?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})}});function ae(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((r=>t.call(this,r,e))),e.getVideoTracks().forEach((r=>t.call(this,r,e)))},e.RTCPeerConnection.prototype.addTrack=function(e,...r){return r&&r.forEach((e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]})),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const r=e.getTracks();this.getSenders().forEach((e=>{r.includes(e.track)&&this.removeTrack(e)}))})}}function ce(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach((e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach((t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const r=new Event("addstream");r.stream=t,e.dispatchEvent(r)}))}),t.apply(e,arguments)}}}function pe(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,r=t.createOffer,n=t.createAnswer,i=t.setLocalDescription,o=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){const r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i};let a=function(e,t,r){const n=i.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n};t.setLocalDescription=a,a=function(e,t,r){const n=o.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.setRemoteDescription=a,a=function(e,t,r){const n=s.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.addIceCandidate=a}function le(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,r=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>r(de(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,r,n){t.mediaDevices.getUserMedia(e).then(r,n)}.bind(t))}function de(e){return e&&void 0!==e.video?Object.assign({},e,{video:L(e.video)}):e}function ue(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){const t=[];for(let r=0;r<e.iceServers.length;r++){let n=e.iceServers[r];!n.hasOwnProperty("urls")&&n.hasOwnProperty("url")?(O("RTCIceServer.url","RTCIceServer.urls"),n=JSON.parse(JSON.stringify(n)),n.urls=n.url,delete n.url,t.push(n)):t.push(e.iceServers[r])}e.iceServers=t}return new t(e,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function fe(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function he(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find((e=>"audio"===e.receiver.track.kind));!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio"),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const r=this.getTransceivers().find((e=>"video"===e.receiver.track.kind));!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video")}return t.apply(this,arguments)}}function me(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var ge=Object.freeze({__proto__:null,shimLocalStreamsAPI:ae,shimRemoteStreamsAPI:ce,shimCallbacksAPI:pe,shimGetUserMedia:le,shimConstraints:de,shimRTCIceServerUrls:ue,shimTrackEventTransceiver:fe,shimCreateOfferLegacy:he,shimAudioContext:me}),ve="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},ye={exports:{}};!function(e){const t={generateIdentifier:function(){return Math.random().toString(36).substr(2,10)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split("\n").map((e=>e.trim()))},t.splitSections=function(e){return e.split("\nm=").map(((e,t)=>(t>0?"m="+e:e).trim()+"\r\n"))},t.getDescription=function(e){const r=t.splitSections(e);return r&&r[0]},t.getMediaSections=function(e){const r=t.splitSections(e);return r.shift(),r},t.matchPrefix=function(e,r){return t.splitLines(e).filter((e=>0===e.indexOf(r)))},t.parseCandidate=function(e){let t;t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" ");const r={foundation:t[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let e=8;e<t.length;e+=2)switch(t[e]){case"raddr":r.relatedAddress=t[e+1];break;case"rport":r.relatedPort=parseInt(t[e+1],10);break;case"tcptype":r.tcpType=t[e+1];break;case"ufrag":r.ufrag=t[e+1],r.usernameFragment=t[e+1];break;default:void 0===r[t[e]]&&(r[t[e]]=t[e+1])}return r},t.writeCandidate=function(e){const t=[];t.push(e.foundation);const r=e.component;"rtp"===r?t.push(1):"rtcp"===r?t.push(2):t.push(r),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);const n=e.type;return t.push("typ"),t.push(n),"host"!==n&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&"tcp"===e.protocol.toLowerCase()&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")},t.parseIceOptions=function(e){return e.substr(14).split(" ")},t.parseRtpMap=function(e){let t=e.substr(9).split(" ");const r={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),r.name=t[0],r.clockRate=parseInt(t[1],10),r.channels=3===t.length?parseInt(t[2],10):1,r.numChannels=r.channels,r},t.writeRtpMap=function(e){let t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);const r=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==r?"/"+r:"")+"\r\n"},t.parseExtmap=function(e){const t=e.substr(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1]}},t.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+"\r\n"},t.parseFmtp=function(e){const t={};let r;const n=e.substr(e.indexOf(" ")+1).split(";");for(let e=0;e<n.length;e++)r=n[e].trim().split("="),t[r[0].trim()]=r[1];return t},t.writeFmtp=function(e){let t="",r=e.payloadType;if(void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){const n=[];Object.keys(e.parameters).forEach((t=>{void 0!==e.parameters[t]?n.push(t+"="+e.parameters[t]):n.push(t)})),t+="a=fmtp:"+r+" "+n.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){const t=e.substr(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){let t="",r=e.payloadType;return void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((e=>{t+="a=rtcp-fb:"+r+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"})),t},t.parseSsrcMedia=function(e){const t=e.indexOf(" "),r={ssrc:parseInt(e.substr(7,t-7),10)},n=e.indexOf(":",t);return n>-1?(r.attribute=e.substr(t+1,n-t-1),r.value=e.substr(n+1)):r.attribute=e.substr(t+1),r},t.parseSsrcGroup=function(e){const t=e.substr(13).split(" ");return{semantics:t.shift(),ssrcs:t.map((e=>parseInt(e,10)))}},t.getMid=function(e){const r=t.matchPrefix(e,"a=mid:")[0];if(r)return r.substr(6)},t.parseFingerprint=function(e){const t=e.substr(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,r){return{role:"auto",fingerprints:t.matchPrefix(e+r,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let r="a=setup:"+t+"\r\n";return e.fingerprints.forEach((e=>{r+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"})),r},t.parseCryptoLine=function(e){const t=e.substr(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;const t=e.substr(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},t.getCryptoParameters=function(e,r){return t.matchPrefix(e+r,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,r){const n=t.matchPrefix(e+r,"a=ice-ufrag:")[0],i=t.matchPrefix(e+r,"a=ice-pwd:")[0];return n&&i?{usernameFragment:n.substr(12),password:i.substr(10)}:null},t.writeIceParameters=function(e){let t="a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n";return e.iceLite&&(t+="a=ice-lite\r\n"),t},t.parseRtpParameters=function(e){const r={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(" ");for(let i=3;i<n.length;i++){const o=n[i],s=t.matchPrefix(e,"a=rtpmap:"+o+" ")[0];if(s){const n=t.parseRtpMap(s),i=t.matchPrefix(e,"a=fmtp:"+o+" ");switch(n.parameters=i.length?t.parseFmtp(i[0]):{},n.rtcpFeedback=t.matchPrefix(e,"a=rtcp-fb:"+o+" ").map(t.parseRtcpFb),r.codecs.push(n),n.name.toUpperCase()){case"RED":case"ULPFEC":r.fecMechanisms.push(n.name.toUpperCase())}}}return t.matchPrefix(e,"a=extmap:").forEach((e=>{r.headerExtensions.push(t.parseExtmap(e))})),r},t.writeRtpDescription=function(e,r){let n="";n+="m="+e+" ",n+=r.codecs.length>0?"9":"0",n+=" UDP/TLS/RTP/SAVPF ",n+=r.codecs.map((e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType)).join(" ")+"\r\n",n+="c=IN IP4 0.0.0.0\r\n",n+="a=rtcp:9 IN IP4 0.0.0.0\r\n",r.codecs.forEach((e=>{n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)}));let i=0;return r.codecs.forEach((e=>{e.maxptime>i&&(i=e.maxptime)})),i>0&&(n+="a=maxptime:"+i+"\r\n"),r.headerExtensions&&r.headerExtensions.forEach((e=>{n+=t.writeExtmap(e)})),n},t.parseRtpEncodingParameters=function(e){const r=[],n=t.parseRtpParameters(e),i=-1!==n.fecMechanisms.indexOf("RED"),o=-1!==n.fecMechanisms.indexOf("ULPFEC"),s=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"cname"===e.attribute)),a=s.length>0&&s[0].ssrc;let c;const p=t.matchPrefix(e,"a=ssrc-group:FID").map((e=>e.substr(17).split(" ").map((e=>parseInt(e,10)))));p.length>0&&p[0].length>1&&p[0][0]===a&&(c=p[0][1]),n.codecs.forEach((e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:a,codecPayloadType:parseInt(e.parameters.apt,10)};a&&c&&(t.rtx={ssrc:c}),r.push(t),i&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:a,mechanism:o?"red+ulpfec":"red"},r.push(t))}})),0===r.length&&a&&r.push({ssrc:a});let l=t.matchPrefix(e,"b=");return l.length&&(l=0===l[0].indexOf("b=TIAS:")?parseInt(l[0].substr(7),10):0===l[0].indexOf("b=AS:")?1e3*parseInt(l[0].substr(5),10)*.95-16e3:void 0,r.forEach((e=>{e.maxBitrate=l}))),r},t.parseRtcpParameters=function(e){const r={},n=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"cname"===e.attribute))[0];n&&(r.cname=n.value,r.ssrc=n.ssrc);const i=t.matchPrefix(e,"a=rtcp-rsize");r.reducedSize=i.length>0,r.compound=0===i.length;const o=t.matchPrefix(e,"a=rtcp-mux");return r.mux=o.length>0,r},t.writeRtcpParameters=function(e){let t="";return e.reducedSize&&(t+="a=rtcp-rsize\r\n"),e.mux&&(t+="a=rtcp-mux\r\n"),void 0!==e.ssrc&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+"\r\n"),t},t.parseMsid=function(e){let r;const n=t.matchPrefix(e,"a=msid:");if(1===n.length)return r=n[0].substr(7).split(" "),{stream:r[0],track:r[1]};const i=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"msid"===e.attribute));return i.length>0?(r=i[0].value.split(" "),{stream:r[0],track:r[1]}):void 0},t.parseSctpDescription=function(e){const r=t.parseMLine(e),n=t.matchPrefix(e,"a=max-message-size:");let i;n.length>0&&(i=parseInt(n[0].substr(19),10)),isNaN(i)&&(i=65536);const o=t.matchPrefix(e,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substr(12),10),protocol:r.fmt,maxMessageSize:i};const s=t.matchPrefix(e,"a=sctpmap:");if(s.length>0){const e=s[0].substr(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:i}}},t.writeSctpDescription=function(e,t){let r=[];return r="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&r.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),r.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,21)},t.writeSessionBoilerplate=function(e,r,n){let i;const o=void 0!==r?r:2;i=e||t.generateSessionId();return"v=0\r\no="+(n||"thisisadapterortc")+" "+i+" "+o+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,r){const n=t.splitLines(e);for(let e=0;e<n.length;e++)switch(n[e]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return n[e].substr(2)}return r?t.getDirection(r):"sendrecv"},t.getKind=function(e){return t.splitLines(e)[0].split(" ")[0].substr(2)},t.isRejected=function(e){return"0"===e.split(" ",2)[1]},t.parseMLine=function(e){const r=t.splitLines(e)[0].substr(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},t.parseOLine=function(e){const r=t.matchPrefix(e,"o=")[0].substr(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},t.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;const r=t.splitLines(e);for(let e=0;e<r.length;e++)if(r[e].length<2||"="!==r[e].charAt(1))return!1;return!0},e.exports=t}(ye);var be=ye.exports,we=Object.freeze(s({__proto__:null,default:be},[ye.exports]));function Te(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;const t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substr(2)),e.candidate&&e.candidate.length){const r=new t(e),n=be.parseCandidate(e.candidate),i=Object.assign(r,n);return i.toJSON=function(){return{candidate:i.candidate,sdpMid:i.sdpMid,sdpMLineIndex:i.sdpMLineIndex,usernameFragment:i.usernameFragment}},i}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,k(e,"icecandidate",(t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t)))}function Ce(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});const r=function(e){if(!e||!e.sdp)return!1;const t=be.splitSections(e.sdp);return t.shift(),t.some((e=>{const t=be.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")}))},n=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;const r=parseInt(t[1],10);return r!=r?-1:r},i=function(e){let r=65536;return"firefox"===t.browser&&(r=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),r},o=function(e,r){let n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);const i=be.matchPrefix(e.sdp,"a=max-message-size:");return i.length>0?n=parseInt(i[0].substr(19),10):"firefox"===t.browser&&-1!==r&&(n=2147483637),n},s=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(r(arguments[0])){const e=n(arguments[0]),t=i(e),r=o(arguments[0],e);let s;s=0===t&&0===r?Number.POSITIVE_INFINITY:0===t||0===r?Math.max(t,r):Math.min(t,r);const a={};Object.defineProperty(a,"maxMessageSize",{get:()=>s}),this._sctp=a}return s.apply(this,arguments)}}function Ee(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const r=e.send;e.send=function(){const n=arguments[0],i=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&i>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}const r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=r.apply(this,arguments);return t(e,this),e},k(e,"datachannel",(e=>(t(e.channel,e.target),e)))}function _e(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((e=>{const r=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const r=new Event("connectionstatechange",e);t.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}}))}function Re(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t.version>=605)return;const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const r=t.sdp.split("\n").filter((e=>"a=extmap-allow-mixed"!==e.trim())).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:r}):t.sdp=r}return r.apply(this,arguments)}}function Se(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.addIceCandidate;r&&0!==r.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function Pe(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.setLocalDescription;r&&0!==r.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return r.apply(this,arguments);if(e={type:e.type,sdp:e.sdp},!e.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}if(e.sdp||"offer"!==e.type&&"answer"!==e.type)return r.apply(this,[e]);const t="offer"===e.type?this.createOffer:this.createAnswer;return t.apply(this).then((e=>r.apply(this,[e])))})}var ke=Object.freeze({__proto__:null,shimRTCIceCandidate:Te,shimMaxMessageSize:Ce,shimSendThrowTypeError:Ee,shimConnectionState:_e,removeExtmapAllowMixed:Re,shimAddIceCandidateNullOrEmpty:Se,shimParameterlessSetLocalDescription:Pe});const Ae=function({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){const r=D,n=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.mozGetUserMedia)t.browser="firefox",t.version=P(r.userAgent,/Firefox\/(\d+)\./,1);else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)t.browser="chrome",t.version=P(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=P(r.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t}(e),i={browserDetails:n,commonShim:ke,extractVersion:P,disableLog:A,disableWarnings:x,sdp:we};switch(n.browser){case"chrome":if(!J||!K||!t.shimChrome)return r("Chrome shim is not included in this adapter release."),i;if(null===n.version)return r("Chrome shim can not determine version, not shimming."),i;r("adapter.js shimming chrome."),i.browserShim=J,Se(e,n),Pe(e),U(e,n),F(e),K(e,n),G(e),B(e,n),H(e),V(e),z(e),q(e,n),Te(e),_e(e),Ce(e,n),Ee(e),Re(e,n);break;case"firefox":if(!se||!Z||!t.shimFirefox)return r("Firefox shim is not included in this adapter release."),i;r("adapter.js shimming firefox."),i.browserShim=se,Se(e,n),Pe(e),$(e,n),Z(e,n),Y(e),ee(e),Q(e),X(e),te(e),re(e),ne(e),ie(e),oe(e),Te(e),_e(e),Ce(e,n),Ee(e);break;case"safari":if(!ge||!t.shimSafari)return r("Safari shim is not included in this adapter release."),i;r("adapter.js shimming safari."),i.browserShim=ge,Se(e,n),Pe(e),ue(e),he(e),pe(e),ae(e),ce(e),fe(e),le(e),me(e),Te(e),Ce(e,n),Ee(e),Re(e,n);break;default:r("Unsupported browser!")}return i}({window:"undefined"==typeof window?void 0:window});var xe={exports:{}},De=xe.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 null!=e.address?"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 null!=e.subtype?"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 null!=e.sessionConfig?"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 t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{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 t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{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 null!=e.maxMessageSize?"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"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",t+=null!=e.rateNumerator?" rate=%s":"",t+=null!=e.rateDenominator?"/%s":""}},{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"]}]};Object.keys(De).forEach((function(e){De[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))})),function(e){var t=function(e){return String(Number(e))===e?Number(e):e},r=function(e,r,n){var i=e.name&&e.names;e.push&&!r[e.push]?r[e.push]=[]:i&&!r[e.name]&&(r[e.name]={});var o=e.push?{}:i?r[e.name]:r;!function(e,r,n,i){if(i&&!n)r[i]=t(e[1]);else for(var o=0;o<n.length;o+=1)null!=e[o+1]&&(r[n[o]]=t(e[o+1]))}(n.match(e.reg),o,e.names,e.name),e.push&&r[e.push].push(o)},n=xe.exports,i=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},o=[],s=t;return e.split(/(\r\n|\r|\n)/).filter(i).forEach((function(e){var t=e[0],i=e.slice(2);"m"===t&&(o.push({rtp:[],fmtp:[]}),s=o[o.length-1]);for(var a=0;a<(n[t]||[]).length;a+=1){var c=n[t][a];if(c.reg.test(i))return r(c,s,i)}})),t.media=o,t};var o=function(e,r){var n=r.split(/=(.+)/,2);return 2===n.length?e[n[0]]=t(n[1]):1===n.length&&r.length>1&&(e[n[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var r=[],n=e.split(" ").map(t),i=0;i<n.length;i+=3)r.push({component:n[i],ip:n[i+1],port:n[i+2]});return r},e.parseImageAttributes=function(e){return e.split(" ").map((function(e){return e.substring(1,e.length-1).split(",").reduce(o,{})}))},e.parseSimulcastStreamList=function(e){return e.split(";").map((function(e){return e.split(",").map((function(e){var r,n=!1;return"~"!==e[0]?r=t(e):(r=t(e.substring(1,e.length)),n=!0),{scid:r,paused:n}}))}))}}({});var Oe={exports:{}};!function(e,t){!function(r,n){var i="function",o="undefined",s="object",a="string",c="model",p="name",l="type",d="vendor",u="version",f="architecture",h="console",m="mobile",g="tablet",v="smarttv",y="wearable",b="embedded",w="Amazon",T="Apple",C="ASUS",E="BlackBerry",_="Firefox",R="Google",S="Huawei",P="LG",k="Microsoft",A="Motorola",x="Opera",D="Samsung",O="Sony",I="Xiaomi",L="Zebra",M="Facebook",N=function(e){for(var t={},r=0;r<e.length;r++)t[e[r].toUpperCase()]=e[r];return t},j=function(e,t){return typeof e===a&&-1!==U(t).indexOf(U(e))},U=function(e){return e.toLowerCase()},F=function(e,t){if(typeof e===a)return e=e.replace(/^\s\s*/,"").replace(/\s\s*$/,""),typeof t===o?e:e.substring(0,255)},G=function(e,t){for(var r,o,a,c,p,l,d=0;d<t.length&&!p;){var u=t[d],f=t[d+1];for(r=o=0;r<u.length&&!p;)if(p=u[r++].exec(e))for(a=0;a<f.length;a++)l=p[++o],typeof(c=f[a])===s&&c.length>0?2===c.length?typeof c[1]==i?this[c[0]]=c[1].call(this,l):this[c[0]]=c[1]:3===c.length?typeof c[1]!==i||c[1].exec&&c[1].test?this[c[0]]=l?l.replace(c[1],c[2]):n:this[c[0]]=l?c[1].call(this,l,c[2]):n:4===c.length&&(this[c[0]]=l?c[3].call(this,l.replace(c[1],c[2])):n):this[c]=l||n;d+=2}},H=function(e,t){for(var r in t)if(typeof t[r]===s&&t[r].length>0){for(var i=0;i<t[r].length;i++)if(j(t[r][i],e))return"?"===r?n:r}else if(j(t[r],e))return"?"===r?n:r;return e},V={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},z={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[u,[p,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[u,[p,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[p,u],[/opios[\/ ]+([\w\.]+)/i],[u,[p,"Opera Mini"]],[/\bopr\/([\w\.]+)/i],[u,[p,x]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[p,u],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[u,[p,"UCBrowser"]],[/\bqbcore\/([\w\.]+)/i],[u,[p,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[u,[p,"WeChat"]],[/konqueror\/([\w\.]+)/i],[u,[p,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[u,[p,"IE"]],[/yabrowser\/([\w\.]+)/i],[u,[p,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[p,/(.+)/,"$1 Secure Browser"],u],[/\bfocus\/([\w\.]+)/i],[u,[p,"Firefox Focus"]],[/\bopt\/([\w\.]+)/i],[u,[p,"Opera Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[u,[p,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[u,[p,"Dolphin"]],[/coast\/([\w\.]+)/i],[u,[p,"Opera Coast"]],[/miuibrowser\/([\w\.]+)/i],[u,[p,"MIUI Browser"]],[/fxios\/([-\w\.]+)/i],[u,[p,_]],[/\bqihu|(qi?ho?o?|360)browser/i],[[p,"360 Browser"]],[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],[[p,/(.+)/,"$1 Browser"],u],[/(comodo_dragon)\/([\w\.]+)/i],[[p,/_/g," "],u],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[p,u],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i],[p],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[p,M],u],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[p,u],[/\bgsa\/([\w\.]+) .*safari\//i],[u,[p,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[u,[p,"Chrome Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[p,"Chrome WebView"],u],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[u,[p,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[p,u],[/version\/([\w\.]+) .*mobile\/\w+ (safari)/i],[u,[p,"Mobile Safari"]],[/version\/([\w\.]+) .*(mobile ?safari|safari)/i],[u,p],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[p,[u,H,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[p,u],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[p,"Netscape"],u],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[u,[p,"Firefox Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[p,u]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,U]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",U]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,U]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[d,D],[l,g]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[c,[d,D],[l,m]],[/\((ip(?:hone|od)[\w ]*);/i],[c,[d,T],[l,m]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[d,T],[l,g]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[d,S],[l,g]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i],[c,[d,S],[l,m]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[c,/_/g," "],[d,I],[l,m]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[d,I],[l,g]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[d,"OPPO"],[l,m]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[d,"Vivo"],[l,m]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[c,[d,"Realme"],[l,m]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[d,A],[l,m]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[d,A],[l,g]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[d,P],[l,g]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[d,P],[l,m]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[d,"Lenovo"],[l,g]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[d,"Nokia"],[l,m]],[/(pixel c)\b/i],[c,[d,R],[l,g]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[d,R],[l,m]],[/droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[d,O],[l,m]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[d,O],[l,g]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[d,"OnePlus"],[l,m]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[d,w],[l,g]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[d,w],[l,m]],[/(playbook);[-\w\),; ]+(rim)/i],[c,d,[l,g]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[d,E],[l,m]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[d,C],[l,g]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[d,C],[l,m]],[/(nexus 9)/i],[c,[d,"HTC"],[l,g]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i],[d,[c,/_/g," "],[l,m]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[d,"Acer"],[l,g]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[d,"Meizu"],[l,m]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[d,"Sharp"],[l,m]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[d,c,[l,m]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[d,c,[l,g]],[/(surface duo)/i],[c,[d,k],[l,g]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[d,"Fairphone"],[l,m]],[/(u304aa)/i],[c,[d,"AT&T"],[l,m]],[/\bsie-(\w*)/i],[c,[d,"Siemens"],[l,m]],[/\b(rct\w+) b/i],[c,[d,"RCA"],[l,g]],[/\b(venue[\d ]{2,7}) b/i],[c,[d,"Dell"],[l,g]],[/\b(q(?:mv|ta)\w+) b/i],[c,[d,"Verizon"],[l,g]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[d,"Barnes & Noble"],[l,g]],[/\b(tm\d{3}\w+) b/i],[c,[d,"NuVision"],[l,g]],[/\b(k88) b/i],[c,[d,"ZTE"],[l,g]],[/\b(nx\d{3}j) b/i],[c,[d,"ZTE"],[l,m]],[/\b(gen\d{3}) b.+49h/i],[c,[d,"Swiss"],[l,m]],[/\b(zur\d{3}) b/i],[c,[d,"Swiss"],[l,g]],[/\b((zeki)?tb.*\b) b/i],[c,[d,"Zeki"],[l,g]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[d,"Dragon Touch"],c,[l,g]],[/\b(ns-?\w{0,9}) b/i],[c,[d,"Insignia"],[l,g]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[d,"NextBook"],[l,g]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[d,"Voice"],c,[l,m]],[/\b(lvtel\-)?(v1[12]) b/i],[[d,"LvTel"],c,[l,m]],[/\b(ph-1) /i],[c,[d,"Essential"],[l,m]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[d,"Envizen"],[l,g]],[/\b(trio[-\w\. ]+) b/i],[c,[d,"MachSpeed"],[l,g]],[/\btu_(1491) b/i],[c,[d,"Rotor"],[l,g]],[/(shield[\w ]+) b/i],[c,[d,"Nvidia"],[l,g]],[/(sprint) (\w+)/i],[d,c,[l,m]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[d,k],[l,m]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[d,L],[l,g]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[d,L],[l,m]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[d,c,[l,h]],[/droid.+; (shield) bui/i],[c,[d,"Nvidia"],[l,h]],[/(playstation [345portablevi]+)/i],[c,[d,O],[l,h]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[d,k],[l,h]],[/smart-tv.+(samsung)/i],[d,[l,v]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[d,D],[l,v]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[d,P],[l,v]],[/(apple) ?tv/i],[d,[c,"Apple TV"],[l,v]],[/crkey/i],[[c,"Chromecast"],[d,R],[l,v]],[/droid.+aft(\w)( bui|\))/i],[c,[d,w],[l,v]],[/\(dtv[\);].+(aquos)/i],[c,[d,"Sharp"],[l,v]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[d,F],[c,F],[l,v]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[l,v]],[/((pebble))app/i],[d,c,[l,y]],[/droid.+; (glass) \d/i],[c,[d,R],[l,y]],[/droid.+; (wt63?0{2,3})\)/i],[c,[d,L],[l,y]],[/(quest( 2)?)/i],[c,[d,M],[l,y]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[d,[l,b]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[c,[l,m]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[l,g]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[l,g]],[/(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i],[[l,m]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[d,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[u,[p,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[u,[p,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[p,u],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[u,p]],os:[[/microsoft (windows) (vista|xp)/i],[p,u],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[p,[u,H,V]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[p,"Windows"],[u,H,V]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[u,/_/g,"."],[p,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[p,"Mac OS"],[u,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[u,p],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[p,u],[/\(bb(10);/i],[u,[p,E]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[u,[p,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[u,[p,"Firefox OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[u,[p,"webOS"]],[/crkey\/([\d\.]+)/i],[u,[p,"Chromecast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[p,"Chromium OS"],u],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[p,u],[/(sunos) ?([\w\.\d]*)/i],[[p,"Solaris"],u],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[p,u]]},W=function e(t,i){if(typeof t===s&&(i=t,t=n),!(this instanceof e))return new e(t,i).getResult();var c=t||(typeof r!==o&&r.navigator&&r.navigator.userAgent?r.navigator.userAgent:""),p=i?function(e,t){var r={};for(var n in e)t[n]&&t[n].length%2==0?r[n]=t[n].concat(e[n]):r[n]=e[n];return r}(z,i):z;return this.getBrowser=function(){var e,t={};return t.name=n,t.version=n,G.call(t,c,p.browser),t.major=typeof(e=t.version)===a?e.replace(/[^\d\.]/g,"").split(".")[0]:n,t},this.getCPU=function(){var e={};return e.architecture=n,G.call(e,c,p.cpu),e},this.getDevice=function(){var e={};return e.vendor=n,e.model=n,e.type=n,G.call(e,c,p.device),e},this.getEngine=function(){var e={};return e.name=n,e.version=n,G.call(e,c,p.engine),e},this.getOS=function(){var e={};return e.name=n,e.version=n,G.call(e,c,p.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return c},this.setUA=function(e){return c=typeof e===a&&e.length>255?F(e,255):e,this},this.setUA(c),this};W.VERSION="1.0.2",W.BROWSER=N([p,u,"major"]),W.CPU=N([f]),W.DEVICE=N([c,d,l,h,m,v,g,y,b]),W.ENGINE=W.OS=N([p,u]),e.exports&&(t=e.exports=W),t.UAParser=W;var B=typeof r!==o&&(r.jQuery||r.Zepto);if(B&&!B.ua){var K=new W;B.ua=K.getResult(),B.ua.get=function(){return K.getUA()},B.ua.set=function(e){K.setUA(e);var t=K.getResult();for(var r in t)B.ua[r]=t[r]}}}("object"==typeof window?window:ve)}(Oe,Oe.exports);var Ie,Le,Me;
1
+ var Ur=Object.create;var Ne=Object.defineProperty,Gr=Object.defineProperties,Fr=Object.getOwnPropertyDescriptor,Vr=Object.getOwnPropertyDescriptors,Br=Object.getOwnPropertyNames,$t=Object.getOwnPropertySymbols,Hr=Object.getPrototypeOf,Kt=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable;var Wt=(e,t,i)=>t in e?Ne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,xe=(e,t)=>{for(var i in t||(t={}))Kt.call(t,i)&&Wt(e,i,t[i]);if($t)for(var i of $t(t))jr.call(t,i)&&Wt(e,i,t[i]);return e},Ue=(e,t)=>Gr(e,Vr(t)),qt=e=>Ne(e,"__esModule",{value:!0});var me=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ge=(e,t)=>{qt(e);for(var i in t)Ne(e,i,{get:t[i],enumerable:!0})},$r=(e,t,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Br(t))!Kt.call(e,r)&&r!=="default"&&Ne(e,r,{get:()=>t[r],enumerable:!(i=Fr(t,r))||i.enumerable});return e},U=e=>$r(qt(Ne(e!=null?Ur(Hr(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var Fe=(e,t,i)=>new Promise((r,s)=>{var o=f=>{try{c(i.next(f))}catch(p){s(p)}},a=f=>{try{c(i.throw(f))}catch(p){s(p)}},c=f=>f.done?r(f.value):Promise.resolve(f.value).then(o,a);c((i=i.apply(e,t)).next())});var Dt=me((on,_t)=>{"use strict";var k={};k.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)};k.localCName=k.generateIdentifier();k.splitLines=function(e){return e.trim().split(`
2
+ `).map(t=>t.trim())};k.splitSections=function(e){return e.split(`
3
+ m=`).map((i,r)=>(r>0?"m="+i:i).trim()+`\r
4
+ `)};k.getDescription=function(e){let t=k.splitSections(e);return t&&t[0]};k.getMediaSections=function(e){let t=k.splitSections(e);return t.shift(),t};k.matchPrefix=function(e,t){return k.splitLines(e).filter(i=>i.indexOf(t)===0)};k.parseCandidate=function(e){let t;e.indexOf("a=candidate:")===0?t=e.substring(12).split(" "):t=e.substring(10).split(" ");let i={foundation:t[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let r=8;r<t.length;r+=2)switch(t[r]){case"raddr":i.relatedAddress=t[r+1];break;case"rport":i.relatedPort=parseInt(t[r+1],10);break;case"tcptype":i.tcpType=t[r+1];break;case"ufrag":i.ufrag=t[r+1],i.usernameFragment=t[r+1];break;default:i[t[r]]===void 0&&(i[t[r]]=t[r+1]);break}return i};k.writeCandidate=function(e){let t=[];t.push(e.foundation);let i=e.component;i==="rtp"?t.push(1):i==="rtcp"?t.push(2):t.push(i),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);let r=e.type;return t.push("typ"),t.push(r),r!=="host"&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&e.protocol.toLowerCase()==="tcp"&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")};k.parseIceOptions=function(e){return e.substr(14).split(" ")};k.parseRtpMap=function(e){let t=e.substr(9).split(" "),i={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),i.name=t[0],i.clockRate=parseInt(t[1],10),i.channels=t.length===3?parseInt(t[2],10):1,i.numChannels=i.channels,i};k.writeRtpMap=function(e){let t=e.payloadType;e.preferredPayloadType!==void 0&&(t=e.preferredPayloadType);let i=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(i!==1?"/"+i:"")+`\r
5
+ `};k.parseExtmap=function(e){let t=e.substr(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1]}};k.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&e.direction!=="sendrecv"?"/"+e.direction:"")+" "+e.uri+`\r
6
+ `};k.parseFmtp=function(e){let t={},i,r=e.substr(e.indexOf(" ")+1).split(";");for(let s=0;s<r.length;s++)i=r[s].trim().split("="),t[i[0].trim()]=i[1];return t};k.writeFmtp=function(e){let t="",i=e.payloadType;if(e.preferredPayloadType!==void 0&&(i=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){let r=[];Object.keys(e.parameters).forEach(s=>{e.parameters[s]!==void 0?r.push(s+"="+e.parameters[s]):r.push(s)}),t+="a=fmtp:"+i+" "+r.join(";")+`\r
7
+ `}return t};k.parseRtcpFb=function(e){let t=e.substr(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}};k.writeRtcpFb=function(e){let t="",i=e.payloadType;return e.preferredPayloadType!==void 0&&(i=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach(r=>{t+="a=rtcp-fb:"+i+" "+r.type+(r.parameter&&r.parameter.length?" "+r.parameter:"")+`\r
8
+ `}),t};k.parseSsrcMedia=function(e){let t=e.indexOf(" "),i={ssrc:parseInt(e.substr(7,t-7),10)},r=e.indexOf(":",t);return r>-1?(i.attribute=e.substr(t+1,r-t-1),i.value=e.substr(r+1)):i.attribute=e.substr(t+1),i};k.parseSsrcGroup=function(e){let t=e.substr(13).split(" ");return{semantics:t.shift(),ssrcs:t.map(i=>parseInt(i,10))}};k.getMid=function(e){let t=k.matchPrefix(e,"a=mid:")[0];if(t)return t.substr(6)};k.parseFingerprint=function(e){let t=e.substr(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}};k.getDtlsParameters=function(e,t){let i=k.matchPrefix(e+t,"a=fingerprint:");return{role:"auto",fingerprints:i.map(k.parseFingerprint)}};k.writeDtlsParameters=function(e,t){let i="a=setup:"+t+`\r
9
+ `;return e.fingerprints.forEach(r=>{i+="a=fingerprint:"+r.algorithm+" "+r.value+`\r
10
+ `}),i};k.parseCryptoLine=function(e){let t=e.substr(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}};k.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+(typeof e.keyParams=="object"?k.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+`\r
11
+ `};k.parseCryptoKeyParams=function(e){if(e.indexOf("inline:")!==0)return null;let t=e.substr(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}};k.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")};k.getCryptoParameters=function(e,t){return k.matchPrefix(e+t,"a=crypto:").map(k.parseCryptoLine)};k.getIceParameters=function(e,t){let i=k.matchPrefix(e+t,"a=ice-ufrag:")[0],r=k.matchPrefix(e+t,"a=ice-pwd:")[0];return i&&r?{usernameFragment:i.substr(12),password:r.substr(10)}:null};k.writeIceParameters=function(e){let t="a=ice-ufrag:"+e.usernameFragment+`\r
12
+ a=ice-pwd:`+e.password+`\r
13
+ `;return e.iceLite&&(t+=`a=ice-lite\r
14
+ `),t};k.parseRtpParameters=function(e){let t={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},r=k.splitLines(e)[0].split(" ");for(let s=3;s<r.length;s++){let o=r[s],a=k.matchPrefix(e,"a=rtpmap:"+o+" ")[0];if(a){let c=k.parseRtpMap(a),f=k.matchPrefix(e,"a=fmtp:"+o+" ");switch(c.parameters=f.length?k.parseFmtp(f[0]):{},c.rtcpFeedback=k.matchPrefix(e,"a=rtcp-fb:"+o+" ").map(k.parseRtcpFb),t.codecs.push(c),c.name.toUpperCase()){case"RED":case"ULPFEC":t.fecMechanisms.push(c.name.toUpperCase());break;default:break}}}return k.matchPrefix(e,"a=extmap:").forEach(s=>{t.headerExtensions.push(k.parseExtmap(s))}),t};k.writeRtpDescription=function(e,t){let i="";i+="m="+e+" ",i+=t.codecs.length>0?"9":"0",i+=" UDP/TLS/RTP/SAVPF ",i+=t.codecs.map(s=>s.preferredPayloadType!==void 0?s.preferredPayloadType:s.payloadType).join(" ")+`\r
15
+ `,i+=`c=IN IP4 0.0.0.0\r
16
+ `,i+=`a=rtcp:9 IN IP4 0.0.0.0\r
17
+ `,t.codecs.forEach(s=>{i+=k.writeRtpMap(s),i+=k.writeFmtp(s),i+=k.writeRtcpFb(s)});let r=0;return t.codecs.forEach(s=>{s.maxptime>r&&(r=s.maxptime)}),r>0&&(i+="a=maxptime:"+r+`\r
18
+ `),t.headerExtensions&&t.headerExtensions.forEach(s=>{i+=k.writeExtmap(s)}),i};k.parseRtpEncodingParameters=function(e){let t=[],i=k.parseRtpParameters(e),r=i.fecMechanisms.indexOf("RED")!==-1,s=i.fecMechanisms.indexOf("ULPFEC")!==-1,o=k.matchPrefix(e,"a=ssrc:").map(l=>k.parseSsrcMedia(l)).filter(l=>l.attribute==="cname"),a=o.length>0&&o[0].ssrc,c,f=k.matchPrefix(e,"a=ssrc-group:FID").map(l=>l.substr(17).split(" ").map(h=>parseInt(h,10)));f.length>0&&f[0].length>1&&f[0][0]===a&&(c=f[0][1]),i.codecs.forEach(l=>{if(l.name.toUpperCase()==="RTX"&&l.parameters.apt){let u={ssrc:a,codecPayloadType:parseInt(l.parameters.apt,10)};a&&c&&(u.rtx={ssrc:c}),t.push(u),r&&(u=JSON.parse(JSON.stringify(u)),u.fec={ssrc:a,mechanism:s?"red+ulpfec":"red"},t.push(u))}}),t.length===0&&a&&t.push({ssrc:a});let p=k.matchPrefix(e,"b=");return p.length&&(p[0].indexOf("b=TIAS:")===0?p=parseInt(p[0].substr(7),10):p[0].indexOf("b=AS:")===0?p=parseInt(p[0].substr(5),10)*1e3*.95-50*40*8:p=void 0,t.forEach(l=>{l.maxBitrate=p})),t};k.parseRtcpParameters=function(e){let t={},i=k.matchPrefix(e,"a=ssrc:").map(o=>k.parseSsrcMedia(o)).filter(o=>o.attribute==="cname")[0];i&&(t.cname=i.value,t.ssrc=i.ssrc);let r=k.matchPrefix(e,"a=rtcp-rsize");t.reducedSize=r.length>0,t.compound=r.length===0;let s=k.matchPrefix(e,"a=rtcp-mux");return t.mux=s.length>0,t};k.writeRtcpParameters=function(e){let t="";return e.reducedSize&&(t+=`a=rtcp-rsize\r
19
+ `),e.mux&&(t+=`a=rtcp-mux\r
20
+ `),e.ssrc!==void 0&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+`\r
21
+ `),t};k.parseMsid=function(e){let t,i=k.matchPrefix(e,"a=msid:");if(i.length===1)return t=i[0].substr(7).split(" "),{stream:t[0],track:t[1]};let r=k.matchPrefix(e,"a=ssrc:").map(s=>k.parseSsrcMedia(s)).filter(s=>s.attribute==="msid");if(r.length>0)return t=r[0].value.split(" "),{stream:t[0],track:t[1]}};k.parseSctpDescription=function(e){let t=k.parseMLine(e),i=k.matchPrefix(e,"a=max-message-size:"),r;i.length>0&&(r=parseInt(i[0].substr(19),10)),isNaN(r)&&(r=65536);let s=k.matchPrefix(e,"a=sctp-port:");if(s.length>0)return{port:parseInt(s[0].substr(12),10),protocol:t.fmt,maxMessageSize:r};let o=k.matchPrefix(e,"a=sctpmap:");if(o.length>0){let a=o[0].substr(10).split(" ");return{port:parseInt(a[0],10),protocol:a[1],maxMessageSize:r}}};k.writeSctpDescription=function(e,t){let i=[];return e.protocol!=="DTLS/SCTP"?i=["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+`\r
22
+ `,`c=IN IP4 0.0.0.0\r
23
+ `,"a=sctp-port:"+t.port+`\r
24
+ `]:i=["m="+e.kind+" 9 "+e.protocol+" "+t.port+`\r
25
+ `,`c=IN IP4 0.0.0.0\r
26
+ `,"a=sctpmap:"+t.port+" "+t.protocol+` 65535\r
27
+ `],t.maxMessageSize!==void 0&&i.push("a=max-message-size:"+t.maxMessageSize+`\r
28
+ `),i.join("")};k.generateSessionId=function(){return Math.random().toString().substr(2,21)};k.writeSessionBoilerplate=function(e,t,i){let r,s=t!==void 0?t:2;return e?r=e:r=k.generateSessionId(),`v=0\r
29
+ o=`+(i||"thisisadapterortc")+" "+r+" "+s+` IN IP4 127.0.0.1\r
30
+ s=-\r
31
+ t=0 0\r
32
+ `};k.getDirection=function(e,t){let i=k.splitLines(e);for(let r=0;r<i.length;r++)switch(i[r]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return i[r].substr(2);default:}return t?k.getDirection(t):"sendrecv"};k.getKind=function(e){return k.splitLines(e)[0].split(" ")[0].substr(2)};k.isRejected=function(e){return e.split(" ",2)[1]==="0"};k.parseMLine=function(e){let i=k.splitLines(e)[0].substr(2).split(" ");return{kind:i[0],port:parseInt(i[1],10),protocol:i[2],fmt:i.slice(3).join(" ")}};k.parseOLine=function(e){let i=k.matchPrefix(e,"o=")[0].substr(2).split(" ");return{username:i[0],sessionId:i[1],sessionVersion:parseInt(i[2],10),netType:i[3],addressType:i[4],address:i[5]}};k.isValidSDP=function(e){if(typeof e!="string"||e.length===0)return!1;let t=k.splitLines(e);for(let i=0;i<t.length;i++)if(t[i].length<2||t[i].charAt(1)!=="=")return!1;return!0};typeof _t=="object"&&(_t.exports=k)});var wt=me((pn,Fi)=>{var Gi=Fi.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 t="candidate:%s %d %s %d %s %d typ %s";return t+=e.raddr!=null?" raddr %s rport %d":"%v%v",t+=e.tcptype!=null?" tcptype %s":"%v",e.generation!=null&&(t+=" generation %d"),t+=e["network-id"]!=null?" network-id %d":"%v",t+=e["network-cost"]!=null?" network-cost %d":"%v",t}},{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 t="ssrc:%d";return e.attribute!=null&&(t+=" %s",e.value!=null&&(t+=":%s")),t}},{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 t="mediaclk:";return t+=e.id!=null?"id=%s %s":"%v%s",t+=e.mediaClockValue!=null?"=%s":"",t+=e.rateNumerator!=null?" rate=%s":"",t+=e.rateDenominator!=null?"/%s":"",t}},{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"]}]};Object.keys(Gi).forEach(function(e){var t=Gi[e];t.forEach(function(i){i.reg||(i.reg=/(.*)/),i.format||(i.format="%s")})})});var Hi=me(ne=>{var Ae=function(e){return String(Number(e))===e?Number(e):e},Zr=function(e,t,i,r){if(r&&!i)t[r]=Ae(e[1]);else for(var s=0;s<i.length;s+=1)e[s+1]!=null&&(t[i[s]]=Ae(e[s+1]))},Xr=function(e,t,i){var r=e.name&&e.names;e.push&&!t[e.push]?t[e.push]=[]:r&&!t[e.name]&&(t[e.name]={});var s=e.push?{}:r?t[e.name]:t;Zr(i.match(e.reg),s,e.names,e.name),e.push&&t[e.push].push(s)},Vi=wt(),es=RegExp.prototype.test.bind(/^([a-z])=(.*)/);ne.parse=function(e){var t={},i=[],r=t;return e.split(/(\r\n|\r|\n)/).filter(es).forEach(function(s){var o=s[0],a=s.slice(2);o==="m"&&(i.push({rtp:[],fmtp:[]}),r=i[i.length-1]);for(var c=0;c<(Vi[o]||[]).length;c+=1){var f=Vi[o][c];if(f.reg.test(a))return Xr(f,r,a)}}),t.media=i,t};var Bi=function(e,t){var i=t.split(/=(.+)/,2);return i.length===2?e[i[0]]=Ae(i[1]):i.length===1&&t.length>1&&(e[i[0]]=void 0),e};ne.parseParams=function(e){return e.split(/;\s?/).reduce(Bi,{})};ne.parseFmtpConfig=ne.parseParams;ne.parsePayloads=function(e){return e.toString().split(" ").map(Number)};ne.parseRemoteCandidates=function(e){for(var t=[],i=e.split(" ").map(Ae),r=0;r<i.length;r+=3)t.push({component:i[r],ip:i[r+1],port:i[r+2]});return t};ne.parseImageAttributes=function(e){return e.split(" ").map(function(t){return t.substring(1,t.length-1).split(",").reduce(Bi,{})})};ne.parseSimulcastStreamList=function(e){return e.split(";").map(function(t){return t.split(",").map(function(i){var r,s=!1;return i[0]!=="~"?r=Ae(i):(r=Ae(i.substring(1,i.length)),s=!0),{scid:r,paused:s}})})}});var $i=me((fn,ji)=>{var Nt=wt(),ts=/%[sdv%]/g,is=function(e){var t=1,i=arguments,r=i.length;return e.replace(ts,function(s){if(t>=r)return s;var o=i[t];switch(t+=1,s){case"%%":return"%";case"%s":return String(o);case"%d":return Number(o);case"%v":return""}})},je=function(e,t,i){var r=t.format instanceof Function?t.format(t.push?i:i[t.name]):t.format,s=[e+"="+r];if(t.names)for(var o=0;o<t.names.length;o+=1){var a=t.names[o];t.name?s.push(i[t.name][a]):s.push(i[t.names[o]])}else s.push(i[t.name]);return is.apply(null,s)},rs=["v","o","s","i","u","e","p","c","b","t","r","z","a"],ss=["i","c","b","a"];ji.exports=function(e,t){t=t||{},e.version==null&&(e.version=0),e.name==null&&(e.name=" "),e.media.forEach(function(o){o.payloads==null&&(o.payloads="")});var i=t.outerOrder||rs,r=t.innerOrder||ss,s=[];return i.forEach(function(o){Nt[o].forEach(function(a){a.name in e&&e[a.name]!=null?s.push(je(o,a,e)):a.push in e&&e[a.push]!=null&&e[a.push].forEach(function(c){s.push(je(o,a,c))})})}),e.media.forEach(function(o){s.push(je("m",Nt.m[0],o)),r.forEach(function(a){Nt[a].forEach(function(c){c.name in o&&o[c.name]!=null?s.push(je(a,c,o)):c.push in o&&o[c.push]!=null&&o[c.push].forEach(function(f){s.push(je(a,c,f))})})})}),s.join(`\r
33
+ `)+`\r
34
+ `}});var Ki=me(ae=>{var fe=Hi(),ns=$i();ae.write=ns;ae.parse=fe.parse;ae.parseParams=fe.parseParams;ae.parseFmtpConfig=fe.parseFmtpConfig;ae.parsePayloads=fe.parsePayloads;ae.parseRemoteCandidates=fe.parseRemoteCandidates;ae.parseImageAttributes=fe.parseImageAttributes;ae.parseSimulcastStreamList=fe.parseSimulcastStreamList});var Wi=me(($e,dt)=>{(function(e,t){"use strict";var i="1.0.2",r="",s="?",o="function",a="undefined",c="object",f="string",p="major",l="model",u="name",h="type",v="vendor",E="version",A="architecture",q="console",I="mobile",_="tablet",z="smarttv",oe="wearable",ge="embedded",ve=255,V="Amazon",Me="Apple",Le="ASUS",Te="BlackBerry",re="Browser",Se="Chrome",D="Edge",Ee="Firefox",ce="Google",ze="Huawei",n="LG",d="Microsoft",m="Motorola",g="Opera",T="Samsung",S="Sony",y="Xiaomi",P="Zebra",C="Facebook",b=function(L,x){var O={};for(var K in L)x[K]&&x[K].length%2==0?O[K]=x[K].concat(L[K]):O[K]=L[K];return O},R=function(L){for(var x={},O=0;O<L.length;O++)x[L[O].toUpperCase()]=L[O];return x},W=function(L,x){return typeof L===f?M(x).indexOf(M(L))!==-1:!1},M=function(L){return L.toLowerCase()},N=function(L){return typeof L===f?L.replace(/[^\d\.]/g,r).split(".")[0]:t},G=function(L,x){if(typeof L===f)return L=L.replace(/^\s\s*/,r).replace(/\s\s*$/,r),typeof x===a?L:L.substring(0,ve)},j=function(L,x){for(var O=0,K,w,Ye,F,we,te;O<x.length&&!we;){var Ht=x[O],jt=x[O+1];for(K=w=0;K<Ht.length&&!we;)if(we=Ht[K++].exec(L),we)for(Ye=0;Ye<jt.length;Ye++)te=we[++w],F=jt[Ye],typeof F===c&&F.length>0?F.length===2?typeof F[1]==o?this[F[0]]=F[1].call(this,te):this[F[0]]=F[1]:F.length===3?typeof F[1]===o&&!(F[1].exec&&F[1].test)?this[F[0]]=te?F[1].call(this,te,F[2]):t:this[F[0]]=te?te.replace(F[1],F[2]):t:F.length===4&&(this[F[0]]=te?F[3].call(this,te.replace(F[1],F[2])):t):this[F]=te||t;O+=2}},pe=function(L,x){for(var O in x)if(typeof x[O]===c&&x[O].length>0){for(var K=0;K<x[O].length;K++)if(W(x[O][K],L))return O===s?t:O}else if(W(x[O],L))return O===s?t:O;return L},Oe={"1.0":"/8","1.2":"/1","1.3":"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},le={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0","2000":"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0","7":"NT 6.1","8":"NT 6.2","8.1":"NT 6.3","10":["NT 6.4","NT 10.0"],RT:"ARM"},ye={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[E,[u,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[E,[u,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[u,E],[/opios[\/ ]+([\w\.]+)/i],[E,[u,g+" Mini"]],[/\bopr\/([\w\.]+)/i],[E,[u,g]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[u,E],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[E,[u,"UC"+re]],[/\bqbcore\/([\w\.]+)/i],[E,[u,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[E,[u,"WeChat"]],[/konqueror\/([\w\.]+)/i],[E,[u,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[E,[u,"IE"]],[/yabrowser\/([\w\.]+)/i],[E,[u,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[u,/(.+)/,"$1 Secure "+re],E],[/\bfocus\/([\w\.]+)/i],[E,[u,Ee+" Focus"]],[/\bopt\/([\w\.]+)/i],[E,[u,g+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[E,[u,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[E,[u,"Dolphin"]],[/coast\/([\w\.]+)/i],[E,[u,g+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[E,[u,"MIUI "+re]],[/fxios\/([-\w\.]+)/i],[E,[u,Ee]],[/\bqihu|(qi?ho?o?|360)browser/i],[[u,"360 "+re]],[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],[[u,/(.+)/,"$1 "+re],E],[/(comodo_dragon)\/([\w\.]+)/i],[[u,/_/g," "],E],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[u,E],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i],[u],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[u,C],E],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[u,E],[/\bgsa\/([\w\.]+) .*safari\//i],[E,[u,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[E,[u,Se+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[u,Se+" WebView"],E],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[E,[u,"Android "+re]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[u,E],[/version\/([\w\.]+) .*mobile\/\w+ (safari)/i],[E,[u,"Mobile Safari"]],[/version\/([\w\.]+) .*(mobile ?safari|safari)/i],[E,u],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[u,[E,pe,Oe]],[/(webkit|khtml)\/([\w\.]+)/i],[u,E],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[u,"Netscape"],E],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[E,[u,Ee+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[u,E]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[A,"amd64"]],[/(ia32(?=;))/i],[[A,M]],[/((?:i[346]|x)86)[;\)]/i],[[A,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[A,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[A,"armhf"]],[/windows (ce|mobile); ppc;/i],[[A,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[A,/ower/,r,M]],[/(sun4\w)[;\)]/i],[[A,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[A,M]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[l,[v,T],[h,_]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[l,[v,T],[h,I]],[/\((ip(?:hone|od)[\w ]*);/i],[l,[v,Me],[h,I]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[l,[v,Me],[h,_]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[l,[v,ze],[h,_]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i],[l,[v,ze],[h,I]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[l,/_/g," "],[v,y],[h,I]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[l,/_/g," "],[v,y],[h,_]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[l,[v,"OPPO"],[h,I]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[l,[v,"Vivo"],[h,I]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[l,[v,"Realme"],[h,I]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[l,[v,m],[h,I]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[l,[v,m],[h,_]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[l,[v,n],[h,_]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[l,[v,n],[h,I]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[l,[v,"Lenovo"],[h,_]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[l,/_/g," "],[v,"Nokia"],[h,I]],[/(pixel c)\b/i],[l,[v,ce],[h,_]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[l,[v,ce],[h,I]],[/droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[l,[v,S],[h,I]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[l,"Xperia Tablet"],[v,S],[h,_]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[l,[v,"OnePlus"],[h,I]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[l,[v,V],[h,_]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[l,/(.+)/g,"Fire Phone $1"],[v,V],[h,I]],[/(playbook);[-\w\),; ]+(rim)/i],[l,v,[h,_]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[l,[v,Te],[h,I]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[l,[v,Le],[h,_]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[l,[v,Le],[h,I]],[/(nexus 9)/i],[l,[v,"HTC"],[h,_]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i],[v,[l,/_/g," "],[h,I]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[l,[v,"Acer"],[h,_]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[l,[v,"Meizu"],[h,I]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[l,[v,"Sharp"],[h,I]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[v,l,[h,I]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[v,l,[h,_]],[/(surface duo)/i],[l,[v,d],[h,_]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[l,[v,"Fairphone"],[h,I]],[/(u304aa)/i],[l,[v,"AT&T"],[h,I]],[/\bsie-(\w*)/i],[l,[v,"Siemens"],[h,I]],[/\b(rct\w+) b/i],[l,[v,"RCA"],[h,_]],[/\b(venue[\d ]{2,7}) b/i],[l,[v,"Dell"],[h,_]],[/\b(q(?:mv|ta)\w+) b/i],[l,[v,"Verizon"],[h,_]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[l,[v,"Barnes & Noble"],[h,_]],[/\b(tm\d{3}\w+) b/i],[l,[v,"NuVision"],[h,_]],[/\b(k88) b/i],[l,[v,"ZTE"],[h,_]],[/\b(nx\d{3}j) b/i],[l,[v,"ZTE"],[h,I]],[/\b(gen\d{3}) b.+49h/i],[l,[v,"Swiss"],[h,I]],[/\b(zur\d{3}) b/i],[l,[v,"Swiss"],[h,_]],[/\b((zeki)?tb.*\b) b/i],[l,[v,"Zeki"],[h,_]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[v,"Dragon Touch"],l,[h,_]],[/\b(ns-?\w{0,9}) b/i],[l,[v,"Insignia"],[h,_]],[/\b((nxa|next)-?\w{0,9}) b/i],[l,[v,"NextBook"],[h,_]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[v,"Voice"],l,[h,I]],[/\b(lvtel\-)?(v1[12]) b/i],[[v,"LvTel"],l,[h,I]],[/\b(ph-1) /i],[l,[v,"Essential"],[h,I]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[l,[v,"Envizen"],[h,_]],[/\b(trio[-\w\. ]+) b/i],[l,[v,"MachSpeed"],[h,_]],[/\btu_(1491) b/i],[l,[v,"Rotor"],[h,_]],[/(shield[\w ]+) b/i],[l,[v,"Nvidia"],[h,_]],[/(sprint) (\w+)/i],[v,l,[h,I]],[/(kin\.[onetw]{3})/i],[[l,/\./g," "],[v,d],[h,I]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[l,[v,P],[h,_]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[l,[v,P],[h,I]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[v,l,[h,q]],[/droid.+; (shield) bui/i],[l,[v,"Nvidia"],[h,q]],[/(playstation [345portablevi]+)/i],[l,[v,S],[h,q]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[l,[v,d],[h,q]],[/smart-tv.+(samsung)/i],[v,[h,z]],[/hbbtv.+maple;(\d+)/i],[[l,/^/,"SmartTV"],[v,T],[h,z]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[v,n],[h,z]],[/(apple) ?tv/i],[v,[l,Me+" TV"],[h,z]],[/crkey/i],[[l,Se+"cast"],[v,ce],[h,z]],[/droid.+aft(\w)( bui|\))/i],[l,[v,V],[h,z]],[/\(dtv[\);].+(aquos)/i],[l,[v,"Sharp"],[h,z]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[v,G],[l,G],[h,z]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[h,z]],[/((pebble))app/i],[v,l,[h,oe]],[/droid.+; (glass) \d/i],[l,[v,ce],[h,oe]],[/droid.+; (wt63?0{2,3})\)/i],[l,[v,P],[h,oe]],[/(quest( 2)?)/i],[l,[v,C],[h,oe]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[v,[h,ge]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[l,[h,I]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[l,[h,_]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[h,_]],[/(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i],[[h,I]],[/(android[-\w\. ]{0,9});.+buil/i],[l,[v,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[E,[u,D+"HTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[E,[u,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[u,E],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[E,u]],os:[[/microsoft (windows) (vista|xp)/i],[u,E],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[u,[E,pe,le]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[u,"Windows"],[E,pe,le]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[E,/_/g,"."],[u,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[u,"Mac OS"],[E,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[E,u],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[u,E],[/\(bb(10);/i],[E,[u,Te]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[E,[u,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[E,[u,Ee+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[E,[u,"webOS"]],[/crkey\/([\d\.]+)/i],[E,[u,Se+"cast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[u,"Chromium OS"],E],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[u,E],[/(sunos) ?([\w\.\d]*)/i],[[u,"Solaris"],E],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[u,E]]},H=function(L,x){if(typeof L===c&&(x=L,L=t),!(this instanceof H))return new H(L,x).getResult();var O=L||(typeof e!==a&&e.navigator&&e.navigator.userAgent?e.navigator.userAgent:r),K=x?b(ye,x):ye;return this.getBrowser=function(){var w={};return w[u]=t,w[E]=t,j.call(w,O,K.browser),w.major=N(w.version),w},this.getCPU=function(){var w={};return w[A]=t,j.call(w,O,K.cpu),w},this.getDevice=function(){var w={};return w[v]=t,w[l]=t,w[h]=t,j.call(w,O,K.device),w},this.getEngine=function(){var w={};return w[u]=t,w[E]=t,j.call(w,O,K.engine),w},this.getOS=function(){var w={};return w[u]=t,w[E]=t,j.call(w,O,K.os),w},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return O},this.setUA=function(w){return O=typeof w===f&&w.length>ve?G(w,ve):w,this},this.setUA(O),this};H.VERSION=i,H.BROWSER=R([u,E,p]),H.CPU=R([A]),H.DEVICE=R([l,v,h,q,I,z,_,oe,ge]),H.ENGINE=H.OS=R([u,E]),typeof $e!==a?(typeof dt!==a&&dt.exports&&($e=dt.exports=H),$e.UAParser=H):typeof define===o&&define.amd?define(function(){return H}):typeof e!==a&&(e.UAParser=H);var $=typeof e!==a&&(e.jQuery||e.Zepto);if($&&!$.ua){var Je=new H;$.ua=Je.getResult(),$.ua.get=function(){return Je.getUA()},$.ua.set=function(L){Je.setUA(L);var x=Je.getResult();for(var O in x)$.ua[O]=x[O]}}})(typeof window=="object"?window:$e)});var Ke=me((Yi,Qi)=>{(function(e){var t=Object.hasOwnProperty,i=Array.isArray?Array.isArray:function(d){return Object.prototype.toString.call(d)==="[object Array]"},r=10,s=typeof process=="object"&&typeof process.nextTick=="function",o=typeof Symbol=="function",a=typeof Reflect=="object",c=typeof setImmediate=="function",f=c?setImmediate:setTimeout,p=o?a&&typeof Reflect.ownKeys=="function"?Reflect.ownKeys:function(n){var d=Object.getOwnPropertyNames(n);return d.push.apply(d,Object.getOwnPropertySymbols(n)),d}:Object.keys;function l(){this._events={},this._conf&&u.call(this,this._conf)}function u(n){n&&(this._conf=n,n.delimiter&&(this.delimiter=n.delimiter),n.maxListeners!==e&&(this._maxListeners=n.maxListeners),n.wildcard&&(this.wildcard=n.wildcard),n.newListener&&(this._newListener=n.newListener),n.removeListener&&(this._removeListener=n.removeListener),n.verboseMemoryLeak&&(this.verboseMemoryLeak=n.verboseMemoryLeak),n.ignoreErrors&&(this.ignoreErrors=n.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function h(n,d){var m="(node) warning: possible EventEmitter memory leak detected. "+n+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(m+=" Event name: "+d+"."),typeof process!="undefined"&&process.emitWarning){var g=new Error(m);g.name="MaxListenersExceededWarning",g.emitter=this,g.count=n,process.emitWarning(g)}else console.error(m),console.trace&&console.trace()}var v=function(n,d,m){var g=arguments.length;switch(g){case 0:return[];case 1:return[n];case 2:return[n,d];case 3:return[n,d,m];default:for(var T=new Array(g);g--;)T[g]=arguments[g];return T}};function E(n,d){for(var m={},g,T=n.length,S=d?value.length:0,y=0;y<T;y++)g=n[y],m[g]=y<S?d[y]:e;return m}function A(n,d,m){this._emitter=n,this._target=d,this._listeners={},this._listenersCount=0;var g,T;if((m.on||m.off)&&(g=m.on,T=m.off),d.addEventListener?(g=d.addEventListener,T=d.removeEventListener):d.addListener?(g=d.addListener,T=d.removeListener):d.on&&(g=d.on,T=d.off),!g&&!T)throw Error("target does not implement any known event API");if(typeof g!="function")throw TypeError("on method must be a function");if(typeof T!="function")throw TypeError("off method must be a function");this._on=g,this._off=T;var S=n._observers;S?S.push(this):n._observers=[this]}Object.assign(A.prototype,{subscribe:function(n,d,m){var g=this,T=this._target,S=this._emitter,y=this._listeners,P=function(){var C=v.apply(null,arguments),b={data:C,name:d,original:n};if(m){var R=m.call(T,b);R!==!1&&S.emit.apply(S,[b.name].concat(C));return}S.emit.apply(S,[d].concat(C))};if(y[n])throw Error("Event '"+n+"' is already listening");this._listenersCount++,S._newListener&&S._removeListener&&!g._onNewListener?(this._onNewListener=function(C){C===d&&y[n]===null&&(y[n]=P,g._on.call(T,n,P))},S.on("newListener",this._onNewListener),this._onRemoveListener=function(C){C===d&&!S.hasListeners(C)&&y[n]&&(y[n]=null,g._off.call(T,n,P))},y[n]=null,S.on("removeListener",this._onRemoveListener)):(y[n]=P,g._on.call(T,n,P))},unsubscribe:function(n){var d=this,m=this._listeners,g=this._emitter,T,S,y=this._off,P=this._target,C;if(n&&typeof n!="string")throw TypeError("event must be a string");function b(){d._onNewListener&&(g.off("newListener",d._onNewListener),g.off("removeListener",d._onRemoveListener),d._onNewListener=null,d._onRemoveListener=null);var R=ve.call(g,d);g._observers.splice(R,1)}if(n){if(T=m[n],!T)return;y.call(P,n,T),delete m[n],--this._listenersCount||b()}else{for(S=p(m),C=S.length;C-- >0;)n=S[C],y.call(P,n,m[n]);this._listeners={},this._listenersCount=0,b()}}});function q(n,d,m,g){var T=Object.assign({},d);if(!n)return T;if(typeof n!="object")throw TypeError("options must be an object");var S=Object.keys(n),y=S.length,P,C,b;function R(M){throw Error('Invalid "'+P+'" option value'+(M?". Reason: "+M:""))}for(var W=0;W<y;W++){if(P=S[W],!g&&!t.call(d,P))throw Error('Unknown "'+P+'" option');C=n[P],C!==e&&(b=m[P],T[P]=b?b(C,R):C)}return T}function I(n,d){return(typeof n!="function"||!n.hasOwnProperty("prototype"))&&d("value must be a constructor"),n}function _(n){var d="value must be type of "+n.join("|"),m=n.length,g=n[0],T=n[1];return m===1?function(S,y){if(typeof S===g)return S;y(d)}:m===2?function(S,y){var P=typeof S;if(P===g||P===T)return S;y(d)}:function(S,y){for(var P=typeof S,C=m;C-- >0;)if(P===n[C])return S;y(d)}}var z=_(["function"]),oe=_(["object","function"]);function ge(n,d,m){var g,T,S=0,y,P=new n(function(C,b,R){m=q(m,{timeout:0,overload:!1},{timeout:function(G,j){return G*=1,(typeof G!="number"||G<0||!Number.isFinite(G))&&j("timeout must be a positive number"),G}}),g=!m.overload&&typeof n.prototype.cancel=="function"&&typeof R=="function";function W(){T&&(T=null),S&&(clearTimeout(S),S=0)}var M=function(G){W(),C(G)},N=function(G){W(),b(G)};g?d(M,N,R):(T=[function(G){N(G||Error("canceled"))}],d(M,N,function(G){if(y)throw Error("Unable to subscribe on cancel event asynchronously");if(typeof G!="function")throw TypeError("onCancel callback must be a function");T.push(G)}),y=!0),m.timeout>0&&(S=setTimeout(function(){var G=Error("timeout");G.code="ETIMEDOUT",S=0,P.cancel(G),b(G)},m.timeout))});return g||(P.cancel=function(C){if(!!T){for(var b=T.length,R=1;R<b;R++)T[R](C);T[0](C),T=null}}),P}function ve(n){var d=this._observers;if(!d)return-1;for(var m=d.length,g=0;g<m;g++)if(d[g]._target===n)return g;return-1}function V(n,d,m,g,T){if(!m)return null;if(g===0){var S=typeof d;if(S==="string"){var y,P,C=0,b=0,R=this.delimiter,W=R.length;if((P=d.indexOf(R))!==-1){y=new Array(5);do y[C++]=d.slice(b,P),b=P+W;while((P=d.indexOf(R,b))!==-1);y[C++]=d.slice(b),d=y,T=C}else d=[d],T=1}else S==="object"?T=d.length:(d=[d],T=1)}var M=null,N,G,j,pe,Oe,le=d[g],ye=d[g+1],H,$;if(g===T)m._listeners&&(typeof m._listeners=="function"?(n&&n.push(m._listeners),M=[m]):(n&&n.push.apply(n,m._listeners),M=[m]));else if(le==="*"){for(H=p(m),P=H.length;P-- >0;)N=H[P],N!=="_listeners"&&($=V(n,d,m[N],g+1,T),$&&(M?M.push.apply(M,$):M=$));return M}else if(le==="**"){for(Oe=g+1===T||g+2===T&&ye==="*",Oe&&m._listeners&&(M=V(n,d,m,T,T)),H=p(m),P=H.length;P-- >0;)N=H[P],N!=="_listeners"&&(N==="*"||N==="**"?(m[N]._listeners&&!Oe&&($=V(n,d,m[N],T,T),$&&(M?M.push.apply(M,$):M=$)),$=V(n,d,m[N],g,T)):N===ye?$=V(n,d,m[N],g+2,T):$=V(n,d,m[N],g,T),$&&(M?M.push.apply(M,$):M=$));return M}else m[le]&&(M=V(n,d,m[le],g+1,T));if(G=m["*"],G&&V(n,d,G,g+1,T),j=m["**"],j)if(g<T)for(j._listeners&&V(n,d,j,T,T),H=p(j),P=H.length;P-- >0;)N=H[P],N!=="_listeners"&&(N===ye?V(n,d,j[N],g+2,T):N===le?V(n,d,j[N],g+1,T):(pe={},pe[N]=j[N],V(n,d,{"**":pe},g+1,T)));else j._listeners?V(n,d,j,T,T):j["*"]&&j["*"]._listeners&&V(n,d,j["*"],T,T);return M}function Me(n,d,m){var g=0,T=0,S,y=this.delimiter,P=y.length,C;if(typeof n=="string")if((S=n.indexOf(y))!==-1){C=new Array(5);do C[g++]=n.slice(T,S),T=S+P;while((S=n.indexOf(y,T))!==-1);C[g++]=n.slice(T)}else C=[n],g=1;else C=n,g=n.length;if(g>1){for(S=0;S+1<g;S++)if(C[S]==="**"&&C[S+1]==="**")return}var b=this.listenerTree,R;for(S=0;S<g;S++)if(R=C[S],b=b[R]||(b[R]={}),S===g-1)return b._listeners?(typeof b._listeners=="function"&&(b._listeners=[b._listeners]),m?b._listeners.unshift(d):b._listeners.push(d),!b._listeners.warned&&this._maxListeners>0&&b._listeners.length>this._maxListeners&&(b._listeners.warned=!0,h.call(this,b._listeners.length,R))):b._listeners=d,!0;return!0}function Le(n,d,m,g){for(var T=p(n),S=T.length,y,P,C,b=n._listeners,R;S-- >0;)P=T[S],y=n[P],P==="_listeners"?C=m:C=m?m.concat(P):[P],R=g||typeof P=="symbol",b&&d.push(R?C:C.join(this.delimiter)),typeof y=="object"&&Le.call(this,y,d,C,R);return d}function Te(n){for(var d=p(n),m=d.length,g,T,S;m-- >0;)T=d[m],g=n[T],g&&(S=!0,T!=="_listeners"&&!Te(g)&&delete n[T]);return S}function re(n,d,m){this.emitter=n,this.event=d,this.listener=m}re.prototype.off=function(){return this.emitter.off(this.event,this.listener),this};function Se(n,d,m){if(m===!0)T=!0;else if(m===!1)g=!0;else{if(!m||typeof m!="object")throw TypeError("options should be an object or true");var g=m.async,T=m.promisify,S=m.nextTick,y=m.objectify}if(g||S||T){var P=d,C=d._origin||d;if(S&&!s)throw Error("process.nextTick is not supported");T===e&&(T=d.constructor.name==="AsyncFunction"),d=function(){var b=arguments,R=this,W=this.event;return T?S?Promise.resolve():new Promise(function(M){f(M)}).then(function(){return R.event=W,P.apply(R,b)}):(S?process.nextTick:f)(function(){R.event=W,P.apply(R,b)})},d._async=!0,d._origin=C}return[d,y?new re(this,n,d):this]}function D(n){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,u.call(this,n)}D.EventEmitter2=D,D.prototype.listenTo=function(n,d,m){if(typeof n!="object")throw TypeError("target musts be an object");var g=this;m=q(m,{on:e,off:e,reducers:e},{on:z,off:z,reducers:oe});function T(S){if(typeof S!="object")throw TypeError("events must be an object");var y=m.reducers,P=ve.call(g,n),C;P===-1?C=new A(g,n,m):C=g._observers[P];for(var b=p(S),R=b.length,W,M=typeof y=="function",N=0;N<R;N++)W=b[N],C.subscribe(W,S[W]||W,M?y:y&&y[W])}return i(d)?T(E(d)):T(typeof d=="string"?E(d.split(/\s+/)):d),this},D.prototype.stopListeningTo=function(n,d){var m=this._observers;if(!m)return!1;var g=m.length,T,S=!1;if(n&&typeof n!="object")throw TypeError("target should be an object");for(;g-- >0;)T=m[g],(!n||T._target===n)&&(T.unsubscribe(d),S=!0);return S},D.prototype.delimiter=".",D.prototype.setMaxListeners=function(n){n!==e&&(this._maxListeners=n,this._conf||(this._conf={}),this._conf.maxListeners=n)},D.prototype.getMaxListeners=function(){return this._maxListeners},D.prototype.event="",D.prototype.once=function(n,d,m){return this._once(n,d,!1,m)},D.prototype.prependOnceListener=function(n,d,m){return this._once(n,d,!0,m)},D.prototype._once=function(n,d,m,g){return this._many(n,1,d,m,g)},D.prototype.many=function(n,d,m,g){return this._many(n,d,m,!1,g)},D.prototype.prependMany=function(n,d,m,g){return this._many(n,d,m,!0,g)},D.prototype._many=function(n,d,m,g,T){var S=this;if(typeof m!="function")throw new Error("many only accepts instances of Function");function y(){return--d==0&&S.off(n,y),m.apply(this,arguments)}return y._origin=m,this._on(n,y,g,T)},D.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||l.call(this);var n=arguments[0],d,m=this.wildcard,g,T,S,y,P;if(n==="newListener"&&!this._newListener&&!this._events.newListener)return!1;if(m&&(d=n,n!=="newListener"&&n!=="removeListener"&&typeof n=="object")){if(T=n.length,o){for(S=0;S<T;S++)if(typeof n[S]=="symbol"){P=!0;break}}P||(n=n.join(this.delimiter))}var C=arguments.length,b;if(this._all&&this._all.length)for(b=this._all.slice(),S=0,T=b.length;S<T;S++)switch(this.event=n,C){case 1:b[S].call(this,n);break;case 2:b[S].call(this,n,arguments[1]);break;case 3:b[S].call(this,n,arguments[1],arguments[2]);break;default:b[S].apply(this,arguments)}if(m)b=[],V.call(this,b,d,this.listenerTree,0,T);else if(b=this._events[n],typeof b=="function"){switch(this.event=n,C){case 1:b.call(this);break;case 2:b.call(this,arguments[1]);break;case 3:b.call(this,arguments[1],arguments[2]);break;default:for(g=new Array(C-1),y=1;y<C;y++)g[y-1]=arguments[y];b.apply(this,g)}return!0}else b&&(b=b.slice());if(b&&b.length){if(C>3)for(g=new Array(C-1),y=1;y<C;y++)g[y-1]=arguments[y];for(S=0,T=b.length;S<T;S++)switch(this.event=n,C){case 1:b[S].call(this);break;case 2:b[S].call(this,arguments[1]);break;case 3:b[S].call(this,arguments[1],arguments[2]);break;default:b[S].apply(this,g)}return!0}else if(!this.ignoreErrors&&!this._all&&n==="error")throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},D.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||l.call(this);var n=arguments[0],d=this.wildcard,m,g,T,S,y,P;if(n==="newListener"&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(d&&(m=n,n!=="newListener"&&n!=="removeListener"&&typeof n=="object")){if(S=n.length,o){for(y=0;y<S;y++)if(typeof n[y]=="symbol"){g=!0;break}}g||(n=n.join(this.delimiter))}var C=[],b=arguments.length,R;if(this._all)for(y=0,S=this._all.length;y<S;y++)switch(this.event=n,b){case 1:C.push(this._all[y].call(this,n));break;case 2:C.push(this._all[y].call(this,n,arguments[1]));break;case 3:C.push(this._all[y].call(this,n,arguments[1],arguments[2]));break;default:C.push(this._all[y].apply(this,arguments))}if(d?(R=[],V.call(this,R,m,this.listenerTree,0)):R=this._events[n],typeof R=="function")switch(this.event=n,b){case 1:C.push(R.call(this));break;case 2:C.push(R.call(this,arguments[1]));break;case 3:C.push(R.call(this,arguments[1],arguments[2]));break;default:for(T=new Array(b-1),P=1;P<b;P++)T[P-1]=arguments[P];C.push(R.apply(this,T))}else if(R&&R.length){if(R=R.slice(),b>3)for(T=new Array(b-1),P=1;P<b;P++)T[P-1]=arguments[P];for(y=0,S=R.length;y<S;y++)switch(this.event=n,b){case 1:C.push(R[y].call(this));break;case 2:C.push(R[y].call(this,arguments[1]));break;case 3:C.push(R[y].call(this,arguments[1],arguments[2]));break;default:C.push(R[y].apply(this,T))}}else if(!this.ignoreErrors&&!this._all&&n==="error")return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(C)},D.prototype.on=function(n,d,m){return this._on(n,d,!1,m)},D.prototype.prependListener=function(n,d,m){return this._on(n,d,!0,m)},D.prototype.onAny=function(n){return this._onAny(n,!1)},D.prototype.prependAny=function(n){return this._onAny(n,!0)},D.prototype.addListener=D.prototype.on,D.prototype._onAny=function(n,d){if(typeof n!="function")throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),d?this._all.unshift(n):this._all.push(n),this},D.prototype._on=function(n,d,m,g){if(typeof n=="function")return this._onAny(n,d),this;if(typeof d!="function")throw new Error("on only accepts instances of Function");this._events||l.call(this);var T=this,S;return g!==e&&(S=Se.call(this,n,d,g),d=S[0],T=S[1]),this._newListener&&this.emit("newListener",n,d),this.wildcard?(Me.call(this,n,d,m),T):(this._events[n]?(typeof this._events[n]=="function"&&(this._events[n]=[this._events[n]]),m?this._events[n].unshift(d):this._events[n].push(d),!this._events[n].warned&&this._maxListeners>0&&this._events[n].length>this._maxListeners&&(this._events[n].warned=!0,h.call(this,this._events[n].length,n))):this._events[n]=d,T)},D.prototype.off=function(n,d){if(typeof d!="function")throw new Error("removeListener only takes instances of Function");var m,g=[];if(this.wildcard){var T=typeof n=="string"?n.split(this.delimiter):n.slice();if(g=V.call(this,null,T,this.listenerTree,0),!g)return this}else{if(!this._events[n])return this;m=this._events[n],g.push({_listeners:m})}for(var S=0;S<g.length;S++){var y=g[S];if(m=y._listeners,i(m)){for(var P=-1,C=0,b=m.length;C<b;C++)if(m[C]===d||m[C].listener&&m[C].listener===d||m[C]._origin&&m[C]._origin===d){P=C;break}if(P<0)continue;return this.wildcard?y._listeners.splice(P,1):this._events[n].splice(P,1),m.length===0&&(this.wildcard?delete y._listeners:delete this._events[n]),this._removeListener&&this.emit("removeListener",n,d),this}else(m===d||m.listener&&m.listener===d||m._origin&&m._origin===d)&&(this.wildcard?delete y._listeners:delete this._events[n],this._removeListener&&this.emit("removeListener",n,d))}return this.listenerTree&&Te(this.listenerTree),this},D.prototype.offAny=function(n){var d=0,m=0,g;if(n&&this._all&&this._all.length>0){for(g=this._all,d=0,m=g.length;d<m;d++)if(n===g[d])return g.splice(d,1),this._removeListener&&this.emit("removeListenerAny",n),this}else{if(g=this._all,this._removeListener)for(d=0,m=g.length;d<m;d++)this.emit("removeListenerAny",g[d]);this._all=[]}return this},D.prototype.removeListener=D.prototype.off,D.prototype.removeAllListeners=function(n){if(n===e)return!this._events||l.call(this),this;if(this.wildcard){var d=V.call(this,null,n,this.listenerTree,0),m,g;if(!d)return this;for(g=0;g<d.length;g++)m=d[g],m._listeners=null;this.listenerTree&&Te(this.listenerTree)}else this._events&&(this._events[n]=null);return this},D.prototype.listeners=function(n){var d=this._events,m,g,T,S,y;if(n===e){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!d)return[];for(m=p(d),S=m.length,T=[];S-- >0;)g=d[m[S]],typeof g=="function"?T.push(g):T.push.apply(T,g);return T}else{if(this.wildcard){if(y=this.listenerTree,!y)return[];var P=[],C=typeof n=="string"?n.split(this.delimiter):n.slice();return V.call(this,P,C,y,0),P}return d?(g=d[n],g?typeof g=="function"?[g]:g:[]):[]}},D.prototype.eventNames=function(n){var d=this._events;return this.wildcard?Le.call(this,this.listenerTree,[],null,n):d?p(d):[]},D.prototype.listenerCount=function(n){return this.listeners(n).length},D.prototype.hasListeners=function(n){if(this.wildcard){var d=[],m=typeof n=="string"?n.split(this.delimiter):n.slice();return V.call(this,d,m,this.listenerTree,0),d.length>0}var g=this._events,T=this._all;return!!(T&&T.length||g&&(n===e?p(g).length:g[n]))},D.prototype.listenersAny=function(){return this._all?this._all:[]},D.prototype.waitFor=function(n,d){var m=this,g=typeof d;return g==="number"?d={timeout:d}:g==="function"&&(d={filter:d}),d=q(d,{timeout:0,filter:e,handleError:!1,Promise,overload:!1},{filter:z,Promise:I}),ge(d.Promise,function(T,S,y){function P(){var C=d.filter;if(!(C&&!C.apply(m,arguments)))if(m.off(n,P),d.handleError){var b=arguments[0];b?S(b):T(v.apply(null,arguments).slice(1))}else T(v.apply(null,arguments))}y(function(){m.off(n,P)}),m._on(n,P,!1)},{timeout:d.timeout,overload:d.overload})};function Ee(n,d,m){m=q(m,{Promise,timeout:0,overload:!1},{Promise:I});var g=m.Promise;return ge(g,function(T,S,y){var P;if(typeof n.addEventListener=="function"){P=function(){T(v.apply(null,arguments))},y(function(){n.removeEventListener(d,P)}),n.addEventListener(d,P,{once:!0});return}var C=function(){b&&n.removeListener("error",b),T(v.apply(null,arguments))},b;d!=="error"&&(b=function(R){n.removeListener(d,C),S(R)},n.once("error",b)),y(function(){b&&n.removeListener("error",b),n.removeListener(d,C)}),n.once(d,C)},{timeout:m.timeout,overload:m.overload})}var ce=D.prototype;if(Object.defineProperties(D,{defaultMaxListeners:{get:function(){return ce._maxListeners},set:function(n){if(typeof n!="number"||n<0||Number.isNaN(n))throw TypeError("n must be a non-negative number");ce._maxListeners=n},enumerable:!0},once:{value:Ee,writable:!0,configurable:!0}}),Object.defineProperties(ce,{_maxListeners:{value:r,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),typeof define=="function"&&define.amd)define(function(){return D});else if(typeof Yi=="object")Qi.exports=D;else{var ze=new Function("","return this")();ze.EventEmitter2=D}})()});Ge(exports,{HMSRoomProvider:()=>Zt,calculateLayoutSizes:()=>Xe,chunkElements:()=>Qe,getModeAspectRatio:()=>Ze,useAVToggle:()=>_r,useAudioLevel:()=>xr,useDevices:()=>Dr,useHMSActions:()=>ee,useHMSNotifications:()=>ei,useHMSStatsStore:()=>Xt,useHMSStore:()=>B,useHMSVanillaStore:()=>Pe,usePreview:()=>Pr,useVideo:()=>Or,useVideoList:()=>Ir,useVideoTile:()=>Rr});var Z=U(require("react")),Qt=U(require("@100mslive/hms-video-store")),Ve=U(require("zustand"));var St=U(require("react")),Et=U(require("zustand/shallow"));var Q;(function(a){a[a.VERBOSE=0]="VERBOSE",a[a.DEBUG=1]="DEBUG",a[a.INFO=2]="INFO",a[a.WARN=3]="WARN",a[a.ERROR=4]="ERROR",a[a.NONE=5]="NONE"})(Q||(Q={}));var ke=class{static v(t,...i){this.log(0,t,...i)}static d(t,...i){this.log(1,t,...i)}static i(t,...i){this.log(2,t,...i)}static w(t,...i){this.log(3,t,...i)}static e(t,...i){this.log(4,t,...i)}static log(t,i,...r){if(!(this.level.valueOf()>t.valueOf()))switch(t){case 0:{console.log("HMSui-components: ",i,...r);break}case 1:{console.debug("HMSui-components: ",i,...r);break}case 2:{console.info("HMSui-components: ",i,...r);break}case 3:{console.warn("HMSui-components: ",i,...r);break}case 4:{console.error("HMSui-components: ",i,...r);break}}}};ke.level=0;var Ce="It seems like you forgot to add your component within a top level HMSRoomProvider, please refer to 100ms react docs(https://docs.100ms.live/javascript/v2/features/integration#react-hooks) to check on the required steps for using this hook.";function zt(e){return(i,r=Et.default)=>{i||ke.w("fetching full store without passing any selector may have a heavy performance impact on your website.");let s=(0,St.useContext)(e);if(!s)throw new Error(Ce);return s.store(i,r)}}function Jt(e){return(i,r=Et.default)=>{i||ke.w("fetching full store without passing any selector may have a heavy performance impact on your website.");let s=(0,St.useContext)(e);if(!s)throw new Error(Ce);let o=s.statsStore;return o==null?void 0:o(i,r)}}var Yt=typeof window!="undefined";var be=(0,Z.createContext)(null),de,Zt=({children:e,actions:t,store:i,notifications:r,webrtcInternals:s,isHMSStatsOn:o=!1})=>{if(!de){let a=()=>{throw new Error("modifying store is not allowed")};if(t&&i){if(de={actions:t,store:(0,Ve.default)(Ue(xe({},i),{setState:a,destroy:a}))},r&&(de.notifications=r),s){let c=s;de.statsStore=(0,Ve.default)({getState:c.getState,subscribe:c.subscribe,setState:a,destroy:a})}}else{let c=new Qt.HMSReactiveStore;if(de={actions:c.getHMSActions(),store:(0,Ve.default)(Ue(xe({},c.getStore()),{setState:a,destroy:a})),notifications:c.getNotifications()},o){let f=c.getStats();de.statsStore=(0,Ve.default)({getState:f.getState,subscribe:f.subscribe,setState:a,destroy:a})}}}return(0,Z.useEffect)(()=>{Yt&&(window.onunload=()=>{de.actions.leave()})},[]),Z.default.createElement(be.Provider,{value:de},e)},B=zt(be),Xt=Jt(be),Pe=()=>{let e=(0,Z.useContext)(be);if(!e)throw new Error(Ce);return e.store},ee=()=>{let e=(0,Z.useContext)(be);if(!e)throw new Error(Ce);return e.actions},ei=()=>{let e=(0,Z.useContext)(be),[t,i]=(0,Z.useState)(null);if(!e)throw new Error(Ce);return(0,Z.useEffect)(()=>e.notifications?e.notifications.onNotification(s=>i(s)):void 0,[e.notifications]),t};var Kr=(e,t,i)=>e.reduce((r,s,o)=>{let a=Math.floor(o/t);return a>0&&i||(r[a]||(r[a]=[]),r[a].push(s)),r},[]),Qe=({elements:e,tilesInFirstPage:t,onlyOnePage:i,isLastPageDifferentFromFirstPage:r,defaultWidth:s,defaultHeight:o,lastPageWidth:a,lastPageHeight:c})=>{let f=Kr(e,t,i);return f.map((p,l)=>p.map(u=>{let h=l===f.length-1,v=r&&h?a:s,E=r&&h?c:o;return Ue(xe({},u),{height:E,width:v})}))};function Wr(e){if(e.length===0)return null;let t={},i=e[0],r=1;for(let s=0;s<e.length;s++){let o=e[s];t[o]===null?t[o]=1:t[o]++,t[o]>r&&(i=o,r=t[o])}return i}var Ze=e=>Wr(e.filter(t=>{var i,r;return((i=t.track)==null?void 0:i.width)&&((r=t.track)==null?void 0:r.height)}).map(t=>{var s,o;let i=(s=t.track)==null?void 0:s.width,r=(o=t.track)==null?void 0:o.height;return(i||1)/(r||1)})),yt=(e,t,i,r,s)=>{if(e<0||t<0)throw new Error("Container must have a non-negative area");if(i<1||!Number.isInteger(i))throw new Error("Number of shapes to place must be a positive integer");let o=r&&s&&r/s;if(o!==void 0&&isNaN(o))throw new Error("Aspect ratio must be a number");let a={area:0,cols:0,rows:0,width:0,height:0},c=i,f=-1;if(o!==void 0)for(let p=c;p>0;p+=f){let l=Math.ceil(i/p),u=e/(p*o),h=t/l,v,E;u<=h?(v=e/p,E=v/o):(E=t/l,v=E*o);let A=v*E;A>a.area&&(a={area:A,width:v,height:E,rows:l,cols:p})}return a},qr=({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:s})=>{let o=0,a=0,c=0,f=0,p=!1,l=0,u=0,h=Math.min(Math.ceil(Math.sqrt(i*(e/t)/(s.width/s.height))),r),v=e/h,E=v/(s.width/s.height),A=Math.floor(t/E);if(a=E,o=v,l=Math.min(i,A*h),u=i%(A*h),p=u>0&&i>A*h,p){let q=Math.min(Math.ceil(Math.sqrt(u*(e/t)/(s.width/s.height))),r),I=e/q;f=I/(s.width/s.height),c=I}return{tilesInFirstPage:l,defaultWidth:o,defaultHeight:a,lastPageWidth:c,lastPageHeight:f,isLastPageDifferentFromFirstPage:p}},zr=({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:s})=>{let o=0,a=0,c=0,f=0,p=!1,l=0,u=0,{width:h,height:v}=yt(e,t,Math.min(i,r),s.width,s.height);if(o=h,a=v,l=Math.min(i,r),u=i%r,p=u>0&&i>r,p){let{width:E,height:A}=yt(e,t,u,s.width,s.height);c=E,f=A}return{tilesInFirstPage:l,defaultWidth:o,defaultHeight:a,lastPageWidth:c,lastPageHeight:f,isLastPageDifferentFromFirstPage:p}},Jr=({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:s})=>{let o=0,a=0,c=0,f=0,p=!1,l=0,u=0,h=Math.min(Math.ceil(Math.sqrt(i*(s.width/s.height)/(e/t))),r),v=t/h,E=v*(s.width/s.height),A=Math.floor(e/E);if(o=E,a=v,l=Math.min(i,h*A),u=i%(h*A),p=u>0&&i>h*A,p){let q=Math.min(Math.ceil(Math.sqrt(u*(s.width/s.height)/(e/t))),r),I=t/q,_=I*(s.width/s.height);f=I,c=_}return{tilesInFirstPage:l,defaultWidth:o,defaultHeight:a,lastPageWidth:c,lastPageHeight:f,isLastPageDifferentFromFirstPage:p}};function Xe({count:e,parentWidth:t,parentHeight:i,maxTileCount:r,maxRowCount:s,maxColCount:o,aspectRatio:a}){let c=0,f=0,p=0,l=0,u=!1,h=0;if(e===0)return{tilesInFirstPage:h,defaultWidth:c,defaultHeight:f,lastPageWidth:p,lastPageHeight:l,isLastPageDifferentFromFirstPage:u};if(r)({tilesInFirstPage:h,defaultWidth:c,defaultHeight:f,lastPageWidth:p,lastPageHeight:l,isLastPageDifferentFromFirstPage:u}=zr({parentWidth:t,parentHeight:i,count:e,maxCount:r,aspectRatio:a}));else if(s)({tilesInFirstPage:h,defaultWidth:c,defaultHeight:f,lastPageWidth:p,lastPageHeight:l,isLastPageDifferentFromFirstPage:u}=Jr({parentWidth:t,parentHeight:i,count:e,maxCount:s,aspectRatio:a}));else if(o)({tilesInFirstPage:h,defaultWidth:c,defaultHeight:f,lastPageWidth:p,lastPageHeight:l,isLastPageDifferentFromFirstPage:u}=qr({parentWidth:t,parentHeight:i,count:e,maxCount:o,aspectRatio:a}));else{let{width:v,height:E}=yt(t,i,e,a.width,a.height);c=v,f=E,h=e}return{tilesInFirstPage:h,defaultWidth:c,defaultHeight:f,lastPageWidth:p,lastPageHeight:l,isLastPageDifferentFromFirstPage:u}}var ti=(e,t,i)=>{if(!e||!t||!i)return[];let r=[];for(let s of e)if(s.videoTrack===void 0&&s.audioTrack&&t[s.audioTrack]?r.push({peer:s}):s.videoTrack&&t[s.videoTrack]&&r.push({track:t[s.videoTrack],peer:s}),i(s)&&s.auxiliaryTracks.length>0){let o=s.auxiliaryTracks.find(a=>{let c=t[a];return(c==null?void 0:c.type)==="video"&&(c==null?void 0:c.source)==="screen"});o&&r.push({track:t[o],peer:s})}return r};"use strict";var ii=!0,ri=!0;function Be(e,t,i){let r=e.match(t);return r&&r.length>=i&&parseInt(r[i],10)}function se(e,t,i){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,s=r.addEventListener;r.addEventListener=function(a,c){if(a!==t)return s.apply(this,arguments);let f=p=>{let l=i(p);l&&(c.handleEvent?c.handleEvent(l):c(l))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(c,f),s.apply(this,[a,f])};let o=r.removeEventListener;r.removeEventListener=function(a,c){if(a!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(c))return o.apply(this,arguments);let f=this._eventMap[t].get(c);return this._eventMap[t].delete(c),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,o.apply(this,[a,f])},Object.defineProperty(r,"on"+t,{get(){return this["_on"+t]},set(a){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),a&&this.addEventListener(t,this["_on"+t]=a)},enumerable:!0,configurable:!0})}function si(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(ii=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function ni(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(ri=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function et(){if(typeof window=="object"){if(ii)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function Re(e,t){!ri||console.warn(e+" is deprecated, please use "+t+" instead.")}function ai(e){let t={browser:null,version:null};if(typeof e=="undefined"||!e.navigator)return t.browser="Not a browser.",t;let{navigator:i}=e;if(i.mozGetUserMedia)t.browser="firefox",t.version=Be(i.userAgent,/Firefox\/(\d+)\./,1);else if(i.webkitGetUserMedia||e.isSecureContext===!1&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)t.browser="chrome",t.version=Be(i.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(e.RTCPeerConnection&&i.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser="safari",t.version=Be(i.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype;else return t.browser="Not a supported browser.",t;return t}function oi(e){return Object.prototype.toString.call(e)==="[object Object]"}function kt(e){return oi(e)?Object.keys(e).reduce(function(t,i){let r=oi(e[i]),s=r?kt(e[i]):e[i],o=r&&!Object.keys(s).length;return s===void 0||o?t:Object.assign(t,{[i]:s})},{}):e}function Ct(e,t,i){!t||i.has(t.id)||(i.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith("Id")?Ct(e,e.get(t[r]),i):r.endsWith("Ids")&&t[r].forEach(s=>{Ct(e,e.get(s),i)})}))}function bt(e,t,i){let r=i?"outbound-rtp":"inbound-rtp",s=new Map;if(t===null)return s;let o=[];return e.forEach(a=>{a.type==="track"&&a.trackIdentifier===t.id&&o.push(a)}),o.forEach(a=>{e.forEach(c=>{c.type===r&&c.trackId===a.id&&Ct(e,c,s)})}),s}var tt={};Ge(tt,{fixNegotiationNeeded:()=>vi,shimAddTrackRemoveTrack:()=>gi,shimAddTrackRemoveTrackWithNative:()=>fi,shimGetDisplayMedia:()=>li,shimGetSendersWithDtmf:()=>hi,shimGetStats:()=>pi,shimGetUserMedia:()=>Pt,shimMediaStream:()=>di,shimOnTrack:()=>ui,shimPeerConnection:()=>Rt,shimSenderReceiverGetStats:()=>mi});"use strict";var ci=et;function Pt(e,t){let i=e&&e.navigator;if(!i.mediaDevices)return;let r=function(c){if(typeof c!="object"||c.mandatory||c.optional)return c;let f={};return Object.keys(c).forEach(p=>{if(p==="require"||p==="advanced"||p==="mediaSource")return;let l=typeof c[p]=="object"?c[p]:{ideal:c[p]};l.exact!==void 0&&typeof l.exact=="number"&&(l.min=l.max=l.exact);let u=function(h,v){return h?h+v.charAt(0).toUpperCase()+v.slice(1):v==="deviceId"?"sourceId":v};if(l.ideal!==void 0){f.optional=f.optional||[];let h={};typeof l.ideal=="number"?(h[u("min",p)]=l.ideal,f.optional.push(h),h={},h[u("max",p)]=l.ideal,f.optional.push(h)):(h[u("",p)]=l.ideal,f.optional.push(h))}l.exact!==void 0&&typeof l.exact!="number"?(f.mandatory=f.mandatory||{},f.mandatory[u("",p)]=l.exact):["min","max"].forEach(h=>{l[h]!==void 0&&(f.mandatory=f.mandatory||{},f.mandatory[u(h,p)]=l[h])})}),c.advanced&&(f.optional=(f.optional||[]).concat(c.advanced)),f},s=function(c,f){if(t.version>=61)return f(c);if(c=JSON.parse(JSON.stringify(c)),c&&typeof c.audio=="object"){let p=function(l,u,h){u in l&&!(h in l)&&(l[h]=l[u],delete l[u])};c=JSON.parse(JSON.stringify(c)),p(c.audio,"autoGainControl","googAutoGainControl"),p(c.audio,"noiseSuppression","googNoiseSuppression"),c.audio=r(c.audio)}if(c&&typeof c.video=="object"){let p=c.video.facingMode;p=p&&(typeof p=="object"?p:{ideal:p});let l=t.version<66;if(p&&(p.exact==="user"||p.exact==="environment"||p.ideal==="user"||p.ideal==="environment")&&!(i.mediaDevices.getSupportedConstraints&&i.mediaDevices.getSupportedConstraints().facingMode&&!l)){delete c.video.facingMode;let u;if(p.exact==="environment"||p.ideal==="environment"?u=["back","rear"]:(p.exact==="user"||p.ideal==="user")&&(u=["front"]),u)return i.mediaDevices.enumerateDevices().then(h=>{h=h.filter(E=>E.kind==="videoinput");let v=h.find(E=>u.some(A=>E.label.toLowerCase().includes(A)));return!v&&h.length&&u.includes("back")&&(v=h[h.length-1]),v&&(c.video.deviceId=p.exact?{exact:v.deviceId}:{ideal:v.deviceId}),c.video=r(c.video),ci("chrome: "+JSON.stringify(c)),f(c)})}c.video=r(c.video)}return ci("chrome: "+JSON.stringify(c)),f(c)},o=function(c){return t.version>=64?c:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[c.name]||c.name,message:c.message,constraint:c.constraint||c.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}},a=function(c,f,p){s(c,l=>{i.webkitGetUserMedia(l,f,u=>{p&&p(o(u))})})};if(i.getUserMedia=a.bind(i),i.mediaDevices.getUserMedia){let c=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(f){return s(f,p=>c(p).then(l=>{if(p.audio&&!l.getAudioTracks().length||p.video&&!l.getVideoTracks().length)throw l.getTracks().forEach(u=>{u.stop()}),new DOMException("","NotFoundError");return l},l=>Promise.reject(o(l))))}}}"use strict";function li(e,t){if(!(e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices)&&!!e.navigator.mediaDevices){if(typeof t!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}e.navigator.mediaDevices.getDisplayMedia=function(r){return t(r).then(s=>{let o=r.video&&r.video.width,a=r.video&&r.video.height,c=r.video&&r.video.frameRate;return r.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:s,maxFrameRate:c||3}},o&&(r.video.mandatory.maxWidth=o),a&&(r.video.mandatory.maxHeight=a),e.navigator.mediaDevices.getUserMedia(r)})}}}"use strict";function di(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function ui(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(i){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=i)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=r=>{r.stream.addEventListener("addtrack",s=>{let o;e.RTCPeerConnection.prototype.getReceivers?o=this.getReceivers().find(c=>c.track&&c.track.id===s.track.id):o={track:s.track};let a=new Event("track");a.track=s.track,a.receiver=o,a.transceiver={receiver:o},a.streams=[r.stream],this.dispatchEvent(a)}),r.stream.getTracks().forEach(s=>{let o;e.RTCPeerConnection.prototype.getReceivers?o=this.getReceivers().find(c=>c.track&&c.track.id===s.id):o={track:s};let a=new Event("track");a.track=s,a.receiver=o,a.transceiver={receiver:o},a.streams=[r.stream],this.dispatchEvent(a)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else se(e,"track",t=>(t.transceiver||Object.defineProperty(t,"transceiver",{value:{receiver:t.receiver}}),t))}function hi(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){let t=function(s,o){return{track:o,get dtmf(){return this._dtmf===void 0&&(o.kind==="audio"?this._dtmf=s.createDTMFSender(o):this._dtmf=null),this._dtmf},_pc:s}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let s=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(c,f){let p=s.apply(this,arguments);return p||(p=t(this,c),this._senders.push(p)),p};let o=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(c){o.apply(this,arguments);let f=this._senders.indexOf(c);f!==-1&&this._senders.splice(f,1)}}let i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(o){this._senders=this._senders||[],i.apply(this,[o]),o.getTracks().forEach(a=>{this._senders.push(t(this,a))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(o){this._senders=this._senders||[],r.apply(this,[o]),o.getTracks().forEach(a=>{let c=this._senders.find(f=>f.track===a);c&&this._senders.splice(this._senders.indexOf(c),1)})}}else if(typeof e=="object"&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let r=t.apply(this,[]);return r.forEach(s=>s._pc=this),r},Object.defineProperty(e.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 pi(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[r,s,o]=arguments;if(arguments.length>0&&typeof r=="function")return t.apply(this,arguments);if(t.length===0&&(arguments.length===0||typeof r!="function"))return t.apply(this,[]);let a=function(f){let p={};return f.result().forEach(u=>{let h={id:u.id,timestamp:u.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[u.type]||u.type};u.names().forEach(v=>{h[v]=u.stat(v)}),p[h.id]=h}),p},c=function(f){return new Map(Object.keys(f).map(p=>[p,f[p]]))};if(arguments.length>=2){let f=function(p){s(c(a(p)))};return t.apply(this,[f,r])}return new Promise((f,p)=>{t.apply(this,[function(l){f(c(a(l)))},p])}).then(s,o)}}function mi(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){let i=e.RTCPeerConnection.prototype.getSenders;i&&(e.RTCPeerConnection.prototype.getSenders=function(){let o=i.apply(this,[]);return o.forEach(a=>a._pc=this),o});let r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){let o=r.apply(this,arguments);return o._pc=this,o}),e.RTCRtpSender.prototype.getStats=function(){let o=this;return this._pc.getStats().then(a=>bt(a,o.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){let i=e.RTCPeerConnection.prototype.getReceivers;i&&(e.RTCPeerConnection.prototype.getReceivers=function(){let s=i.apply(this,[]);return s.forEach(o=>o._pc=this),s}),se(e,"track",r=>(r.receiver._pc=r.srcElement,r)),e.RTCRtpReceiver.prototype.getStats=function(){let s=this;return this._pc.getStats().then(o=>bt(o,s.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype&&"getStats"in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let r=arguments[0],s,o,a;return this.getSenders().forEach(c=>{c.track===r&&(s?a=!0:s=c)}),this.getReceivers().forEach(c=>(c.track===r&&(o?a=!0:o=c),c.track===r)),a||s&&o?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):s?s.getStats():o?o.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function fi(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(a=>this._shimmedLocalStreams[a][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(a,c){if(!c)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let f=t.apply(this,arguments);return this._shimmedLocalStreams[c.id]?this._shimmedLocalStreams[c.id].indexOf(f)===-1&&this._shimmedLocalStreams[c.id].push(f):this._shimmedLocalStreams[c.id]=[c,f],f};let i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(a){this._shimmedLocalStreams=this._shimmedLocalStreams||{},a.getTracks().forEach(p=>{if(this.getSenders().find(u=>u.track===p))throw new DOMException("Track already exists.","InvalidAccessError")});let c=this.getSenders();i.apply(this,arguments);let f=this.getSenders().filter(p=>c.indexOf(p)===-1);this._shimmedLocalStreams[a.id]=[a].concat(f)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(a){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[a.id],r.apply(this,arguments)};let s=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(a){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},a&&Object.keys(this._shimmedLocalStreams).forEach(c=>{let f=this._shimmedLocalStreams[c].indexOf(a);f!==-1&&this._shimmedLocalStreams[c].splice(f,1),this._shimmedLocalStreams[c].length===1&&delete this._shimmedLocalStreams[c]}),s.apply(this,arguments)}}function gi(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return fi(e);let i=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let l=i.apply(this);return this._reverseStreams=this._reverseStreams||{},l.map(u=>this._reverseStreams[u.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(l){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},l.getTracks().forEach(u=>{if(this.getSenders().find(v=>v.track===u))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[l.id]){let u=new e.MediaStream(l.getTracks());this._streams[l.id]=u,this._reverseStreams[u.id]=l,l=u}r.apply(this,[l])};let s=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(l){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},s.apply(this,[this._streams[l.id]||l]),delete this._reverseStreams[this._streams[l.id]?this._streams[l.id].id:l.id],delete this._streams[l.id]},e.RTCPeerConnection.prototype.addTrack=function(l,u){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");let h=[].slice.call(arguments,1);if(h.length!==1||!h[0].getTracks().find(A=>A===l))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(A=>A.track===l))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let E=this._streams[u.id];if(E)E.addTrack(l),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{let A=new e.MediaStream([l]);this._streams[u.id]=A,this._reverseStreams[A.id]=u,this.addStream(A)}return this.getSenders().find(A=>A.track===l)};function o(p,l){let u=l.sdp;return Object.keys(p._reverseStreams||[]).forEach(h=>{let v=p._reverseStreams[h],E=p._streams[v.id];u=u.replace(new RegExp(E.id,"g"),v.id)}),new RTCSessionDescription({type:l.type,sdp:u})}function a(p,l){let u=l.sdp;return Object.keys(p._reverseStreams||[]).forEach(h=>{let v=p._reverseStreams[h],E=p._streams[v.id];u=u.replace(new RegExp(v.id,"g"),E.id)}),new RTCSessionDescription({type:l.type,sdp:u})}["createOffer","createAnswer"].forEach(function(p){let l=e.RTCPeerConnection.prototype[p],u={[p](){let h=arguments;return arguments.length&&typeof arguments[0]=="function"?l.apply(this,[E=>{let A=o(this,E);h[0].apply(null,[A])},E=>{h[1]&&h[1].apply(null,E)},arguments[2]]):l.apply(this,arguments).then(E=>o(this,E))}};e.RTCPeerConnection.prototype[p]=u[p]});let c=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?c.apply(this,arguments):(arguments[0]=a(this,arguments[0]),c.apply(this,arguments))};let f=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){let p=f.get.apply(this);return p.type===""?p:o(this,p)}}),e.RTCPeerConnection.prototype.removeTrack=function(l){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!l._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(l._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};let h;Object.keys(this._streams).forEach(v=>{this._streams[v].getTracks().find(A=>l.track===A)&&(h=this._streams[v])}),h&&(h.getTracks().length===1?this.removeStream(this._reverseStreams[h.id]):h.removeTrack(l.track),this.dispatchEvent(new Event("negotiationneeded")))}}function Rt(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),!!e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(i){let r=e.RTCPeerConnection.prototype[i],s={[i](){return arguments[0]=new(i==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[i]=s[i]})}function vi(e,t){se(e,"negotiationneeded",i=>{let r=i.target;if(!((t.version<72||r.getConfiguration&&r.getConfiguration().sdpSemantics==="plan-b")&&r.signalingState!=="stable"))return i})}var it={};Ge(it,{shimAddTransceiver:()=>bi,shimCreateAnswer:()=>Ai,shimCreateOffer:()=>Ri,shimGetDisplayMedia:()=>Ti,shimGetParameters:()=>Pi,shimGetUserMedia:()=>At,shimOnTrack:()=>Si,shimPeerConnection:()=>It,shimRTCDataChannel:()=>Ci,shimReceiverGetStats:()=>yi,shimRemoveStream:()=>ki,shimSenderGetStats:()=>Ei});"use strict";function At(e,t){let i=e&&e.navigator,r=e&&e.MediaStreamTrack;if(i.getUserMedia=function(s,o,a){Re("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),i.mediaDevices.getUserMedia(s).then(o,a)},!(t.version>55&&"autoGainControl"in i.mediaDevices.getSupportedConstraints())){let s=function(a,c,f){c in a&&!(f in a)&&(a[f]=a[c],delete a[c])},o=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(a){return typeof a=="object"&&typeof a.audio=="object"&&(a=JSON.parse(JSON.stringify(a)),s(a.audio,"autoGainControl","mozAutoGainControl"),s(a.audio,"noiseSuppression","mozNoiseSuppression")),o(a)},r&&r.prototype.getSettings){let a=r.prototype.getSettings;r.prototype.getSettings=function(){let c=a.apply(this,arguments);return s(c,"mozAutoGainControl","autoGainControl"),s(c,"mozNoiseSuppression","noiseSuppression"),c}}if(r&&r.prototype.applyConstraints){let a=r.prototype.applyConstraints;r.prototype.applyConstraints=function(c){return this.kind==="audio"&&typeof c=="object"&&(c=JSON.parse(JSON.stringify(c)),s(c,"autoGainControl","mozAutoGainControl"),s(c,"noiseSuppression","mozNoiseSuppression")),a.apply(this,[c])}}}}"use strict";function Ti(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||!e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!(r&&r.video)){let s=new DOMException("getDisplayMedia without video constraints is undefined");return s.name="NotFoundError",s.code=8,Promise.reject(s)}return r.video===!0?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})}"use strict";function Si(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function It(e,t){if(typeof e!="object"||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(s){let o=e.RTCPeerConnection.prototype[s],a={[s](){return arguments[0]=new(s==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),o.apply(this,arguments)}};e.RTCPeerConnection.prototype[s]=a[s]});let i={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[o,a,c]=arguments;return r.apply(this,[o||null]).then(f=>{if(t.version<53&&!a)try{f.forEach(p=>{p.type=i[p.type]||p.type})}catch(p){if(p.name!=="TypeError")throw p;f.forEach((l,u)=>{f.set(u,Object.assign({},l,{type:i[l.type]||l.type}))})}return f}).then(a,c)}}function Ei(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let s=t.apply(this,[]);return s.forEach(o=>o._pc=this),s});let i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){let s=i.apply(this,arguments);return s._pc=this,s}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function yi(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let r=t.apply(this,[]);return r.forEach(s=>s._pc=this),r}),se(e,"track",i=>(i.receiver._pc=i.srcElement,i)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function ki(e){!e.RTCPeerConnection||"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(i){Re("removeStream","removeTrack"),this.getSenders().forEach(r=>{r.track&&i.getTracks().includes(r.track)&&this.removeTrack(r)})})}function Ci(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function bi(e){if(!(typeof e=="object"&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let r=arguments[1],s=r&&"sendEncodings"in r;s&&r.sendEncodings.forEach(a=>{if("rid"in a&&!/^[a-z0-9]{0,16}$/i.test(a.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in a&&!(parseFloat(a.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in a&&!(parseFloat(a.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});let o=t.apply(this,arguments);if(s){let{sender:a}=o,c=a.getParameters();(!("encodings"in c)||c.encodings.length===1&&Object.keys(c.encodings[0]).length===0)&&(c.encodings=r.sendEncodings,a.sendEncodings=r.sendEncodings,this.setParametersPromises.push(a.setParameters(c).then(()=>{delete a.sendEncodings}).catch(()=>{delete a.sendEncodings})))}return o})}function Pi(e){if(!(typeof e=="object"&&e.RTCRtpSender))return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let r=t.apply(this,arguments);return"encodings"in r||(r.encodings=[].concat(this.sendEncodings||[{}])),r})}function Ri(e){if(!(typeof e=="object"&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function Ai(e){if(!(typeof e=="object"&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var rt={};Ge(rt,{shimAudioContext:()=>xi,shimCallbacksAPI:()=>Di,shimConstraints:()=>Li,shimCreateOfferLegacy:()=>Ni,shimGetUserMedia:()=>Mi,shimLocalStreamsAPI:()=>Ii,shimRTCIceServerUrls:()=>Oi,shimRemoteStreamsAPI:()=>_i,shimTrackEventTransceiver:()=>wi});"use strict";function Ii(e){if(!(typeof e!="object"||!e.RTCPeerConnection)){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(r){this._localStreams||(this._localStreams=[]),this._localStreams.includes(r)||this._localStreams.push(r),r.getAudioTracks().forEach(s=>t.call(this,s,r)),r.getVideoTracks().forEach(s=>t.call(this,s,r))},e.RTCPeerConnection.prototype.addTrack=function(r,...s){return s&&s.forEach(o=>{this._localStreams?this._localStreams.includes(o)||this._localStreams.push(o):this._localStreams=[o]}),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(i){this._localStreams||(this._localStreams=[]);let r=this._localStreams.indexOf(i);if(r===-1)return;this._localStreams.splice(r,1);let s=i.getTracks();this.getSenders().forEach(o=>{s.includes(o.track)&&this.removeTrack(o)})})}}function _i(e){if(!(typeof e!="object"||!e.RTCPeerConnection)&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(i){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=i),this.addEventListener("track",this._onaddstreampoly=r=>{r.streams.forEach(s=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(s))return;this._remoteStreams.push(s);let o=new Event("addstream");o.stream=s,this.dispatchEvent(o)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let r=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(s){s.streams.forEach(o=>{if(r._remoteStreams||(r._remoteStreams=[]),r._remoteStreams.indexOf(o)>=0)return;r._remoteStreams.push(o);let a=new Event("addstream");a.stream=o,r.dispatchEvent(a)})}),t.apply(r,arguments)}}}function Di(e){if(typeof e!="object"||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,i=t.createOffer,r=t.createAnswer,s=t.setLocalDescription,o=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(p,l){let u=arguments.length>=2?arguments[2]:arguments[0],h=i.apply(this,[u]);return l?(h.then(p,l),Promise.resolve()):h},t.createAnswer=function(p,l){let u=arguments.length>=2?arguments[2]:arguments[0],h=r.apply(this,[u]);return l?(h.then(p,l),Promise.resolve()):h};let c=function(f,p,l){let u=s.apply(this,[f]);return l?(u.then(p,l),Promise.resolve()):u};t.setLocalDescription=c,c=function(f,p,l){let u=o.apply(this,[f]);return l?(u.then(p,l),Promise.resolve()):u},t.setRemoteDescription=c,c=function(f,p,l){let u=a.apply(this,[f]);return l?(u.then(p,l),Promise.resolve()):u},t.addIceCandidate=c}function Mi(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let i=t.mediaDevices,r=i.getUserMedia.bind(i);t.mediaDevices.getUserMedia=s=>r(Li(s))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(r,s,o){t.mediaDevices.getUserMedia(r).then(s,o)}.bind(t))}function Li(e){return e&&e.video!==void 0?Object.assign({},e,{video:kt(e.video)}):e}function Oi(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(r,s){if(r&&r.iceServers){let o=[];for(let a=0;a<r.iceServers.length;a++){let c=r.iceServers[a];!c.hasOwnProperty("urls")&&c.hasOwnProperty("url")?(Re("RTCIceServer.url","RTCIceServer.urls"),c=JSON.parse(JSON.stringify(c)),c.urls=c.url,delete c.url,o.push(c)):o.push(r.iceServers[a])}r.iceServers=o}return new t(r,s)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get(){return t.generateCertificate}})}function wi(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function Ni(e){let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(r){if(r){typeof r.offerToReceiveAudio!="undefined"&&(r.offerToReceiveAudio=!!r.offerToReceiveAudio);let s=this.getTransceivers().find(a=>a.receiver.track.kind==="audio");r.offerToReceiveAudio===!1&&s?s.direction==="sendrecv"?s.setDirection?s.setDirection("sendonly"):s.direction="sendonly":s.direction==="recvonly"&&(s.setDirection?s.setDirection("inactive"):s.direction="inactive"):r.offerToReceiveAudio===!0&&!s&&this.addTransceiver("audio"),typeof r.offerToReceiveVideo!="undefined"&&(r.offerToReceiveVideo=!!r.offerToReceiveVideo);let o=this.getTransceivers().find(a=>a.receiver.track.kind==="video");r.offerToReceiveVideo===!1&&o?o.direction==="sendrecv"?o.setDirection?o.setDirection("sendonly"):o.direction="sendonly":o.direction==="recvonly"&&(o.setDirection?o.setDirection("inactive"):o.direction="inactive"):r.offerToReceiveVideo===!0&&!o&&this.addTransceiver("video")}return t.apply(this,arguments)}}function xi(e){typeof e!="object"||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Ot={};Ge(Ot,{removeExtmapAllowMixed:()=>Lt,shimAddIceCandidateNullOrEmpty:()=>ot,shimConnectionState:()=>Mt,shimMaxMessageSize:()=>nt,shimParameterlessSetLocalDescription:()=>ct,shimRTCIceCandidate:()=>st,shimSendThrowTypeError:()=>at});var He=U(Dt());"use strict";function st(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;let t=e.RTCIceCandidate;e.RTCIceCandidate=function(r){if(typeof r=="object"&&r.candidate&&r.candidate.indexOf("a=")===0&&(r=JSON.parse(JSON.stringify(r)),r.candidate=r.candidate.substr(2)),r.candidate&&r.candidate.length){let s=new t(r),o=He.default.parseCandidate(r.candidate),a=Object.assign(s,o);return a.toJSON=function(){return{candidate:a.candidate,sdpMid:a.sdpMid,sdpMLineIndex:a.sdpMLineIndex,usernameFragment:a.usernameFragment}},a}return new t(r)},e.RTCIceCandidate.prototype=t.prototype,se(e,"icecandidate",i=>(i.candidate&&Object.defineProperty(i,"candidate",{value:new e.RTCIceCandidate(i.candidate),writable:"false"}),i))}function nt(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return typeof this._sctp=="undefined"?null:this._sctp}});let i=function(c){if(!c||!c.sdp)return!1;let f=He.default.splitSections(c.sdp);return f.shift(),f.some(p=>{let l=He.default.parseMLine(p);return l&&l.kind==="application"&&l.protocol.indexOf("SCTP")!==-1})},r=function(c){let f=c.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(f===null||f.length<2)return-1;let p=parseInt(f[1],10);return p!==p?-1:p},s=function(c){let f=65536;return t.browser==="firefox"&&(t.version<57?c===-1?f=16384:f=2147483637:t.version<60?f=t.version===57?65535:65536:f=2147483637),f},o=function(c,f){let p=65536;t.browser==="firefox"&&t.version===57&&(p=65535);let l=He.default.matchPrefix(c.sdp,"a=max-message-size:");return l.length>0?p=parseInt(l[0].substr(19),10):t.browser==="firefox"&&f!==-1&&(p=2147483637),p},a=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,t.browser==="chrome"&&t.version>=76){let{sdpSemantics:f}=this.getConfiguration();f==="plan-b"&&Object.defineProperty(this,"sctp",{get(){return typeof this._sctp=="undefined"?null:this._sctp},enumerable:!0,configurable:!0})}if(i(arguments[0])){let f=r(arguments[0]),p=s(f),l=o(arguments[0],f),u;p===0&&l===0?u=Number.POSITIVE_INFINITY:p===0||l===0?u=Math.max(p,l):u=Math.min(p,l);let h={};Object.defineProperty(h,"maxMessageSize",{get(){return u}}),this._sctp=h}return a.apply(this,arguments)}}function at(e){if(!(e.RTCPeerConnection&&"createDataChannel"in e.RTCPeerConnection.prototype))return;function t(r,s){let o=r.send;r.send=function(){let c=arguments[0],f=c.length||c.size||c.byteLength;if(r.readyState==="open"&&s.sctp&&f>s.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+s.sctp.maxMessageSize+" bytes)");return o.apply(r,arguments)}}let i=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){let s=i.apply(this,arguments);return t(s,this),s},se(e,"datachannel",r=>(t(r.channel,r.target),r))}function Mt(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;let t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(i){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),i&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=i)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(i=>{let r=t[i];t[i]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=s=>{let o=s.target;if(o._lastConnectionState!==o.connectionState){o._lastConnectionState=o.connectionState;let a=new Event("connectionstatechange",s);o.dispatchEvent(a)}return s},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function Lt(e,t){if(!e.RTCPeerConnection||t.browser==="chrome"&&t.version>=71||t.browser==="safari"&&t.version>=605)return;let i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(s){if(s&&s.sdp&&s.sdp.indexOf(`
35
+ a=extmap-allow-mixed`)!==-1){let o=s.sdp.split(`
36
+ `).filter(a=>a.trim()!=="a=extmap-allow-mixed").join(`
37
+ `);e.RTCSessionDescription&&s instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:s.type,sdp:o}):s.sdp=o}return i.apply(this,arguments)}}function ot(e,t){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let i=e.RTCPeerConnection.prototype.addIceCandidate;!i||i.length===0||(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(t.browser==="chrome"&&t.version<78||t.browser==="firefox"&&t.version<68||t.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():i.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function ct(e,t){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let i=e.RTCPeerConnection.prototype.setLocalDescription;!i||i.length===0||(e.RTCPeerConnection.prototype.setLocalDescription=function(){let s=arguments[0]||{};if(typeof s!="object"||s.type&&s.sdp)return i.apply(this,arguments);if(s={type:s.type,sdp:s.sdp},!s.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":s.type="offer";break;default:s.type="answer";break}return s.sdp||s.type!=="offer"&&s.type!=="answer"?i.apply(this,[s]):(s.type==="offer"?this.createOffer:this.createAnswer).apply(this).then(a=>i.apply(this,[a]))})}var Yr=U(Dt());function Ui({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){let i=et,r=ai(e),s={browserDetails:r,commonShim:Ot,extractVersion:Be,disableLog:si,disableWarnings:ni,sdp:Yr};switch(r.browser){case"chrome":if(!tt||!Rt||!t.shimChrome)return i("Chrome shim is not included in this adapter release."),s;if(r.version===null)return i("Chrome shim can not determine version, not shimming."),s;i("adapter.js shimming chrome."),s.browserShim=tt,ot(e,r),ct(e,r),Pt(e,r),di(e,r),Rt(e,r),ui(e,r),gi(e,r),hi(e,r),pi(e,r),mi(e,r),vi(e,r),st(e,r),Mt(e,r),nt(e,r),at(e,r),Lt(e,r);break;case"firefox":if(!it||!It||!t.shimFirefox)return i("Firefox shim is not included in this adapter release."),s;i("adapter.js shimming firefox."),s.browserShim=it,ot(e,r),ct(e,r),At(e,r),It(e,r),Si(e,r),ki(e,r),Ei(e,r),yi(e,r),Ci(e,r),bi(e,r),Pi(e,r),Ri(e,r),Ai(e,r),st(e,r),Mt(e,r),nt(e,r),at(e,r);break;case"safari":if(!rt||!t.shimSafari)return i("Safari shim is not included in this adapter release."),s;i("adapter.js shimming safari."),s.browserShim=rt,ot(e,r),ct(e,r),Oi(e,r),Ni(e,r),Di(e,r),Ii(e,r),_i(e,r),wi(e,r),Mi(e,r),xi(e,r),st(e,r),nt(e,r),at(e,r),Lt(e,r);break;default:i("Unsupported browser!");break}return s}"use strict";var Qr=Ui({window:typeof window=="undefined"?void 0:window}),lt=Qr;var sr=U(Ki()),mr=U(Wi());var ut,as=new Uint8Array(16);function xt(){if(!ut&&(ut=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!ut))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ut(as)}var qi=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function os(e){return typeof e=="string"&&qi.test(e)}var zi=os;var J=[];for(ht=0;ht<256;++ht)J.push((ht+256).toString(16).substr(1));var ht;function cs(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=(J[e[t+0]]+J[e[t+1]]+J[e[t+2]]+J[e[t+3]]+"-"+J[e[t+4]]+J[e[t+5]]+"-"+J[e[t+6]]+J[e[t+7]]+"-"+J[e[t+8]]+J[e[t+9]]+"-"+J[e[t+10]]+J[e[t+11]]+J[e[t+12]]+J[e[t+13]]+J[e[t+14]]+J[e[t+15]]).toLowerCase();if(!zi(i))throw TypeError("Stringified UUID is invalid");return i}var Ji=cs;function ls(e,t,i){e=e||{};var r=e.random||(e.rng||xt)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){i=i||0;for(var s=0;s<16;++s)t[i+s]=r[s];return t}return Ji(r)}var Ut=ls;var Ts=U(Ke());var Es=U(Ke()),Rs=U(Ke());var As=U(Ke()),ds=Object.defineProperty,us=Object.defineProperties,hs=Object.getOwnPropertyDescriptors,Zi=Object.getOwnPropertySymbols,ps=Object.prototype.hasOwnProperty,ms=Object.prototype.propertyIsEnumerable,Xi=(e,t,i)=>t in e?ds(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,pt=(e,t)=>{for(var i in t||(t={}))ps.call(t,i)&&Xi(e,i,t[i]);if(Zi)for(var i of Zi(t))ms.call(t,i)&&Xi(e,i,t[i]);return e},er=(e,t)=>us(e,hs(t));var tr;(function(e){e[e.VERBOSE=0]="VERBOSE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.TIME=4]="TIME",e[e.TIMEEND=5]="TIMEEND",e[e.ERROR=6]="ERROR",e[e.NONE=7]="NONE"})(tr||(tr={}));var ir,We=class{static v(e,...t){this.log(0,e,...t)}static d(e,...t){this.log(1,e,...t)}static i(e,...t){this.log(2,e,...t)}static w(e,...t){this.log(3,e,...t)}static e(e,...t){this.log(6,e,...t)}static time(e){this.log(4,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(5,"[HMSPerformanceTiming]",e,e)}static cleanUp(){performance.clearMarks(),performance.clearMeasures()}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case 0:{console.log(t,...i);break}case 1:{console.debug(t,...i);break}case 2:{console.info(t,...i);break}case 3:{console.warn(t,...i);break}case 6:{console.error(t,...i);break}case 4:{performance.mark(i[0]);break}case 5:{let r=i[0];try{let s=performance.measure(r,r);this.log(1,t,r,s==null?void 0:s.duration),performance.clearMarks(r),performance.clearMeasures(r)}catch(s){this.log(1,t,r,s)}break}}}};We.level=((ir=process==null?void 0:process.env)==null?void 0:ir.NODE_ENV)==="test"?7:0;var rr;(function(e){e[e.Publish=0]="Publish",e[e.Subscribe=1]="Subscribe"})(rr||(rr={}));var nr;(function(e){e.NONE="NONE",e.TRACK="TRACK",e.INIT="INIT",e.PUBLISH="PUBLISH",e.UNPUBLISH="UNPUBLISH",e.JOIN="JOIN",e.SUBSCRIBE="SUBSCRIBE",e.DATA_CHANNEL_SEND="DATA_CHANNEL_SEND",e.RESTART_ICE="RESTART_ICE",e.VIDEO_PLUGINS="VIDEO_PLUGINS",e.AUDIO_PLUGINS="AUDIO_PLUGINS",e.AUTOPLAY="AUTOPLAY",e.RECONNECT_SIGNAL="RECONNECT_SIGNAL",e.VALIDATION="VALIDATION",e.PLAYLIST="PLAYLIST",e.PREVIEW="PREVIEW"})(nr||(nr={}));var fs=100;var ar;(function(e){e[e.PEER_ADDED=0]="PEER_ADDED",e[e.PEER_REMOVED=1]="PEER_REMOVED",e[e.PEER_KNOCKED=2]="PEER_KNOCKED",e[e.ROOM_TYPE_CHANGED=3]="ROOM_TYPE_CHANGED",e[e.METADATA_UPDATED=4]="METADATA_UPDATED",e[e.SCREENSHARE_STARTED=5]="SCREENSHARE_STARTED",e[e.SCREENSHARE_STOPPED=6]="SCREENSHARE_STOPPED",e[e.DEFAULT_UPDATE=7]="DEFAULT_UPDATE",e[e.RECORDING_STATE_UPDATED=8]="RECORDING_STATE_UPDATED",e[e.BROWSER_RECORDING_STATE_UPDATED=9]="BROWSER_RECORDING_STATE_UPDATED",e[e.SERVER_RECORDING_STATE_UPDATED=10]="SERVER_RECORDING_STATE_UPDATED",e[e.RTMP_STREAMING_STATE_UPDATED=11]="RTMP_STREAMING_STATE_UPDATED",e[e.HLS_STREAMING_STATE_UPDATED=12]="HLS_STREAMING_STATE_UPDATED"})(ar||(ar={}));var or;(function(e){e[e.PEER_JOINED=0]="PEER_JOINED",e[e.PEER_LEFT=1]="PEER_LEFT",e[e.AUDIO_TOGGLED=2]="AUDIO_TOGGLED",e[e.VIDEO_TOGGLED=3]="VIDEO_TOGGLED",e[e.BECAME_DOMINANT_SPEAKER=4]="BECAME_DOMINANT_SPEAKER",e[e.RESIGNED_DOMINANT_SPEAKER=5]="RESIGNED_DOMINANT_SPEAKER",e[e.STARTED_SPEAKING=6]="STARTED_SPEAKING",e[e.STOPPED_SPEAKING=7]="STOPPED_SPEAKING",e[e.ROLE_UPDATED=8]="ROLE_UPDATED",e[e.PEER_LIST=9]="PEER_LIST",e[e.NAME_UPDATED=10]="NAME_UPDATED",e[e.METADATA_UPDATED=11]="METADATA_UPDATED"})(or||(or={}));var cr;(function(e){e[e.TRACK_ADDED=0]="TRACK_ADDED",e[e.TRACK_REMOVED=1]="TRACK_REMOVED",e[e.TRACK_MUTED=2]="TRACK_MUTED",e[e.TRACK_UNMUTED=3]="TRACK_UNMUTED",e[e.TRACK_DESCRIPTION_CHANGED=4]="TRACK_DESCRIPTION_CHANGED",e[e.TRACK_DEGRADED=5]="TRACK_DEGRADED",e[e.TRACK_RESTORED=6]="TRACK_RESTORED"})(cr||(cr={}));var lr;(function(e){e[e.DEFAULT=0]="DEFAULT"})(lr||(lr={}));var qe;(function(e){e.NONE="none",e.LOW="low",e.MEDIUM="medium",e.HIGH="high"})(qe||(qe={}));var _n={f:qe.HIGH,h:qe.MEDIUM,q:qe.LOW},dr;(function(e){e.VP8="vp8",e.VP9="vp9",e.H264="h264"})(dr||(dr={}));var ur;(function(e){e.OPUS="opus"})(ur||(ur={}));var hr;(function(e){e.audio="audio",e.video="video"})(hr||(hr={}));var pr;(function(e){e.AUDIO="audio",e.VIDEO="video"})(pr||(pr={}));var Gt="0.1.40-alpha.4",mt=new mr.UAParser,fr,gr=typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null&&!((fr=mt.getBrowser().name)==null?void 0:fr.toLowerCase().includes("electron")),ft=typeof window!="undefined",gs=()=>!gr,Dn=gs();function vs(){if(gr)return`hmsclient/${Gt}`;let e=mt.getDevice(),t=mt.getBrowser(),i=mt.getOS();return e.type?`hmsclient/${Gt} ${i.name}/${i.version} (${e.vendor}_${e.type}_/_${t.name}_${t.version})`:`hmsclient/${Gt} ${i.name}/${i.version} (${t.name}_${t.version})`}var Mn=vs();var vr;(function(e){e.JOIN="join",e.OFFER="offer",e.ANSWER="answer",e.TRICKLE="trickle",e.TRACK_UPDATE="track-update",e.BROADCAST="broadcast",e.ANALYTICS="analytics",e.SERVER_ERROR="on-error",e.SERVER_WARNING="on-warning",e.SDK_NOTIFICATION="sdk-notification",e.LEAVE="leave",e.END_ROOM="end-room",e.PING="ping",e.ROLE_CHANGE_REQUEST="role-change-request",e.ROLE_CHANGE="role-change",e.TRACK_UPDATE_REQUEST="track-update-request",e.PEER_LEAVE_REQUEST="peer-leave-request",e.CHANGE_TRACK_MUTE_STATE_REQUEST="change-track-mute-state-request",e.START_RTMP_OR_RECORDING_REQUEST="rtmp-start",e.STOP_RTMP_AND_RECORDING_REQUEST="rtmp-stop",e.UPDATE_PEER_METADATA="peer-update",e.START_HLS_STREAMING="hls-start",e.STOP_HLS_STREAMING="hls-stop"})(vr||(vr={}));var Tr;(function(e){e.PEER_JOIN="on-peer-join",e.PEER_LEAVE="on-peer-leave",e.PEER_LIST="peer-list",e.TRACK_METADATA_ADD="on-track-add",e.TRACK_UPDATE="on-track-update",e.CHANGE_TRACK_MUTE_STATE_UPDATE="on-change-track-mute-state-request",e.ACTIVE_SPEAKERS="active-speakers",e.BROADCAST="on-broadcast",e.ROLE_CHANGE="on-role-change",e.POLICY_CHANGE="on-policy-change",e.ROLE_CHANGE_REQUEST="on-role-change-request",e.TRACK_UPDATE_REQUEST="on-track-update-request",e.PEER_UPDATE="on-peer-update",e.PEER_LEAVE_REQUEST="on-peer-leave-request",e.UNSUPPORTED="unsupported",e.RTMP_START="on-rtmp-start",e.RTMP_STOP="on-rtmp-stop",e.RECORDING_START="on-record-start",e.RECORDING_STOP="on-record-stop",e.HLS_START="on-hls-start",e.HLS_STOP="on-hls-stop"})(Tr||(Tr={}));var Ss=class{};Ss.makePeerId=()=>Ut();var Sr;(function(e){e.AUDIO="audio",e.VIDEO="video",e.AV="audio, video",e.SCREEN="screen"})(Sr||(Sr={}));var Er;(function(e){e.TRANSFORM="TRANSFORM",e.ANALYZE="ANALYZE"})(Er||(Er={}));var Ie;(function(e){e.CUSTOM="CUSTOM",e.LOCAL="LOCAL",e.HMS="HMS"})(Ie||(Ie={}));function ys(){if(ft&&window){let e=window.location.hostname;return e==="localhost"||e==="127.0.0.1"?Ie.LOCAL:e.includes("app.100ms.live")?Ie.HMS:Ie.CUSTOM}return Ie.CUSTOM}var ks=ys(),ie=class{constructor({name:e,level:t,properties:i,includesPII:r,timestamp:s}){this.name=e,this.level=t,this.includesPII=r||!1,this.properties=i||{},this.timestamp=s||new Date().getTime()}toSignalParams(){return{name:this.name,info:er(pt({},this.properties),{timestamp:this.timestamp,domain:ks}),timestamp:new Date().getTime()}}},Ft;(function(e){e[e.VERBOSE=0]="VERBOSE",e[e.INFO=1]="INFO",e[e.ERROR=2]="ERROR",e[e.OFF=3]="OFF"})(Ft||(Ft={}));var Y;(function(e){e[e.VERBOSE=0]="VERBOSE",e[e.INFO=1]="INFO",e[e.ERROR=2]="ERROR",e[e.OFF=3]="OFF"})(Y||(Y={}));var Vt="AnalyticsEventsService",Cs=class{constructor(){this.bufferSize=fs,this.transports=[],this.pendingEvents=[],this.level=Ft.INFO}addTransport(e){this.transports.push(e)}removeTransport(e){this.transports.splice(this.transports.indexOf(e),1)}queue(e){if(e.level>=this.level&&(this.pendingEvents.push(e),this.pendingEvents.length>this.bufferSize)){let t=this.pendingEvents.shift();We.d(Vt,"Max buffer size reached","Removed event to accommodate new events",t)}return this}flush(){if(this.transports.length===0){We.w(Vt,"No valid signalling API found to flush analytics");return}try{for(;this.pendingEvents.length>0;){let e=this.pendingEvents.shift();e&&this.transports.forEach(t=>t.sendEvent(e))}}catch(e){We.w(Vt,"Flush Failed",e)}}},wn=new Cs;var bs=class{constructor(e){this.key=e,this.storage=null}getStorage(){return ft&&(this.storage=window.localStorage),this.storage}get(){var e;let t=(e=this.getStorage())==null?void 0:e.getItem(this.key);return t?JSON.parse(t):void 0}set(e){var t;let i=JSON.stringify(e);(t=this.getStorage())==null||t.setItem(this.key,i)}clear(){var e;(e=this.getStorage())==null||e.removeItem(this.key)}},Ps=class{constructor(){this.storage=new bs("hms-device-selection"),this.remember=!1}setDevices(e){this.devices=e}rememberDevices(e){this.remember=e}updateSelection(e,{deviceId:t,groupId:i}){if(!this.devices||!this.remember)return;let r=this.devices[e].find(o=>this.isSame({deviceId:t,groupId:i},o));if(!r)return;let s=this.storage.get()||{};s[e]=r,this.storage.set(s)}getSelection(){if(this.remember)return this.storage.get()}cleanup(){this.remember=!1,this.devices=void 0}isSame(e,t){return e.deviceId===t.deviceId&&(e.groupId===t.groupId||!e.groupId)}},Nn=new Ps;var yr;(function(e){e.TRANSFORM="TRANSFORM",e.ANALYZE="ANALYZE"})(yr||(yr={}));var kr=class{static connect(e,t=new Date,i=new Date,r){let s=this.eventNameFor("connect",e===void 0),o=e?Y.ERROR:Y.INFO,a=this.getPropertiesWithError({[this.KEY_REQUESTED_AT]:t==null?void 0:t.getTime(),[this.KEY_RESPONDED_AT]:i==null?void 0:i.getTime(),endpoint:r},e);return new ie({name:s,level:o,properties:a})}static disconnect(e){let t="disconnected",i=e?Y.ERROR:Y.INFO,r=this.getPropertiesWithError({},e);return new ie({name:t,level:i,properties:r})}static join(e,t,i){let r=this.eventNameFor("join",i===void 0),s=i?Y.ERROR:Y.INFO,o=this.getPropertiesWithError({[this.KEY_REQUESTED_AT]:e.getTime(),[this.KEY_RESPONDED_AT]:t.getTime()},i);return new ie({name:r,level:s,properties:o})}static publish({devices:e,settings:t,error:i}){let r=this.eventNameFor("publish",i===void 0),s=i?Y.ERROR:Y.INFO,o=this.getPropertiesWithError({devices:e,audio:t==null?void 0:t.audio,video:t==null?void 0:t.video},i);return new ie({name:r,level:s,properties:o})}static subscribeFail(e){let t=this.eventNameFor("subscribe",!1),i=Y.ERROR,r=e.toAnalyticsProperties();return new ie({name:t,level:i,properties:r})}static leave(){return new ie({name:"leave",level:Y.INFO})}static deviceChange({selection:e,type:t,devices:i,error:r}){let s=this.eventNameFor(r?"publish":`device.${t}`,r===void 0),o=r?Y.ERROR:Y.INFO,a=this.getPropertiesWithError({selection:e,devices:i},r);return new ie({name:s,level:o,properties:a})}static performance(e){let t="perf.stats",i=Y.INFO,r=e.toAnalyticsProperties();return new ie({name:t,level:i,properties:r})}static rtcStats(e){let t="rtc.stats",i=Y.INFO,r=e.toAnalyticsProperties();return new ie({name:t,level:i,properties:r})}static degradationStats(e,t){let i="video.degradation.stats",r=Y.INFO,s={degradedAt:e.degradedAt,trackId:e.trackId};if(!t&&e.degradedAt instanceof Date){let o=new Date,a=o.valueOf()-e.degradedAt.valueOf();s=er(pt({},s),{duration:a,restoredAt:o})}return new ie({name:i,level:r,properties:s})}static eventNameFor(e,t){return`${e}.${t?"success":"failed"}`}static getPropertiesWithError(e,t){return t&&(e=pt(pt({},t.toAnalyticsProperties()),e)),e}};kr.KEY_REQUESTED_AT="requested_at",kr.KEY_RESPONDED_AT="responded_at";var Cr;(function(e){e[e.Disconnected=0]="Disconnected",e[e.Connecting=1]="Connecting",e[e.Joined=2]="Joined",e[e.Failed=3]="Failed",e[e.Reconnecting=4]="Reconnecting",e[e.Leaving=5]="Leaving"})(Cr||(Cr={}));var br;(function(e){e[e.ConnectFailed=0]="ConnectFailed",e[e.SignalDisconnect=1]="SignalDisconnect",e[e.PublishIceConnectionFailed=2]="PublishIceConnectionFailed",e[e.SubscribeIceConnectionFailed=3]="SubscribeIceConnectionFailed"})(br||(br={}));var xn={[0]:[],[1]:[],[2]:[1],[3]:[1]};We.i("adapter",`${lt.browserDetails.browser} v${lt.browserDetails.version}`);var X=U(require("@100mslive/hms-video-store")),gt=U(require("react"));var Pr=(e,t="preview")=>{let[i,r]=(0,gt.useState)(!1),s=ee(),o=B(X.selectLocalPeer),a=B(X.selectRoomState),c=B(X.selectIsLocalAudioEnabled),f=B(X.selectIsLocalVideoDisplayEnabled),p=B(X.selectIsAllowedToPublish),l=i||a!==X.HMSRoomState.Preview;return(0,gt.useEffect)(()=>{a===X.HMSRoomState.Disconnected&&s.preview({userName:t,authToken:e}),ft&&(window.onunload=()=>s.leave())},[a,s,e]),{localPeer:o,roomState:a,audioEnabled:c,videoEnabled:f,isAllowedToPublish:p,disableJoin:l,actions:s,setInProgress:r}};var ue=U(require("@100mslive/hms-video-store")),vt=U(require("react"));var Rr=e=>{let t=ee(),i=(0,vt.useRef)(null),r=B((0,ue.selectVideoTrackByPeerID)(e.id)),s=B((0,ue.selectIsPeerAudioEnabled)(e.id)),o=B((0,ue.selectIsPeerVideoEnabled)(e.id)),{isLocal:a,name:c}=e,f=B((0,ue.selectPeerAudioByID)(e.id))>0;return(0,vt.useEffect)(()=>{i.current&&r&&(r.enabled?t.attachVideo(r.id,i.current):t.detachVideo(r.id,i.current))},[r,t]),{videoRef:i,isAudioOn:s,isVideoOn:o,actions:t,isLocal:a,name:c,audioLevel:f}};var Ar=U(require("@100mslive/hms-video-store")),Tt=U(require("react"));var Ir=({maxTileCount:e,maxColCount:t,maxRowCount:i,width:r,height:s,showScreenFn:o=()=>!1,peers:a,overflow:c="scroll-x",aspectRatio:f})=>{let l=Pe().getState(Ar.selectTracksMap),u=ti(a,l,o),h=(0,Tt.useMemo)(()=>f||{width:Ze(u)||1,height:1},[f,u]),v=u.length,{tilesInFirstPage:E,defaultWidth:A,defaultHeight:q,lastPageWidth:I,lastPageHeight:_,isLastPageDifferentFromFirstPage:z}=(0,Tt.useMemo)(()=>Xe({count:v,parentWidth:Math.floor(r),parentHeight:Math.floor(s),maxTileCount:e,maxRowCount:i,maxColCount:t,aspectRatio:h}),[v,r,s,e,i,t,h]);return{chunkedTracksWithPeer:(0,Tt.useMemo)(()=>Qe({elements:u,tilesInFirstPage:E,onlyOnePage:c==="hidden",isLastPageDifferentFromFirstPage:z,defaultWidth:A,defaultHeight:q,lastPageWidth:I,lastPageHeight:_}),[u,E,c,z,A,q,I,_])}};var _e=U(require("@100mslive/hms-video-store")),Bt=U(require("react"));var _r=()=>{let e=B(_e.selectIsLocalAudioEnabled),t=B(_e.selectIsLocalVideoEnabled),i=B(_e.selectIsAllowedToPublish),r=ee(),s=(0,Bt.useCallback)(()=>Fe(void 0,null,function*(){try{yield r.setLocalAudioEnabled(!e)}catch(a){console.error("Cannot toggle audio",a)}}),[e]),o=(0,Bt.useCallback)(()=>Fe(void 0,null,function*(){try{yield r.setLocalVideoEnabled(!t)}catch(a){console.error("Cannot toggle video",a)}}),[t]);return{isLocalAudioEnabled:e,isLocalVideoEnabled:t,toggleAudio:s,toggleVideo:o,isAllowedToPublish:i}};var he=U(require("@100mslive/hms-video-store"));var Dr=()=>{let e=ee(),t=B(he.selectDevices),i=B(he.selectLocalMediaSettings),{video:r,audio:s}=B(he.selectIsAllowedToPublish),o=B(he.selectIsAllowedToSubscribe),a=u=>{let h=u.currentTarget.value,{name:v}=u.currentTarget;if(h!==i[v])switch(v){case"audioInputDeviceId":e.setAudioSettings({deviceId:h});break;case"videoInputDeviceId":e.setVideoSettings({deviceId:h});break;case"audioOutputDeviceId":e.setAudioOutputDevice(h);break;default:break}},c=t.videoInput||[],f=t.audioInput||[],p=t.audioOutput||[];return[r,s,o].some(u=>!!u)?{showVideo:r,videoInput:c,showAudio:s,audioInput:f,audioOutput:p,isSubscribing:o,selectedDevices:i,handleInputChange:a}:null};var Mr=U(require("@100mslive/hms-video-store")),De=U(require("react")),Lr=U(require("react-intersection-observer"));var Or=e=>{let t=ee(),i=(0,De.useRef)(null),{ref:r,inView:s}=(0,Lr.useInView)({threshold:.5}),o=(0,De.useCallback)(c=>{i.current=c,r(c)},[r]),a=B((0,Mr.selectTrackByID)(e));return(0,De.useEffect)(()=>{(()=>Fe(void 0,null,function*(){i.current&&a&&(s?a.enabled?(console.log("****** ENABLE VIDEO *******"),yield t.attachVideo(a.id,i.current)):(console.log("****** DETACH VIDEO *******"),yield t.detachVideo(a.id,i.current)):(console.log("****** DETACH VIDEO *******"),yield t.detachVideo(a.id,i.current)))}))()},[s,i,a==null?void 0:a.id,a==null?void 0:a.enabled,a==null?void 0:a.deviceID,a==null?void 0:a.plugins]),o};var wr=U(require("react")),Nr=U(require("@100mslive/hms-video-store"));function xr({trackId:e,getStyle:t,ref:i}){let r=Pe();(0,wr.useEffect)(()=>r.subscribe(s=>{if(!i.current)return;let o=t(s);console.log(o,s);for(let a in o)i.current.style[a]=o[a]},(0,Nr.selectTrackAudioByID)(e)),[e])}
2
38
  /*!
3
39
  * EventEmitter2
4
40
  * https://github.com/hij1nx/EventEmitter2
5
41
  *
6
42
  * Copyright (c) 2013 hij1nx
7
43
  * Licensed under the MIT license.
8
- */Ie={exports:{}},function(e){var t=Object.hasOwnProperty,r=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},n="object"==typeof process&&"function"==typeof process.nextTick,i="function"==typeof Symbol,o="object"==typeof Reflect,s="function"==typeof setImmediate?setImmediate:setTimeout,a=i?o&&"function"==typeof Reflect.ownKeys?Reflect.ownKeys:function(e){var t=Object.getOwnPropertyNames(e);return t.push.apply(t,Object.getOwnPropertySymbols(e)),t}:Object.keys;function c(){this._events={},this._conf&&p.call(this,this._conf)}function p(t){t&&(this._conf=t,t.delimiter&&(this.delimiter=t.delimiter),t.maxListeners!==e&&(this._maxListeners=t.maxListeners),t.wildcard&&(this.wildcard=t.wildcard),t.newListener&&(this._newListener=t.newListener),t.removeListener&&(this._removeListener=t.removeListener),t.verboseMemoryLeak&&(this.verboseMemoryLeak=t.verboseMemoryLeak),t.ignoreErrors&&(this.ignoreErrors=t.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function l(e,t){var r="(node) warning: possible EventEmitter memory leak detected. "+e+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(r+=" Event name: "+t+"."),"undefined"!=typeof process&&process.emitWarning){var n=new Error(r);n.name="MaxListenersExceededWarning",n.emitter=this,n.count=e,process.emitWarning(n)}else console.error(r),console.trace&&console.trace()}var d=function(e,t,r){var n=arguments.length;switch(n){case 0:return[];case 1:return[e];case 2:return[e,t];case 3:return[e,t,r];default:for(var i=new Array(n);n--;)i[n]=arguments[n];return i}};function u(t,r){for(var n={},i=t.length,o=r?value.length:0,s=0;s<i;s++)n[t[s]]=s<o?r[s]:e;return n}function f(e,t,r){var n,i;if(this._emitter=e,this._target=t,this._listeners={},this._listenersCount=0,(r.on||r.off)&&(n=r.on,i=r.off),t.addEventListener?(n=t.addEventListener,i=t.removeEventListener):t.addListener?(n=t.addListener,i=t.removeListener):t.on&&(n=t.on,i=t.off),!n&&!i)throw Error("target does not implement any known event API");if("function"!=typeof n)throw TypeError("on method must be a function");if("function"!=typeof i)throw TypeError("off method must be a function");this._on=n,this._off=i;var o=e._observers;o?o.push(this):e._observers=[this]}function h(r,n,i,o){var s=Object.assign({},n);if(!r)return s;if("object"!=typeof r)throw TypeError("options must be an object");var a,c,p,l=Object.keys(r),d=l.length;function u(e){throw Error('Invalid "'+a+'" option value'+(e?". Reason: "+e:""))}for(var f=0;f<d;f++){if(a=l[f],!o&&!t.call(n,a))throw Error('Unknown "'+a+'" option');(c=r[a])!==e&&(p=i[a],s[a]=p?p(c,u):c)}return s}function m(e,t){return"function"==typeof e&&e.hasOwnProperty("prototype")||t("value must be a constructor"),e}function g(e){var t="value must be type of "+e.join("|"),r=e.length,n=e[0],i=e[1];return 1===r?function(e,r){if(typeof e===n)return e;r(t)}:2===r?function(e,r){var o=typeof e;if(o===n||o===i)return e;r(t)}:function(n,i){for(var o=typeof n,s=r;s-- >0;)if(o===e[s])return n;i(t)}}Object.assign(f.prototype,{subscribe:function(e,t,r){var n=this,i=this._target,o=this._emitter,s=this._listeners,a=function(){var n=d.apply(null,arguments),s={data:n,name:t,original:e};if(r){var a=r.call(i,s);!1!==a&&o.emit.apply(o,[s.name].concat(n))}else o.emit.apply(o,[t].concat(n))};if(s[e])throw Error("Event '"+e+"' is already listening");this._listenersCount++,o._newListener&&o._removeListener&&!n._onNewListener?(this._onNewListener=function(r){r===t&&null===s[e]&&(s[e]=a,n._on.call(i,e,a))},o.on("newListener",this._onNewListener),this._onRemoveListener=function(r){r===t&&!o.hasListeners(r)&&s[e]&&(s[e]=null,n._off.call(i,e,a))},s[e]=null,o.on("removeListener",this._onRemoveListener)):(s[e]=a,n._on.call(i,e,a))},unsubscribe:function(e){var t,r,n,i=this,o=this._listeners,s=this._emitter,c=this._off,p=this._target;if(e&&"string"!=typeof e)throw TypeError("event must be a string");function l(){i._onNewListener&&(s.off("newListener",i._onNewListener),s.off("removeListener",i._onRemoveListener),i._onNewListener=null,i._onRemoveListener=null);var e=w.call(s,i);s._observers.splice(e,1)}if(e){if(!(t=o[e]))return;c.call(p,e,t),delete o[e],--this._listenersCount||l()}else{for(n=(r=a(o)).length;n-- >0;)e=r[n],c.call(p,e,o[e]);this._listeners={},this._listenersCount=0,l()}}});var v=g(["function"]),y=g(["object","function"]);function b(e,t,r){var n,i,o,s=0,a=new e((function(c,p,l){function d(){i&&(i=null),s&&(clearTimeout(s),s=0)}r=h(r,{timeout:0,overload:!1},{timeout:function(e,t){return("number"!=typeof(e*=1)||e<0||!Number.isFinite(e))&&t("timeout must be a positive number"),e}}),n=!r.overload&&"function"==typeof e.prototype.cancel&&"function"==typeof l;var u=function(e){d(),c(e)},f=function(e){d(),p(e)};n?t(u,f,l):(i=[function(e){f(e||Error("canceled"))}],t(u,f,(function(e){if(o)throw Error("Unable to subscribe on cancel event asynchronously");if("function"!=typeof e)throw TypeError("onCancel callback must be a function");i.push(e)})),o=!0),r.timeout>0&&(s=setTimeout((function(){var e=Error("timeout");e.code="ETIMEDOUT",s=0,a.cancel(e),p(e)}),r.timeout))}));return n||(a.cancel=function(e){if(i){for(var t=i.length,r=1;r<t;r++)i[r](e);i[0](e),i=null}}),a}function w(e){var t=this._observers;if(!t)return-1;for(var r=t.length,n=0;n<r;n++)if(t[n]._target===e)return n;return-1}function T(e,t,r,n,i){if(!r)return null;if(0===n){var o=typeof t;if("string"===o){var s,c,p=0,l=0,d=this.delimiter,u=d.length;if(-1!==(c=t.indexOf(d))){s=new Array(5);do{s[p++]=t.slice(l,c),l=c+u}while(-1!==(c=t.indexOf(d,l)));s[p++]=t.slice(l),t=s,i=p}else t=[t],i=1}else"object"===o?i=t.length:(t=[t],i=1)}var f,h,m,g,v,y,b,w=null,C=t[n],E=t[n+1];if(n===i)r._listeners&&("function"==typeof r._listeners?(e&&e.push(r._listeners),w=[r]):(e&&e.push.apply(e,r._listeners),w=[r]));else{if("*"===C){for(c=(y=a(r)).length;c-- >0;)"_listeners"!==(f=y[c])&&(b=T(e,t,r[f],n+1,i))&&(w?w.push.apply(w,b):w=b);return w}if("**"===C){for((v=n+1===i||n+2===i&&"*"===E)&&r._listeners&&(w=T(e,t,r,i,i)),c=(y=a(r)).length;c-- >0;)"_listeners"!==(f=y[c])&&("*"===f||"**"===f?(r[f]._listeners&&!v&&(b=T(e,t,r[f],i,i))&&(w?w.push.apply(w,b):w=b),b=T(e,t,r[f],n,i)):b=T(e,t,r[f],f===E?n+2:n,i),b&&(w?w.push.apply(w,b):w=b));return w}r[C]&&(w=T(e,t,r[C],n+1,i))}if((h=r["*"])&&T(e,t,h,n+1,i),m=r["**"])if(n<i)for(m._listeners&&T(e,t,m,i,i),c=(y=a(m)).length;c-- >0;)"_listeners"!==(f=y[c])&&(f===E?T(e,t,m[f],n+2,i):f===C?T(e,t,m[f],n+1,i):((g={})[f]=m[f],T(e,t,{"**":g},n+1,i)));else m._listeners?T(e,t,m,i,i):m["*"]&&m["*"]._listeners&&T(e,t,m["*"],i,i);return w}function C(e,t,r){var n,i,o=0,s=0,a=this.delimiter,c=a.length;if("string"==typeof e)if(-1!==(n=e.indexOf(a))){i=new Array(5);do{i[o++]=e.slice(s,n),s=n+c}while(-1!==(n=e.indexOf(a,s)));i[o++]=e.slice(s)}else i=[e],o=1;else i=e,o=e.length;if(o>1)for(n=0;n+1<o;n++)if("**"===i[n]&&"**"===i[n+1])return;var p,d=this.listenerTree;for(n=0;n<o;n++)if(d=d[p=i[n]]||(d[p]={}),n===o-1)return d._listeners?("function"==typeof d._listeners&&(d._listeners=[d._listeners]),r?d._listeners.unshift(t):d._listeners.push(t),!d._listeners.warned&&this._maxListeners>0&&d._listeners.length>this._maxListeners&&(d._listeners.warned=!0,l.call(this,d._listeners.length,p))):d._listeners=t,!0;return!0}function E(e,t,r,n){for(var i,o,s,c,p=a(e),l=p.length,d=e._listeners;l-- >0;)i=e[o=p[l]],s="_listeners"===o?r:r?r.concat(o):[o],c=n||"symbol"==typeof o,d&&t.push(c?s:s.join(this.delimiter)),"object"==typeof i&&E.call(this,i,t,s,c);return t}function _(e){for(var t,r,n,i=a(e),o=i.length;o-- >0;)(t=e[r=i[o]])&&(n=!0,"_listeners"===r||_(t)||delete e[r]);return n}function R(e,t,r){this.emitter=e,this.event=t,this.listener=r}function S(t,r,i){if(!0===i)a=!0;else if(!1===i)o=!0;else{if(!i||"object"!=typeof i)throw TypeError("options should be an object or true");var o=i.async,a=i.promisify,c=i.nextTick,p=i.objectify}if(o||c||a){var l=r,d=r._origin||r;if(c&&!n)throw Error("process.nextTick is not supported");a===e&&(a="AsyncFunction"===r.constructor.name),r=function(){var e=arguments,t=this,r=this.event;return a?c?Promise.resolve():new Promise((function(e){s(e)})).then((function(){return t.event=r,l.apply(t,e)})):(c?process.nextTick:s)((function(){t.event=r,l.apply(t,e)}))},r._async=!0,r._origin=d}return[r,p?new R(this,t,r):this]}function P(e){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,p.call(this,e)}R.prototype.off=function(){return this.emitter.off(this.event,this.listener),this},P.EventEmitter2=P,P.prototype.listenTo=function(t,n,i){if("object"!=typeof t)throw TypeError("target musts be an object");var o=this;function s(e){if("object"!=typeof e)throw TypeError("events must be an object");var r,n=i.reducers,s=w.call(o,t);r=-1===s?new f(o,t,i):o._observers[s];for(var c,p=a(e),l=p.length,d="function"==typeof n,u=0;u<l;u++)c=p[u],r.subscribe(c,e[c]||c,d?n:n&&n[c])}return i=h(i,{on:e,off:e,reducers:e},{on:v,off:v,reducers:y}),r(n)?s(u(n)):s("string"==typeof n?u(n.split(/\s+/)):n),this},P.prototype.stopListeningTo=function(e,t){var r=this._observers;if(!r)return!1;var n,i=r.length,o=!1;if(e&&"object"!=typeof e)throw TypeError("target should be an object");for(;i-- >0;)n=r[i],e&&n._target!==e||(n.unsubscribe(t),o=!0);return o},P.prototype.delimiter=".",P.prototype.setMaxListeners=function(t){t!==e&&(this._maxListeners=t,this._conf||(this._conf={}),this._conf.maxListeners=t)},P.prototype.getMaxListeners=function(){return this._maxListeners},P.prototype.event="",P.prototype.once=function(e,t,r){return this._once(e,t,!1,r)},P.prototype.prependOnceListener=function(e,t,r){return this._once(e,t,!0,r)},P.prototype._once=function(e,t,r,n){return this._many(e,1,t,r,n)},P.prototype.many=function(e,t,r,n){return this._many(e,t,r,!1,n)},P.prototype.prependMany=function(e,t,r,n){return this._many(e,t,r,!0,n)},P.prototype._many=function(e,t,r,n,i){var o=this;if("function"!=typeof r)throw new Error("many only accepts instances of Function");function s(){return 0==--t&&o.off(e,s),r.apply(this,arguments)}return s._origin=r,this._on(e,s,n,i)},P.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||c.call(this);var e,t,r,n,o,s,a=arguments[0],p=this.wildcard;if("newListener"===a&&!this._newListener&&!this._events.newListener)return!1;if(p&&(e=a,"newListener"!==a&&"removeListener"!==a&&"object"==typeof a)){if(r=a.length,i)for(n=0;n<r;n++)if("symbol"==typeof a[n]){s=!0;break}s||(a=a.join(this.delimiter))}var l,d=arguments.length;if(this._all&&this._all.length)for(n=0,r=(l=this._all.slice()).length;n<r;n++)switch(this.event=a,d){case 1:l[n].call(this,a);break;case 2:l[n].call(this,a,arguments[1]);break;case 3:l[n].call(this,a,arguments[1],arguments[2]);break;default:l[n].apply(this,arguments)}if(p)l=[],T.call(this,l,e,this.listenerTree,0,r);else{if("function"==typeof(l=this._events[a])){switch(this.event=a,d){case 1:l.call(this);break;case 2:l.call(this,arguments[1]);break;case 3:l.call(this,arguments[1],arguments[2]);break;default:for(t=new Array(d-1),o=1;o<d;o++)t[o-1]=arguments[o];l.apply(this,t)}return!0}l&&(l=l.slice())}if(l&&l.length){if(d>3)for(t=new Array(d-1),o=1;o<d;o++)t[o-1]=arguments[o];for(n=0,r=l.length;n<r;n++)switch(this.event=a,d){case 1:l[n].call(this);break;case 2:l[n].call(this,arguments[1]);break;case 3:l[n].call(this,arguments[1],arguments[2]);break;default:l[n].apply(this,t)}return!0}if(!this.ignoreErrors&&!this._all&&"error"===a)throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},P.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||c.call(this);var e,t,r,n,o,s,a=arguments[0],p=this.wildcard;if("newListener"===a&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(p&&(e=a,"newListener"!==a&&"removeListener"!==a&&"object"==typeof a)){if(n=a.length,i)for(o=0;o<n;o++)if("symbol"==typeof a[o]){t=!0;break}t||(a=a.join(this.delimiter))}var l,d=[],u=arguments.length;if(this._all)for(o=0,n=this._all.length;o<n;o++)switch(this.event=a,u){case 1:d.push(this._all[o].call(this,a));break;case 2:d.push(this._all[o].call(this,a,arguments[1]));break;case 3:d.push(this._all[o].call(this,a,arguments[1],arguments[2]));break;default:d.push(this._all[o].apply(this,arguments))}if(p?(l=[],T.call(this,l,e,this.listenerTree,0)):l=this._events[a],"function"==typeof l)switch(this.event=a,u){case 1:d.push(l.call(this));break;case 2:d.push(l.call(this,arguments[1]));break;case 3:d.push(l.call(this,arguments[1],arguments[2]));break;default:for(r=new Array(u-1),s=1;s<u;s++)r[s-1]=arguments[s];d.push(l.apply(this,r))}else if(l&&l.length){if(l=l.slice(),u>3)for(r=new Array(u-1),s=1;s<u;s++)r[s-1]=arguments[s];for(o=0,n=l.length;o<n;o++)switch(this.event=a,u){case 1:d.push(l[o].call(this));break;case 2:d.push(l[o].call(this,arguments[1]));break;case 3:d.push(l[o].call(this,arguments[1],arguments[2]));break;default:d.push(l[o].apply(this,r))}}else if(!this.ignoreErrors&&!this._all&&"error"===a)return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(d)},P.prototype.on=function(e,t,r){return this._on(e,t,!1,r)},P.prototype.prependListener=function(e,t,r){return this._on(e,t,!0,r)},P.prototype.onAny=function(e){return this._onAny(e,!1)},P.prototype.prependAny=function(e){return this._onAny(e,!0)},P.prototype.addListener=P.prototype.on,P.prototype._onAny=function(e,t){if("function"!=typeof e)throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),t?this._all.unshift(e):this._all.push(e),this},P.prototype._on=function(t,r,n,i){if("function"==typeof t)return this._onAny(t,r),this;if("function"!=typeof r)throw new Error("on only accepts instances of Function");this._events||c.call(this);var o,s=this;return i!==e&&(r=(o=S.call(this,t,r,i))[0],s=o[1]),this._newListener&&this.emit("newListener",t,r),this.wildcard?(C.call(this,t,r,n),s):(this._events[t]?("function"==typeof this._events[t]&&(this._events[t]=[this._events[t]]),n?this._events[t].unshift(r):this._events[t].push(r),!this._events[t].warned&&this._maxListeners>0&&this._events[t].length>this._maxListeners&&(this._events[t].warned=!0,l.call(this,this._events[t].length,t))):this._events[t]=r,s)},P.prototype.off=function(e,t){if("function"!=typeof t)throw new Error("removeListener only takes instances of Function");var n,i=[];if(this.wildcard){var o="string"==typeof e?e.split(this.delimiter):e.slice();if(!(i=T.call(this,null,o,this.listenerTree,0)))return this}else{if(!this._events[e])return this;n=this._events[e],i.push({_listeners:n})}for(var s=0;s<i.length;s++){var a=i[s];if(n=a._listeners,r(n)){for(var c=-1,p=0,l=n.length;p<l;p++)if(n[p]===t||n[p].listener&&n[p].listener===t||n[p]._origin&&n[p]._origin===t){c=p;break}if(c<0)continue;return this.wildcard?a._listeners.splice(c,1):this._events[e].splice(c,1),0===n.length&&(this.wildcard?delete a._listeners:delete this._events[e]),this._removeListener&&this.emit("removeListener",e,t),this}(n===t||n.listener&&n.listener===t||n._origin&&n._origin===t)&&(this.wildcard?delete a._listeners:delete this._events[e],this._removeListener&&this.emit("removeListener",e,t))}return this.listenerTree&&_(this.listenerTree),this},P.prototype.offAny=function(e){var t,r=0,n=0;if(e&&this._all&&this._all.length>0){for(r=0,n=(t=this._all).length;r<n;r++)if(e===t[r])return t.splice(r,1),this._removeListener&&this.emit("removeListenerAny",e),this}else{if(t=this._all,this._removeListener)for(r=0,n=t.length;r<n;r++)this.emit("removeListenerAny",t[r]);this._all=[]}return this},P.prototype.removeListener=P.prototype.off,P.prototype.removeAllListeners=function(t){if(t===e)return!this._events||c.call(this),this;if(this.wildcard){var r,n=T.call(this,null,t,this.listenerTree,0);if(!n)return this;for(r=0;r<n.length;r++)n[r]._listeners=null;this.listenerTree&&_(this.listenerTree)}else this._events&&(this._events[t]=null);return this},P.prototype.listeners=function(t){var r,n,i,o,s,c=this._events;if(t===e){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!c)return[];for(o=(r=a(c)).length,i=[];o-- >0;)"function"==typeof(n=c[r[o]])?i.push(n):i.push.apply(i,n);return i}if(this.wildcard){if(!(s=this.listenerTree))return[];var p=[],l="string"==typeof t?t.split(this.delimiter):t.slice();return T.call(this,p,l,s,0),p}return c&&(n=c[t])?"function"==typeof n?[n]:n:[]},P.prototype.eventNames=function(e){var t=this._events;return this.wildcard?E.call(this,this.listenerTree,[],null,e):t?a(t):[]},P.prototype.listenerCount=function(e){return this.listeners(e).length},P.prototype.hasListeners=function(t){if(this.wildcard){var r=[],n="string"==typeof t?t.split(this.delimiter):t.slice();return T.call(this,r,n,this.listenerTree,0),r.length>0}var i=this._events,o=this._all;return!!(o&&o.length||i&&(t===e?a(i).length:i[t]))},P.prototype.listenersAny=function(){return this._all?this._all:[]},P.prototype.waitFor=function(t,r){var n=this,i=typeof r;return"number"===i?r={timeout:r}:"function"===i&&(r={filter:r}),b((r=h(r,{timeout:0,filter:e,handleError:!1,Promise:Promise,overload:!1},{filter:v,Promise:m})).Promise,(function(e,i,o){function s(){var o=r.filter;if(!o||o.apply(n,arguments))if(n.off(t,s),r.handleError){var a=arguments[0];a?i(a):e(d.apply(null,arguments).slice(1))}else e(d.apply(null,arguments))}o((function(){n.off(t,s)})),n._on(t,s,!1)}),{timeout:r.timeout,overload:r.overload})};var k=P.prototype;Object.defineProperties(P,{defaultMaxListeners:{get:function(){return k._maxListeners},set:function(e){if("number"!=typeof e||e<0||Number.isNaN(e))throw TypeError("n must be a non-negative number");k._maxListeners=e},enumerable:!0},once:{value:function(e,t,r){return b((r=h(r,{Promise:Promise,timeout:0,overload:!1},{Promise:m})).Promise,(function(r,n,i){var o;if("function"==typeof e.addEventListener)return o=function(){r(d.apply(null,arguments))},i((function(){e.removeEventListener(t,o)})),void e.addEventListener(t,o,{once:!0});var s,a=function(){s&&e.removeListener("error",s),r(d.apply(null,arguments))};"error"!==t&&(s=function(r){e.removeListener(t,a),n(r)},e.once("error",s)),i((function(){s&&e.removeListener("error",s),e.removeListener(t,a)})),e.once(t,a)}),{timeout:r.timeout,overload:r.overload})},writable:!0,configurable:!0}}),Object.defineProperties(k,{_maxListeners:{value:10,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),Ie.exports=P}(),(Me=Le||(Le={}))[Me.VERBOSE=0]="VERBOSE",Me[Me.DEBUG=1]="DEBUG",Me[Me.INFO=2]="INFO",Me[Me.WARN=3]="WARN",Me[Me.TIME=4]="TIME",Me[Me.TIMEEND=5]="TIMEEND",Me[Me.ERROR=6]="ERROR",Me[Me.NONE=7]="NONE";var Ne,je,Ue,Fe,Ge,He,Ve,ze,We,Be,Ke,qe,Je,$e,Ye,Ze,Qe,Xe,et,tt,rt=class{static v(e,...t){this.log(0,e,...t)}static d(e,...t){this.log(1,e,...t)}static i(e,...t){this.log(2,e,...t)}static w(e,...t){this.log(3,e,...t)}static e(e,...t){this.log(6,e,...t)}static time(e){this.log(4,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(5,"[HMSPerformanceTiming]",e,e)}static cleanUp(){performance.clearMarks(),performance.clearMeasures()}static log(e,t,...r){if(!(this.level.valueOf()>e.valueOf()))switch(e){case 0:console.log(t,...r);break;case 1:console.debug(t,...r);break;case 2:console.info(t,...r);break;case 3:console.warn(t,...r);break;case 6:console.error(t,...r);break;case 4:performance.mark(r[0]);break;case 5:{let e=r[0];try{let r=performance.measure(e,e);this.log(1,t,e,null==r?void 0:r.duration),performance.clearMarks(e),performance.clearMeasures(e)}catch(r){this.log(1,t,e,r)}break}}}};rt.level="test"===(null==(Ne=null==process?void 0:process.env)?void 0:Ne.NODE_ENV)?7:0,(Ue=je||(je={}))[Ue.Publish=0]="Publish",Ue[Ue.Subscribe=1]="Subscribe",(Ge=Fe||(Fe={})).NONE="NONE",Ge.TRACK="TRACK",Ge.INIT="INIT",Ge.PUBLISH="PUBLISH",Ge.UNPUBLISH="UNPUBLISH",Ge.JOIN="JOIN",Ge.SUBSCRIBE="SUBSCRIBE",Ge.DATA_CHANNEL_SEND="DATA_CHANNEL_SEND",Ge.RESTART_ICE="RESTART_ICE",Ge.VIDEO_PLUGINS="VIDEO_PLUGINS",Ge.AUDIO_PLUGINS="AUDIO_PLUGINS",Ge.AUTOPLAY="AUTOPLAY",Ge.RECONNECT_SIGNAL="RECONNECT_SIGNAL",Ge.VALIDATION="VALIDATION",Ge.PLAYLIST="PLAYLIST",Ge.PREVIEW="PREVIEW",(Ve=He||(He={}))[Ve.PEER_ADDED=0]="PEER_ADDED",Ve[Ve.PEER_REMOVED=1]="PEER_REMOVED",Ve[Ve.PEER_KNOCKED=2]="PEER_KNOCKED",Ve[Ve.ROOM_TYPE_CHANGED=3]="ROOM_TYPE_CHANGED",Ve[Ve.METADATA_UPDATED=4]="METADATA_UPDATED",Ve[Ve.SCREENSHARE_STARTED=5]="SCREENSHARE_STARTED",Ve[Ve.SCREENSHARE_STOPPED=6]="SCREENSHARE_STOPPED",Ve[Ve.DEFAULT_UPDATE=7]="DEFAULT_UPDATE",Ve[Ve.RECORDING_STATE_UPDATED=8]="RECORDING_STATE_UPDATED",Ve[Ve.BROWSER_RECORDING_STATE_UPDATED=9]="BROWSER_RECORDING_STATE_UPDATED",Ve[Ve.SERVER_RECORDING_STATE_UPDATED=10]="SERVER_RECORDING_STATE_UPDATED",Ve[Ve.RTMP_STREAMING_STATE_UPDATED=11]="RTMP_STREAMING_STATE_UPDATED",Ve[Ve.HLS_STREAMING_STATE_UPDATED=12]="HLS_STREAMING_STATE_UPDATED",(We=ze||(ze={}))[We.PEER_JOINED=0]="PEER_JOINED",We[We.PEER_LEFT=1]="PEER_LEFT",We[We.AUDIO_TOGGLED=2]="AUDIO_TOGGLED",We[We.VIDEO_TOGGLED=3]="VIDEO_TOGGLED",We[We.BECAME_DOMINANT_SPEAKER=4]="BECAME_DOMINANT_SPEAKER",We[We.RESIGNED_DOMINANT_SPEAKER=5]="RESIGNED_DOMINANT_SPEAKER",We[We.STARTED_SPEAKING=6]="STARTED_SPEAKING",We[We.STOPPED_SPEAKING=7]="STOPPED_SPEAKING",We[We.ROLE_UPDATED=8]="ROLE_UPDATED",We[We.PEER_LIST=9]="PEER_LIST",We[We.NAME_UPDATED=10]="NAME_UPDATED",We[We.METADATA_UPDATED=11]="METADATA_UPDATED",(Ke=Be||(Be={}))[Ke.TRACK_ADDED=0]="TRACK_ADDED",Ke[Ke.TRACK_REMOVED=1]="TRACK_REMOVED",Ke[Ke.TRACK_MUTED=2]="TRACK_MUTED",Ke[Ke.TRACK_UNMUTED=3]="TRACK_UNMUTED",Ke[Ke.TRACK_DESCRIPTION_CHANGED=4]="TRACK_DESCRIPTION_CHANGED",Ke[Ke.TRACK_DEGRADED=5]="TRACK_DEGRADED",Ke[Ke.TRACK_RESTORED=6]="TRACK_RESTORED",(Je=qe||(qe={}))[Je.DEFAULT=0]="DEFAULT",(Ye=$e||($e={})).NONE="none",Ye.LOW="low",Ye.MEDIUM="medium",Ye.HIGH="high",$e.HIGH,$e.MEDIUM,$e.LOW,(Qe=Ze||(Ze={})).VP8="vp8",Qe.VP9="vp9",Qe.H264="h264",(Xe||(Xe={})).OPUS="opus",function(e){e.audio="audio",e.video="video"}(et||(et={})),function(e){e.AUDIO="audio",e.VIDEO="video"}(tt||(tt={}));var nt,it,ot,st,at,ct,pt,lt,dt,ut,ft,ht,mt,gt,vt="0.1.40-alpha.4",yt=new Oe.exports.UAParser,bt="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node&&!(null==(nt=yt.getBrowser().name)?void 0:nt.toLowerCase().includes("electron")),wt="undefined"!=typeof window;!function(){if(bt)return`hmsclient/${vt}`;let e=yt.getDevice(),t=yt.getBrowser(),r=yt.getOS();e.type?(r.name,r.version,e.vendor,e.type,t.name,t.version):(r.name,r.version,t.name,t.version)}(),(ot=it||(it={})).JOIN="join",ot.OFFER="offer",ot.ANSWER="answer",ot.TRICKLE="trickle",ot.TRACK_UPDATE="track-update",ot.BROADCAST="broadcast",ot.ANALYTICS="analytics",ot.SERVER_ERROR="on-error",ot.SERVER_WARNING="on-warning",ot.SDK_NOTIFICATION="sdk-notification",ot.LEAVE="leave",ot.END_ROOM="end-room",ot.PING="ping",ot.ROLE_CHANGE_REQUEST="role-change-request",ot.ROLE_CHANGE="role-change",ot.TRACK_UPDATE_REQUEST="track-update-request",ot.PEER_LEAVE_REQUEST="peer-leave-request",ot.CHANGE_TRACK_MUTE_STATE_REQUEST="change-track-mute-state-request",ot.START_RTMP_OR_RECORDING_REQUEST="rtmp-start",ot.STOP_RTMP_AND_RECORDING_REQUEST="rtmp-stop",ot.UPDATE_PEER_METADATA="peer-update",ot.START_HLS_STREAMING="hls-start",ot.STOP_HLS_STREAMING="hls-stop",(at=st||(st={})).PEER_JOIN="on-peer-join",at.PEER_LEAVE="on-peer-leave",at.PEER_LIST="peer-list",at.TRACK_METADATA_ADD="on-track-add",at.TRACK_UPDATE="on-track-update",at.CHANGE_TRACK_MUTE_STATE_UPDATE="on-change-track-mute-state-request",at.ACTIVE_SPEAKERS="active-speakers",at.BROADCAST="on-broadcast",at.ROLE_CHANGE="on-role-change",at.POLICY_CHANGE="on-policy-change",at.ROLE_CHANGE_REQUEST="on-role-change-request",at.TRACK_UPDATE_REQUEST="on-track-update-request",at.PEER_UPDATE="on-peer-update",at.PEER_LEAVE_REQUEST="on-peer-leave-request",at.UNSUPPORTED="unsupported",at.RTMP_START="on-rtmp-start",at.RTMP_STOP="on-rtmp-stop",at.RECORDING_START="on-record-start",at.RECORDING_STOP="on-record-stop",at.HLS_START="on-hls-start",at.HLS_STOP="on-hls-stop",function(e){e.AUDIO="audio",e.VIDEO="video",e.AV="audio, video",e.SCREEN="screen"}(ct||(ct={})),function(e){e.TRANSFORM="TRANSFORM",e.ANALYZE="ANALYZE"}(pt||(pt={})),function(e){e.CUSTOM="CUSTOM",e.LOCAL="LOCAL",e.HMS="HMS"}(lt||(lt={})),function(){if(wt&&window){let e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e?lt.LOCAL:e.includes("app.100ms.live")?lt.HMS:lt.CUSTOM}lt.CUSTOM}(),function(e){e[e.VERBOSE=0]="VERBOSE",e[e.INFO=1]="INFO",e[e.ERROR=2]="ERROR",e[e.OFF=3]="OFF"}(dt||(dt={})),function(e){e[e.VERBOSE=0]="VERBOSE",e[e.INFO=1]="INFO",e[e.ERROR=2]="ERROR",e[e.OFF=3]="OFF"}(ut||(ut={})),function(e){e.TRANSFORM="TRANSFORM",e.ANALYZE="ANALYZE"}(ft||(ft={})),(mt=ht||(ht={}))[mt.Disconnected=0]="Disconnected",mt[mt.Connecting=1]="Connecting",mt[mt.Joined=2]="Joined",mt[mt.Failed=3]="Failed",mt[mt.Reconnecting=4]="Reconnecting",mt[mt.Leaving=5]="Leaving",function(e){e[e.ConnectFailed=0]="ConnectFailed",e[e.SignalDisconnect=1]="SignalDisconnect",e[e.PublishIceConnectionFailed=2]="PublishIceConnectionFailed",e[e.SubscribeIceConnectionFailed=3]="SubscribeIceConnectionFailed"}(gt||(gt={})),rt.i("adapter",`${Ae.browserDetails.browser} v${Ae.browserDetails.version}`);exports.HMSRoomProvider=({children:n,actions:i,store:o,notifications:s,webrtcInternals:a,isHMSStatsOn:l=!1})=>{if(!m){const t=()=>{throw new Error("modifying store is not allowed")};if(i&&o){if(m={actions:i,store:p.default(e({},o,{setState:t,destroy:t}))},s&&(m.notifications=s),a){const e=a;m.statsStore=p.default({getState:e.getState,subscribe:e.subscribe,setState:t,destroy:t})}}else{const n=new r.HMSReactiveStore;if(m={actions:n.getHMSActions(),store:p.default(e({},n.getStore(),{setState:t,destroy:t})),notifications:n.getNotifications()},l){const e=n.getStats();m.statsStore=p.default({getState:e.getState,subscribe:e.subscribe,setState:t,destroy:t})}}}return t.useEffect((()=>{f&&(window.onunload=()=>{m.actions.leave()})}),[]),c.default.createElement(h.Provider,{value:m},n)},exports.calculateLayoutSizes=_,exports.chunkElements=T,exports.getModeAspectRatio=C,exports.useAVToggle=()=>{const e=g(r.selectIsLocalAudioEnabled),n=g(r.selectIsLocalVideoEnabled),i=g(r.selectIsAllowedToPublish),o=w(),s=t.useCallback((async()=>{try{await o.setLocalAudioEnabled(!e)}catch(e){console.error("Cannot toggle audio",e)}}),[e]),a=t.useCallback((async()=>{try{await o.setLocalVideoEnabled(!n)}catch(e){console.error("Cannot toggle video",e)}}),[n]);return{isLocalAudioEnabled:e,isLocalVideoEnabled:n,toggleAudio:s,toggleVideo:a,isAllowedToPublish:i}},exports.useAudioLevel=function({trackId:e,getStyle:n,ref:i}){const o=b();t.useEffect((()=>o.subscribe((e=>{if(!i.current)return;const t=n(e);console.log(t,e);for(const e in t)i.current.style[e]=t[e]}),r.selectTrackAudioByID(e))),[e])},exports.useDevices=()=>{const e=w(),t=g(r.selectDevices),n=g(r.selectLocalMediaSettings),{video:i,audio:o}=g(r.selectIsAllowedToPublish),s=g(r.selectIsAllowedToSubscribe),a=t.videoInput||[],c=t.audioInput||[],p=t.audioOutput||[];return[i,o,s].some((e=>!!e))?{showVideo:i,videoInput:a,showAudio:o,audioInput:c,audioOutput:p,isSubscribing:s,selectedDevices:n,handleInputChange:t=>{const r=t.currentTarget.value,{name:i}=t.currentTarget;if(r!==n[i])switch(i){case"audioInputDeviceId":e.setAudioSettings({deviceId:r});break;case"videoInputDeviceId":e.setVideoSettings({deviceId:r});break;case"audioOutputDeviceId":e.setAudioOutputDevice(r)}}}:null},exports.useHMSActions=w,exports.useHMSNotifications=()=>{const e=t.useContext(h),[r,n]=t.useState(null);if(!e)throw new Error(u);return t.useEffect((()=>{if(!e.notifications)return;const t=e.notifications.onNotification((e=>n(e)));return t}),[e.notifications]),r},exports.useHMSStatsStore=y,exports.useHMSStore=g,exports.useHMSVanillaStore=b,exports.usePreview=(e,n="preview")=>{const[i,o]=t.useState(!1),s=w(),a=g(r.selectLocalPeer),c=g(r.selectRoomState),p=g(r.selectIsLocalAudioEnabled),l=g(r.selectIsLocalVideoDisplayEnabled),d=g(r.selectIsAllowedToPublish),u=i||c!==r.HMSRoomState.Preview;return t.useEffect((()=>{c===r.HMSRoomState.Disconnected&&s.preview({userName:n,authToken:e}),wt&&(window.onunload=()=>s.leave())}),[c,s,e]),{localPeer:a,roomState:c,audioEnabled:p,videoEnabled:l,isAllowedToPublish:d,disableJoin:u,actions:s,setInProgress:o}},exports.useVideo=e=>{const n=w(),o=t.useRef(null),{ref:s,inView:a}=i.useInView({threshold:.5}),c=t.useCallback((e=>{o.current=e,s(e)}),[s]),p=g(r.selectTrackByID(e));return t.useEffect((()=>{(async()=>{o.current&&p&&(a&&p.enabled?(console.log("****** ENABLE VIDEO *******"),await n.attachVideo(p.id,o.current)):(console.log("****** DETACH VIDEO *******"),await n.detachVideo(p.id,o.current)))})()}),[a,o,null==p?void 0:p.id,null==p?void 0:p.enabled,null==p?void 0:p.deviceID,null==p?void 0:p.plugins]),c},exports.useVideoList=({maxTileCount:e,maxColCount:n,maxRowCount:i,width:o,height:s,showScreenFn:a=(()=>!1),peers:c,overflow:p="scroll-x",aspectRatio:l})=>{const d=((e,t,r)=>{if(!e||!t||!r)return[];const n=[];for(const i of e)if(void 0===i.videoTrack&&i.audioTrack&&t[i.audioTrack]?n.push({peer:i}):i.videoTrack&&t[i.videoTrack]&&n.push({track:t[i.videoTrack],peer:i}),r(i)&&i.auxiliaryTracks.length>0){const e=i.auxiliaryTracks.find((e=>{const r=t[e];return"video"===(null==r?void 0:r.type)&&"screen"===(null==r?void 0:r.source)}));e&&n.push({track:t[e],peer:i})}return n})(c,b().getState(r.selectTracksMap),a),u=t.useMemo((()=>{if(l)return l;return{width:C(d)||1,height:1}}),[l,d]),f=d.length,{tilesInFirstPage:h,defaultWidth:m,defaultHeight:g,lastPageWidth:v,lastPageHeight:y,isLastPageDifferentFromFirstPage:w}=t.useMemo((()=>_({count:f,parentWidth:Math.floor(o),parentHeight:Math.floor(s),maxTileCount:e,maxRowCount:i,maxColCount:n,aspectRatio:u})),[f,o,s,e,i,n,u]);return{chunkedTracksWithPeer:t.useMemo((()=>T({elements:d,tilesInFirstPage:h,onlyOnePage:"hidden"===p,isLastPageDifferentFromFirstPage:w,defaultWidth:m,defaultHeight:g,lastPageWidth:v,lastPageHeight:y})),[d,h,p,w,m,g,v,y])}},exports.useVideoTile=e=>{const n=w(),i=t.useRef(null),o=g(r.selectVideoTrackByPeerID(e.id)),s=g(r.selectIsPeerAudioEnabled(e.id)),a=g(r.selectIsPeerVideoEnabled(e.id)),{isLocal:c,name:p}=e,l=g(r.selectPeerAudioByID(e.id))>0;return t.useEffect((()=>{i.current&&o&&(o.enabled?n.attachVideo(o.id,i.current):n.detachVideo(o.id,i.current))}),[o,n]),{videoRef:i,isAudioOn:s,isVideoOn:a,actions:n,isLocal:c,name:p,audioLevel:l}};
44
+ */