@zhangxuejing123./sip-phone-sdk 0.0.0

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 (49) hide show
  1. package/README.md +24 -0
  2. package/babel.config.js +5 -0
  3. package/dist/demo.html +21 -0
  4. package/dist/media/outgoing-call2.b8558579.mp3 +0 -0
  5. package/dist/sip-phone-sdk.common.js +42439 -0
  6. package/dist/sip-phone-sdk.css +5 -0
  7. package/dist/sip-phone-sdk.umd.js +42449 -0
  8. package/dist/sip-phone-sdk.umd.min.js +14 -0
  9. package/jsconfig.json +19 -0
  10. package/package-lock.json +15671 -0
  11. package/package.json +99 -0
  12. package/public/SIP_MIX_WEB.js +50 -0
  13. package/public/en.js +24 -0
  14. package/public/favicon.ico +0 -0
  15. package/public/index.html +32 -0
  16. package/public/index.test.html +31 -0
  17. package/public/zh.js +24 -0
  18. package/src/.DS_Store +0 -0
  19. package/src/App.vue +136 -0
  20. package/src/assets/.DS_Store +0 -0
  21. package/src/assets/adudio-open.png +0 -0
  22. package/src/assets/audio-close.png +0 -0
  23. package/src/assets/call-down.png +0 -0
  24. package/src/assets/camera-close.png +0 -0
  25. package/src/assets/camera-open.png +0 -0
  26. package/src/assets/icon_Recording_Fill_Red_Active.svg +15 -0
  27. package/src/assets/icon_Recording_Fill_Red_Inactive.svg +15 -0
  28. package/src/assets/img_Avatar_User.png +0 -0
  29. package/src/assets/normal-logo.png +0 -0
  30. package/src/assets/outgoing-call2.mp3 +0 -0
  31. package/src/components/DialPanelMini.vue +179 -0
  32. package/src/components/MobilePhone copy 2.vue +1173 -0
  33. package/src/components/MobilePhone copy.vue +1046 -0
  34. package/src/components/MobilePhone.vue +1157 -0
  35. package/src/components/index.js +36 -0
  36. package/src/components/vuetify.css +29663 -0
  37. package/src/index.js +100 -0
  38. package/src/lang/en.js +24 -0
  39. package/src/lang/zh.js +24 -0
  40. package/src/libs/SIP_MIX_WEB.js +50 -0
  41. package/src/libs/en.js +24 -0
  42. package/src/libs/tool.js +312 -0
  43. package/src/libs/zh.js +24 -0
  44. package/src/main.js +24 -0
  45. package/src/plugins/vuetify.js +11 -0
  46. package/src/utils/rem.js +22 -0
  47. package/vue.config copy 2.js +39 -0
  48. package/vue.config copy.js +11 -0
  49. package/vue.config.js +39 -0
@@ -0,0 +1,50 @@
1
+ /*! For license information please see SIP_MIX_WEB.js.LICENSE.txt */
2
+ var e,t;e=this,t=function(){return r={566:function(e,t){var n;function h(){}function r(){r.init.call(this)}function o(e){return void 0===e._maxListeners?r.defaultMaxListeners:e._maxListeners}function s(e,t,n,r){var s,i;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');return(s=e._events)?(s.newListener&&(e.emit("newListener",t,n.listener||n),s=e._events),i=s[t]):(s=e._events=new h,e._eventsCount=0),i?("function"==typeof i?i=s[t]=r?[n,i]:[i,n]:r?i.unshift(n):i.push(n),!i.warned&&(r=o(e))&&0<r&&i.length>r&&(i.warned=!0,(r=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit")).name="MaxListenersExceededWarning",r.emitter=e,r.type=t,r.count=i.length,r=r,"function"==typeof console.warn?console.warn(r):console.log(r))):(i=s[t]=n,++e._eventsCount),e}function i(e,t,n){function r(){e.removeListener(t,r),s||(s=!0,n.apply(e,arguments))}var s=!1;return r.listener=n,r}function a(e){var t=this._events;if(t){t=t[e];if("function"==typeof t)return 1;if(t)return t.length}return 0}function B(e,t){for(var n=Array(t);t--;)n[t]=e[t];return n}Object.defineProperty(t,"__esModule",{value:!0}),h.prototype=Object.create(null),(r.EventEmitter=r).usingDomains=!1,r.prototype.domain=void 0,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.init=function(){this.domain=null,!r.usingDomains||!n.active||this instanceof n.Domain||(this.domain=n.active),this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new h,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},r.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},r.prototype.getMaxListeners=function(){return o(this)},r.prototype.emit=function(e){var t,n,r,s="error"===e,i=this._events;if(i)s=s&&null==i.error;else if(!s)return!1;if(o=this.domain,s){var o,s=arguments[1];if(o)return(s=s||new Error('Uncaught, unspecified "error" event')).domainEmitter=this,s.domain=o,s.domainThrown=!1,o.emit("error",s),!1;throw s instanceof Error?s:((o=new Error('Uncaught, unspecified "error" event. ('+s+")")).context=s,o)}if(!(t=i[e]))return!1;var a,l="function"==typeof t;switch(a=arguments.length){case 1:var u=t,c=l,d=this;if(c)u.call(d);else for(var h=u.length,k=B(u,h),f=0;f<h;++f)k[f].call(d);break;case 2:var c=t,u=l,p=this,_=arguments[1];if(u)c.call(p,_);else for(var m=c.length,U=B(c,m),g=0;g<m;++g)U[g].call(p,_);break;case 3:var v=t,T=l,y=this,b=arguments[1],S=arguments[2];if(T)v.call(y,b,S);else for(var C=v.length,L=B(v,C),E=0;E<C;++E)L[E].call(y,b,S);break;case 4:var T=t,v=l,A=this,w=arguments[1],R=arguments[2],I=arguments[3];if(v)T.call(A,w,R,I);else for(var O=T.length,F=B(T,O),x=0;x<O;++x)F[x].call(A,w,R,I);break;default:for(n=Array(a-1),r=1;r<a;r++)n[r-1]=arguments[r];var M=t,q=l,N=this,P=n;if(q)M.apply(N,P);else for(var H=M.length,j=B(M,H),D=0;D<H;++D)j[D].apply(N,P)}return!0},r.prototype.on=r.prototype.addListener=function(e,t){return s(this,e,t,!1)},r.prototype.prependListener=function(e,t){return s(this,e,t,!0)},r.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,i(this,e,t)),this},r.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,i(this,e,t)),this},r.prototype.removeListener=function(e,t){var n,r,s,i,o;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if((r=this._events)&&(n=r[e]))if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new h:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(s=-1,i=n.length;0<i--;)if(n[i]===t||n[i].listener&&n[i].listener===t){o=n[i].listener,s=i;break}if(s<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new h,this;delete r[e]}else{var a=n;var l=s;for(var u=l,c=u+1,d=a.length;c<d;u+=1,c+=1)a[u]=a[c];a.pop()}r.removeListener&&this.emit("removeListener",e,o||t)}return this},r.prototype.removeAllListeners=function(e){var t,n=this._events;if(n)if(n.removeListener){if(0===arguments.length){for(var r,s=Object.keys(n),i=0;i<s.length;++i)"removeListener"!==(r=s[i])&&this.removeAllListeners(r);this.removeAllListeners("removeListener"),this._events=new h,this._eventsCount=0}else if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)for(;this.removeListener(e,t[t.length-1]),t[0];);}else 0===arguments.length?(this._events=new h,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new h:delete n[e]);return this},r.prototype.listeners=function(e){var t=this._events,e=t&&(t=t[e])?"function"==typeof t?[t.listener||t]:(e=>{for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t})(t):[];return e},r.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):a.call(e,t)},r.prototype.listenerCount=a,r.prototype.eventNames=function(){return 0<this._eventsCount?Reflect.ownKeys(this._events):[]};var l,u=new Uint8Array(16);var c=/^(?:[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;for(var d=[],f=0;f<256;++f)d.push((f+256).toString(16).substr(1));function p(e,t){var t=1<arguments.length&&void 0!==t?t:0,e=(d[e[t+0]]+d[e[t+1]]+d[e[t+2]]+d[e[t+3]]+"-"+d[e[t+4]]+d[e[t+5]]+"-"+d[e[t+6]]+d[e[t+7]]+"-"+d[e[t+8]]+d[e[t+9]]+"-"+d[e[t+10]]+d[e[t+11]]+d[e[t+12]]+d[e[t+13]]+d[e[t+14]]+d[e[t+15]]).toLowerCase();if("string"==typeof(t=e)&&c.test(t))return e;throw TypeError("Stringified UUID is invalid")}function _(e,t,n){var r=(e=e||{}).random||(e.rng||function(){if(l||(l="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))return l(u);throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported")})();if(r[6]=64|15&r[6],r[8]=128|63&r[8],t){n=n||0;for(var s=0;s<16;++s)t[n+s]=r[s];return t}return p(r)}function m(e,t){var n;return e&&t?((e={...e}).localCandidateId&&(n=t.get(e.localCandidateId),e.local={...n}),e.remoteCandidateId&&(n=t.get(e.remoteCandidateId),e.remote={...n}),e):{}}function g(e,t,n){return 8*(t=t,r=(e=e)[n=n],n=t?t[n]:null,null===r||null===n?null:(r-n)/(e.timestamp-t.timestamp)*1e3);var r}function v(t,e,n={}){if(!t)return null;let r={audio:{inbound:[],outbound:[]},video:{inbound:[],outbound:[]},connection:{inbound:[],outbound:[]}};n.remote&&(r.remote={audio:{inbound:[],outbound:[]},video:{inbound:[],outbound:[]}});for(var s of t.values())switch(s.type){case"outbound-rtp":var i,o=s.mediaType||s.kind,a={};["audio","video"].includes(o)&&(s.codecId&&(i=t.get(s.codecId))&&(a.clockRate=i.clockRate,a.mimeType=i.mimeType,a.payloadType=i.payloadType),i=t.get(s.mediaSourceId)||t.get(s.trackId)||{},r[o].outbound.push({...s,...a,track:{...i}}));break;case"inbound-rtp":{let e=s.mediaType||s.kind;var l,o={};if(!["audio","video"].includes(e))if(s.id.includes("Video"))e="video";else{if(!s.id.includes("Audio"))continue;e="audio"}s.codecId&&(a=t.get(s.codecId))&&(o.clockRate=a.clockRate,o.mimeType=a.mimeType,o.payloadType=a.payloadType),!r.connection.id&&s.transportId&&(l=t.get(s.transportId))&&l.selectedCandidatePairId&&(l=t.get(l.selectedCandidatePairId),r.connection=m(l,t)),l=t.get(s.mediaSourceId)||t.get(s.trackId)||{},r[e].inbound.push({...s,...o,track:{...l}});break}case"peer-connection":r.connection.dataChannelsClosed=s.dataChannelsClosed,r.connection.dataChannelsOpened=s.dataChannelsOpened;break;case"remote-inbound-rtp":{if(!n.remote)break;let e=s.mediaType||s.kind;var u,c={};if(!["audio","video"].includes(e))if(s.id.includes("Video"))e="video";else{if(!s.id.includes("Audio"))continue;e="audio"}s.codecId&&(u=t.get(s.codecId))&&(c.clockRate=u.clockRate,c.mimeType=u.mimeType,c.payloadType=u.payloadType),!r.connection.id&&s.transportId&&(u=t.get(s.transportId))&&u.selectedCandidatePairId&&(d=t.get(u.selectedCandidatePairId),r.connection=m(d,t)),r.remote[e].inbound.push({...s,...c});break}case"remote-outbound-rtp":var d,h;n.remote&&(d=s.mediaType||s.kind,c={},["audio","video"].includes(d))&&(s.codecId&&(h=t.get(s.codecId))&&(c.clockRate=h.clockRate,c.mimeType=h.mimeType,c.payloadType=h.payloadType),r.remote[d].outbound.push({...s,...c}))}if(!r.connection.id)for(var f of t.values())"candidate-pair"===f.type&&f.nominated&&"succeeded"===f.state&&(r.connection=m(f,t));var p,_;return r=(p=r,(_=e)&&(p.audio.inbound.map(t=>{var e=_.audio.inbound.find(e=>e.id===t.id);t.bitrate=g(t,e,"bytesReceived"),t.packetRate=g(t,e,"packetsReceived")}),p.audio.outbound.map(t=>{var e=_.audio.outbound.find(e=>e.id===t.id);t.bitrate=g(t,e,"bytesSent"),t.packetRate=g(t,e,"packetsSent")}),p.video.inbound.map(t=>{var e=_.video.inbound.find(e=>e.id===t.id);t.bitrate=g(t,e,"bytesReceived"),t.packetRate=g(t,e,"packetsReceived")}),p.video.outbound.map(t=>{var e=_.video.outbound.find(e=>e.id===t.id);t.bitrate=g(t,e,"bytesSent"),t.packetRate=g(t,e,"packetsSent")})),p)}let T={},y,b=[];class S extends r{constructor(e){if(super(),this.monitoringSetInterval=0,this.connectionMonitoringSetInterval=0,this.connectionMonitoringInterval=1e3,this.remote=!0,this.peersToMonitor={},this.timeline=[],this.statsToMonitor=["inbound-rtp","outbound-rtp","remote-inbound-rtp","remote-outbound-rtp","peer-connection","data-channel","stream","track","sender","receiver","transport","candidate-pair","local-candidate","remote-candidate"],"undefined"==typeof window)throw new Error("WebRTCStats only works in browser");e={...e};this.isEdge=!!window.RTCIceGatherer,this.getStatsInterval=e.getStatsInterval||1e3,this.rawStats=!!e.rawStats,this.statsObject=!!e.statsObject,this.filteredStats=!!e.filteredStats,this.shouldWrapGetUserMedia=!!e.wrapGetUserMedia,"boolean"==typeof e.remote&&(this.remote=e.remote),this.debug=!!e.debug,this.logLevel=e.logLevel||"none",this.shouldWrapGetUserMedia&&this.wrapGetUserMedia()}async addPeer(e,t){return console.warn("The addPeer() method has been deprecated, please use addConnection()"),this.addConnection({peerId:e,pc:t})}async addConnection(e){var{pc:t,peerId:n}=e;let{connectionId:r,remote:s}=e;if(s="boolean"==typeof s?s:this.remote,!(t&&t instanceof RTCPeerConnection))throw new Error("Missing argument 'pc' or is not of instance RTCPeerConnection");if(!n)throw new Error("Missing argument peerId");if(this.isEdge)throw new Error("Can't monitor peers in Edge at this time.");if(this.peersToMonitor[n]){if(r&&r in this.peersToMonitor[n])throw new Error(`We are already monitoring connection with id ${r}.`);for(var i in this.peersToMonitor[n]){i=this.peersToMonitor[n][i];if(i.pc===t)throw new Error(`We are already monitoring peer with id ${n}.`);"closed"===i.pc.connectionState&&this.removeConnection({pc:i.pc})}}var o=t.getConfiguration();return o.iceServers&&o.iceServers.forEach(function(e){delete e.credential}),r=r||_(),this.emitEvent({event:"addConnection",tag:"peer",peerId:n,connectionId:r,data:{options:e,peerConfiguration:o}}),this.monitorPeer({peerId:n,connectionId:r,pc:t,remote:s}),{connectionId:r}}getTimeline(t){return this.timeline=this.timeline.sort((e,t)=>e.timestamp.getTime()-t.timestamp.getTime()),t?this.timeline.filter(e=>e.tag===t):this.timeline}get logger(){let t=e=>{var t=["none","error","warn","info","debug"];return-1<t.slice(0,t.indexOf(this.logLevel)+1).indexOf(e)};return{error(...e){this.debug&&t("error")&&console.error("[webrtc-stats][error] ",...e)},warn(...e){this.debug&&t("warn")&&console.warn("[webrtc-stats][warn] ",...e)},info(...e){this.debug&&t("info")&&console.log("[webrtc-stats][info] ",...e)},debug(...e){this.debug&&t("debug")&&console.debug("[webrtc-stats][debug] ",...e)}}}removeConnection(e){let{connectionId:t,pc:n}=e,r;if(!n&&!t)throw new Error("Missing arguments. You need to either send pc or a connectionId.");if(t){if("string"!=typeof t)throw new Error("connectionId must be a string.");for(var s in this.peersToMonitor)t in this.peersToMonitor[s]&&(n=this.peersToMonitor[s][t].pc,r=s)}else if(n){if(!(n instanceof RTCPeerConnection))throw new Error("pc must be an instance of RTCPeerConnection.");for(var i in this.peersToMonitor)for(var o in this.peersToMonitor[i])this.peersToMonitor[i][o].pc===n&&(t=o,r=i)}if(n&&t)return this.removePeerConnectionEventListeners(t,n),delete this.peersToMonitor[r][t],0===Object.values(this.peersToMonitor[r]).length&&delete this.peersToMonitor[r],{connectionId:t};throw new Error("Could not find the desired connection.")}removeAllPeers(){for(var e in this.peersToMonitor)this.removePeer(e)}removePeer(e){if(this.logger.info(`Removing PeerConnection with id ${e}.`),this.peersToMonitor[e]){for(var t in this.peersToMonitor[e]){var n=this.peersToMonitor[e][t].pc;this.removePeerConnectionEventListeners(t,n)}delete this.peersToMonitor[e]}}destroy(){this.removeAllPeers(),b.forEach(e=>{this.removeTrackEventListeners(e)}),b=[],this.shouldWrapGetUserMedia&&y&&(navigator.mediaDevices.getUserMedia=y)}monitorPeer(e){var{peerId:e,connectionId:t,pc:n,remote:r}=e;if(n){r={pc:n,connectionId:t,stream:null,stats:{parsed:null,raw:null},options:{remote:r}};if(this.peersToMonitor[e]){if(t in this.peersToMonitor[e])return void this.logger.warn("Already watching connection with ID "+t);this.peersToMonitor[e][t]=r}else this.peersToMonitor[e]={[t]:r};this.addPeerConnectionEventListeners(e,t,n),1===this.numberOfMonitoredPeers&&(this.startStatsMonitoring(),this.startConnectionStateMonitoring())}else this.logger.warn("Did not receive pc argument when calling monitorPeer()")}startStatsMonitoring(){this.monitoringSetInterval||(this.monitoringSetInterval=window.setInterval(()=>{this.numberOfMonitoredPeers||this.stopStatsMonitoring(),this.getStats().then(e=>{e.forEach(e=>{this.emitEvent(e)})})},this._getStatsInterval))}stopStatsMonitoring(){this.monitoringSetInterval&&(window.clearInterval(this.monitoringSetInterval),this.monitoringSetInterval=0)}async getStats(e=null){this.logger.info(e?"Getting stats from peer "+e:"Getting stats from all peers");let t={};if(e){if(!this.peersToMonitor[e])throw new Error(`Cannot get stats. Peer with id ${e} does not exist`);t[e]=this.peersToMonitor[e]}else t=this.peersToMonitor;var n=[];for(let e in t)for(var r in t[e]){var s=t[e][r],i=s.pc;if(i&&!this.checkIfConnectionIsClosed(e,r,i))try{var o,a,l,u,c,d,h=this.getTimestamp(),f=i.getStats(null);f?(o=await f,a=this.getTimestamp(),l=(e=>{if(!e.entries)return e;let n={};return e.forEach(function(e,t){n[t]=e}),n})(o),u={remote:s.options.remote},c=v(o,s.stats.parsed,u),d={event:"stats",tag:"stats",peerId:e,connectionId:r,timeTaken:a-h,data:c},!0===this.rawStats&&(d.rawStats=o),!0===this.statsObject&&(d.statsObject=l),!0===this.filteredStats&&(d.filteredStats=this.filteroutStats(l)),n.push(d),s.stats.parsed=c):this.logger.error(`PeerConnection from peer ${e} did not return any stats data`)}catch(e){this.logger.error(e)}}return n}startConnectionStateMonitoring(){this.connectionMonitoringSetInterval=window.setInterval(()=>{for(var e in this.numberOfMonitoredPeers||this.stopConnectionStateMonitoring(),this.peersToMonitor)for(var t in this.peersToMonitor[e]){var n=this.peersToMonitor[e][t].pc;this.checkIfConnectionIsClosed(e,t,n)}},this.connectionMonitoringInterval)}checkIfConnectionIsClosed(e,t,n){var r=this.isConnectionClosed(n);return r&&(this.removeConnection({pc:n}),n="closed"===n.connectionState?"onconnectionstatechange":"oniceconnectionstatechange",this.emitEvent({event:n,peerId:e,connectionId:t,tag:"connection",data:"closed"})),r}isConnectionClosed(e){return"closed"===e.connectionState||"closed"===e.iceConnectionState}stopConnectionStateMonitoring(){this.connectionMonitoringSetInterval&&(window.clearInterval(this.connectionMonitoringSetInterval),this.connectionMonitoringSetInterval=0)}wrapGetUserMedia(){if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia){this.logger.info("Wrapping getUsermedia functions."),y=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);let t=this.parseGetUserMedia.bind(this);navigator.mediaDevices.getUserMedia=function(){return t({constraints:arguments[0]}),y.apply(navigator.mediaDevices,arguments).then(e=>(t({stream:e}),e),e=>(t({error:e}),Promise.reject(e)))}.bind(navigator.mediaDevices)}else this.logger.warn("'navigator.mediaDevices.getUserMedia' is not available in browser. Will not wrap getUserMedia.")}filteroutStats(e={}){var t,n={...e};for(t in n){var r=n[t];this.statsToMonitor.includes(r.type)||delete n[t]}return n}get peerConnectionListeners(){return{icecandidate:(e,t,n,r)=>{this.logger.debug("[pc-event] icecandidate | peerId: ${peerId}",r),this.emitEvent({event:"onicecandidate",tag:"connection",peerId:e,connectionId:t,data:r.candidate})},track:(e,t,n,r)=>{this.logger.debug("[pc-event] track | peerId: "+e,r);var s=r.track,i=r.streams[0];e in this.peersToMonitor&&t in this.peersToMonitor[e]&&(this.peersToMonitor[e][t].stream=i),this.addTrackEventListeners(s,t),this.emitEvent({event:"ontrack",tag:"track",peerId:e,connectionId:t,data:{stream:i?this.getStreamDetails(i):null,track:s?this.getMediaTrackDetails(s):null,title:r.track.kind+":"+r.track.id+" "+r.streams.map(function(e){return"stream:"+e.id})}})},signalingstatechange:(e,t,n)=>{this.logger.debug("[pc-event] signalingstatechange | peerId: "+e),this.emitEvent({event:"onsignalingstatechange",tag:"connection",peerId:e,connectionId:t,data:{signalingState:n.signalingState,localDescription:n.localDescription,remoteDescription:n.remoteDescription}})},iceconnectionstatechange:(e,t,n)=>{this.logger.debug("[pc-event] iceconnectionstatechange | peerId: "+e),this.emitEvent({event:"oniceconnectionstatechange",tag:"connection",peerId:e,connectionId:t,data:n.iceConnectionState})},icegatheringstatechange:(e,t,n)=>{this.logger.debug("[pc-event] icegatheringstatechange | peerId: "+e),this.emitEvent({event:"onicegatheringstatechange",tag:"connection",peerId:e,connectionId:t,data:n.iceGatheringState})},icecandidateerror:(e,t,n,r)=>{this.logger.debug("[pc-event] icecandidateerror | peerId: "+e),this.emitEvent({event:"onicecandidateerror",tag:"connection",peerId:e,connectionId:t,error:{errorCode:r.errorCode}})},connectionstatechange:(e,t,n)=>{this.logger.debug("[pc-event] connectionstatechange | peerId: "+e),this.emitEvent({event:"onconnectionstatechange",tag:"connection",peerId:e,connectionId:t,data:n.connectionState})},negotiationneeded:(e,t,n)=>{this.logger.debug("[pc-event] negotiationneeded | peerId: "+e),this.emitEvent({event:"onnegotiationneeded",tag:"connection",peerId:e,connectionId:t})},datachannel:(e,t,n,r)=>{this.logger.debug("[pc-event] datachannel | peerId: "+e,r),this.emitEvent({event:"ondatachannel",tag:"datachannel",peerId:e,connectionId:t,data:r.channel})}}}addPeerConnectionEventListeners(t,n,r){this.logger.debug(`Adding event listeners for peer ${t} and connection ${n}.`),T[n]={},Object.keys(this.peerConnectionListeners).forEach(e=>{T[n][e]=this.peerConnectionListeners[e].bind(this,t,n,r),r.addEventListener(e,T[n][e],!1)})}parseGetUserMedia(e){try{var t={event:"getUserMedia",tag:"getUserMedia",data:{...e}};e.stream&&(t.data.details=this.parseStream(e.stream),e.stream.getTracks().map(e=>{this.addTrackEventListeners(e),b.push(e)})),this.emitEvent(t)}catch(e){}}parseStream(e){let t={audio:[],video:[]};return e.getTracks().forEach(e=>{t[e.kind].push(this.getMediaTrackDetails(e))}),t}getMediaTrackDetails(e){return{enabled:e.enabled,id:e.id,contentHint:e.contentHint,kind:e.kind,label:e.label,muted:e.muted,readyState:e.readyState,constructorName:e.constructor.name,capabilities:e.getCapabilities?e.getCapabilities():{},constraints:e.getConstraints?e.getConstraints():{},settings:e.getSettings?e.getSettings():{},_track:e}}getStreamDetails(e){return{active:e.active,id:e.id,_stream:e}}getTrackEventObject(t){return{mute:e=>{this.emitEvent({event:"mute",tag:"track",connectionId:t,data:{event:e}})},unmute:e=>{this.emitEvent({event:"unmute",tag:"track",connectionId:t,data:{event:e}})},overconstrained:e=>{this.emitEvent({event:"overconstrained",tag:"track",connectionId:t,data:{event:e}})},ended:e=>{this.emitEvent({event:"ended",tag:"track",connectionId:t,data:{event:e}}),this.removeTrackEventListeners(e.target)}}}addTrackEventListeners(t,e){T[t.id]={};let n=this.getTrackEventObject(e);Object.keys(n).forEach(e=>{T[t.id][e]=n[e].bind(this),t.addEventListener(e,T[t.id][e])}),T[t.id].readyState=setInterval(()=>{var e;"ended"===t.readyState&&(e=new CustomEvent("ended",{detail:{check:"readyState"}}),t.dispatchEvent(e))},1e3)}removeTrackEventListeners(t){var e;t.id in T&&(e=this.getTrackEventObject(),Object.keys(e).forEach(e=>{t.removeEventListener(e,T[t.id][e])}),clearInterval(T[t.id].readyState),delete T[t.id])}addToTimeline(e){this.timeline.push(e),this.emit("timeline",e)}emitEvent(e){e={...e,timestamp:new Date};this.addToTimeline(e),e.tag&&this.emit(e.tag,e)}set getStatsInterval(e){if(!Number.isInteger(e))throw new Error("getStatsInterval should be an integer, got: "+e);this._getStatsInterval=e,this.monitoringSetInterval&&(this.stopStatsMonitoring(),this.startStatsMonitoring())}get numberOfMonitoredPeers(){return Object.keys(this.peersToMonitor).length}removePeerConnectionEventListeners(t,n){t in T&&(Object.keys(this.peerConnectionListeners).forEach(e=>{n.removeEventListener(e,T[t][e],!1)}),delete T[t]),n.getSenders().forEach(e=>{e.track&&this.removeTrackEventListeners(e.track)}),n.getReceivers().forEach(e=>{e.track&&this.removeTrackEventListeners(e.track)})}getTimestamp(){return Date.now()}wrapGetDisplayMedia(){let t=this;if(navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia){let e=navigator.mediaDevices.getDisplayMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getDisplayMedia=function(){return t.debug("navigator.mediaDevices.getDisplayMedia",null,arguments[0]),e.apply(navigator.mediaDevices,arguments).then(function(e){return e},function(e){return t.debug("navigator.mediaDevices.getDisplayMediaOnFailure",null,e.name),Promise.reject(e)})}.bind(navigator.mediaDevices)}}}t.WebRTCStats=S},9033:function(e){function s(e){var t;return(r[e]||(t=r[e]={i:e,l:!1,exports:{}},n[e].call(t.exports,t,t.exports,s),t.l=!0,t)).exports}var n,r;e.exports=(n={17:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=n(18);function l(){}l.getFirstMatch=function(e,t){t=t.match(e);return t&&0<t.length&&t[1]||""},l.getSecondMatch=function(e,t){t=t.match(e);return t&&1<t.length&&t[2]||""},l.matchAndReturnConst=function(e,t,n){if(e.test(t))return n},l.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},l.getMacOSVersionName=function(e){e=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(e.push(0),10===e[0])switch(e[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},l.getAndroidVersionName=function(e){e=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(e.push(0),!(1===e[0]&&e[1]<5))return 1===e[0]&&e[1]<6?"Cupcake":1===e[0]&&6<=e[1]?"Donut":2===e[0]&&e[1]<2?"Eclair":2===e[0]&&2===e[1]?"Froyo":2===e[0]&&2<e[1]?"Gingerbread":3===e[0]?"Honeycomb":4===e[0]&&e[1]<1?"Ice Cream Sandwich":4===e[0]&&e[1]<4?"Jelly Bean":4===e[0]&&4<=e[1]?"KitKat":5===e[0]?"Lollipop":6===e[0]?"Marshmallow":7===e[0]?"Nougat":8===e[0]?"Oreo":9===e[0]?"Pie":void 0},l.getVersionPrecision=function(e){return e.split(".").length},l.compareVersions=function(e,t,n){void 0===n&&(n=!1);var r=l.getVersionPrecision(e),s=l.getVersionPrecision(t),i=Math.max(r,s),o=0,a=l.map([e,t],function(e){var t=i-l.getVersionPrecision(e),e=e+new Array(1+t).join(".0");return l.map(e.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(n&&(o=i-Math.min(r,s)),--i;o<=i;){if(a[0][i]>a[1][i])return 1;if(a[0][i]===a[1][i]){if(i===o)return 0;--i}else if(a[0][i]<a[1][i])return-1}},l.map=function(e,t){var n,r=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n<e.length;n+=1)r.push(t(e[n]));return r},l.find=function(e,t){var n,r;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(n=0,r=e.length;n<r;n+=1){var s=e[n];if(t(s,n))return s}},l.assign=function(e){for(var n=e,t=arguments.length,r=new Array(1<t?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];if(Object.assign)return Object.assign.apply(Object,[e].concat(r));for(var i=0,o=r.length;i<o;i+=1)(()=>{var t=r[i];"object"==typeof t&&null!==t&&Object.keys(t).forEach(function(e){n[e]=t[e]})})();return e},l.getBrowserAlias=function(e){return r.BROWSER_ALIASES_MAP[e]},l.getBrowserTypeByAlias=function(e){return r.BROWSER_MAP[e]||""},t.default=l,e.exports=t.default},18:function(e,t,n){t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,s=(r=n(91))&&r.__esModule?r:{default:r},i=n(18);function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(){}a.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new s.default(e,t)},a.parse=function(e){return new s.default(e).getResult()},r=a,n=[{key:"BROWSER_MAP",get:function(){return i.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return i.ENGINE_MAP}},{key:"OS_MAP",get:function(){return i.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return i.PLATFORMS_MAP}}],null&&o(r.prototype,null),o(r,n),t.default=a,e.exports=t.default},91:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=a(n(92)),s=a(n(93)),i=a(n(94)),o=a(n(95)),l=a(n(17));function a(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}(n=u.prototype).getUA=function(){return this._ua},n.test=function(e){return e.test(this._ua)},n.parseBrowser=function(){var t=this,e=(this.parsedResult.browser={},l.default.find(r.default,function(e){if("function"==typeof e.test)return e.test(t);if(e.test instanceof Array)return e.test.some(function(e){return t.test(e)});throw new Error("Browser's test function is not valid")}));return e&&(this.parsedResult.browser=e.describe(this.getUA())),this.parsedResult.browser},n.getBrowser=function(){return this.parsedResult.browser||this.parseBrowser()},n.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},n.getBrowserVersion=function(){return this.getBrowser().version},n.getOS=function(){return this.parsedResult.os||this.parseOS()},n.parseOS=function(){var t=this,e=(this.parsedResult.os={},l.default.find(s.default,function(e){if("function"==typeof e.test)return e.test(t);if(e.test instanceof Array)return e.test.some(function(e){return t.test(e)});throw new Error("Browser's test function is not valid")}));return e&&(this.parsedResult.os=e.describe(this.getUA())),this.parsedResult.os},n.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},n.getOSVersion=function(){return this.getOS().version},n.getPlatform=function(){return this.parsedResult.platform||this.parsePlatform()},n.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},n.parsePlatform=function(){var t=this,e=(this.parsedResult.platform={},l.default.find(i.default,function(e){if("function"==typeof e.test)return e.test(t);if(e.test instanceof Array)return e.test.some(function(e){return t.test(e)});throw new Error("Browser's test function is not valid")}));return e&&(this.parsedResult.platform=e.describe(this.getUA())),this.parsedResult.platform},n.getEngine=function(){return this.parsedResult.engine||this.parseEngine()},n.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},n.parseEngine=function(){var t=this,e=(this.parsedResult.engine={},l.default.find(o.default,function(e){if("function"==typeof e.test)return e.test(t);if(e.test instanceof Array)return e.test.some(function(e){return t.test(e)});throw new Error("Browser's test function is not valid")}));return e&&(this.parsedResult.engine=e.describe(this.getUA())),this.parsedResult.engine},n.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},n.getResult=function(){return l.default.assign({},this.parsedResult)},n.satisfies=function(n){var t=this,r={},s=0,i={},o=0;if(Object.keys(n).forEach(function(e){var t=n[e];"string"==typeof t?(i[e]=t,o+=1):"object"==typeof t&&(r[e]=t,s+=1)}),0<s){var e=Object.keys(r),a=l.default.find(e,function(e){return t.isOS(e)});if(a){a=this.satisfies(r[a]);if(void 0!==a)return a}a=l.default.find(e,function(e){return t.isPlatform(e)});if(a){e=this.satisfies(r[a]);if(void 0!==e)return e}}if(0<o){a=Object.keys(i),e=l.default.find(a,function(e){return t.isBrowser(e,!0)});if(void 0!==e)return this.compareVersion(i[e])}},n.isBrowser=function(e,t){void 0===t&&(t=!1);var n=this.getBrowserName().toLowerCase(),e=e.toLowerCase(),r=l.default.getBrowserTypeByAlias(e);return(e=t&&r?r.toLowerCase():e)===n},n.compareVersion=function(e){var t=[0],n=e,r=!1,s=this.getBrowserVersion();if("string"==typeof s)return">"===e[0]||"<"===e[0]?(n=e.substr(1),"="===e[1]?(r=!0,n=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?n=e.substr(1):"~"===e[0]&&(r=!0,n=e.substr(1)),-1<t.indexOf(l.default.compareVersions(s,n,r))},n.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},n.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},n.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},n.is=function(e,t){return this.isBrowser(e,t=void 0===t?!1:t)||this.isOS(e)||this.isPlatform(e)},n.some=function(e){var t=this;return(e=void 0===e?[]:e).some(function(e){return t.is(e)})},t.default=u,e.exports=t.default},92:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=(n=n(17))&&n.__esModule?n:{default:n},s=/version\/(\d+(\.?_?\d+)+)/i;t.default=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},e=r.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},e=r.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},e=r.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},e=r.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},e=r.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},e=r.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},e=r.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},e=r.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},e=r.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},e=r.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},e=r.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},e=r.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},e=r.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},e=r.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},e=r.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return e&&(t.version=e),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},e=r.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},e=r.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},e=r.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},e=r.default.getFirstMatch(s,e)||r.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},e=r.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},e=r.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},e=r.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},e=r.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},e=r.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},e=r.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},e=r.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},e=r.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},e=r.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:function(e){var t=!e.test(/like android/i),e=e.test(/android/i);return t&&e},describe:function(e){var t={name:"Android Browser"},e=r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},e=r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},e=r.default.getFirstMatch(s,e);return e&&(t.version=e),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:r.default.getFirstMatch(t,e),version:r.default.getSecondMatch(t,e)}}}],e.exports=t.default},93:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,s=(r=n(17))&&r.__esModule?r:{default:r},i=n(18);t.default=[{test:[/Roku\/DVP/],describe:function(e){e=s.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:i.OS_MAP.Roku,version:e}}},{test:[/windows phone/i],describe:function(e){e=s.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.WindowsPhone,version:e}}},{test:[/windows /i],describe:function(e){var e=s.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),t=s.default.getWindowsVersionName(e);return{name:i.OS_MAP.Windows,version:e,versionName:t}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:i.OS_MAP.iOS},e=s.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return e&&(t.version=e),t}},{test:[/macintosh/i],describe:function(e){var e=s.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),t=s.default.getMacOSVersionName(e),e={name:i.OS_MAP.MacOS,version:e};return t&&(e.versionName=t),e}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){e=s.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:i.OS_MAP.iOS,version:e}}},{test:function(e){var t=!e.test(/like android/i),e=e.test(/android/i);return t&&e},describe:function(e){var e=s.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),t=s.default.getAndroidVersionName(e),e={name:i.OS_MAP.Android,version:e};return t&&(e.versionName=t),e}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var e=s.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),t={name:i.OS_MAP.WebOS};return e&&e.length&&(t.version=e),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){e=s.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||s.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||s.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:i.OS_MAP.BlackBerry,version:e}}},{test:[/bada/i],describe:function(e){e=s.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.Bada,version:e}}},{test:[/tizen/i],describe:function(e){e=s.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.Tizen,version:e}}},{test:[/linux/i],describe:function(){return{name:i.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:i.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){e=s.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.PlayStation4,version:e}}}],e.exports=t.default},94:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,s=(r=n(17))&&r.__esModule?r:{default:r},i=n(18);t.default=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var e=s.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",t={type:i.PLATFORMS_MAP.mobile,vendor:"Huawei"};return e&&(t.model=e),t}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),e=e.test(/like (ipod|iphone)/i);return t&&!e},describe:function(e){e=s.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:i.PLATFORMS_MAP.mobile,vendor:"Apple",model:e}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&3<=t},describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}}],e.exports=t.default},95:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,s=(r=n(17))&&r.__esModule?r:{default:r},i=n(18);t.default=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){return/\sedg\//i.test(e)?{name:i.ENGINE_MAP.Blink}:(e=s.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e),{name:i.ENGINE_MAP.EdgeHTML,version:e})}},{test:[/trident/i],describe:function(e){var t={name:i.ENGINE_MAP.Trident},e=s.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:i.ENGINE_MAP.Presto},e=s.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:function(e){var t=e.test(/gecko/i),e=e.test(/like gecko/i);return t&&!e},describe:function(e){var t={name:i.ENGINE_MAP.Gecko},e=s.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:i.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:i.ENGINE_MAP.WebKit},e=s.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return e&&(t.version=e),t}}],e.exports=t.default}},r={},s.m=n,s.c=r,s.d=function(e,t,n){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(t,e){if(1&e&&(t=s(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)s.d(n,r,function(e){return t[e]}.bind(null,r));return n},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="",s(s.s=90))},8878:function(t,n,e){n.formatArgs=function(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),this.useColors){var r="color: "+this.color;e.splice(1,0,r,"color: inherit");let t=0,n=0;e[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(t++,"%c"===e)&&(n=t)}),e.splice(n,0,r)}},n.save=function(e){try{e?n.storage.setItem("debug",e):n.storage.removeItem("debug")}catch(e){}},n.load=function(){let e;try{e=n.storage.getItem("debug")}catch(e){}!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG);return e},n.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&31<=parseInt(RegExp.$1,10)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},n.storage=(()=>{try{return localStorage}catch(e){}})(),n.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),n.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],n.log=console.debug||console.log||(()=>{}),t.exports=e(8945)(n);e=t.exports.formatters;e.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},8945:function(e,t,r){e.exports=function(t){function a(e){let n,t=null,r,s;function o(...i){if(o.enabled){let r=o;var e=Number(new Date),t=e-(n||e);r.diff=t,r.prev=n,r.curr=e,n=e,i[0]=a.coerce(i[0]),"string"!=typeof i[0]&&i.unshift("%O");let s=0;i[0]=i[0].replace(/%([a-zA-Z%])/g,(e,t)=>{if("%%"===e)return"%";s++;var n,t=a.formatters[t];return"function"==typeof t&&(n=i[s],e=t.call(r,n),i.splice(s,1),s--),e}),a.formatArgs.call(r,i),(r.log||a.log).apply(r,i)}}return o.namespace=e,o.useColors=a.useColors(),o.color=a.selectColor(e),o.extend=i,o.destroy=a.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==t?t:(r!==a.namespaces&&(r=a.namespaces,s=a.enabled(e)),s),set:e=>{t=e}}),"function"==typeof a.init&&a.init(o),o}function i(e,t){t=a(this.namespace+(void 0===t?":":t)+e);return t.log=this.log,t}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return((a.debug=a).default=a).coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},a.disable=function(){var e=[...a.names.map(n),...a.skips.map(n).map(e=>"-"+e)].join(",");return a.enable(""),e},a.enable=function(e){a.save(e),a.namespaces=e,a.names=[],a.skips=[];let t,n=("string"==typeof e?e:"").split(/[\s,]+/),r=n.length;for(t=0;t<r;t++)n[t]&&("-"===(e=n[t].replace(/\*/g,".*?"))[0]?a.skips.push(new RegExp("^"+e.slice(1)+"$")):a.names.push(new RegExp("^"+e+"$")))},a.enabled=function(e){if("*"===e[e.length-1])return!0;let t,n;for(t=0,n=a.skips.length;t<n;t++)if(a.skips[t].test(e))return!1;for(t=0,n=a.names.length;t<n;t++)if(a.names[t].test(e))return!0;return!1},a.humanize=r(9192),a.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(t).forEach(e=>{a[e]=t[e]}),a.names=[],a.skips=[],a.formatters={},a.selectColor=function(t){let n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;return a.colors[Math.abs(n)%a.colors.length]},a.enable(a.load()),a}},4143:function(e){var r=Object.prototype.hasOwnProperty,f="~";function n(){}function i(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function s(e,t,n,r,s){if("function"!=typeof n)throw new TypeError("The listener must be a function");n=new i(n,r||e,s),r=f?f+t:t;return e._events[r]?e._events[r].fn?e._events[r]=[e._events[r],n]:e._events[r].push(n):(e._events[r]=n,e._eventsCount++),e}function l(e,t){0==--e._eventsCount?e._events=new n:delete e._events[t]}function t(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(f=!1)),t.prototype.eventNames=function(){var e,t,n=[];if(0===this._eventsCount)return n;for(t in e=this._events)r.call(e,t)&&n.push(f?t.slice(1):t);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},t.prototype.listeners=function(e){var e=f?f+e:e,t=this._events[e];if(!t)return[];if(t.fn)return[t.fn];for(var n=0,r=t.length,s=new Array(r);n<r;n++)s[n]=t[n].fn;return s},t.prototype.listenerCount=function(e){e=f?f+e:e,e=this._events[e];return e?e.fn?1:e.length:0},t.prototype.emit=function(e,t,n,r,s,i){var o=f?f+e:e;if(!this._events[o])return!1;var a,l=this._events[o],u=arguments.length;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),u){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,n),!0;case 4:return l.fn.call(l.context,t,n,r),!0;case 5:return l.fn.call(l.context,t,n,r,s),!0;case 6:return l.fn.call(l.context,t,n,r,s,i),!0}for(h=1,a=new Array(u-1);h<u;h++)a[h-1]=arguments[h];l.fn.apply(l.context,a)}else for(var c,d=l.length,h=0;h<d;h++)switch(l[h].once&&this.removeListener(e,l[h].fn,void 0,!0),u){case 1:l[h].fn.call(l[h].context);break;case 2:l[h].fn.call(l[h].context,t);break;case 3:l[h].fn.call(l[h].context,t,n);break;case 4:l[h].fn.call(l[h].context,t,n,r);break;default:if(!a)for(c=1,a=new Array(u-1);c<u;c++)a[c-1]=arguments[c];l[h].fn.apply(l[h].context,a)}return!0},t.prototype.on=function(e,t,n){return s(this,e,t,n,!1)},t.prototype.once=function(e,t,n){return s(this,e,t,n,!0)},t.prototype.removeListener=function(e,t,n,r){e=f?f+e:e;if(this._events[e])if(t){var s=this._events[e];if(s.fn)s.fn!==t||r&&!s.once||n&&s.context!==n||l(this,e);else{for(var i=0,o=[],a=s.length;i<a;i++)(s[i].fn!==t||r&&!s[i].once||n&&s[i].context!==n)&&o.push(s[i]);o.length?this._events[e]=1===o.length?o[0]:o:l(this,e)}}else l(this,e);return this},t.prototype.removeAllListeners=function(e){return e?(e=f?f+e:e,this._events[e]&&l(this,e)):(this._events=new n,this._eventsCount=0),this},t.prototype.off=t.prototype.removeListener,t.prototype.addListener=t.prototype.on,t.prefixed=f,e.exports=t.EventEmitter=t},9032:function(e){var t="object"==typeof Reflect?Reflect:null,l=t&&"function"==typeof t.apply?t.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};var n=t&&"function"==typeof t.ownKeys?t.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)},r=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(a,l){return new Promise(function(e,t){function n(e){a.removeListener(l,r),t(e)}function r(){"function"==typeof a.removeListener&&a.removeListener("error",n),e([].slice.call(arguments))}var s,i,o;p(a,l,r,{once:!0}),"error"!==l&&(i=n,o={once:!0},"function"==typeof(s=a).on)&&p(s,"error",i,o)})},(s.EventEmitter=s).prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var i=10;function u(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function o(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function a(e,t,n,r){var s,i;return u(n),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,n.listener||n),s=e._events),i=s[t]),void 0===i?(i=s[t]=n,++e._eventsCount):("function"==typeof i?i=s[t]=r?[n,i]:[i,n]:r?i.unshift(n):i.push(n),0<(s=o(e))&&i.length>s&&!i.warned&&(i.warned=!0,(r=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit")).name="MaxListenersExceededWarning",r.emitter=e,r.type=t,r.count=i.length,n=r,console)&&console.warn&&console.warn(n)),e}function c(e,t,n){e={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},t=function(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}.bind(e);return t.listener=n,e.wrapFn=t}function d(e,t,n){e=e._events;if(void 0===e)return[];e=e[t];if(void 0===e)return[];if("function"==typeof e)return n?[e.listener||e]:[e];if(n){for(var r=e,s=new Array(r.length),i=0;i<s.length;++i)s[i]=r[i].listener||r[i];return s}return f(e,e.length)}function h(e){var t=this._events;if(void 0!==t){t=t[e];if("function"==typeof t)return 1;if(void 0!==t)return t.length}return 0}function f(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function p(n,r,s,i){if("function"==typeof n.on)i.once?n.once(r,s):n.on(r,s);else{if("function"!=typeof n.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof n);n.addEventListener(r,function e(t){i.once&&n.removeEventListener(r,e),s(t)})}}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return o(this)},s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,s=this._events;if(void 0!==s)r=r&&void 0===s.error;else if(!r)return!1;if(r){if((i=0<t.length?t[0]:i)instanceof Error)throw i;r=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw r.context=i,r}var i=s[e];if(void 0===i)return!1;if("function"==typeof i)l(i,this,t);else for(var o=i.length,a=f(i,o),n=0;n<o;++n)l(a[n],this,t);return!0},s.prototype.on=s.prototype.addListener=function(e,t){return a(this,e,t,!1)},s.prototype.prependListener=function(e,t){return a(this,e,t,!0)},s.prototype.once=function(e,t){return u(t),this.on(e,c(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return u(t),this.prependListener(e,c(this,e,t)),this},s.prototype.off=s.prototype.removeListener=function(e,t){var n,r,s,i,o;if(u(t),void 0!==(r=this._events)&&void 0!==(n=r[e]))if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(s=-1,i=n.length-1;0<=i;i--)if(n[i]===t||n[i].listener===t){o=n[i].listener,s=i;break}if(s<0)return this;if(0===s)n.shift();else{for(var a=n,l=s;l+1<a.length;l++)a[l]=a[l+1];a.pop()}1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,o||t)}return this},s.prototype.removeAllListeners=function(e){var t,n=this._events;if(void 0!==n)if(void 0===n.removeListener)0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]);else if(0===arguments.length){for(var r,s=Object.keys(n),i=0;i<s.length;++i)"removeListener"!==(r=s[i])&&this.removeAllListeners(r);this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0}else if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;0<=i;i--)this.removeListener(e,t[i]);return this},s.prototype.listeners=function(e){return d(this,e,!0)},s.prototype.rawListeners=function(e){return d(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h,s.prototype.eventNames=function(){return 0<this._eventsCount?n(this._events):[]}},914:function(e,t,n){"undefined"==typeof self&&"undefined"==typeof window&&void 0!==n.g&&n.g,e.exports=(()=>{function n(e){return e.replace(/=/g,"").replace(/[+\/]/g,function(e){return"+"==e?"-":"_"})}function e(e){for(var t,n,r,s="",i=e.length%3,o=0;o<e.length;){if(255<(t=e.charCodeAt(o++))||255<(n=e.charCodeAt(o++))||255<(r=e.charCodeAt(o++)))throw new TypeError("invalid character found");s+=T[(t=t<<16|n<<8|r)>>18&63]+T[t>>12&63]+T[t>>6&63]+T[63&t]}return i?s.slice(0,i-3)+"===".substring(i):s}function t(e,t){return(t=void 0===t?!1:t)?n(w(e)):w(e)}function r(e){var t;return e.length<2?(t=e.charCodeAt(0))<128?e:t<2048?S(192|t>>>6)+S(128|63&t):S(224|t>>>12&15)+S(128|t>>>6&63)+S(128|63&t):(t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320),S(240|t>>>18&7)+S(128|t>>>12&63)+S(128|t>>>6&63)+S(128|63&t))}function s(e){return e.replace(R,r)}function i(e,t){return(t=void 0===t?!1:t)?n(I(e)):I(e)}function o(e){return i(e,!0)}function a(e){switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return S(55296+(t>>>10))+S(56320+(1023&t));case 3:return S((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return S((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}}function l(e){return e.replace(O,a)}function u(e){if(e=e.replace(/\s+/g,""),!b.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));for(var t,n,r,s="",i=0;i<e.length;)t=y[e.charAt(i++)]<<18|y[e.charAt(i++)]<<12|(n=y[e.charAt(i++)])<<6|(r=y[e.charAt(i++)]),s+=64===n?S(t>>16&255):64===r?S(t>>16&255,t>>8&255):S(t>>16&255,t>>8&255,255&t);return s}function c(e){return M(d(e))}function d(e){return E(e.replace(/[-_]/g,function(e){return"-"==e?"+":"/"}))}function h(e){return N(d(e))}function f(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}}function p(){function e(e,t){Object.defineProperty(String.prototype,e,f(t))}e("fromBase64",function(){return h(this)}),e("toBase64",function(e){return i(this,e)}),e("toBase64URI",function(){return i(this,!0)}),e("toBase64URL",function(){return i(this,!0)}),e("toUint8Array",function(){return c(this)})}function _(){function e(e,t){Object.defineProperty(Uint8Array.prototype,e,f(t))}e("toBase64",function(e){return t(this,e)}),e("toBase64URI",function(){return t(this,!0)}),e("toBase64URL",function(){return t(this,!0)})}var m="function"==typeof Buffer,g="function"==typeof TextDecoder?new TextDecoder:void 0,v="function"==typeof TextEncoder?new TextEncoder:void 0,T=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),y=(()=>{var n={};return T.forEach(function(e,t){return n[e]=t}),n})(),b=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,S=String.fromCharCode.bind(String),C="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):function(e){return new Uint8Array(Array.prototype.slice.call(e,0))},E=function(e){return e.replace(/[^A-Za-z0-9\+\/]/g,"")},A="function"==typeof btoa?function(e){return btoa(e)}:m?function(e){return Buffer.from(e,"binary").toString("base64")}:e,w=m?function(e){return Buffer.from(e).toString("base64")}:function(e){for(var t=[],n=0,r=e.length;n<r;n+=4096)t.push(S.apply(null,e.subarray(n,n+4096)));return A(t.join(""))},R=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,I=m?function(e){return Buffer.from(e,"utf8").toString("base64")}:v?function(e){return w(v.encode(e))}:function(e){return A(s(e))},O=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,x="function"==typeof atob?function(e){return atob(E(e))}:m?function(e){return Buffer.from(e,"base64").toString("binary")}:u,M=m?function(e){return C(Buffer.from(e,"base64"))}:function(e){return C(x(e).split("").map(function(e){return e.charCodeAt(0)}))},N=m?function(e){return Buffer.from(e,"base64").toString("utf8")}:g?function(e){return g.decode(M(e))}:function(e){return l(x(e))},P={version:"3.7.7",VERSION:"3.7.7",atob:x,atobPolyfill:u,btoa:A,btoaPolyfill:e,fromBase64:h,toBase64:i,encode:i,encodeURI:o,encodeURL:o,utob:s,btou:l,decode:h,isValid:function(e){return"string"==typeof e&&(e=e.replace(/\s+/g,"").replace(/={0,2}$/,""),!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e))},fromUint8Array:t,toUint8Array:c,extendString:p,extendUint8Array:_,extendBuiltins:function(){p(),_()},Base64:{}};return Object.keys(P).forEach(function(e){return P.Base64[e]=P[e]}),P})()},8611:function(e,t,n){let l=n(7196),r=n(9896),s=n(9656),i=n(7019),o=n(5944),u=n(8239),c=(t.settings={authorization_user:null,password:null,realm:null,ha1:null,authorization_jwt:null,display_name:null,uri:null,contact_uri:null,instance_id:null,use_preloaded_route:!1,session_timers:!0,session_timers_refresh_method:r.UPDATE,session_timers_force_refresher:!1,no_answer_timeout:60,register:!0,register_expires:600,registrar_server:null,sockets:null,connection_recovery_max_interval:r.CONNECTION_RECOVERY_MAX_INTERVAL,connection_recovery_min_interval:r.CONNECTION_RECOVERY_MIN_INTERVAL,extra_headers:null,via_host:l.createRandomToken(12)+".invalid"},{mandatory:{sockets(e){var t=[];if(o.isSocket(e))t.push({socket:e});else{if(!Array.isArray(e)||!e.length)return;for(var n of e)Object.prototype.hasOwnProperty.call(n,"socket")&&o.isSocket(n.socket)?t.push(n):o.isSocket(n)&&t.push({socket:n})}return t},uri(e){/^sip:/i.test(e)||(e=r.SIP+":"+e);e=i.parse(e);if(e&&e.user)return e}},optional:{authorization_user(e){if(-1!==s.parse(`"${e}"`,"quoted_string"))return e},authorization_jwt(e){if("string"==typeof e)return e},user_agent(e){if("string"==typeof e)return e},connection_recovery_max_interval(e){if(l.isDecimal(e)){e=Number(e);if(0<e)return e}},connection_recovery_min_interval(e){if(l.isDecimal(e)){e=Number(e);if(0<e)return e}},contact_uri(e){if("string"==typeof e){e=s.parse(e,"SIP_URI");if(-1!==e)return e}},display_name(e){return e},instance_id(e){if(/^uuid:/i.test(e)&&(e=e.substr(5)),-1!==s.parse(e,"uuid"))return e},no_answer_timeout(e){if(l.isDecimal(e)){e=Number(e);if(0<e)return e}},session_timers(e){if("boolean"==typeof e)return e},session_timers_refresh_method(e){if("string"==typeof e&&((e=e.toUpperCase())===r.INVITE||e===r.UPDATE))return e},session_timers_force_refresher(e){if("boolean"==typeof e)return e},password(e){return String(e)},realm(e){return String(e)},ha1(e){return String(e)},register(e){if("boolean"==typeof e)return e},register_expires(e){if(l.isDecimal(e)){e=Number(e);if(0<e)return e}},registrar_server(e){/^sip:/i.test(e)||(e=r.SIP+":"+e);e=i.parse(e);if(e&&!e.user)return e},use_preloaded_route(e){if("boolean"==typeof e)return e},extra_headers(e){var t=[];if(Array.isArray(e)&&e.length){for(var n of e)"string"==typeof n&&t.push(n);return t}}}});t.load=(e,t)=>{for(var n in c.mandatory){if(!t.hasOwnProperty(n))throw new u.ConfigurationError(n);var r=t[n],s=c.mandatory[n](r);if(void 0===s)throw new u.ConfigurationError(n,r);e[n]=s}for(var i in c.optional)if(t.hasOwnProperty(i)){var o=t[i];if(!l.isEmpty(o)){var a=c.optional[i](o);if(void 0===a)throw new u.ConfigurationError(i,o);e[i]=a}}}},9896:function(e,t,n){n=n(633);e.exports={USER_AGENT:n.title+" "+n.version,SIP:"sip",SIPS:"sips",causes:{CONNECTION_ERROR:"Connection Error",REQUEST_TIMEOUT:"Request Timeout",SIP_FAILURE_CODE:"SIP Failure Code",INTERNAL_ERROR:"Internal Error",BUSY:"Busy",REJECTED:"Rejected",REDIRECTED:"Redirected",UNAVAILABLE:"Unavailable",NOT_FOUND:"Not Found",ADDRESS_INCOMPLETE:"Address Incomplete",INCOMPATIBLE_SDP:"Incompatible SDP",MISSING_SDP:"Missing SDP",AUTHENTICATION_ERROR:"Authentication Error",BYE:"Terminated",WEBRTC_ERROR:"WebRTC Error",CANCELED:"Canceled",NO_ANSWER:"No Answer",EXPIRES:"Expires",NO_ACK:"No ACK",DIALOG_ERROR:"Dialog Error",USER_DENIED_MEDIA_ACCESS:"User Denied Media Access",BAD_MEDIA_DESCRIPTION:"Bad Media Description",RTP_TIMEOUT:"RTP Timeout"},SIP_ERROR_CAUSES:{REDIRECTED:[300,301,302,305,380],BUSY:[486,600],REJECTED:[403,603],NOT_FOUND:[404,604],UNAVAILABLE:[480,410,408,430],ADDRESS_INCOMPLETE:[484,424],INCOMPATIBLE_SDP:[488,606],AUTHENTICATION_ERROR:[401,407]},ACK:"ACK",BYE:"BYE",CANCEL:"CANCEL",INFO:"INFO",INVITE:"INVITE",MESSAGE:"MESSAGE",NOTIFY:"NOTIFY",OPTIONS:"OPTIONS",REGISTER:"REGISTER",REFER:"REFER",UPDATE:"UPDATE",SUBSCRIBE:"SUBSCRIBE",DTMF_TRANSPORT:{INFO:"INFO",RFC2833:"RFC2833"},REASON_PHRASE:{100:"Trying",180:"Ringing",181:"Call Is Being Forwarded",182:"Queued",183:"Session Progress",199:"Early Dialog Terminated",200:"OK",202:"Accepted",204:"No Notification",300:"Multiple Choices",301:"Moved Permanently",302:"Moved Temporarily",305:"Use Proxy",380:"Alternative Service",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",410:"Gone",412:"Conditional Request Failed",413:"Request Entity Too Large",414:"Request-URI Too Long",415:"Unsupported Media Type",416:"Unsupported URI Scheme",417:"Unknown Resource-Priority",420:"Bad Extension",421:"Extension Required",422:"Session Interval Too Small",423:"Interval Too Brief",424:"Bad Location Information",428:"Use Identity Header",429:"Provide Referrer Identity",430:"Flow Failed",433:"Anonymity Disallowed",436:"Bad Identity-Info",437:"Unsupported Certificate",438:"Invalid Identity Header",439:"First Hop Lacks Outbound Support",440:"Max-Breadth Exceeded",469:"Bad Info Package",470:"Consent Needed",478:"Unresolvable Destination",480:"Temporarily Unavailable",481:"Call/Transaction Does Not Exist",482:"Loop Detected",483:"Too Many Hops",484:"Address Incomplete",485:"Ambiguous",486:"Busy Here",487:"Request Terminated",488:"Not Acceptable Here",489:"Bad Event",491:"Request Pending",493:"Undecipherable",494:"Security Agreement Required",500:"JsSIP Internal Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Server Time-out",505:"Version Not Supported",513:"Message Too Large",580:"Precondition Failure",600:"Busy Everywhere",603:"Decline",604:"Does Not Exist Anywhere",606:"Not Acceptable"},ALLOWED_METHODS:"INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO,NOTIFY",ACCEPTED_BODY_TYPES:"application/sdp, application/dtmf-relay",MAX_FORWARDS:69,SESSION_EXPIRES:90,MIN_SESSION_EXPIRES:60,CONNECTION_RECOVERY_MAX_INTERVAL:30,CONNECTION_RECOVERY_MIN_INTERVAL:2}},2517:function(e,t,n){var r=n(3422);let s=n(2602),i=n(9896),o=n(1164),a=n(546),l=n(7196),u=new r("Dialog"),c={STATUS_EARLY:1,STATUS_CONFIRMED:2,STATUS_TERMINATED:3};e.exports=class{static get C(){return c}constructor(e,t,n,r=c.STATUS_CONFIRMED){if(this._owner=e,this._ua=e._ua,this._uac_pending_reply=!1,this._uas_pending_reply=!1,!t.hasHeader("contact"))return{error:"unable to create a Dialog without Contact header field"};t instanceof s.IncomingResponse&&(r=t.status_code<200?c.STATUS_EARLY:c.STATUS_CONFIRMED);e=t.parseHeader("contact");"UAS"===n?(this._id={call_id:t.call_id,local_tag:t.to_tag,remote_tag:t.from_tag,toString(){return this.call_id+this.local_tag+this.remote_tag}},this._state=r,this._remote_seqnum=t.cseq,this._local_uri=t.parseHeader("to").uri,this._remote_uri=t.parseHeader("from").uri,this._remote_target=e.uri,this._route_set=t.getHeaders("record-route"),this._ack_seqnum=this._remote_seqnum):"UAC"===n&&(this._id={call_id:t.call_id,local_tag:t.from_tag,remote_tag:t.to_tag,toString(){return this.call_id+this.local_tag+this.remote_tag}},this._state=r,this._local_seqnum=t.cseq,this._local_uri=t.parseHeader("from").uri,this._remote_uri=t.parseHeader("to").uri,this._remote_target=e.uri,this._route_set=t.getHeaders("record-route").reverse(),this._ack_seqnum=null),this._ua.newDialog(this),u.debug(`new ${n} dialog created with status `+(this._state===c.STATUS_EARLY?"EARLY":"CONFIRMED"))}get id(){return this._id}get local_seqnum(){return this._local_seqnum}set local_seqnum(e){this._local_seqnum=e}get owner(){return this._owner}get uac_pending_reply(){return this._uac_pending_reply}set uac_pending_reply(e){this._uac_pending_reply=e}get uas_pending_reply(){return this._uas_pending_reply}isTerminated(){return this._status===c.STATUS_TERMINATED}update(e,t){this._state=c.STATUS_CONFIRMED,u.debug(`dialog ${this._id.toString()} changed to CONFIRMED state`),"UAC"===t&&(this._route_set=e.getHeaders("record-route").reverse())}terminate(){u.debug(`dialog ${this._id.toString()} deleted`),this._ua.destroyDialog(this),this._state=c.STATUS_TERMINATED}sendRequest(e,t={}){var n=l.cloneArray(t.extraHeaders),r=l.cloneObject(t.eventHandlers),t=t.body||null,e=this._createRequest(e,n,t);return r.onAuthenticated=()=>{this._local_seqnum+=1},new a(this,e,r).send(),e}receiveRequest(e){this._checkInDialogRequest(e)&&(e.method===i.ACK&&null!==this._ack_seqnum?this._ack_seqnum=null:e.method===i.INVITE&&(this._ack_seqnum=e.cseq),this._owner.receiveRequest(e))}_createRequest(e,t,n){t=l.cloneArray(t),this._local_seqnum||(this._local_seqnum=Math.floor(1e4*Math.random()));var r=e===i.CANCEL||e===i.ACK?this._local_seqnum:this._local_seqnum+=1;return new s.OutgoingRequest(e,this._remote_target,this._ua,{cseq:r,call_id:this._id.call_id,from_uri:this._local_uri,from_tag:this._id.local_tag,to_uri:this._remote_uri,to_tag:this._id.remote_tag,route_set:this._route_set},t,n)}_checkInDialogRequest(t){if(this._remote_seqnum)if(t.cseq<this._remote_seqnum){if(t.method!==i.ACK)return t.reply(500),!1;if(null===this._ack_seqnum||t.cseq!==this._ack_seqnum)return!1}else t.cseq>this._remote_seqnum&&(this._remote_seqnum=t.cseq);else this._remote_seqnum=t.cseq;if(t.method===i.INVITE||t.method===i.UPDATE&&t.body){if(!0===this._uac_pending_reply)t.reply(491);else{var e;if(!0===this._uas_pending_reply)return e=1+(10*Math.random()|0),t.reply(500,null,["Retry-After:"+e]),!1;{this._uas_pending_reply=!0;let e=()=>{t.server_transaction.state!==o.C.STATUS_ACCEPTED&&t.server_transaction.state!==o.C.STATUS_COMPLETED&&t.server_transaction.state!==o.C.STATUS_TERMINATED||(t.server_transaction.removeListener("stateChanged",e),this._uas_pending_reply=!1)};t.server_transaction.on("stateChanged",e)}}t.hasHeader("contact")&&t.server_transaction.on("stateChanged",()=>{t.server_transaction.state===o.C.STATUS_ACCEPTED&&(this._remote_target=t.parseHeader("contact").uri)})}else t.method===i.NOTIFY&&t.hasHeader("contact")&&t.server_transaction.on("stateChanged",()=>{t.server_transaction.state===o.C.STATUS_COMPLETED&&(this._remote_target=t.parseHeader("contact").uri)});return!0}}},546:function(e,t,n){let r=n(9896),s=n(1164),i=n(5117),o={onRequestTimeout:()=>{},onTransportError:()=>{},onSuccessResponse:()=>{},onErrorResponse:()=>{},onAuthenticated:()=>{},onDialogError:()=>{}};e.exports=class{constructor(e,t,n){for(var r in this._dialog=e,this._ua=e._ua,this._request=t,this._eventHandlers=n,this._reattempt=!1,this._reattemptTimer=null,o)!Object.prototype.hasOwnProperty.call(o,r)||this._eventHandlers[r]||(this._eventHandlers[r]=o[r])}get request(){return this._request}send(){let t=new i(this._ua,this._request,{onRequestTimeout:()=>{this._eventHandlers.onRequestTimeout()},onTransportError:()=>{this._eventHandlers.onTransportError()},onAuthenticated:e=>{this._eventHandlers.onAuthenticated(e)},onReceiveResponse:e=>{this._receiveResponse(e)}});if(t.send(),(this._request.method===r.INVITE||this._request.method===r.UPDATE&&this._request.body)&&t.clientTransaction.state!==s.C.STATUS_TERMINATED){this._dialog.uac_pending_reply=!0;let e=()=>{t.clientTransaction.state!==s.C.STATUS_ACCEPTED&&t.clientTransaction.state!==s.C.STATUS_COMPLETED&&t.clientTransaction.state!==s.C.STATUS_TERMINATED||(t.clientTransaction.removeListener("stateChanged",e),this._dialog.uac_pending_reply=!1)};t.clientTransaction.on("stateChanged",e)}}_receiveResponse(e){408===e.status_code||481===e.status_code?this._eventHandlers.onDialogError(e):e.method!==r.INVITE||491!==e.status_code||this._reattempt?200<=e.status_code&&e.status_code<300?this._eventHandlers.onSuccessResponse(e):300<=e.status_code&&this._eventHandlers.onErrorResponse(e):(this._request.cseq=this._dialog.local_seqnum+=1,this._reattemptTimer=setTimeout(()=>{this._dialog.isTerminated()||(this._reattempt=!0,this.send())},1e3))}}},3889:function(e,t,n){var r=n(3422);let a=n(7196),l=new r("DigestAuthentication");e.exports=class{constructor(e){this._credentials=e,this._cnonce=null,this._nc=0,this._ncHex="00000000",this._algorithm=null,this._realm=null,this._nonce=null,this._opaque=null,this._stale=null,this._qop=null,this._method=null,this._uri=null,this._ha1=null,this._response=null}get(e){switch(e){case"realm":return this._realm;case"ha1":return this._ha1;default:return void l.warn('get() | cannot get "%s" parameter',e)}}authenticate({method:e,ruri:t,body:n},r,s=null){if(this._algorithm=r.algorithm,this._realm=r.realm,this._nonce=r.nonce,this._opaque=r.opaque,this._stale=r.stale,this._algorithm){if("MD5"!==this._algorithm)return l.warn('authenticate() | challenge with Digest algorithm different than "MD5", authentication aborted'),!1}else this._algorithm="MD5";if(!this._nonce)return l.warn("authenticate() | challenge without Digest nonce, authentication aborted"),!1;if(!this._realm)return l.warn("authenticate() | challenge without Digest realm, authentication aborted"),!1;if(!this._credentials.password){if(!this._credentials.ha1)return l.warn("authenticate() | no plain SIP password nor ha1 provided, authentication aborted"),!1;if(this._credentials.realm!==this._realm)return l.warn('authenticate() | no plain SIP password, and stored `realm` does not match the given `realm`, cannot authenticate [stored:"%s", given:"%s"]',this._credentials.realm,this._realm),!1}if(r.qop)if(-1<r.qop.indexOf("auth-int"))this._qop="auth-int";else{if(!(-1<r.qop.indexOf("auth")))return l.warn('authenticate() | challenge without Digest qop different than "auth" or "auth-int", authentication aborted'),!1;this._qop="auth"}else this._qop=null;this._method=e,this._uri=t,this._cnonce=s||a.createRandomToken(12),this._nc+=1;r=Number(this._nc).toString(16);this._ncHex="00000000".substr(0,8-r.length)+r,4294967296===this._nc&&(this._nc=1,this._ncHex="00000001"),this._credentials.password?this._ha1=a.calculateMD5(`${this._credentials.username}:${this._realm}:`+this._credentials.password):this._ha1=this._credentials.ha1;let i,o;return"auth"===this._qop?(i=this._method+":"+this._uri,o=a.calculateMD5(i),l.debug('authenticate() | using qop=auth [a2:"%s"]',i),this._response=a.calculateMD5(`${this._ha1}:${this._nonce}:${this._ncHex}:${this._cnonce}:auth:`+o)):"auth-int"===this._qop?(i=`${this._method}:${this._uri}:`+a.calculateMD5(n||""),o=a.calculateMD5(i),l.debug('authenticate() | using qop=auth-int [a2:"%s"]',i),this._response=a.calculateMD5(`${this._ha1}:${this._nonce}:${this._ncHex}:${this._cnonce}:auth-int:`+o)):null===this._qop&&(i=this._method+":"+this._uri,o=a.calculateMD5(i),l.debug('authenticate() | using qop=null [a2:"%s"]',i),this._response=a.calculateMD5(`${this._ha1}:${this._nonce}:`+o)),l.debug("authenticate() | response generated"),!0}toString(){var e=[];if(this._response)return e.push("algorithm="+this._algorithm),e.push(`username="${this._credentials.username}"`),e.push(`realm="${this._realm}"`),e.push(`nonce="${this._nonce}"`),e.push(`uri="${this._uri}"`),e.push(`response="${this._response}"`),this._opaque&&e.push(`opaque="${this._opaque}"`),this._qop&&(e.push("qop="+this._qop),e.push(`cnonce="${this._cnonce}"`),e.push("nc="+this._ncHex)),"Digest "+e.join(", ");throw new Error("response field does not exist, cannot generate Authorization header")}}},8239:function(e){class t extends Error{constructor(e,t){super(),this.code=1,this.name="CONFIGURATION_ERROR",this.parameter=e,this.value=t,this.message=this.value?`Invalid value ${JSON.stringify(this.value)} for parameter "${this.parameter}"`:"Missing parameter: "+this.parameter}}class n extends Error{constructor(e){super(),this.code=2,this.name="INVALID_STATE_ERROR",this.status=e,this.message="Invalid status: "+e}}class r extends Error{constructor(e){super(),this.code=3,this.name="NOT_SUPPORTED_ERROR",this.message=e}}class s extends Error{constructor(e){super(),this.code=4,this.name="NOT_READY_ERROR",this.message=e}}e.exports={ConfigurationError:t,InvalidStateError:n,NotSupportedError:r,NotReadyError:s}},9656:function(e,t,Bn){function $n(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}e.exports=((e={parse:function(m,l){var e={CRLF:F,DIGIT:u,ALPHA:o,HEXDIG:a,WSP:c,OCTET:n,DQUOTE:d,SP:h,HTAB:f,alphanum:s,reserved:q,unreserved:r,mark:H,escaped:p,LWS:_,SWS:y,HCOLON:j,TEXT_UTF8_TRIM:B,TEXT_UTF8char:b,UTF8_NONASCII:S,UTF8_CONT:C,LHEX:function(){var e;null===(e=u())&&(/^[a-f]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[a-f]")));return e},token:E,token_nodot:$,separators:function(){var e;40===m.charCodeAt(g)?(e="(",g++):(e=null,0===v&&T('"("'));null===e&&(41===m.charCodeAt(g)?(e=")",g++):(e=null,0===v&&T('")"')),null===e)&&(60===m.charCodeAt(g)?(e="<",g++):(e=null,0===v&&T('"<"')),null===e)&&(62===m.charCodeAt(g)?(e=">",g++):(e=null,0===v&&T('">"')),null===e)&&(64===m.charCodeAt(g)?(e="@",g++):(e=null,0===v&&T('"@"')),null===e)&&(44===m.charCodeAt(g)?(e=",",g++):(e=null,0===v&&T('","')),null===e)&&(59===m.charCodeAt(g)?(e=";",g++):(e=null,0===v&&T('";"')),null===e)&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null===e)&&(92===m.charCodeAt(g)?(e="\\",g++):(e=null,0===v&&T('"\\\\"')),null===e)&&null===(e=d())&&(47===m.charCodeAt(g)?(e="/",g++):(e=null,0===v&&T('"/"')),null===e)&&(91===m.charCodeAt(g)?(e="[",g++):(e=null,0===v&&T('"["')),null===e)&&(93===m.charCodeAt(g)?(e="]",g++):(e=null,0===v&&T('"]"')),null===e)&&(63===m.charCodeAt(g)?(e="?",g++):(e=null,0===v&&T('"?"')),null===e)&&(61===m.charCodeAt(g)?(e="=",g++):(e=null,0===v&&T('"="')),null===e)&&(123===m.charCodeAt(g)?(e="{",g++):(e=null,0===v&&T('"{"')),null===e)&&(125===m.charCodeAt(g)?(e="}",g++):(e=null,0===v&&T('"}"')),null===e)&&null===(e=h())&&(e=f());return e},word:A,STAR:G,SLASH:W,EQUAL:w,LPAREN:V,RPAREN:K,RAQUOT:z,LAQUOT:Y,COMMA:R,SEMI:I,COLON:X,LDQUOT:Q,RDQUOT:J,comment:function e(){var t,n,r;var s;s=g;t=V();if(null!==t){for(n=[],null===(r=Z())&&null===(r=O())&&(r=e());null!==r;)n.push(r),null===(r=Z())&&null===(r=O())&&(r=e());null!==n&&null!==(r=K())?t=[t,n,r]:(t=null,g=s)}else t=null,g=s;return t},ctext:Z,quoted_string:ee,quoted_string_clean:te,qdtext:ne,quoted_pair:O,SIP_URI_noparams:re,SIP_URI:se,uri_scheme:ie,uri_scheme_sips:oe,uri_scheme_sip:ae,userinfo:le,user:ue,user_unreserved:ce,password:de,hostport:he,host:fe,hostname:pe,domainlabel:_e,toplabel:me,IPv6reference:ge,IPv6address:ve,h16:x,ls32:M,IPv4address:Te,dec_octet:ye,port:be,uri_parameters:Se,uri_parameter:Ce,transport_param:Ee,user_param:Ae,method_param:we,ttl_param:Re,maddr_param:Ie,lr_param:Oe,other_param:xe,pname:Me,pvalue:Ne,paramchar:Pe,param_unreserved:De,headers:ke,header:Ue,hname:Le,hvalue:Fe,hnv_unreserved:qe,Request_Response:function(){var e;null===(e=_t())&&(e=He());return e},Request_Line:He,Request_URI:je,absoluteURI:Be,hier_part:$e,net_path:Ge,abs_path:We,opaque_part:Ve,uric:Ke,uric_no_slash:ze,path_segments:Ye,segment:Xe,param:Qe,pchar:Je,scheme:Ze,authority:et,srvr:tt,reg_name:nt,query:rt,SIP_Version:st,INVITEm:it,ACKm:ot,OPTIONSm:at,BYEm:lt,CANCELm:ut,REGISTERm:ct,SUBSCRIBEm:dt,NOTIFYm:ht,REFERm:ft,Method:pt,Status_Line:_t,Status_Code:mt,extension_code:gt,Reason_Phrase:vt,Allow_Events:function(){var e,t,n,r,s,i;if(s=g,null!==(e=qt())){for(t=[],i=g,null!==(n=R())&&null!==(r=qt())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=R())&&null!==(r=qt())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e},Call_ID:function(){var e,t,n,r,s,i;s=r=g,null!==(e=A())&&(i=g,64===m.charCodeAt(g)?(t="@",g++):(t=null,0===v&&T('"@"')),null!==t&&null!==(n=A())?t=[t,n]:(t=null,g=i),null!==(t=null!==t?t:""))?e=[e,t]:(e=null,g=s);null!==e&&(e=void(L=m.substring(g,r)));null===e&&(g=r);return e},Contact:function(){var e,t,n,r,s,i,o;if(s=g,null===(e=G()))if(i=g,null!==(e=Tt())){for(t=[],o=g,null!==(n=R())&&null!==(r=Tt())?n=[n,r]:(n=null,g=o);null!==n;)t.push(n),o=g,null!==(n=R())&&null!==(r=Tt())?n=[n,r]:(n=null,g=o);null!==t?e=[e,t]:(e=null,g=i)}else e=null,g=i;null!==e&&(e=(()=>{for(var e=L.multi_header.length,t=0;t<e;t++)if(null===L.multi_header[t].parsed){L=null;break}L=null!==L?L.multi_header:-1})());null===e&&(g=s);return e},contact_param:Tt,name_addr:N,display_name:yt,contact_params:bt,c_p_q:St,c_p_expires:Ct,delta_seconds:P,qvalue:Et,generic_param:D,gen_value:At,Content_Disposition:function(){var e,t,n,r,s,i;if(s=g,null!==(e=wt())){for(t=[],i=g,null!==(n=I())&&null!==(r=Rt())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=I())&&null!==(r=Rt())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e},disp_type:wt,disp_param:Rt,handling_param:It,Content_Encoding:function(){var e,t,n,r,s,i;if(s=g,null!==(e=E())){for(t=[],i=g,null!==(n=R())&&null!==(r=E())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=R())&&null!==(r=E())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e},Content_Length:function(){var e,t,n;if(n=g,null!==(t=u()))for(e=[];null!==t;)e.push(t),t=u();else e=null;null!==e&&(e=void(L=parseInt(e.join(""))));null===e&&(g=n);return e},Content_Type:function(){var e,t;t=g,null!==(e=Ot())&&(e=void(L=m.substring(g,t)));null===e&&(g=t);return e},media_type:Ot,m_type:xt,discrete_type:Mt,composite_type:Nt,extension_token:Pt,x_token:Dt,m_subtype:kt,m_parameter:Ut,m_value:Lt,CSeq:function(){var e,t,n,r;r=g,null!==(e=Ft())&&null!==(t=_())&&null!==(n=pt())?e=[e,t,n]:(e=null,g=r);return e},CSeq_value:Ft,Expires:function(){var e,t;t=g,null!==(e=P())&&(e=void(L=e));null===e&&(g=t);return e},Event:function(){var e,t,n,r,s,i,o;if(i=s=g,null!==(e=qt())){for(t=[],o=g,null!==(n=I())&&null!==(r=D())?n=[n,r]:(n=null,g=o);null!==n;)t.push(n),o=g,null!==(n=I())&&null!==(r=D())?n=[n,r]:(n=null,g=o);null!==t?e=[e,t]:(e=null,g=i)}else e=null,g=i;null!==e&&(e=(e=>{L.event=e.join("").toLowerCase()})(e[0]));null===e&&(g=s);return e},event_type:qt,From:function(){var e,t,n,r,s,i,o;i=s=g,null===(e=re())&&(e=N());if(null!==e){for(t=[],o=g,null!==(n=I())&&null!==(r=Ht())?n=[n,r]:(n=null,g=o);null!==n;)t.push(n),o=g,null!==(n=I())&&null!==(r=Ht())?n=[n,r]:(n=null,g=o);null!==t?e=[e,t]:(e=null,g=i)}else e=null,g=i;null!==e&&(e=(()=>{var e=L.tag;try{L=new U(L.uri,L.display_name,L.params),e&&L.setParam("tag",e)}catch(e){L=-1}})());null===e&&(g=s);return e},from_param:Ht,tag_param:jt,Max_Forwards:function(){var e,t,n;if(n=g,null!==(t=u()))for(e=[];null!==t;)e.push(t),t=u();else e=null;null!==e&&(e=void(L=parseInt(e.join(""))));null===e&&(g=n);return e},Min_Expires:function(){var e,t;t=g,null!==(e=P())&&(e=void(L=e));null===e&&(g=t);return e},Name_Addr_Header:function(){var e,t,n,r,s,i,o,a,l,u;l=a=g,e=[],t=yt();for(;null!==t;)e.push(t),t=yt();if(null!==e)if(null!==(t=Y()))if(null!==(n=se()))if(null!==(r=z())){for(s=[],u=g,null!==(i=I())&&null!==(o=D())?i=[i,o]:(i=null,g=u);null!==i;)s.push(i),u=g,null!==(i=I())&&null!==(o=D())?i=[i,o]:(i=null,g=u);null!==s?e=[e,t,n,r,s]:(e=null,g=l)}else e=null,g=l;else e=null,g=l;else e=null,g=l;else e=null,g=l;null!==e&&(e=(()=>{try{L=new U(L.uri,L.display_name,L.params)}catch(e){L=-1}})());null===e&&(g=a);return e},Proxy_Authenticate:function(){return Bt()},challenge:Bt,other_challenge:$t,auth_param:Gt,digest_cln:Wt,realm:Vt,realm_value:Kt,domain:zt,URI:Yt,nonce:Xt,nonce_value:Qt,opaque:Jt,stale:Zt,algorithm:en,qop_options:tn,qop_value:nn,Proxy_Require:function(){var e,t,n,r,s,i;if(s=g,null!==(e=E())){for(t=[],i=g,null!==(n=R())&&null!==(r=E())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=R())&&null!==(r=E())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e},Record_Route:function(){var e,t,n,r,s,i,o;if(i=s=g,null!==(e=rn())){for(t=[],o=g,null!==(n=R())&&null!==(r=rn())?n=[n,r]:(n=null,g=o);null!==n;)t.push(n),o=g,null!==(n=R())&&null!==(r=rn())?n=[n,r]:(n=null,g=o);null!==t?e=[e,t]:(e=null,g=i)}else e=null,g=i;null!==e&&(e=(()=>{for(var e=L.multi_header.length,t=0;t<e;t++)if(null===L.multi_header[t].parsed){L=null;break}L=null!==L?L.multi_header:-1})());null===e&&(g=s);return e},rec_route:rn,Reason:function(){var e,t,n,r,s,i,o;i=s=g,"sip"===m.substr(g,3).toLowerCase()?(e=m.substr(g,3),g+=3):(e=null,0===v&&T('"SIP"'));null===e&&(e=E());if(null!==e){for(t=[],o=g,null!==(n=I())&&null!==(r=sn())?n=[n,r]:(n=null,g=o);null!==n;)t.push(n),o=g,null!==(n=I())&&null!==(r=sn())?n=[n,r]:(n=null,g=o);null!==t?e=[e,t]:(e=null,g=i)}else e=null,g=i;null!==e&&(e=(e=>{L.protocol=e.toLowerCase(),L.params||(L.params={}),L.params.text&&'"'===L.params.text[0]&&(e=L.params.text,L.text=e.substring(1,e.length-1),delete L.params.text)})(e[0]));null===e&&(g=s);return e},reason_param:sn,reason_cause:on,Require:function(){var e,t,n,r,s,i;if(s=g,null!==(e=E())){for(t=[],i=g,null!==(n=R())&&null!==(r=E())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=R())&&null!==(r=E())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e},Route:function(){var e,t,n,r,s,i;if(s=g,null!==(e=an())){for(t=[],i=g,null!==(n=R())&&null!==(r=an())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=R())&&null!==(r=an())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e},route_param:an,Subscription_State:function(){var e,t,n,r,s,i;if(s=g,null!==(e=ln())){for(t=[],i=g,null!==(n=I())&&null!==(r=un())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=I())&&null!==(r=un())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e},substate_value:ln,subexp_params:un,event_reason_value:cn,Subject:function(){var e;return e=null!==(e=B())?e:""},Supported:function(){var e,t,n,r,s,i;if(s=g,null!==(e=E())){for(t=[],i=g,null!==(n=R())&&null!==(r=E())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=R())&&null!==(r=E())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e=null!==e?e:""},To:function(){var e,t,n,r,s,i,o;i=s=g,null===(e=re())&&(e=N());if(null!==e){for(t=[],o=g,null!==(n=I())&&null!==(r=dn())?n=[n,r]:(n=null,g=o);null!==n;)t.push(n),o=g,null!==(n=I())&&null!==(r=dn())?n=[n,r]:(n=null,g=o);null!==t?e=[e,t]:(e=null,g=i)}else e=null,g=i;null!==e&&(e=(()=>{var e=L.tag;try{L=new U(L.uri,L.display_name,L.params),e&&L.setParam("tag",e)}catch(e){L=-1}})());null===e&&(g=s);return e},to_param:dn,Via:function(){var e,t,n,r,s,i;if(s=g,null!==(e=hn())){for(t=[],i=g,null!==(n=R())&&null!==(r=hn())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=R())&&null!==(r=hn())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e},via_param:hn,via_params:fn,via_ttl:pn,via_maddr:_n,via_received:mn,via_branch:gn,response_port:vn,rport:Tn,sent_protocol:yn,protocol_name:bn,transport:Sn,sent_by:Cn,via_host:En,via_port:An,ttl:wn,WWW_Authenticate:function(){return Bt()},Session_Expires:function(){var e,t,n,r,s,i;if(s=g,null!==(e=Rn())){for(t=[],i=g,null!==(n=I())&&null!==(r=In())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=I())&&null!==(r=In())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e},s_e_expires:Rn,s_e_params:In,s_e_refresher:On,extension_header:function(){var e,t,n,r;r=g,null!==(e=E())&&null!==(t=j())&&null!==(n=xn())?e=[e,t,n]:(e=null,g=r);return e},header_value:xn,message_body:function(){var e,t;e=[],t=n();for(;null!==t;)e.push(t),t=n();return e},uuid_URI:function(){var e,t,n;n=g,"uuid:"===m.substr(g,5)?(e="uuid:",g+=5):(e=null,0===v&&T('"uuid:"'));null!==e&&null!==(t=Mn())?e=[e,t]:(e=null,g=n);return e},uuid:Mn,hex4:k,hex8:Nn,hex12:Pn,Refer_To:function(){var e,t,n,r,s,i,o;i=s=g,null===(e=re())&&(e=N());if(null!==e){for(t=[],o=g,null!==(n=I())&&null!==(r=D())?n=[n,r]:(n=null,g=o);null!==n;)t.push(n),o=g,null!==(n=I())&&null!==(r=D())?n=[n,r]:(n=null,g=o);null!==t?e=[e,t]:(e=null,g=i)}else e=null,g=i;null!==e&&(e=(()=>{try{L=new U(L.uri,L.display_name,L.params)}catch(e){L=-1}})());null===e&&(g=s);return e},Replaces:function(){var e,t,n,r,s,i;if(s=g,null!==(e=Dn())){for(t=[],i=g,null!==(n=I())&&null!==(r=kn())?n=[n,r]:(n=null,g=i);null!==n;)t.push(n),i=g,null!==(n=I())&&null!==(r=kn())?n=[n,r]:(n=null,g=i);null!==t?e=[e,t]:(e=null,g=s)}else e=null,g=s;return e},call_id:Dn,replaces_param:kn,to_tag:Un,from_tag:Ln,early_flag:Fn};if(void 0!==l){if(void 0===e[l])throw new Error("Invalid rule name: "+$n(l)+".")}else l="CRLF";var g=0,v=0,i=0,t=[];function T(e){g<i||(i<g&&(i=g,t=[]),t.push(e))}function F(){var e;return"\r\n"===m.substr(g,2)?(e="\r\n",g+=2):(e=null,0===v&&T('"\\r\\n"')),e}function u(){var e;return/^[0-9]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[0-9]")),e}function o(){var e;return/^[a-zA-Z]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[a-zA-Z]")),e}function a(){var e;return/^[0-9a-fA-F]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[0-9a-fA-F]")),e}function c(){var e=h();return e=null===e?f():e}function n(){var e;return/^[\0-\xFF]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[\\0-\\xFF]")),e}function d(){var e;return/^["]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T('["]')),e}function h(){var e;return 32===m.charCodeAt(g)?(e=" ",g++):(e=null,0===v&&T('" "')),e}function f(){var e;return 9===m.charCodeAt(g)?(e="\t",g++):(e=null,0===v&&T('"\\t"')),e}function s(){var e;return/^[a-zA-Z0-9]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[a-zA-Z0-9]")),e}function q(){var e;return 59===m.charCodeAt(g)?(e=";",g++):(e=null,0===v&&T('";"')),null===e&&(47===m.charCodeAt(g)?(e="/",g++):(e=null,0===v&&T('"/"')),null===e)&&(63===m.charCodeAt(g)?(e="?",g++):(e=null,0===v&&T('"?"')),null===e)&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null===e)&&(64===m.charCodeAt(g)?(e="@",g++):(e=null,0===v&&T('"@"')),null===e)&&(38===m.charCodeAt(g)?(e="&",g++):(e=null,0===v&&T('"&"')),null===e)&&(61===m.charCodeAt(g)?(e="=",g++):(e=null,0===v&&T('"="')),null===e)&&(43===m.charCodeAt(g)?(e="+",g++):(e=null,0===v&&T('"+"')),null===e)&&(36===m.charCodeAt(g)?(e="$",g++):(e=null,0===v&&T('"$"')),null===e)&&(44===m.charCodeAt(g)?(e=",",g++):(e=null,0===v&&T('","'))),e}function r(){var e=s();return e=null===e?H():e}function H(){var e;return 45===m.charCodeAt(g)?(e="-",g++):(e=null,0===v&&T('"-"')),null===e&&(95===m.charCodeAt(g)?(e="_",g++):(e=null,0===v&&T('"_"')),null===e)&&(46===m.charCodeAt(g)?(e=".",g++):(e=null,0===v&&T('"."')),null===e)&&(33===m.charCodeAt(g)?(e="!",g++):(e=null,0===v&&T('"!"')),null===e)&&(126===m.charCodeAt(g)?(e="~",g++):(e=null,0===v&&T('"~"')),null===e)&&(42===m.charCodeAt(g)?(e="*",g++):(e=null,0===v&&T('"*"')),null===e)&&(39===m.charCodeAt(g)?(e="'",g++):(e=null,0===v&&T('"\'"')),null===e)&&(40===m.charCodeAt(g)?(e="(",g++):(e=null,0===v&&T('"("')),null===e)&&(41===m.charCodeAt(g)?(e=")",g++):(e=null,0===v&&T('")"'))),e}function p(){var e,t,n,r=g,s=g;return 37===m.charCodeAt(g)?(e="%",g++):(e=null,0===v&&T('"%"')),null!==e&&null!==(t=a())&&null!==(n=a())?e=[e,t,n]:(e=null,g=s),null===(e=null!==e?e.join(""):e)&&(g=r),e}function _(){for(var e,t=g,n=g,r=g,s=[],i=c();null!==i;)s.push(i),i=c();if(null!==s&&null!==(i=F())?s=[s,i]:(s=null,g=r),null!==(s=null!==s?s:"")){if(null!==(e=c()))for(i=[];null!==e;)i.push(e),e=c();else i=null;null!==i?s=[s,i]:(s=null,g=n)}else s=null,g=n;return null===(s=null!==s?" ":s)&&(g=t),s}function y(){var e=_();return null!==e?e:""}function j(){var e,t=g,n=g,r=[],s=h();for(null===s&&(s=f());null!==s;)r.push(s),null===(s=h())&&(s=f());return null!==r&&(58===m.charCodeAt(g)?(s=":",g++):(s=null,0===v&&T('":"')),null!==s)&&null!==(e=y())?r=[r,s,e]:(r=null,g=n),null===(r=null!==r?":":r)&&(g=t),r}function B(){var e,t,n,r,s=g,i=g,o=b();if(null!==o)for(e=[];null!==o;)e.push(o),o=b();else e=null;if(null!==e){for(o=[],r=g,t=[],n=_();null!==n;)t.push(n),n=_();for(null!==t&&null!==(n=b())?t=[t,n]:(t=null,g=r);null!==t;){for(o.push(t),r=g,t=[],n=_();null!==n;)t.push(n),n=_();null!==t&&null!==(n=b())?t=[t,n]:(t=null,g=r)}null!==o?e=[e,o]:(e=null,g=i)}else e=null,g=i;return null===(e=null!==e?m.substring(g,s):e)&&(g=s),e}function b(){var e;return/^[!-~]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[!-~]")),e=null===e?S():e}function S(){var e;return/^[\x80-\uFFFF]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[\\x80-\\uFFFF]")),e}function C(){var e;return/^[\x80-\xBF]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[\\x80-\\xBF]")),e}function E(){var e,t=g,n=s();if(null===n&&(45===m.charCodeAt(g)?(n="-",g++):(n=null,0===v&&T('"-"')),null===n)&&(46===m.charCodeAt(g)?(n=".",g++):(n=null,0===v&&T('"."')),null===n)&&(33===m.charCodeAt(g)?(n="!",g++):(n=null,0===v&&T('"!"')),null===n)&&(37===m.charCodeAt(g)?(n="%",g++):(n=null,0===v&&T('"%"')),null===n)&&(42===m.charCodeAt(g)?(n="*",g++):(n=null,0===v&&T('"*"')),null===n)&&(95===m.charCodeAt(g)?(n="_",g++):(n=null,0===v&&T('"_"')),null===n)&&(43===m.charCodeAt(g)?(n="+",g++):(n=null,0===v&&T('"+"')),null===n)&&(96===m.charCodeAt(g)?(n="`",g++):(n=null,0===v&&T('"`"')),null===n)&&(39===m.charCodeAt(g)?(n="'",g++):(n=null,0===v&&T('"\'"')),null===n)&&(126===m.charCodeAt(g)?(n="~",g++):(n=null,0===v&&T('"~"'))),null!==n)for(e=[];null!==n;)e.push(n),null===(n=s())&&(45===m.charCodeAt(g)?(n="-",g++):(n=null,0===v&&T('"-"')),null===n)&&(46===m.charCodeAt(g)?(n=".",g++):(n=null,0===v&&T('"."')),null===n)&&(33===m.charCodeAt(g)?(n="!",g++):(n=null,0===v&&T('"!"')),null===n)&&(37===m.charCodeAt(g)?(n="%",g++):(n=null,0===v&&T('"%"')),null===n)&&(42===m.charCodeAt(g)?(n="*",g++):(n=null,0===v&&T('"*"')),null===n)&&(95===m.charCodeAt(g)?(n="_",g++):(n=null,0===v&&T('"_"')),null===n)&&(43===m.charCodeAt(g)?(n="+",g++):(n=null,0===v&&T('"+"')),null===n)&&(96===m.charCodeAt(g)?(n="`",g++):(n=null,0===v&&T('"`"')),null===n)&&(39===m.charCodeAt(g)?(n="'",g++):(n=null,0===v&&T('"\'"')),null===n)&&(126===m.charCodeAt(g)?(n="~",g++):(n=null,0===v&&T('"~"')));else e=null;return null===(e=null!==e?m.substring(g,t):e)&&(g=t),e}function $(){var e,t=g,n=s();if(null===n&&(45===m.charCodeAt(g)?(n="-",g++):(n=null,0===v&&T('"-"')),null===n)&&(33===m.charCodeAt(g)?(n="!",g++):(n=null,0===v&&T('"!"')),null===n)&&(37===m.charCodeAt(g)?(n="%",g++):(n=null,0===v&&T('"%"')),null===n)&&(42===m.charCodeAt(g)?(n="*",g++):(n=null,0===v&&T('"*"')),null===n)&&(95===m.charCodeAt(g)?(n="_",g++):(n=null,0===v&&T('"_"')),null===n)&&(43===m.charCodeAt(g)?(n="+",g++):(n=null,0===v&&T('"+"')),null===n)&&(96===m.charCodeAt(g)?(n="`",g++):(n=null,0===v&&T('"`"')),null===n)&&(39===m.charCodeAt(g)?(n="'",g++):(n=null,0===v&&T('"\'"')),null===n)&&(126===m.charCodeAt(g)?(n="~",g++):(n=null,0===v&&T('"~"'))),null!==n)for(e=[];null!==n;)e.push(n),null===(n=s())&&(45===m.charCodeAt(g)?(n="-",g++):(n=null,0===v&&T('"-"')),null===n)&&(33===m.charCodeAt(g)?(n="!",g++):(n=null,0===v&&T('"!"')),null===n)&&(37===m.charCodeAt(g)?(n="%",g++):(n=null,0===v&&T('"%"')),null===n)&&(42===m.charCodeAt(g)?(n="*",g++):(n=null,0===v&&T('"*"')),null===n)&&(95===m.charCodeAt(g)?(n="_",g++):(n=null,0===v&&T('"_"')),null===n)&&(43===m.charCodeAt(g)?(n="+",g++):(n=null,0===v&&T('"+"')),null===n)&&(96===m.charCodeAt(g)?(n="`",g++):(n=null,0===v&&T('"`"')),null===n)&&(39===m.charCodeAt(g)?(n="'",g++):(n=null,0===v&&T('"\'"')),null===n)&&(126===m.charCodeAt(g)?(n="~",g++):(n=null,0===v&&T('"~"')));else e=null;return null===(e=null!==e?m.substring(g,t):e)&&(g=t),e}function A(){var e,t=g,n=s();if(null===n&&(45===m.charCodeAt(g)?(n="-",g++):(n=null,0===v&&T('"-"')),null===n)&&(46===m.charCodeAt(g)?(n=".",g++):(n=null,0===v&&T('"."')),null===n)&&(33===m.charCodeAt(g)?(n="!",g++):(n=null,0===v&&T('"!"')),null===n)&&(37===m.charCodeAt(g)?(n="%",g++):(n=null,0===v&&T('"%"')),null===n)&&(42===m.charCodeAt(g)?(n="*",g++):(n=null,0===v&&T('"*"')),null===n)&&(95===m.charCodeAt(g)?(n="_",g++):(n=null,0===v&&T('"_"')),null===n)&&(43===m.charCodeAt(g)?(n="+",g++):(n=null,0===v&&T('"+"')),null===n)&&(96===m.charCodeAt(g)?(n="`",g++):(n=null,0===v&&T('"`"')),null===n)&&(39===m.charCodeAt(g)?(n="'",g++):(n=null,0===v&&T('"\'"')),null===n)&&(126===m.charCodeAt(g)?(n="~",g++):(n=null,0===v&&T('"~"')),null===n)&&(40===m.charCodeAt(g)?(n="(",g++):(n=null,0===v&&T('"("')),null===n)&&(41===m.charCodeAt(g)?(n=")",g++):(n=null,0===v&&T('")"')),null===n)&&(60===m.charCodeAt(g)?(n="<",g++):(n=null,0===v&&T('"<"')),null===n)&&(62===m.charCodeAt(g)?(n=">",g++):(n=null,0===v&&T('">"')),null===n)&&(58===m.charCodeAt(g)?(n=":",g++):(n=null,0===v&&T('":"')),null===n)&&(92===m.charCodeAt(g)?(n="\\",g++):(n=null,0===v&&T('"\\\\"')),null===n)&&null===(n=d())&&(47===m.charCodeAt(g)?(n="/",g++):(n=null,0===v&&T('"/"')),null===n)&&(91===m.charCodeAt(g)?(n="[",g++):(n=null,0===v&&T('"["')),null===n)&&(93===m.charCodeAt(g)?(n="]",g++):(n=null,0===v&&T('"]"')),null===n)&&(63===m.charCodeAt(g)?(n="?",g++):(n=null,0===v&&T('"?"')),null===n)&&(123===m.charCodeAt(g)?(n="{",g++):(n=null,0===v&&T('"{"')),null===n)&&(125===m.charCodeAt(g)?(n="}",g++):(n=null,0===v&&T('"}"'))),null!==n)for(e=[];null!==n;)e.push(n),null===(n=s())&&(45===m.charCodeAt(g)?(n="-",g++):(n=null,0===v&&T('"-"')),null===n)&&(46===m.charCodeAt(g)?(n=".",g++):(n=null,0===v&&T('"."')),null===n)&&(33===m.charCodeAt(g)?(n="!",g++):(n=null,0===v&&T('"!"')),null===n)&&(37===m.charCodeAt(g)?(n="%",g++):(n=null,0===v&&T('"%"')),null===n)&&(42===m.charCodeAt(g)?(n="*",g++):(n=null,0===v&&T('"*"')),null===n)&&(95===m.charCodeAt(g)?(n="_",g++):(n=null,0===v&&T('"_"')),null===n)&&(43===m.charCodeAt(g)?(n="+",g++):(n=null,0===v&&T('"+"')),null===n)&&(96===m.charCodeAt(g)?(n="`",g++):(n=null,0===v&&T('"`"')),null===n)&&(39===m.charCodeAt(g)?(n="'",g++):(n=null,0===v&&T('"\'"')),null===n)&&(126===m.charCodeAt(g)?(n="~",g++):(n=null,0===v&&T('"~"')),null===n)&&(40===m.charCodeAt(g)?(n="(",g++):(n=null,0===v&&T('"("')),null===n)&&(41===m.charCodeAt(g)?(n=")",g++):(n=null,0===v&&T('")"')),null===n)&&(60===m.charCodeAt(g)?(n="<",g++):(n=null,0===v&&T('"<"')),null===n)&&(62===m.charCodeAt(g)?(n=">",g++):(n=null,0===v&&T('">"')),null===n)&&(58===m.charCodeAt(g)?(n=":",g++):(n=null,0===v&&T('":"')),null===n)&&(92===m.charCodeAt(g)?(n="\\",g++):(n=null,0===v&&T('"\\\\"')),null===n)&&null===(n=d())&&(47===m.charCodeAt(g)?(n="/",g++):(n=null,0===v&&T('"/"')),null===n)&&(91===m.charCodeAt(g)?(n="[",g++):(n=null,0===v&&T('"["')),null===n)&&(93===m.charCodeAt(g)?(n="]",g++):(n=null,0===v&&T('"]"')),null===n)&&(63===m.charCodeAt(g)?(n="?",g++):(n=null,0===v&&T('"?"')),null===n)&&(123===m.charCodeAt(g)?(n="{",g++):(n=null,0===v&&T('"{"')),null===n)&&(125===m.charCodeAt(g)?(n="}",g++):(n=null,0===v&&T('"}"')));else e=null;return null===(e=null!==e?m.substring(g,t):e)&&(g=t),e}function G(){var e,t,n=g,r=g,s=y();return null!==s&&(42===m.charCodeAt(g)?(e="*",g++):(e=null,0===v&&T('"*"')),null!==e)&&null!==(t=y())?s=[s,e,t]:(s=null,g=r),null===(s=null!==s?"*":s)&&(g=n),s}function W(){var e,t,n=g,r=g,s=y();return null!==s&&(47===m.charCodeAt(g)?(e="/",g++):(e=null,0===v&&T('"/"')),null!==e)&&null!==(t=y())?s=[s,e,t]:(s=null,g=r),null===(s=null!==s?"/":s)&&(g=n),s}function w(){var e,t,n=g,r=g,s=y();return null!==s&&(61===m.charCodeAt(g)?(e="=",g++):(e=null,0===v&&T('"="')),null!==e)&&null!==(t=y())?s=[s,e,t]:(s=null,g=r),null===(s=null!==s?"=":s)&&(g=n),s}function V(){var e,t,n=g,r=g,s=y();return null!==s&&(40===m.charCodeAt(g)?(e="(",g++):(e=null,0===v&&T('"("')),null!==e)&&null!==(t=y())?s=[s,e,t]:(s=null,g=r),null===(s=null!==s?"(":s)&&(g=n),s}function K(){var e,t,n=g,r=g,s=y();return null!==s&&(41===m.charCodeAt(g)?(e=")",g++):(e=null,0===v&&T('")"')),null!==e)&&null!==(t=y())?s=[s,e,t]:(s=null,g=r),null===(s=null!==s?")":s)&&(g=n),s}function z(){var e,t,n=g,r=g;return 62===m.charCodeAt(g)?(e=">",g++):(e=null,0===v&&T('">"')),null!==e&&null!==(t=y())?e=[e,t]:(e=null,g=r),null===(e=null!==e?">":e)&&(g=n),e}function Y(){var e,t=g,n=g,r=y();return null!==r&&(60===m.charCodeAt(g)?(e="<",g++):(e=null,0===v&&T('"<"')),null!==e)?r=[r,e]:(r=null,g=n),null===(r=null!==r?"<":r)&&(g=t),r}function R(){var e,t,n=g,r=g,s=y();return null!==s&&(44===m.charCodeAt(g)?(e=",",g++):(e=null,0===v&&T('","')),null!==e)&&null!==(t=y())?s=[s,e,t]:(s=null,g=r),null===(s=null!==s?",":s)&&(g=n),s}function I(){var e,t,n=g,r=g,s=y();return null!==s&&(59===m.charCodeAt(g)?(e=";",g++):(e=null,0===v&&T('";"')),null!==e)&&null!==(t=y())?s=[s,e,t]:(s=null,g=r),null===(s=null!==s?";":s)&&(g=n),s}function X(){var e,t,n=g,r=g,s=y();return null!==s&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e)&&null!==(t=y())?s=[s,e,t]:(s=null,g=r),null===(s=null!==s?":":s)&&(g=n),s}function Q(){var e,t=g,n=g,r=y();return null!==r&&null!==(e=d())?r=[r,e]:(r=null,g=n),null===(r=null!==r?'"':r)&&(g=t),r}function J(){var e,t=g,n=g,r=d();return null!==r&&null!==(e=y())?r=[r,e]:(r=null,g=n),null===(r=null!==r?'"':r)&&(g=t),r}function Z(){var e;return/^[!-']/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[!-']")),e=null===e&&(/^[*-[]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[*-[]")),null===e)&&(/^[\]-~]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[\\]-~]")),null===e)&&null===(e=S())?_():e}function ee(){var e,t,n,r=g,s=g,i=y();if(null!==i)if(null!==(e=d())){for(t=[],null===(n=ne())&&(n=O());null!==n;)t.push(n),null===(n=ne())&&(n=O());null!==t&&null!==(n=d())?i=[i,e,t,n]:(i=null,g=s)}else i=null,g=s;else i=null,g=s;return null===(i=null!==i?m.substring(g,r):i)&&(g=r),i}function te(){var e,t,n,r=g,s=g,i=y();if(null!==i)if(null!==(n=d())){for(e=[],null===(t=ne())&&(t=O());null!==t;)e.push(t),null===(t=ne())&&(t=O());null!==e&&null!==(t=d())?i=[i,n,e,t]:(i=null,g=s)}else i=null,g=s;else i=null,g=s;return null===(i=null!==i?(n=m.substring(g,r).trim()).substring(1,n.length-1).replace(/\\([\x00-\x09\x0b-\x0c\x0e-\x7f])/g,"$1"):i)&&(g=r),i}function ne(){var e=_();return e=null===e&&(33===m.charCodeAt(g)?(e="!",g++):(e=null,0===v&&T('"!"')),null===e)&&(/^[#-[]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[#-[]")),null===e)&&(/^[\]-~]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[\\]-~]")),null===e)?S():e}function O(){var e,t,n=g;return 92===m.charCodeAt(g)?(e="\\",g++):(e=null,0===v&&T('"\\\\"')),null!==e&&(/^[\0-\t]/.test(m.charAt(g))?(t=m.charAt(g),g++):(t=null,0===v&&T("[\\0-\\t]")),null===t&&(/^[\x0B-\f]/.test(m.charAt(g))?(t=m.charAt(g),g++):(t=null,0===v&&T("[\\x0B-\\f]")),null===t)&&(/^[\x0E-]/.test(m.charAt(g))?(t=m.charAt(g),g++):(t=null,0===v&&T("[\\x0E-]"))),null!==t)?e=[e,t]:(e=null,g=n),e}function re(){var e,t,n,r=g,s=g,i=ie();return null!==i&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e)&&null!==(t=null!==(t=le())?t:"")&&null!==(n=he())?i=[i,e,t,n]:(i=null,g=s),null===(i=null!==i?(()=>{try{L.uri=new jn(L.scheme,L.user,L.host,L.port),delete L.scheme,delete L.user,delete L.host,delete L.host_type,delete L.port}catch(e){L=-1}})():i)&&(g=r),i}function se(){var e,t,n,r,s,i=g,o=g,a=ie();return null!==a&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e)&&null!==(t=null!==(t=le())?t:"")&&null!==(n=he())&&null!==(r=Se())&&null!==(s=null!==(s=ke())?s:"")?a=[a,e,t,n,r,s]:(a=null,g=o),null===(a=null!==a?(()=>{try{L.uri=new jn(L.scheme,L.user,L.host,L.port,L.uri_params,L.uri_headers),delete L.scheme,delete L.user,delete L.host,delete L.host_type,delete L.port,delete L.uri_params,"SIP_URI"===l&&(L=L.uri)}catch(e){L=-1}})():a)&&(g=i),a}function ie(){var e=oe();return e=null===e?ae():e}function oe(){var e,t,n=g;return"sips"===m.substr(g,4).toLowerCase()?(e=m.substr(g,4),g+=4):(e=null,0===v&&T('"sips"')),null!==e&&(t=e,e=void(L.scheme=t.toLowerCase())),null===e&&(g=n),e}function ae(){var e,t,n=g;return"sip"===m.substr(g,3).toLowerCase()?(e=m.substr(g,3),g+=3):(e=null,0===v&&T('"sip"')),null!==e&&(t=e,e=void(L.scheme=t.toLowerCase())),null===e&&(g=n),e}function le(){var e,t,n,r=g,s=g,i=ue();return null!==i&&(n=g,58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e&&null!==(t=de())?e=[e,t]:(e=null,g=n),null!==(e=null!==e?e:""))&&(64===m.charCodeAt(g)?(t="@",g++):(t=null,0===v&&T('"@"')),null!==t)?i=[i,e,t]:(i=null,g=s),null===(i=null!==i?void(L.user=decodeURIComponent(m.substring(g-1,r))):i)&&(g=r),i}function ue(){var e,t=r();if(null!==(t=null===t&&null===(t=p())?ce():t))for(e=[];null!==t;)e.push(t),null===(t=r())&&null===(t=p())&&(t=ce());else e=null;return e}function ce(){var e;return 38===m.charCodeAt(g)?(e="&",g++):(e=null,0===v&&T('"&"')),null===e&&(61===m.charCodeAt(g)?(e="=",g++):(e=null,0===v&&T('"="')),null===e)&&(43===m.charCodeAt(g)?(e="+",g++):(e=null,0===v&&T('"+"')),null===e)&&(36===m.charCodeAt(g)?(e="$",g++):(e=null,0===v&&T('"$"')),null===e)&&(44===m.charCodeAt(g)?(e=",",g++):(e=null,0===v&&T('","')),null===e)&&(59===m.charCodeAt(g)?(e=";",g++):(e=null,0===v&&T('";"')),null===e)&&(63===m.charCodeAt(g)?(e="?",g++):(e=null,0===v&&T('"?"')),null===e)&&(47===m.charCodeAt(g)?(e="/",g++):(e=null,0===v&&T('"/"'))),e}function de(){var e=g,t=[],n=r();for(null===n&&null===(n=p())&&(38===m.charCodeAt(g)?(n="&",g++):(n=null,0===v&&T('"&"')),null===n)&&(61===m.charCodeAt(g)?(n="=",g++):(n=null,0===v&&T('"="')),null===n)&&(43===m.charCodeAt(g)?(n="+",g++):(n=null,0===v&&T('"+"')),null===n)&&(36===m.charCodeAt(g)?(n="$",g++):(n=null,0===v&&T('"$"')),null===n)&&(44===m.charCodeAt(g)?(n=",",g++):(n=null,0===v&&T('","')));null!==n;)t.push(n),null===(n=r())&&null===(n=p())&&(38===m.charCodeAt(g)?(n="&",g++):(n=null,0===v&&T('"&"')),null===n)&&(61===m.charCodeAt(g)?(n="=",g++):(n=null,0===v&&T('"="')),null===n)&&(43===m.charCodeAt(g)?(n="+",g++):(n=null,0===v&&T('"+"')),null===n)&&(36===m.charCodeAt(g)?(n="$",g++):(n=null,0===v&&T('"$"')),null===n)&&(44===m.charCodeAt(g)?(n=",",g++):(n=null,0===v&&T('","')));return null===(t=null!==t?void(L.password=m.substring(g,e)):t)&&(g=e),t}function he(){var e,t,n,r=g,s=fe();return null!==s&&(n=g,58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e&&null!==(t=be())?e=[e,t]:(e=null,g=n),null!==(e=null!==e?e:""))?s=[s,e]:(s=null,g=r),s}function fe(){var e=g,t=pe();return null!==(t=null===t&&null===(t=Te())?ge():t)&&(L.host=m.substring(g,e).toLowerCase(),t=L.host),null===t&&(g=e),t}function pe(){var e,t=g,n=g,r=[],s=g,i=_e();for(null!==i&&(46===m.charCodeAt(g)?(e=".",g++):(e=null,0===v&&T('"."')),null!==e)?i=[i,e]:(i=null,g=s);null!==i;)r.push(i),s=g,null!==(i=_e())&&(46===m.charCodeAt(g)?(e=".",g++):(e=null,0===v&&T('"."')),null!==e)?i=[i,e]:(i=null,g=s);return null!==r&&null!==(i=me())&&(46===m.charCodeAt(g)?(e=".",g++):(e=null,0===v&&T('"."')),null!==(e=null!==e?e:""))?r=[r,i,e]:(r=null,g=n),null!==r&&(n=t,L.host_type="domain",r=m.substring(g,n)),null===r&&(g=t),r}function _e(){var e,t,n=g,r=s();if(null!==r){for(e=[],null===(t=s())&&(45===m.charCodeAt(g)?(t="-",g++):(t=null,0===v&&T('"-"')),null===t)&&(95===m.charCodeAt(g)?(t="_",g++):(t=null,0===v&&T('"_"')));null!==t;)e.push(t),null===(t=s())&&(45===m.charCodeAt(g)?(t="-",g++):(t=null,0===v&&T('"-"')),null===t)&&(95===m.charCodeAt(g)?(t="_",g++):(t=null,0===v&&T('"_"')));null!==e?r=[r,e]:(r=null,g=n)}else r=null,g=n;return r}function me(){var e,t,n=g,r=o();if(null!==r){for(e=[],null===(t=s())&&(45===m.charCodeAt(g)?(t="-",g++):(t=null,0===v&&T('"-"')),null===t)&&(95===m.charCodeAt(g)?(t="_",g++):(t=null,0===v&&T('"_"')));null!==t;)e.push(t),null===(t=s())&&(45===m.charCodeAt(g)?(t="-",g++):(t=null,0===v&&T('"-"')),null===t)&&(95===m.charCodeAt(g)?(t="_",g++):(t=null,0===v&&T('"_"')));null!==e?r=[r,e]:(r=null,g=n)}else r=null,g=n;return r}function ge(){var e,t,n,r=g,s=g;return 91===m.charCodeAt(g)?(e="[",g++):(e=null,0===v&&T('"["')),null!==e&&null!==(n=ve())&&(93===m.charCodeAt(g)?(t="]",g++):(t=null,0===v&&T('"]"')),null!==t)?e=[e,n,t]:(e=null,g=s),null!==e&&(n=r,L.host_type="IPv6",e=m.substring(g,n)),null===e&&(g=r),e}function ve(){var e,t,n,r,s,i,o,a,l,u,c,d,h,f=g,p=g,_=x();return null!==_&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e)&&null!==(t=x())&&(58===m.charCodeAt(g)?(n=":",g++):(n=null,0===v&&T('":"')),null!==n)&&null!==(r=x())&&(58===m.charCodeAt(g)?(s=":",g++):(s=null,0===v&&T('":"')),null!==s)&&null!==(i=x())&&(58===m.charCodeAt(g)?(o=":",g++):(o=null,0===v&&T('":"')),null!==o)&&null!==(a=x())&&(58===m.charCodeAt(g)?(l=":",g++):(l=null,0===v&&T('":"')),null!==l)&&null!==(u=x())&&(58===m.charCodeAt(g)?(c=":",g++):(c=null,0===v&&T('":"')),null!==c)&&null!==(h=M())?_=[_,e,t,n,r,s,i,o,a,l,u,c,h]:(_=null,g=p),null===_&&(p=g,"::"===m.substr(g,2)?(_="::",g+=2):(_=null,0===v&&T('"::"')),null!==_&&null!==(e=x())&&(58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null!==t)&&null!==(n=x())&&(58===m.charCodeAt(g)?(r=":",g++):(r=null,0===v&&T('":"')),null!==r)&&null!==(s=x())&&(58===m.charCodeAt(g)?(i=":",g++):(i=null,0===v&&T('":"')),null!==i)&&null!==(o=x())&&(58===m.charCodeAt(g)?(a=":",g++):(a=null,0===v&&T('":"')),null!==a)&&null!==(l=x())&&(58===m.charCodeAt(g)?(u=":",g++):(u=null,0===v&&T('":"')),null!==u)&&null!==(c=M())?_=[_,e,t,n,r,s,i,o,a,l,u,c]:(_=null,g=p),null===_)&&(p=g,"::"===m.substr(g,2)?(_="::",g+=2):(_=null,0===v&&T('"::"')),null!==_&&null!==(e=x())&&(58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null!==t)&&null!==(n=x())&&(58===m.charCodeAt(g)?(r=":",g++):(r=null,0===v&&T('":"')),null!==r)&&null!==(s=x())&&(58===m.charCodeAt(g)?(i=":",g++):(i=null,0===v&&T('":"')),null!==i)&&null!==(o=x())&&(58===m.charCodeAt(g)?(a=":",g++):(a=null,0===v&&T('":"')),null!==a)&&null!==(l=M())?_=[_,e,t,n,r,s,i,o,a,l]:(_=null,g=p),null===_)&&(p=g,"::"===m.substr(g,2)?(_="::",g+=2):(_=null,0===v&&T('"::"')),null!==_&&null!==(e=x())&&(58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null!==t)&&null!==(n=x())&&(58===m.charCodeAt(g)?(r=":",g++):(r=null,0===v&&T('":"')),null!==r)&&null!==(s=x())&&(58===m.charCodeAt(g)?(i=":",g++):(i=null,0===v&&T('":"')),null!==i)&&null!==(o=M())?_=[_,e,t,n,r,s,i,o]:(_=null,g=p),null===_)&&(p=g,"::"===m.substr(g,2)?(_="::",g+=2):(_=null,0===v&&T('"::"')),null!==_&&null!==(e=x())&&(58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null!==t)&&null!==(n=x())&&(58===m.charCodeAt(g)?(r=":",g++):(r=null,0===v&&T('":"')),null!==r)&&null!==(s=M())?_=[_,e,t,n,r,s]:(_=null,g=p),null===_)&&(p=g,"::"===m.substr(g,2)?(_="::",g+=2):(_=null,0===v&&T('"::"')),null!==_&&null!==(e=x())&&(58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null!==t)&&null!==(n=M())?_=[_,e,t,n]:(_=null,g=p),null===_)&&(p=g,"::"===m.substr(g,2)?(_="::",g+=2):(_=null,0===v&&T('"::"')),null!==_&&null!==(e=M())?_=[_,e]:(_=null,g=p),null===_)&&(p=g,"::"===m.substr(g,2)?(_="::",g+=2):(_=null,0===v&&T('"::"')),null!==_&&null!==(e=x())?_=[_,e]:(_=null,g=p),null===_)&&(p=g,null!==(_=x())&&("::"===m.substr(g,2)?(e="::",g+=2):(e=null,0===v&&T('"::"')),null!==e)&&null!==(t=x())&&(58===m.charCodeAt(g)?(n=":",g++):(n=null,0===v&&T('":"')),null!==n)&&null!==(r=x())&&(58===m.charCodeAt(g)?(s=":",g++):(s=null,0===v&&T('":"')),null!==s)&&null!==(i=x())&&(58===m.charCodeAt(g)?(o=":",g++):(o=null,0===v&&T('":"')),null!==o)&&null!==(a=x())&&(58===m.charCodeAt(g)?(l=":",g++):(l=null,0===v&&T('":"')),null!==l)&&null!==(u=M())?_=[_,e,t,n,r,s,i,o,a,l,u]:(_=null,g=p),null===_)&&(p=g,null!==(_=x())&&(d=g,58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e&&null!==(t=x())?e=[e,t]:(e=null,g=d),null!==(e=null!==e?e:""))&&("::"===m.substr(g,2)?(t="::",g+=2):(t=null,0===v&&T('"::"')),null!==t)&&null!==(n=x())&&(58===m.charCodeAt(g)?(r=":",g++):(r=null,0===v&&T('":"')),null!==r)&&null!==(s=x())&&(58===m.charCodeAt(g)?(i=":",g++):(i=null,0===v&&T('":"')),null!==i)&&null!==(o=x())&&(58===m.charCodeAt(g)?(a=":",g++):(a=null,0===v&&T('":"')),null!==a)&&null!==(l=M())?_=[_,e,t,n,r,s,i,o,a,l]:(_=null,g=p),null===_)&&(p=g,null!==(_=x())&&(d=g,58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e&&null!==(t=x())?e=[e,t]:(e=null,g=d),null!==(e=null!==e?e:""))&&(d=g,58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null!==t&&null!==(n=x())?t=[t,n]:(t=null,g=d),null!==(t=null!==t?t:""))&&("::"===m.substr(g,2)?(n="::",g+=2):(n=null,0===v&&T('"::"')),null!==n)&&null!==(r=x())&&(58===m.charCodeAt(g)?(s=":",g++):(s=null,0===v&&T('":"')),null!==s)&&null!==(i=x())&&(58===m.charCodeAt(g)?(o=":",g++):(o=null,0===v&&T('":"')),null!==o)&&null!==(a=M())?_=[_,e,t,n,r,s,i,o,a]:(_=null,g=p),null===_)&&(p=g,null!==(_=x())&&(d=g,58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e&&null!==(t=x())?e=[e,t]:(e=null,g=d),null!==(e=null!==e?e:""))&&(d=g,58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null!==t&&null!==(n=x())?t=[t,n]:(t=null,g=d),null!==(t=null!==t?t:""))&&(d=g,58===m.charCodeAt(g)?(n=":",g++):(n=null,0===v&&T('":"')),null!==n&&null!==(r=x())?n=[n,r]:(n=null,g=d),null!==(n=null!==n?n:""))&&("::"===m.substr(g,2)?(r="::",g+=2):(r=null,0===v&&T('"::"')),null!==r)&&null!==(s=x())&&(58===m.charCodeAt(g)?(i=":",g++):(i=null,0===v&&T('":"')),null!==i)&&null!==(o=M())?_=[_,e,t,n,r,s,i,o]:(_=null,g=p),null===_)&&(p=g,null!==(_=x())&&(d=g,58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e&&null!==(t=x())?e=[e,t]:(e=null,g=d),null!==(e=null!==e?e:""))&&(d=g,58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null!==t&&null!==(n=x())?t=[t,n]:(t=null,g=d),null!==(t=null!==t?t:""))&&(d=g,58===m.charCodeAt(g)?(n=":",g++):(n=null,0===v&&T('":"')),null!==n&&null!==(r=x())?n=[n,r]:(n=null,g=d),null!==(n=null!==n?n:""))&&(d=g,58===m.charCodeAt(g)?(r=":",g++):(r=null,0===v&&T('":"')),null!==r&&null!==(s=x())?r=[r,s]:(r=null,g=d),null!==(r=null!==r?r:""))&&("::"===m.substr(g,2)?(s="::",g+=2):(s=null,0===v&&T('"::"')),null!==s)&&null!==(i=M())?_=[_,e,t,n,r,s,i]:(_=null,g=p),null===_)&&(p=g,null!==(_=x())&&(d=g,58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e&&null!==(t=x())?e=[e,t]:(e=null,g=d),null!==(e=null!==e?e:""))&&(d=g,58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null!==t&&null!==(n=x())?t=[t,n]:(t=null,g=d),null!==(t=null!==t?t:""))&&(d=g,58===m.charCodeAt(g)?(n=":",g++):(n=null,0===v&&T('":"')),null!==n&&null!==(r=x())?n=[n,r]:(n=null,g=d),null!==(n=null!==n?n:""))&&(d=g,58===m.charCodeAt(g)?(r=":",g++):(r=null,0===v&&T('":"')),null!==r&&null!==(s=x())?r=[r,s]:(r=null,g=d),null!==(r=null!==r?r:""))&&(d=g,58===m.charCodeAt(g)?(s=":",g++):(s=null,0===v&&T('":"')),null!==s&&null!==(i=x())?s=[s,i]:(s=null,g=d),null!==(s=null!==s?s:""))&&("::"===m.substr(g,2)?(i="::",g+=2):(i=null,0===v&&T('"::"')),null!==i)&&null!==(o=x())?_=[_,e,t,n,r,s,i,o]:(_=null,g=p),null===_)&&(p=g,null!==(_=x())&&(d=g,58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e&&null!==(t=x())?e=[e,t]:(e=null,g=d),null!==(e=null!==e?e:""))&&(d=g,58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null!==t&&null!==(n=x())?t=[t,n]:(t=null,g=d),null!==(t=null!==t?t:""))&&(d=g,58===m.charCodeAt(g)?(n=":",g++):(n=null,0===v&&T('":"')),null!==n&&null!==(r=x())?n=[n,r]:(n=null,g=d),null!==(n=null!==n?n:""))&&(d=g,58===m.charCodeAt(g)?(r=":",g++):(r=null,0===v&&T('":"')),null!==r&&null!==(s=x())?r=[r,s]:(r=null,g=d),null!==(r=null!==r?r:""))&&(d=g,58===m.charCodeAt(g)?(s=":",g++):(s=null,0===v&&T('":"')),null!==s&&null!==(i=x())?s=[s,i]:(s=null,g=d),null!==(s=null!==s?s:""))&&(d=g,58===m.charCodeAt(g)?(i=":",g++):(i=null,0===v&&T('":"')),null!==i&&null!==(o=x())?i=[i,o]:(i=null,g=d),null!==(i=null!==i?i:""))&&("::"===m.substr(g,2)?(o="::",g+=2):(o=null,0===v&&T('"::"')),null!==o)?_=[_,e,t,n,r,s,i,o]:(_=null,g=p)),null!==_&&(h=f,L.host_type="IPv6",_=m.substring(g,h)),null===_&&(g=f),_}function x(){var e,t,n,r=g,s=a();return null!==s&&null!==(e=null!==(e=a())?e:"")&&null!==(t=null!==(t=a())?t:"")&&null!==(n=null!==(n=a())?n:"")?s=[s,e,t,n]:(s=null,g=r),s}function M(){var e,t,n=g,r=x();return null!==r&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e)&&null!==(t=x())?r=[r,e,t]:(r=null,g=n),r=null===r?Te():r}function Te(){var e,t,n,r,s,i,o=g,a=g,l=ye();return null!==l&&(46===m.charCodeAt(g)?(i=".",g++):(i=null,0===v&&T('"."')),null!==i)&&null!==(e=ye())&&(46===m.charCodeAt(g)?(t=".",g++):(t=null,0===v&&T('"."')),null!==t)&&null!==(n=ye())&&(46===m.charCodeAt(g)?(r=".",g++):(r=null,0===v&&T('"."')),null!==r)&&null!==(s=ye())?l=[l,i,e,t,n,r,s]:(l=null,g=a),null!==l&&(i=o,L.host_type="IPv4",l=m.substring(g,i)),null===l&&(g=o),l}function ye(){var e,t,n,r=g;return"25"===m.substr(g,2)?(e="25",g+=2):(e=null,0===v&&T('"25"')),null!==e&&(/^[0-5]/.test(m.charAt(g))?(t=m.charAt(g),g++):(t=null,0===v&&T("[0-5]")),null!==t)?e=[e,t]:(e=null,g=r),e=null===e&&(r=g,50===m.charCodeAt(g)?(e="2",g++):(e=null,0===v&&T('"2"')),null!==e&&(/^[0-4]/.test(m.charAt(g))?(t=m.charAt(g),g++):(t=null,0===v&&T("[0-4]")),null!==t)&&null!==(n=u())?e=[e,t,n]:(e=null,g=r),null===e)&&(r=g,49===m.charCodeAt(g)?(e="1",g++):(e=null,0===v&&T('"1"')),null!==e&&null!==(t=u())&&null!==(n=u())?e=[e,t,n]:(e=null,g=r),null===e)&&(r=g,/^[1-9]/.test(m.charAt(g))?(e=m.charAt(g),g++):(e=null,0===v&&T("[1-9]")),null!==e&&null!==(t=u())?e=[e,t]:(e=null,g=r),null===e)?u():e}function be(){var e,t,n,r,s=g,i=g,o=u();return null!==(o=null!==o?o:"")&&null!==(r=null!==(r=u())?r:"")&&null!==(e=null!==(e=u())?e:"")&&null!==(t=null!==(t=u())?t:"")&&null!==(n=null!==(n=u())?n:"")?o=[o,r,e,t,n]:(o=null,g=i),null!==o&&(r=o,r=parseInt(r.join("")),o=L.port=r),null===o&&(g=s),o}function Se(){var e,t,n=[],r=g;for(59===m.charCodeAt(g)?(e=";",g++):(e=null,0===v&&T('";"')),null!==e&&null!==(t=Ce())?e=[e,t]:(e=null,g=r);null!==e;)n.push(e),r=g,59===m.charCodeAt(g)?(e=";",g++):(e=null,0===v&&T('";"')),null!==e&&null!==(t=Ce())?e=[e,t]:(e=null,g=r);return n}function Ce(){var e=Ee();return e=null===e&&null===(e=Ae())&&null===(e=we())&&null===(e=Re())&&null===(e=Ie())&&null===(e=Oe())?xe():e}function Ee(){var e,t,n=g,r=g;return"transport="===m.substr(g,10).toLowerCase()?(e=m.substr(g,10),g+=10):(e=null,0===v&&T('"transport="')),null!==e&&("udp"===m.substr(g,3).toLowerCase()?(t=m.substr(g,3),g+=3):(t=null,0===v&&T('"udp"')),null!==(t=null===t&&("tcp"===m.substr(g,3).toLowerCase()?(t=m.substr(g,3),g+=3):(t=null,0===v&&T('"tcp"')),null===t)&&("sctp"===m.substr(g,4).toLowerCase()?(t=m.substr(g,4),g+=4):(t=null,0===v&&T('"sctp"')),null===t)&&("tls"===m.substr(g,3).toLowerCase()?(t=m.substr(g,3),g+=3):(t=null,0===v&&T('"tls"')),null===t)?E():t))?e=[e,t]:(e=null,g=r),null!==e&&(t=e[1],L.uri_params||(L.uri_params={}),e=void(L.uri_params.transport=t.toLowerCase())),null===e&&(g=n),e}function Ae(){var e,t,n=g,r=g;return"user="===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"user="')),null!==e&&("phone"===m.substr(g,5).toLowerCase()?(t=m.substr(g,5),g+=5):(t=null,0===v&&T('"phone"')),null!==(t=null===t&&("ip"===m.substr(g,2).toLowerCase()?(t=m.substr(g,2),g+=2):(t=null,0===v&&T('"ip"')),null===t)?E():t))?e=[e,t]:(e=null,g=r),null!==e&&(t=e[1],L.uri_params||(L.uri_params={}),e=void(L.uri_params.user=t.toLowerCase())),null===e&&(g=n),e}function we(){var e,t,n=g,r=g;return"method="===m.substr(g,7).toLowerCase()?(e=m.substr(g,7),g+=7):(e=null,0===v&&T('"method="')),null!==e&&null!==(t=pt())?e=[e,t]:(e=null,g=r),null!==e&&(t=e[1],L.uri_params||(L.uri_params={}),e=void(L.uri_params.method=t)),null===e&&(g=n),e}function Re(){var e,t,n=g,r=g;return"ttl="===m.substr(g,4).toLowerCase()?(e=m.substr(g,4),g+=4):(e=null,0===v&&T('"ttl="')),null!==e&&null!==(t=wn())?e=[e,t]:(e=null,g=r),null!==e&&(t=e[1],L.params||(L.params={}),e=void(L.params.ttl=t)),null===e&&(g=n),e}function Ie(){var e,t,n=g,r=g;return"maddr="===m.substr(g,6).toLowerCase()?(e=m.substr(g,6),g+=6):(e=null,0===v&&T('"maddr="')),null!==e&&null!==(t=fe())?e=[e,t]:(e=null,g=r),null!==e&&(t=e[1],L.uri_params||(L.uri_params={}),e=void(L.uri_params.maddr=t)),null===e&&(g=n),e}function Oe(){var e,t,n,r,s=g,i=g;return"lr"===m.substr(g,2).toLowerCase()?(e=m.substr(g,2),g+=2):(e=null,0===v&&T('"lr"')),null!==e&&(r=g,61===m.charCodeAt(g)?(t="=",g++):(t=null,0===v&&T('"="')),null!==t&&null!==(n=E())?t=[t,n]:(t=null,g=r),null!==(t=null!==t?t:""))?e=[e,t]:(e=null,g=i),null!==e&&(L.uri_params||(L.uri_params={}),e=void(L.uri_params.lr=void 0)),null===e&&(g=s),e}function xe(){var e,t,n,r=g,s=g,i=Me();return null!==i&&(n=g,61===m.charCodeAt(g)?(e="=",g++):(e=null,0===v&&T('"="')),null!==e&&null!==(t=Ne())?e=[e,t]:(e=null,g=n),null!==(e=null!==e?e:""))?i=[i,e]:(i=null,g=s),null!==i&&(t=i[0],n=i[1],L.uri_params||(L.uri_params={}),n=void 0===n?void 0:n[1],i=void(L.uri_params[t.toLowerCase()]=n)),null===i&&(g=r),i}function Me(){var e,t=g,n=Pe();if(null!==n)for(e=[];null!==n;)e.push(n),n=Pe();else e=null;return null===(e=null!==e?e.join(""):e)&&(g=t),e}function Ne(){var e,t=g,n=Pe();if(null!==n)for(e=[];null!==n;)e.push(n),n=Pe();else e=null;return null===(e=null!==e?e.join(""):e)&&(g=t),e}function Pe(){var e=De();return e=null===e&&null===(e=r())?p():e}function De(){var e;return 91===m.charCodeAt(g)?(e="[",g++):(e=null,0===v&&T('"["')),null===e&&(93===m.charCodeAt(g)?(e="]",g++):(e=null,0===v&&T('"]"')),null===e)&&(47===m.charCodeAt(g)?(e="/",g++):(e=null,0===v&&T('"/"')),null===e)&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null===e)&&(38===m.charCodeAt(g)?(e="&",g++):(e=null,0===v&&T('"&"')),null===e)&&(43===m.charCodeAt(g)?(e="+",g++):(e=null,0===v&&T('"+"')),null===e)&&(36===m.charCodeAt(g)?(e="$",g++):(e=null,0===v&&T('"$"'))),e}function ke(){var e,t,n,r,s,i,o=g;if(63===m.charCodeAt(g)?(e="?",g++):(e=null,0===v&&T('"?"')),null!==e)if(null!==(t=Ue())){for(n=[],i=g,38===m.charCodeAt(g)?(r="&",g++):(r=null,0===v&&T('"&"')),null!==r&&null!==(s=Ue())?r=[r,s]:(r=null,g=i);null!==r;)n.push(r),i=g,38===m.charCodeAt(g)?(r="&",g++):(r=null,0===v&&T('"&"')),null!==r&&null!==(s=Ue())?r=[r,s]:(r=null,g=i);null!==n?e=[e,t,n]:(e=null,g=o)}else e=null,g=o;else e=null,g=o;return e}function Ue(){var e,t,n=g,r=g,s=Le();return null!==s&&(61===m.charCodeAt(g)?(e="=",g++):(e=null,0===v&&T('"="')),null!==e)&&null!==(t=Fe())?s=[s,e,t]:(s=null,g=r),null!==s&&(e=s[0],t=s[2],e=e.join("").toLowerCase(),t=t.join(""),L.uri_headers||(L.uri_headers={}),s=void(L.uri_headers[e]?L.uri_headers[e].push(t):L.uri_headers[e]=[t])),null===s&&(g=n),s}function Le(){var e,t=qe();if(null!==(t=null===t&&null===(t=r())?p():t))for(e=[];null!==t;)e.push(t),null===(t=qe())&&null===(t=r())&&(t=p());else e=null;return e}function Fe(){var e=[],t=qe();for(null===t&&null===(t=r())&&(t=p());null!==t;)e.push(t),null===(t=qe())&&null===(t=r())&&(t=p());return e}function qe(){var e;return 91===m.charCodeAt(g)?(e="[",g++):(e=null,0===v&&T('"["')),null===e&&(93===m.charCodeAt(g)?(e="]",g++):(e=null,0===v&&T('"]"')),null===e)&&(47===m.charCodeAt(g)?(e="/",g++):(e=null,0===v&&T('"/"')),null===e)&&(63===m.charCodeAt(g)?(e="?",g++):(e=null,0===v&&T('"?"')),null===e)&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null===e)&&(43===m.charCodeAt(g)?(e="+",g++):(e=null,0===v&&T('"+"')),null===e)&&(36===m.charCodeAt(g)?(e="$",g++):(e=null,0===v&&T('"$"'))),e}function He(){var e,t,n,r,s=g,i=pt();return null!==i&&null!==(e=h())&&null!==(t=je())&&null!==(n=h())&&null!==(r=st())?i=[i,e,t,n,r]:(i=null,g=s),i}function je(){var e=se();return e=null===e?Be():e}function Be(){var e,t,n=g,r=Ze();return null!==r&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null!==e)&&null!==(t=null===(t=$e())?Ve():t)?r=[r,e,t]:(r=null,g=n),r}function $e(){var e,t,n,r=g,s=Ge();return null!==(s=null===s?We():s)&&(n=g,63===m.charCodeAt(g)?(e="?",g++):(e=null,0===v&&T('"?"')),null!==e&&null!==(t=rt())?e=[e,t]:(e=null,g=n),null!==(e=null!==e?e:""))?s=[s,e]:(s=null,g=r),s}function Ge(){var e,t,n,r=g;return"//"===m.substr(g,2)?(e="//",g+=2):(e=null,0===v&&T('"//"')),null!==e&&null!==(t=et())&&null!==(n=null!==(n=We())?n:"")?e=[e,t,n]:(e=null,g=r),e}function We(){var e,t,n=g;return 47===m.charCodeAt(g)?(e="/",g++):(e=null,0===v&&T('"/"')),null!==e&&null!==(t=Ye())?e=[e,t]:(e=null,g=n),e}function Ve(){var e,t,n=g,r=ze();if(null!==r){for(e=[],t=Ke();null!==t;)e.push(t),t=Ke();null!==e?r=[r,e]:(r=null,g=n)}else r=null,g=n;return r}function Ke(){var e=q();return e=null===e&&null===(e=r())?p():e}function ze(){var e=r();return null===e&&null===(e=p())&&(59===m.charCodeAt(g)?(e=";",g++):(e=null,0===v&&T('";"')),null===e)&&(63===m.charCodeAt(g)?(e="?",g++):(e=null,0===v&&T('"?"')),null===e)&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null===e)&&(64===m.charCodeAt(g)?(e="@",g++):(e=null,0===v&&T('"@"')),null===e)&&(38===m.charCodeAt(g)?(e="&",g++):(e=null,0===v&&T('"&"')),null===e)&&(61===m.charCodeAt(g)?(e="=",g++):(e=null,0===v&&T('"="')),null===e)&&(43===m.charCodeAt(g)?(e="+",g++):(e=null,0===v&&T('"+"')),null===e)&&(36===m.charCodeAt(g)?(e="$",g++):(e=null,0===v&&T('"$"')),null===e)&&(44===m.charCodeAt(g)?(e=",",g++):(e=null,0===v&&T('","'))),e}function Ye(){var e,t,n,r,s=g,i=Xe();if(null!==i){for(e=[],r=g,47===m.charCodeAt(g)?(t="/",g++):(t=null,0===v&&T('"/"')),null!==t&&null!==(n=Xe())?t=[t,n]:(t=null,g=r);null!==t;)e.push(t),r=g,47===m.charCodeAt(g)?(t="/",g++):(t=null,0===v&&T('"/"')),null!==t&&null!==(n=Xe())?t=[t,n]:(t=null,g=r);null!==e?i=[i,e]:(i=null,g=s)}else i=null,g=s;return i}function Xe(){for(var e,t,n,r=g,s=[],i=Je();null!==i;)s.push(i),i=Je();if(null!==s){for(i=[],n=g,59===m.charCodeAt(g)?(e=";",g++):(e=null,0===v&&T('";"')),null!==e&&null!==(t=Qe())?e=[e,t]:(e=null,g=n);null!==e;)i.push(e),n=g,59===m.charCodeAt(g)?(e=";",g++):(e=null,0===v&&T('";"')),null!==e&&null!==(t=Qe())?e=[e,t]:(e=null,g=n);null!==i?s=[s,i]:(s=null,g=r)}else s=null,g=r;return s}function Qe(){for(var e=[],t=Je();null!==t;)e.push(t),t=Je();return e}function Je(){var e=r();return null===e&&null===(e=p())&&(58===m.charCodeAt(g)?(e=":",g++):(e=null,0===v&&T('":"')),null===e)&&(64===m.charCodeAt(g)?(e="@",g++):(e=null,0===v&&T('"@"')),null===e)&&(38===m.charCodeAt(g)?(e="&",g++):(e=null,0===v&&T('"&"')),null===e)&&(61===m.charCodeAt(g)?(e="=",g++):(e=null,0===v&&T('"="')),null===e)&&(43===m.charCodeAt(g)?(e="+",g++):(e=null,0===v&&T('"+"')),null===e)&&(36===m.charCodeAt(g)?(e="$",g++):(e=null,0===v&&T('"$"')),null===e)&&(44===m.charCodeAt(g)?(e=",",g++):(e=null,0===v&&T('","'))),e}function Ze(){var e,t,n=g,r=g,s=o();if(null!==s){for(e=[],null===(t=o())&&null===(t=u())&&(43===m.charCodeAt(g)?(t="+",g++):(t=null,0===v&&T('"+"')),null===t)&&(45===m.charCodeAt(g)?(t="-",g++):(t=null,0===v&&T('"-"')),null===t)&&(46===m.charCodeAt(g)?(t=".",g++):(t=null,0===v&&T('"."')));null!==t;)e.push(t),null===(t=o())&&null===(t=u())&&(43===m.charCodeAt(g)?(t="+",g++):(t=null,0===v&&T('"+"')),null===t)&&(45===m.charCodeAt(g)?(t="-",g++):(t=null,0===v&&T('"-"')),null===t)&&(46===m.charCodeAt(g)?(t=".",g++):(t=null,0===v&&T('"."')));null!==e?s=[s,e]:(s=null,g=r)}else s=null,g=r;return null===(s=null!==s?void(L.scheme=m.substring(g,n)):s)&&(g=n),s}function et(){var e=tt();return e=null===e?nt():e}function tt(){var e,t=g,n=g,r=le();return null!==r&&(64===m.charCodeAt(g)?(e="@",g++):(e=null,0===v&&T('"@"')),null!==e)?r=[r,e]:(r=null,g=n),null!==(r=null!==r?r:"")&&null!==(e=he())?r=[r,e]:(r=null,g=t),r=null!==r?r:""}function nt(){var e,t=r();if(null===t&&null===(t=p())&&(36===m.charCodeAt(g)?(t="$",g++):(t=null,0===v&&T('"$"')),null===t)&&(44===m.charCodeAt(g)?(t=",",g++):(t=null,0===v&&T('","')),null===t)&&(59===m.charCodeAt(g)?(t=";",g++):(t=null,0===v&&T('";"')),null===t)&&(58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null===t)&&(64===m.charCodeAt(g)?(t="@",g++):(t=null,0===v&&T('"@"')),null===t)&&(38===m.charCodeAt(g)?(t="&",g++):(t=null,0===v&&T('"&"')),null===t)&&(61===m.charCodeAt(g)?(t="=",g++):(t=null,0===v&&T('"="')),null===t)&&(43===m.charCodeAt(g)?(t="+",g++):(t=null,0===v&&T('"+"'))),null!==t)for(e=[];null!==t;)e.push(t),null===(t=r())&&null===(t=p())&&(36===m.charCodeAt(g)?(t="$",g++):(t=null,0===v&&T('"$"')),null===t)&&(44===m.charCodeAt(g)?(t=",",g++):(t=null,0===v&&T('","')),null===t)&&(59===m.charCodeAt(g)?(t=";",g++):(t=null,0===v&&T('";"')),null===t)&&(58===m.charCodeAt(g)?(t=":",g++):(t=null,0===v&&T('":"')),null===t)&&(64===m.charCodeAt(g)?(t="@",g++):(t=null,0===v&&T('"@"')),null===t)&&(38===m.charCodeAt(g)?(t="&",g++):(t=null,0===v&&T('"&"')),null===t)&&(61===m.charCodeAt(g)?(t="=",g++):(t=null,0===v&&T('"="')),null===t)&&(43===m.charCodeAt(g)?(t="+",g++):(t=null,0===v&&T('"+"')));else e=null;return e}function rt(){for(var e=[],t=Ke();null!==t;)e.push(t),t=Ke();return e}function st(){var e,t,n,r,s,i,o=g,a=g;if("sip"===m.substr(g,3).toLowerCase()?(e=m.substr(g,3),g+=3):(e=null,0===v&&T('"SIP"')),null!==e)if(47===m.charCodeAt(g)?(t="/",g++):(t=null,0===v&&T('"/"')),null!==t){if(null!==(r=u()))for(n=[];null!==r;)n.push(r),r=u();else n=null;if(null!==n)if(46===m.charCodeAt(g)?(r=".",g++):(r=null,0===v&&T('"."')),null!==r){if(null!==(i=u()))for(s=[];null!==i;)s.push(i),i=u();else s=null;null!==s?e=[e,t,n,r,s]:(e=null,g=a)}else e=null,g=a;else e=null,g=a}else e=null,g=a;else e=null,g=a;return null===(e=null!==e?void(L.sip_version=m.substring(g,o)):e)&&(g=o),e}function it(){var e;return"INVITE"===m.substr(g,6)?(e="INVITE",g+=6):(e=null,0===v&&T('"INVITE"')),e}function ot(){var e;return"ACK"===m.substr(g,3)?(e="ACK",g+=3):(e=null,0===v&&T('"ACK"')),e}function at(){var e;return"OPTIONS"===m.substr(g,7)?(e="OPTIONS",g+=7):(e=null,0===v&&T('"OPTIONS"')),e}function lt(){var e;return"BYE"===m.substr(g,3)?(e="BYE",g+=3):(e=null,0===v&&T('"BYE"')),e}function ut(){var e;return"CANCEL"===m.substr(g,6)?(e="CANCEL",g+=6):(e=null,0===v&&T('"CANCEL"')),e}function ct(){var e;return"REGISTER"===m.substr(g,8)?(e="REGISTER",g+=8):(e=null,0===v&&T('"REGISTER"')),e}function dt(){var e;return"SUBSCRIBE"===m.substr(g,9)?(e="SUBSCRIBE",g+=9):(e=null,0===v&&T('"SUBSCRIBE"')),e}function ht(){var e;return"NOTIFY"===m.substr(g,6)?(e="NOTIFY",g+=6):(e=null,0===v&&T('"NOTIFY"')),e}function ft(){var e;return"REFER"===m.substr(g,5)?(e="REFER",g+=5):(e=null,0===v&&T('"REFER"')),e}function pt(){var e=g,t=it();return null!==(t=null===t&&null===(t=ot())&&null===(t=at())&&null===(t=lt())&&null===(t=ut())&&null===(t=ct())&&null===(t=dt())&&null===(t=ht())&&null===(t=ft())?E():t)&&(L.method=m.substring(g,e),t=L.method),null===t&&(g=e),t}function _t(){var e,t,n,r,s=g,i=st();return null!==i&&null!==(e=h())&&null!==(t=mt())&&null!==(n=h())&&null!==(r=vt())?i=[i,e,t,n,r]:(i=null,g=s),i}function mt(){var e,t=g,n=gt();return null!==n&&(e=n,n=void(L.status_code=parseInt(e.join("")))),null===n&&(g=t),n}function gt(){var e,t,n=g,r=u();return null!==r&&null!==(e=u())&&null!==(t=u())?r=[r,e,t]:(r=null,g=n),r}function vt(){var e=g,t=[],n=q();for(null===n&&null===(n=r())&&null===(n=p())&&null===(n=S())&&null===(n=C())&&null===(n=h())&&(n=f());null!==n;)t.push(n),null===(n=q())&&null===(n=r())&&null===(n=p())&&null===(n=S())&&null===(n=C())&&null===(n=h())&&(n=f());return null===(t=null!==t?void(L.reason_phrase=m.substring(g,e)):t)&&(g=e),t}function Tt(){var e,t,n,r,s=g,i=g,o=re();if(null!==(o=null===o?N():o)){for(e=[],r=g,null!==(t=I())&&null!==(n=bt())?t=[t,n]:(t=null,g=r);null!==t;)e.push(t),r=g,null!==(t=I())&&null!==(n=bt())?t=[t,n]:(t=null,g=r);null!==e?o=[o,e]:(o=null,g=i)}else o=null,g=i;return null===(o=null!==o?(e=>{var t;L.multi_header||(L.multi_header=[]);try{t=new U(L.uri,L.display_name,L.params),delete L.uri,delete L.display_name,delete L.params}catch(e){t=null}L.multi_header.push({possition:g,offset:e,parsed:t})})(s):o)&&(g=s),o}function N(){var e,t,n,r=g,s=yt();return null!==(s=null!==s?s:"")&&null!==(e=Y())&&null!==(t=se())&&null!==(n=z())?s=[s,e,t,n]:(s=null,g=r),s}function yt(){var e,t,n,r,s=g,i=g,o=E();if(null!==o){for(e=[],r=g,null!==(t=_())&&null!==(n=E())?t=[t,n]:(t=null,g=r);null!==t;)e.push(t),r=g,null!==(t=_())&&null!==(n=E())?t=[t,n]:(t=null,g=r);null!==e?o=[o,e]:(o=null,g=i)}else o=null,g=i;return null!==(o=null===o?te():o)&&(i=o,o=void(L.display_name="string"==typeof i?i:i[1].reduce(function(e,t){return e+t[0]+t[1]},i[0]))),null===o&&(g=s),o}function bt(){var e=St();return e=null===e&&null===(e=Ct())?D():e}function St(){var e,t,n,r=g,s=g;return"q"===m.substr(g,1).toLowerCase()?(e=m.substr(g,1),g++):(e=null,0===v&&T('"q"')),null!==e&&null!==(n=w())&&null!==(t=Et())?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],L.params||(L.params={}),e=void(L.params.q=n)),null===e&&(g=r),e}function Ct(){var e,t,n,r=g,s=g;return"expires"===m.substr(g,7).toLowerCase()?(e=m.substr(g,7),g+=7):(e=null,0===v&&T('"expires"')),null!==e&&null!==(n=w())&&null!==(t=P())?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],L.params||(L.params={}),e=void(L.params.expires=n)),null===e&&(g=r),e}function P(){var e,t=g,n=u();if(null!==n)for(e=[];null!==n;)e.push(n),n=u();else e=null;return null===(e=null!==e?parseInt(e.join("")):e)&&(g=t),e}function Et(){var e,t,n,r,s,i,o=g,a=g;return 48===m.charCodeAt(g)?(e="0",g++):(e=null,0===v&&T('"0"')),null!==e&&(i=g,46===m.charCodeAt(g)?(t=".",g++):(t=null,0===v&&T('"."')),null!==t&&null!==(n=null!==(n=u())?n:"")&&null!==(r=null!==(r=u())?r:"")&&null!==(s=null!==(s=u())?s:"")?t=[t,n,r,s]:(t=null,g=i),null!==(t=null!==t?t:""))?e=[e,t]:(e=null,g=a),null===(e=null!==e?parseFloat(m.substring(g,o)):e)&&(g=o),e}function D(){var e,t,n,r=g,s=g,i=E();return null!==i&&(n=g,null!==(e=w())&&null!==(t=At())?e=[e,t]:(e=null,g=n),null!==(e=null!==e?e:""))?i=[i,e]:(i=null,g=s),null!==i&&(t=i[0],n=i[1],L.params||(L.params={}),n=void 0===n?void 0:n[1],i=void(L.params[t.toLowerCase()]=n)),null===i&&(g=r),i}function At(){var e=E();return e=null===e&&null===(e=fe())?ee():e}function wt(){var e;return"render"===m.substr(g,6).toLowerCase()?(e=m.substr(g,6),g+=6):(e=null,0===v&&T('"render"')),e=null===e&&("session"===m.substr(g,7).toLowerCase()?(e=m.substr(g,7),g+=7):(e=null,0===v&&T('"session"')),null===e)&&("icon"===m.substr(g,4).toLowerCase()?(e=m.substr(g,4),g+=4):(e=null,0===v&&T('"icon"')),null===e)&&("alert"===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"alert"')),null===e)?E():e}function Rt(){var e=It();return e=null===e?D():e}function It(){var e,t,n,r=g;return"handling"===m.substr(g,8).toLowerCase()?(e=m.substr(g,8),g+=8):(e=null,0===v&&T('"handling"')),null!==e&&null!==(t=w())&&("optional"===m.substr(g,8).toLowerCase()?(n=m.substr(g,8),g+=8):(n=null,0===v&&T('"optional"')),null!==(n=null===n&&("required"===m.substr(g,8).toLowerCase()?(n=m.substr(g,8),g+=8):(n=null,0===v&&T('"required"')),null===n)?E():n))?e=[e,t,n]:(e=null,g=r),e}function Ot(){var e,t,n,r,s,i,o=g,a=xt();if(null!==a)if(null!==(e=W()))if(null!==(t=kt())){for(n=[],i=g,null!==(r=I())&&null!==(s=Ut())?r=[r,s]:(r=null,g=i);null!==r;)n.push(r),i=g,null!==(r=I())&&null!==(s=Ut())?r=[r,s]:(r=null,g=i);null!==n?a=[a,e,t,n]:(a=null,g=o)}else a=null,g=o;else a=null,g=o;else a=null,g=o;return a}function xt(){var e=Mt();return e=null===e?Nt():e}function Mt(){var e;return"text"===m.substr(g,4).toLowerCase()?(e=m.substr(g,4),g+=4):(e=null,0===v&&T('"text"')),e=null===e&&("image"===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"image"')),null===e)&&("audio"===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"audio"')),null===e)&&("video"===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"video"')),null===e)&&("application"===m.substr(g,11).toLowerCase()?(e=m.substr(g,11),g+=11):(e=null,0===v&&T('"application"')),null===e)?Pt():e}function Nt(){var e;return"message"===m.substr(g,7).toLowerCase()?(e=m.substr(g,7),g+=7):(e=null,0===v&&T('"message"')),e=null===e&&("multipart"===m.substr(g,9).toLowerCase()?(e=m.substr(g,9),g+=9):(e=null,0===v&&T('"multipart"')),null===e)?Pt():e}function Pt(){var e=E();return e=null===e?Dt():e}function Dt(){var e,t,n=g;return"x-"===m.substr(g,2).toLowerCase()?(e=m.substr(g,2),g+=2):(e=null,0===v&&T('"x-"')),null!==e&&null!==(t=E())?e=[e,t]:(e=null,g=n),e}function kt(){var e=Pt();return e=null===e?E():e}function Ut(){var e,t,n=g,r=E();return null!==r&&null!==(e=w())&&null!==(t=Lt())?r=[r,e,t]:(r=null,g=n),r}function Lt(){var e=E();return e=null===e?ee():e}function Ft(){var e,t,n=g,r=u();if(null!==r)for(e=[];null!==r;)e.push(r),r=u();else e=null;return null!==e&&(t=e,e=void(L.value=parseInt(t.join("")))),null===e&&(g=n),e}function qt(){var e,t,n,r,s=g,i=$();if(null!==i){for(e=[],r=g,46===m.charCodeAt(g)?(t=".",g++):(t=null,0===v&&T('"."')),null!==t&&null!==(n=$())?t=[t,n]:(t=null,g=r);null!==t;)e.push(t),r=g,46===m.charCodeAt(g)?(t=".",g++):(t=null,0===v&&T('"."')),null!==t&&null!==(n=$())?t=[t,n]:(t=null,g=r);null!==e?i=[i,e]:(i=null,g=s)}else i=null,g=s;return i}function Ht(){var e=jt();return e=null===e?D():e}function jt(){var e,t,n,r=g,s=g;return"tag"===m.substr(g,3).toLowerCase()?(e=m.substr(g,3),g+=3):(e=null,0===v&&T('"tag"')),null!==e&&null!==(n=w())&&null!==(t=E())?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],e=void(L.tag=n)),null===e&&(g=r),e}function Bt(){var e,t,n,r,s,i,o,a=g;if("digest"===m.substr(g,6).toLowerCase()?(e=m.substr(g,6),g+=6):(e=null,0===v&&T('"Digest"')),null!==e)if(null!==(t=_()))if(null!==(n=Wt())){for(r=[],o=g,null!==(s=R())&&null!==(i=Wt())?s=[s,i]:(s=null,g=o);null!==s;)r.push(s),o=g,null!==(s=R())&&null!==(i=Wt())?s=[s,i]:(s=null,g=o);null!==r?e=[e,t,n,r]:(e=null,g=a)}else e=null,g=a;else e=null,g=a;else e=null,g=a;return e=null===e?$t():e}function $t(){var e,t,n,r,s,i,o=g,a=E();if(null!==a)if(null!==(e=_()))if(null!==(t=Gt())){for(n=[],i=g,null!==(r=R())&&null!==(s=Gt())?r=[r,s]:(r=null,g=i);null!==r;)n.push(r),i=g,null!==(r=R())&&null!==(s=Gt())?r=[r,s]:(r=null,g=i);null!==n?a=[a,e,t,n]:(a=null,g=o)}else a=null,g=o;else a=null,g=o;else a=null,g=o;return a}function Gt(){var e,t,n=g,r=E();return null!==r&&null!==(e=w())&&null!==(t=null===(t=E())?ee():t)?r=[r,e,t]:(r=null,g=n),r}function Wt(){var e=Vt();return e=null===e&&null===(e=zt())&&null===(e=Xt())&&null===(e=Jt())&&null===(e=Zt())&&null===(e=en())&&null===(e=tn())?Gt():e}function Vt(){var e,t,n,r=g;return"realm"===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"realm"')),null!==e&&null!==(t=w())&&null!==(n=Kt())?e=[e,t,n]:(e=null,g=r),e}function Kt(){var e,t=g,n=te();return null!==n&&(e=n,n=void(L.realm=e)),null===n&&(g=t),n}function zt(){var e,t,n,r,s,i,o,a,l=g;if("domain"===m.substr(g,6).toLowerCase()?(e=m.substr(g,6),g+=6):(e=null,0===v&&T('"domain"')),null!==e)if(null!==(t=w()))if(null!==(n=Q()))if(null!==(r=Yt())){if(s=[],a=g,null!==(o=h()))for(i=[];null!==o;)i.push(o),o=h();else i=null;for(null!==i&&null!==(o=Yt())?i=[i,o]:(i=null,g=a);null!==i;){if(s.push(i),a=g,null!==(o=h()))for(i=[];null!==o;)i.push(o),o=h();else i=null;null!==i&&null!==(o=Yt())?i=[i,o]:(i=null,g=a)}null!==s&&null!==(i=J())?e=[e,t,n,r,s,i]:(e=null,g=l)}else e=null,g=l;else e=null,g=l;else e=null,g=l;else e=null,g=l;return e}function Yt(){var e=Be();return e=null===e?We():e}function Xt(){var e,t,n,r=g;return"nonce"===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"nonce"')),null!==e&&null!==(t=w())&&null!==(n=Qt())?e=[e,t,n]:(e=null,g=r),e}function Qt(){var e,t=g,n=te();return null!==n&&(e=n,n=void(L.nonce=e)),null===n&&(g=t),n}function Jt(){var e,t,n,r=g,s=g;return"opaque"===m.substr(g,6).toLowerCase()?(e=m.substr(g,6),g+=6):(e=null,0===v&&T('"opaque"')),null!==e&&null!==(n=w())&&null!==(t=te())?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],e=void(L.opaque=n)),null===e&&(g=r),e}function Zt(){var e,t,n,r,s=g;return"stale"===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"stale"')),null!==e&&null!==(t=w())&&(r=g,"true"===m.substr(g,4).toLowerCase()?(n=m.substr(g,4),g+=4):(n=null,0===v&&T('"true"')),null===(n=null!==n?void(L.stale=!0):n)&&(g=r),null===n&&(r=g,"false"===m.substr(g,5).toLowerCase()?(n=m.substr(g,5),g+=5):(n=null,0===v&&T('"false"')),null===(n=null!==n?void(L.stale=!1):n))&&(g=r),null!==n)?e=[e,t,n]:(e=null,g=s),e}function en(){var e,t,n,r=g,s=g;return"algorithm"===m.substr(g,9).toLowerCase()?(e=m.substr(g,9),g+=9):(e=null,0===v&&T('"algorithm"')),null!==e&&null!==(n=w())&&("md5"===m.substr(g,3).toLowerCase()?(t=m.substr(g,3),g+=3):(t=null,0===v&&T('"MD5"')),null!==(t=null===t&&("md5-sess"===m.substr(g,8).toLowerCase()?(t=m.substr(g,8),g+=8):(t=null,0===v&&T('"MD5-sess"')),null===t)?E():t))?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],e=void(L.algorithm=n.toUpperCase())),null===e&&(g=r),e}function tn(){var e,t,n,r,s,i,o,a,l,u=g;if("qop"===m.substr(g,3).toLowerCase()?(e=m.substr(g,3),g+=3):(e=null,0===v&&T('"qop"')),null!==e)if(null!==(t=w()))if(null!==(n=Q())){if(a=g,null!==(r=nn())){for(s=[],l=g,44===m.charCodeAt(g)?(i=",",g++):(i=null,0===v&&T('","')),null!==i&&null!==(o=nn())?i=[i,o]:(i=null,g=l);null!==i;)s.push(i),l=g,44===m.charCodeAt(g)?(i=",",g++):(i=null,0===v&&T('","')),null!==i&&null!==(o=nn())?i=[i,o]:(i=null,g=l);null!==s?r=[r,s]:(r=null,g=a)}else r=null,g=a;null!==r&&null!==(s=J())?e=[e,t,n,r,s]:(e=null,g=u)}else e=null,g=u;else e=null,g=u;else e=null,g=u;return e}function nn(){var e,t,n=g;return"auth-int"===m.substr(g,8).toLowerCase()?(e=m.substr(g,8),g+=8):(e=null,0===v&&T('"auth-int"')),null!==(e=null===e&&("auth"===m.substr(g,4).toLowerCase()?(e=m.substr(g,4),g+=4):(e=null,0===v&&T('"auth"')),null===e)?E():e)&&(t=e,L.qop||(L.qop=[]),e=void L.qop.push(t.toLowerCase())),null===e&&(g=n),e}function rn(){var e,t,n,r,s=g,i=g,o=N();if(null!==o){for(e=[],r=g,null!==(t=I())&&null!==(n=D())?t=[t,n]:(t=null,g=r);null!==t;)e.push(t),r=g,null!==(t=I())&&null!==(n=D())?t=[t,n]:(t=null,g=r);null!==e?o=[o,e]:(o=null,g=i)}else o=null,g=i;return null===(o=null!==o?(e=>{var t;L.multi_header||(L.multi_header=[]);try{t=new U(L.uri,L.display_name,L.params),delete L.uri,delete L.display_name,delete L.params}catch(e){t=null}L.multi_header.push({possition:g,offset:e,parsed:t})})(s):o)&&(g=s),o}function sn(){var e=on();return e=null===e?D():e}function on(){var e,t,n,r,s=g,i=g;if("cause"===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"cause"')),null!==e)if(null!==(r=w())){if(null!==(n=u()))for(t=[];null!==n;)t.push(n),n=u();else t=null;null!==t?e=[e,r,t]:(e=null,g=i)}else e=null,g=i;else e=null,g=i;return null!==e&&(r=e[2],e=void(L.cause=parseInt(r.join("")))),null===e&&(g=s),e}function an(){var e,t,n,r,s=g,i=N();if(null!==i){for(e=[],r=g,null!==(t=I())&&null!==(n=D())?t=[t,n]:(t=null,g=r);null!==t;)e.push(t),r=g,null!==(t=I())&&null!==(n=D())?t=[t,n]:(t=null,g=r);null!==e?i=[i,e]:(i=null,g=s)}else i=null,g=s;return i}function ln(){var e,t=g;return"active"===m.substr(g,6).toLowerCase()?(e=m.substr(g,6),g+=6):(e=null,0===v&&T('"active"')),null===(e=null!==(e=null===e&&("pending"===m.substr(g,7).toLowerCase()?(e=m.substr(g,7),g+=7):(e=null,0===v&&T('"pending"')),null===e)&&("terminated"===m.substr(g,10).toLowerCase()?(e=m.substr(g,10),g+=10):(e=null,0===v&&T('"terminated"')),null===e)?E():e)?void(L.state=m.substring(g,t)):e)&&(g=t),e}function un(){var e,t,n,r,s=g,i=g;return"reason"===m.substr(g,6).toLowerCase()?(e=m.substr(g,6),g+=6):(e=null,0===v&&T('"reason"')),null!==e&&null!==(n=w())&&null!==(t=cn())?e=[e,n,t]:(e=null,g=i),null===(e=null!==e?void(void 0!==(r=e[2])&&(L.reason=r)):e)&&(g=s),e=null===e&&(i=s=g,"expires"===m.substr(g,7).toLowerCase()?(e=m.substr(g,7),g+=7):(e=null,0===v&&T('"expires"')),null!==e&&null!==(n=w())&&null!==(t=P())?e=[e,n,t]:(e=null,g=i),null===(e=null!==e?void(void 0!==(r=e[2])&&(L.expires=r)):e)&&(g=s),null===e)&&(i=s=g,"retry_after"===m.substr(g,11).toLowerCase()?(e=m.substr(g,11),g+=11):(e=null,0===v&&T('"retry_after"')),null!==e&&null!==(n=w())&&null!==(t=P())?e=[e,n,t]:(e=null,g=i),null===(e=null!==e?void(void 0!==(n=e[2])&&(L.retry_after=n)):e)&&(g=s),null===e)?D():e}function cn(){var e;return"deactivated"===m.substr(g,11).toLowerCase()?(e=m.substr(g,11),g+=11):(e=null,0===v&&T('"deactivated"')),e=null===e&&("probation"===m.substr(g,9).toLowerCase()?(e=m.substr(g,9),g+=9):(e=null,0===v&&T('"probation"')),null===e)&&("rejected"===m.substr(g,8).toLowerCase()?(e=m.substr(g,8),g+=8):(e=null,0===v&&T('"rejected"')),null===e)&&("timeout"===m.substr(g,7).toLowerCase()?(e=m.substr(g,7),g+=7):(e=null,0===v&&T('"timeout"')),null===e)&&("giveup"===m.substr(g,6).toLowerCase()?(e=m.substr(g,6),g+=6):(e=null,0===v&&T('"giveup"')),null===e)&&("noresource"===m.substr(g,10).toLowerCase()?(e=m.substr(g,10),g+=10):(e=null,0===v&&T('"noresource"')),null===e)&&("invariant"===m.substr(g,9).toLowerCase()?(e=m.substr(g,9),g+=9):(e=null,0===v&&T('"invariant"')),null===e)?E():e}function dn(){var e=jt();return e=null===e?D():e}function hn(){var e,t,n,r,s,i,o=g,a=yn();if(null!==a)if(null!==(e=_()))if(null!==(t=Cn())){for(n=[],i=g,null!==(r=I())&&null!==(s=fn())?r=[r,s]:(r=null,g=i);null!==r;)n.push(r),i=g,null!==(r=I())&&null!==(s=fn())?r=[r,s]:(r=null,g=i);null!==n?a=[a,e,t,n]:(a=null,g=o)}else a=null,g=o;else a=null,g=o;else a=null,g=o;return a}function fn(){var e=pn();return e=null===e&&null===(e=_n())&&null===(e=mn())&&null===(e=gn())&&null===(e=vn())?D():e}function pn(){var e,t,n,r=g,s=g;return"ttl"===m.substr(g,3).toLowerCase()?(e=m.substr(g,3),g+=3):(e=null,0===v&&T('"ttl"')),null!==e&&null!==(n=w())&&null!==(t=wn())?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],e=void(L.ttl=n)),null===e&&(g=r),e}function _n(){var e,t,n,r=g,s=g;return"maddr"===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"maddr"')),null!==e&&null!==(n=w())&&null!==(t=fe())?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],e=void(L.maddr=n)),null===e&&(g=r),e}function mn(){var e,t,n,r=g,s=g;return"received"===m.substr(g,8).toLowerCase()?(e=m.substr(g,8),g+=8):(e=null,0===v&&T('"received"')),null!==e&&null!==(n=w())&&null!==(t=null===(t=Te())?ve():t)?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],e=void(L.received=n)),null===e&&(g=r),e}function gn(){var e,t,n,r=g,s=g;return"branch"===m.substr(g,6).toLowerCase()?(e=m.substr(g,6),g+=6):(e=null,0===v&&T('"branch"')),null!==e&&null!==(n=w())&&null!==(t=E())?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],e=void(L.branch=n)),null===e&&(g=r),e}function vn(){var e,t,n,r,s=g;return"rport"===m.substr(g,5).toLowerCase()?(e=m.substr(g,5),g+=5):(e=null,0===v&&T('"rport"')),null!==e&&(r=g,null!==(t=w())&&null!==(n=Tn())?t=[t,n]:(t=null,g=r),null!==(t=null!==t?t:""))?e=[e,t]:(e=null,g=s),e}function Tn(){var e,t,n,r,s=g,i=g,o=u();return null!==(o=null!==o?o:"")&&null!==(r=null!==(r=u())?r:"")&&null!==(e=null!==(e=u())?e:"")&&null!==(t=null!==(t=u())?t:"")&&null!==(n=null!==(n=u())?n:"")?o=[o,r,e,t,n]:(o=null,g=i),null!==o&&(r=o,o=void(L.rport=parseInt(r.join("")))),null===o&&(g=s),o}function yn(){var e,t,n,r,s=g,i=bn();return null!==i&&null!==(e=W())&&null!==(t=E())&&null!==(n=W())&&null!==(r=Sn())?i=[i,e,t,n,r]:(i=null,g=s),i}function bn(){var e,t,n=g;return"sip"===m.substr(g,3).toLowerCase()?(e=m.substr(g,3),g+=3):(e=null,0===v&&T('"SIP"')),null!==(e=null===e?E():e)&&(t=e,e=void(L.protocol=t)),null===e&&(g=n),e}function Sn(){var e,t,n=g;return"udp"===m.substr(g,3).toLowerCase()?(e=m.substr(g,3),g+=3):(e=null,0===v&&T('"UDP"')),null!==(e=null===e&&("tcp"===m.substr(g,3).toLowerCase()?(e=m.substr(g,3),g+=3):(e=null,0===v&&T('"TCP"')),null===e)&&("tls"===m.substr(g,3).toLowerCase()?(e=m.substr(g,3),g+=3):(e=null,0===v&&T('"TLS"')),null===e)&&("sctp"===m.substr(g,4).toLowerCase()?(e=m.substr(g,4),g+=4):(e=null,0===v&&T('"SCTP"')),null===e)?E():e)&&(t=e,e=void(L.transport=t)),null===e&&(g=n),e}function Cn(){var e,t,n,r=g,s=En();return null!==s&&(n=g,null!==(e=X())&&null!==(t=An())?e=[e,t]:(e=null,g=n),null!==(e=null!==e?e:""))?s=[s,e]:(s=null,g=r),s}function En(){var e=g,t=Te();return null===(t=null!==(t=null===t&&null===(t=ge())?pe():t)?void(L.host=m.substring(g,e)):t)&&(g=e),t}function An(){var e,t,n,r,s=g,i=g,o=u();return null!==(o=null!==o?o:"")&&null!==(r=null!==(r=u())?r:"")&&null!==(e=null!==(e=u())?e:"")&&null!==(t=null!==(t=u())?t:"")&&null!==(n=null!==(n=u())?n:"")?o=[o,r,e,t,n]:(o=null,g=i),null!==o&&(r=o,o=void(L.port=parseInt(r.join("")))),null===o&&(g=s),o}function wn(){var e,t,n=g,r=g,s=u();return null!==s&&null!==(e=null!==(e=u())?e:"")&&null!==(t=null!==(t=u())?t:"")?s=[s,e,t]:(s=null,g=r),null===(s=null!==s?parseInt(s.join("")):s)&&(g=n),s}function Rn(){var e,t=g,n=P();return null!==n&&(e=n,n=void(L.expires=e)),null===n&&(g=t),n}function In(){var e=On();return e=null===e?D():e}function On(){var e,t,n,r=g,s=g;return"refresher"===m.substr(g,9).toLowerCase()?(e=m.substr(g,9),g+=9):(e=null,0===v&&T('"refresher"')),null!==e&&null!==(n=w())&&("uac"===m.substr(g,3).toLowerCase()?(t=m.substr(g,3),g+=3):(t=null,0===v&&T('"uac"')),null===t&&("uas"===m.substr(g,3).toLowerCase()?(t=m.substr(g,3),g+=3):(t=null,0===v&&T('"uas"'))),null!==t)?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],e=void(L.refresher=n.toLowerCase())),null===e&&(g=r),e}function xn(){var e=[],t=b();for(null===t&&null===(t=C())&&(t=_());null!==t;)e.push(t),null===(t=b())&&null===(t=C())&&(t=_());return e}function Mn(){var e,t,n,r,s,i,o,a,l=g,u=g,c=Nn();return null!==c&&(45===m.charCodeAt(g)?(e="-",g++):(e=null,0===v&&T('"-"')),null!==e)&&null!==(t=k())&&(45===m.charCodeAt(g)?(n="-",g++):(n=null,0===v&&T('"-"')),null!==n)&&null!==(r=k())&&(45===m.charCodeAt(g)?(s="-",g++):(s=null,0===v&&T('"-"')),null!==s)&&null!==(i=k())&&(45===m.charCodeAt(g)?(o="-",g++):(o=null,0===v&&T('"-"')),null!==o)&&null!==(a=Pn())?c=[c,e,t,n,r,s,i,o,a]:(c=null,g=u),null!==c&&(c[0],c=void(L=m.substring(g+5,l))),null===c&&(g=l),c}function k(){var e,t,n,r=g,s=a();return null!==s&&null!==(e=a())&&null!==(t=a())&&null!==(n=a())?s=[s,e,t,n]:(s=null,g=r),s}function Nn(){var e,t=g,n=k();return null!==n&&null!==(e=k())?n=[n,e]:(n=null,g=t),n}function Pn(){var e,t,n=g,r=k();return null!==r&&null!==(e=k())&&null!==(t=k())?r=[r,e,t]:(r=null,g=n),r}function Dn(){var e,t,n,r=g,s=g,i=A();return null!==i&&(n=g,64===m.charCodeAt(g)?(e="@",g++):(e=null,0===v&&T('"@"')),null!==e&&null!==(t=A())?e=[e,t]:(e=null,g=n),null!==(e=null!==e?e:""))?i=[i,e]:(i=null,g=s),null===(i=null!==i?void(L.call_id=m.substring(g,r)):i)&&(g=r),i}function kn(){var e=Un();return e=null===e&&null===(e=Ln())&&null===(e=Fn())?D():e}function Un(){var e,t,n,r=g,s=g;return"to-tag"===m.substr(g,6)?(e="to-tag",g+=6):(e=null,0===v&&T('"to-tag"')),null!==e&&null!==(n=w())&&null!==(t=E())?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],e=void(L.to_tag=n)),null===e&&(g=r),e}function Ln(){var e,t,n,r=g,s=g;return"from-tag"===m.substr(g,8)?(e="from-tag",g+=8):(e=null,0===v&&T('"from-tag"')),null!==e&&null!==(n=w())&&null!==(t=E())?e=[e,n,t]:(e=null,g=s),null!==e&&(n=e[2],e=void(L.from_tag=n)),null===e&&(g=r),e}function Fn(){var e,t=g;return"early-only"===m.substr(g,10)?(e="early-only",g+=10):(e=null,0===v&&T('"early-only"')),null===(e=null!==e?void(L.early_only=!0):e)&&(g=t),e}var qn,Hn,jn=Bn(7019),U=Bn(900),L={};return null===e[l]()||g!==m.length?(qn=(e=Math.max(g,i))<m.length?m.charAt(e):null,Hn=(()=>{for(var e=1,t=1,n=!1,r=0;r<Math.max(g,i);r++)var s=m.charAt(r),n="\n"===s?(n||e++,!(t=1)):"\r"===s||"\u2028"===s||"\u2029"===s?(e++,t=1,!0):(t++,!1);return{line:e,column:t}})(),new this.SyntaxError((e=>{e.sort();for(var t=null,n=[],r=0;r<e.length;r++)e[r]!==t&&(n.push(e[r]),t=e[r]);return n})(t),qn,e,Hn.line,Hn.column),-1):L},toSource:function(){return this._source}}).SyntaxError=function(e,t,n,r,s){this.name="SyntaxError",this.expected=e,this.found=t,this.message=((e,t)=>{var n;switch(e.length){case 0:n="end of input";break;case 1:n=e[0];break;default:n=e.slice(0,e.length-1).join(", ")+" or "+e[e.length-1]}return"Expected "+n+" but "+(t?$n(t):"end of input")+" found."})(e,t),this.offset=n,this.line=r,this.column=s},e.SyntaxError.prototype=Error.prototype,e)},4524:function(e,t,n){let r=n(633);var s=n(9896),i=n(8239),o=n(7196),a=n(1675),l=n(7019),u=n(900),c=n(9656),d=n(2159);n(8878)("JsSIP")("version %s",r.version),e.exports={C:s,Exceptions:i,Utils:o,UA:a,URI:l,NameAddrHeader:u,WebSocketInterface:d,Grammar:c,debug:n(8878),get name(){return r.title},get version(){return r.version}}},5409:function(e,t,n){let r=n(8878),s="JsSIP";e.exports=class{constructor(e){e?(this._debug=r.default("JsSIP:"+e),this._warn=r.default("JsSIP:WARN:"+e),this._error=r.default("JsSIP:ERROR:"+e)):(this._debug=r.default(s),this._warn=r.default("JsSIP:WARN"),this._error=r.default("JsSIP:ERROR")),this._debug.log=console.info.bind(console),this._warn.log=console.warn.bind(console),this._error.log=console.error.bind(console)}get debug(){return this._debug}get warn(){return this._warn}get error(){return this._error}}},3834:function(e,t,n){var r=n(9032).EventEmitter,s=n(3422);let l=n(9896),u=n(2602),c=n(7196),d=n(5117),i=n(8239),h=n(7019),o=new s("Message");e.exports=class extends r{constructor(e){super(),this._ua=e,this._request=null,this._closed=!1,this._direction=null,this._local_identity=null,this._remote_identity=null,this._is_replied=!1,this._data={}}get direction(){return this._direction}get local_identity(){return this._local_identity}get remote_identity(){return this._remote_identity}send(e,t,n={}){var r=e;if(void 0===e||void 0===t)throw new TypeError("Not enough arguments");if(!(e=this._ua.normalizeTarget(e)))throw new TypeError("Invalid target: "+r);var s,r=c.cloneArray(n.extraHeaders),i=c.cloneObject(n.eventHandlers),o=n.contentType||"text/plain",a={};for(s in n.fromUserName&&(a.from_uri=new h("sip",n.fromUserName,this._ua.configuration.uri.host),r.push("P-Preferred-Identity: "+this._ua.configuration.uri.toString())),n.fromDisplayName&&(a.from_display_name=n.fromDisplayName),i)Object.prototype.hasOwnProperty.call(i,s)&&this.on(s,i[s]);r.push("Content-Type: "+o),this._request=new u.OutgoingRequest(l.MESSAGE,e,this._ua,a,r),t&&(this._request.body=t);n=new d(this._ua,this._request,{onRequestTimeout:()=>{this._onRequestTimeout()},onTransportError:()=>{this._onTransportError()},onReceiveResponse:e=>{this._receiveResponse(e)}});this._newMessage("local",this._request),n.send()}init_incoming(e){this._request=e,this._newMessage("remote",e),this._is_replied||(this._is_replied=!0,e.reply(200)),this._close()}accept(e={}){var t=c.cloneArray(e.extraHeaders),e=e.body;if("incoming"!==this._direction)throw new i.NotSupportedError('"accept" not supported for outgoing Message');if(this._is_replied)throw new Error("incoming Message already replied");this._is_replied=!0,this._request.reply(200,null,t,e)}reject(e={}){var t=e.status_code||480,n=e.reason_phrase,r=c.cloneArray(e.extraHeaders),e=e.body;if("incoming"!==this._direction)throw new i.NotSupportedError('"reject" not supported for outgoing Message');if(this._is_replied)throw new Error("incoming Message already replied");if(t<300||700<=t)throw new TypeError("Invalid status_code: "+t);this._is_replied=!0,this._request.reply(t,n,r,e)}_receiveResponse(e){if(!this._closed)switch(!0){case/^1[0-9]{2}$/.test(e.status_code):break;case/^2[0-9]{2}$/.test(e.status_code):this._succeeded("remote",e);break;default:var t=c.sipErrorCause(e.status_code);this._failed("remote",e,t)}}_onRequestTimeout(){this._closed||this._failed("system",null,l.causes.REQUEST_TIMEOUT)}_onTransportError(){this._closed||this._failed("system",null,l.causes.CONNECTION_ERROR)}_close(){this._closed=!0,this._ua.destroyMessage(this)}_newMessage(e,t){"remote"===e?(this._direction="incoming",this._local_identity=t.to,this._remote_identity=t.from):"local"===e&&(this._direction="outgoing",this._local_identity=t.from,this._remote_identity=t.to),this._ua.newMessage(this,{originator:e,message:this,request:t})}_failed(e,t,n){o.debug("MESSAGE failed"),this._close(),o.debug('emit "failed"'),this.emit("failed",{originator:e,response:t||null,cause:n})}_succeeded(e,t){o.debug("MESSAGE succeeded"),this._close(),o.debug('emit "succeeded"'),this.emit("succeeded",{originator:e,response:t})}}},900:function(e,t,n){let s=n(7019),r=n(9656);e.exports=class i{static parse(e){if(-1!==(e=r.parse(e,"Name_Addr_Header")))return e}constructor(e,t,n){if(!(e&&e instanceof s))throw new TypeError('missing or invalid "uri" parameter');for(var r in this._uri=e,this._parameters={},this.display_name=t,n)Object.prototype.hasOwnProperty.call(n,r)&&this.setParam(r,n[r])}get uri(){return this._uri}get display_name(){return this._display_name}set display_name(e){this._display_name=0===e?"0":e}setParam(e,t){e&&(this._parameters[e.toLowerCase()]=null==t?null:t.toString())}getParam(e){if(e)return this._parameters[e.toLowerCase()]}hasParam(e){if(e)return!!this._parameters.hasOwnProperty(e.toLowerCase())}deleteParam(e){var t;if(e=e.toLowerCase(),this._parameters.hasOwnProperty(e))return t=this._parameters[e],delete this._parameters[e],t}clearParams(){this._parameters={}}clone(){return new i(this._uri.clone(),this._display_name,JSON.parse(JSON.stringify(this._parameters)))}_quote(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}toString(){let e=this._display_name?`"${this._quote(this._display_name)}" `:"";for(var t in e+=`<${this._uri.toString()}>`,this._parameters)Object.prototype.hasOwnProperty.call(this._parameters,t)&&(e+=";"+t,null!==this._parameters[t])&&(e+="="+this._parameters[t]);return e}}},7659:function(e,t,n){var r=n(9032).EventEmitter,s=n(3422);let o=n(9896),a=n(2602),l=n(7196),u=n(5117),i=n(8239),c=new s("Options");e.exports=class extends r{constructor(e){super(),this._ua=e,this._request=null,this._closed=!1,this._direction=null,this._local_identity=null,this._remote_identity=null,this._is_replied=!1,this._data={}}get direction(){return this._direction}get local_identity(){return this._local_identity}get remote_identity(){return this._remote_identity}send(e,t,n={}){var r=e;if(void 0===e)throw new TypeError("A target is required for OPTIONS");if(!(e=this._ua.normalizeTarget(e)))throw new TypeError("Invalid target: "+r);var s,r=l.cloneArray(n.extraHeaders),i=l.cloneObject(n.eventHandlers),n=n.contentType||"application/sdp";for(s in i)Object.prototype.hasOwnProperty.call(i,s)&&this.on(s,i[s]);r.push("Content-Type: "+n),this._request=new a.OutgoingRequest(o.OPTIONS,e,this._ua,null,r),t&&(this._request.body=t);n=new u(this._ua,this._request,{onRequestTimeout:()=>{this._onRequestTimeout()},onTransportError:()=>{this._onTransportError()},onReceiveResponse:e=>{this._receiveResponse(e)}});this._newOptions("local",this._request),n.send()}init_incoming(e){this._request=e,this._newOptions("remote",e),this._is_replied||(this._is_replied=!0,e.reply(200)),this._close()}accept(e={}){var t=l.cloneArray(e.extraHeaders),e=e.body;if("incoming"!==this._direction)throw new i.NotSupportedError('"accept" not supported for outgoing Options');if(this._is_replied)throw new Error("incoming Options already replied");this._is_replied=!0,this._request.reply(200,null,t,e)}reject(e={}){var t=e.status_code||480,n=e.reason_phrase,r=l.cloneArray(e.extraHeaders),e=e.body;if("incoming"!==this._direction)throw new i.NotSupportedError('"reject" not supported for outgoing Options');if(this._is_replied)throw new Error("incoming Options already replied");if(t<300||700<=t)throw new TypeError("Invalid status_code: "+t);this._is_replied=!0,this._request.reply(t,n,r,e)}_receiveResponse(e){if(!this._closed)switch(!0){case/^1[0-9]{2}$/.test(e.status_code):break;case/^2[0-9]{2}$/.test(e.status_code):this._succeeded("remote",e);break;default:var t=l.sipErrorCause(e.status_code);this._failed("remote",e,t)}}_onRequestTimeout(){this._closed||this._failed("system",null,o.causes.REQUEST_TIMEOUT)}_onTransportError(){this._closed||this._failed("system",null,o.causes.CONNECTION_ERROR)}_close(){this._closed=!0,this._ua.destroyMessage(this)}_newOptions(e,t){"remote"===e?(this._direction="incoming",this._local_identity=t.to,this._remote_identity=t.from):"local"===e&&(this._direction="outgoing",this._local_identity=t.from,this._remote_identity=t.to),this._ua.newOptions(this,{originator:e,message:this,request:t})}_failed(e,t,n){c.debug("OPTIONS failed"),this._close(),c.debug('emit "failed"'),this.emit("failed",{originator:e,response:t||null,cause:n})}_succeeded(e,t){c.debug("OPTIONS succeeded"),this._close(),c.debug('emit "succeeded"'),this.emit("succeeded",{originator:e,response:t})}}},9070:function(e,t,n){var r=n(3422);let c=n(9656),d=n(2602),a=new r("Parser");t.parseMessage=(n,r)=>{let s,i;var o=n.indexOf("\r\n");if(-1===o)a.warn("parseMessage() | no CRLF found, not a SIP message");else{var e=n.substring(0,o);let t=c.parse(e,"Request_Response");if(-1!==t){t.status_code?((s=new d.IncomingResponse).status_code=t.status_code,s.reason_phrase=t.reason_phrase):((s=new d.IncomingRequest(r)).method=t.method,s.ruri=t.uri),s.data=n;let e=o+2;for(;;){if(-2===(o=((e,t)=>{let n=t,r=0,s=0;if(e.substring(n,n+2).match(/(^\r\n)/))return-2;for(;0===r;){if(-1===(s=e.indexOf("\r\n",n)))return s;!e.substring(s+2,s+4).match(/(^\r\n)/)&&e.charAt(s+2).match(/(^\s+)/)?n=s+2:r=s}return r})(n,e))){i=e+2;break}if(-1===o)return void a.warn("parseMessage() | malformed message");if(!0!==(t=((e,t,n,r)=>{let s,i=t.indexOf(":",n),o=t.substring(n,i).trim(),a=t.substring(i+1,r).trim();switch(o.toLowerCase()){case"via":case"v":e.addHeader("via",a),1===e.getHeaders("via").length?(s=e.parseHeader("Via"))&&(e.via=s,e.via_branch=s.branch):s=0;break;case"from":case"f":e.setHeader("from",a),(s=e.parseHeader("from"))&&(e.from=s,e.from_tag=s.getParam("tag"));break;case"to":case"t":e.setHeader("to",a),(s=e.parseHeader("to"))&&(e.to=s,e.to_tag=s.getParam("tag"));break;case"record-route":if(-1===(s=c.parse(a,"Record_Route")))s=void 0;else for(var l of s)e.addHeader("record-route",a.substring(l.possition,l.offset)),e.headers["Record-Route"][e.getHeaders("record-route").length-1].parsed=l.parsed;break;case"call-id":case"i":e.setHeader("call-id",a),(s=e.parseHeader("call-id"))&&(e.call_id=a);break;case"contact":case"m":if(-1===(s=c.parse(a,"Contact")))s=void 0;else for(var u of s)e.addHeader("contact",a.substring(u.possition,u.offset)),e.headers.Contact[e.getHeaders("contact").length-1].parsed=u.parsed;break;case"content-length":case"l":e.setHeader("content-length",a),s=e.parseHeader("content-length");break;case"content-type":case"c":e.setHeader("content-type",a),s=e.parseHeader("content-type");break;case"cseq":e.setHeader("cseq",a),(s=e.parseHeader("cseq"))&&(e.cseq=s.value),e instanceof d.IncomingResponse&&(e.method=s.method);break;case"max-forwards":e.setHeader("max-forwards",a),s=e.parseHeader("max-forwards");break;case"www-authenticate":e.setHeader("www-authenticate",a),s=e.parseHeader("www-authenticate");break;case"proxy-authenticate":e.setHeader("proxy-authenticate",a),s=e.parseHeader("proxy-authenticate");break;case"session-expires":case"x":e.setHeader("session-expires",a),(s=e.parseHeader("session-expires"))&&(e.session_expires=s.expires,e.session_expires_refresher=s.refresher);break;case"refer-to":case"r":e.setHeader("refer-to",a),(s=e.parseHeader("refer-to"))&&(e.refer_to=s);break;case"replaces":e.setHeader("replaces",a),(s=e.parseHeader("replaces"))&&(e.replaces=s);break;case"event":case"o":e.setHeader("event",a),(s=e.parseHeader("event"))&&(e.event=s);break;default:e.addHeader(o,a),s=0}return void 0!==s||{error:`error parsing header "${o}"`}})(s,n,e,o)))return void a.warn("parseMessage() |",t.error);e=o+2}return s.hasHeader("content-length")?(r=s.getHeader("content-length"),s.body=n.substr(i,r)):s.body=n.substring(i),s}a.warn(`parseMessage() | error parsing first line of SIP message: "${e}"`)}}},7356:function(e,t,n){var r=n(9032).EventEmitter;let s=n(8844);var i=n(3422);let g=n(9896),v=n(8239),a=n(1164),T=n(7196),o=n(2615),f=n(2602),l=n(2517),u=n(5117),c=n(2608),d=n(3211),h=n(1087),p=n(9535),_=n(7019),y=new i("RTCSession"),b={STATUS_NULL:0,STATUS_INVITE_SENT:1,STATUS_1XX_RECEIVED:2,STATUS_INVITE_RECEIVED:3,STATUS_WAITING_FOR_ANSWER:4,STATUS_ANSWERED:5,STATUS_WAITING_FOR_ACK:6,STATUS_CANCELED:7,STATUS_TERMINATED:8,STATUS_CONFIRMED:9},m=["audio","video"];e.exports=class S extends r{static get C(){return b}constructor(e){y.debug("new"),super(),this._id=null,this._ua=e,this._status=b.STATUS_NULL,this._dialog=null,this._earlyDialogs={},this._contact=null,this._from_tag=null,this._to_tag=null,this._connection=null,this._connectionPromiseQueue=Promise.resolve(),this._request=null,this._is_canceled=!1,this._cancel_reason="",this._is_confirmed=!1,this._late_sdp=!1,this._rtcOfferConstraints=null,this._rtcAnswerConstraints=null,this._localMediaStream=null,this._localMediaStreamLocallyGenerated=!1,this._rtcReady=!0,this._iceReady=!1,this._timers={ackTimer:null,expiresTimer:null,invite2xxTimer:null,userNoAnswerTimer:null},this._direction=null,this._local_identity=null,this._remote_identity=null,this._start_time=null,this._end_time=null,this._tones=null,this._audioMuted=!1,this._videoMuted=!1,this._localHold=!1,this._remoteHold=!1,this._sessionTimers={enabled:this._ua.configuration.session_timers,refreshMethod:this._ua.configuration.session_timers_refresh_method,defaultExpires:g.SESSION_EXPIRES,currentExpires:null,running:!1,refresher:!1,timer:null},this._referSubscribers={},this._data={}}get C(){return b}get causes(){return g.causes}get id(){return this._id}get connection(){return this._connection}get contact(){return this._contact}get direction(){return this._direction}get local_identity(){return this._local_identity}get remote_identity(){return this._remote_identity}get start_time(){return this._start_time}get end_time(){return this._end_time}get data(){return this._data}set data(e){this._data=e}get status(){return this._status}isInProgress(){switch(this._status){case b.STATUS_NULL:case b.STATUS_INVITE_SENT:case b.STATUS_1XX_RECEIVED:case b.STATUS_INVITE_RECEIVED:case b.STATUS_WAITING_FOR_ANSWER:return!0;default:return!1}}isEstablished(){switch(this._status){case b.STATUS_ANSWERED:case b.STATUS_WAITING_FOR_ACK:case b.STATUS_CONFIRMED:return!0;default:return!1}}isEnded(){switch(this._status){case b.STATUS_CANCELED:case b.STATUS_TERMINATED:return!0;default:return!1}}isMuted(){return{audio:this._audioMuted,video:this._videoMuted}}isOnHold(){return{local:this._localHold,remote:this._remoteHold}}connect(e,t={},n){y.debug("connect()");var r,s=e,i=T.cloneObject(t.eventHandlers),o=T.cloneArray(t.extraHeaders),a=T.cloneObject(t.mediaConstraints,{audio:!0,video:!0}),l=t.mediaStream||null,u=T.cloneObject(t.pcConfig,{iceServers:[]}),c=t.rtcConstraints||null,d=t.rtcOfferConstraints||null;if(this._rtcOfferConstraints=d,this._rtcAnswerConstraints=t.rtcAnswerConstraints||null,this._data=t.data||this._data,void 0===e)throw new TypeError("Not enough arguments");if(this._status!==b.STATUS_NULL)throw new v.InvalidStateError(this._status);if(!window.RTCPeerConnection)throw new v.NotSupportedError("WebRTC not supported");if(!(e=this._ua.normalizeTarget(e)))throw new TypeError("Invalid target: "+s);for(r in this._sessionTimers.enabled&&T.isDecimal(t.sessionTimersExpires)&&(t.sessionTimersExpires>=g.MIN_SESSION_EXPIRES?this._sessionTimers.defaultExpires=t.sessionTimersExpires:this._sessionTimers.defaultExpires=g.SESSION_EXPIRES),i)Object.prototype.hasOwnProperty.call(i,r)&&this.on(r,i[r]);this._from_tag=T.newTag();var s=t.anonymous||!1,h={from_tag:this._from_tag};this._contact=this._ua.contact.toString({anonymous:s,outbound:!0}),s?(h.from_display_name="Anonymous",h.from_uri=new _("sip","anonymous","anonymous.invalid"),o.push("P-Preferred-Identity: "+this._ua.configuration.uri.toString()),o.push("Privacy: id")):t.fromUserName&&(h.from_uri=new _("sip",t.fromUserName,this._ua.configuration.uri.host),o.push("P-Preferred-Identity: "+this._ua.configuration.uri.toString())),t.fromDisplayName&&(h.from_display_name=t.fromDisplayName),o.push("Contact: "+this._contact),o.push("Content-Type: application/sdp"),this._sessionTimers.enabled&&o.push("Session-Expires: "+this._sessionTimers.defaultExpires+(this._ua.configuration.session_timers_force_refresher?";refresher=uac":"")),this._request=new f.InitialOutgoingInviteRequest(e,this._ua,h,o),this._id=this._request.call_id+this._from_tag,this._createRTCConnection(u,c),this._direction="outgoing",this._local_identity=this._request.from,this._remote_identity=this._request.to,n&&n(this),this._newRTCSession("local",this._request),this._sendInitialRequest(a,d,l)}init_incoming(e,t){y.debug("init_incoming()");let n;var r=e.hasHeader("Content-Type")?e.getHeader("Content-Type").toLowerCase():void 0;e.body&&"application/sdp"!==r?e.reply(415):(this._status=b.STATUS_INVITE_RECEIVED,this._from_tag=e.from_tag,this._id=e.call_id+this._from_tag,this._request=e,this._contact=this._ua.contact.toString(),e.hasHeader("expires")&&(n=1e3*e.getHeader("expires")),e.to_tag=T.newTag(),this._createDialog(e,"UAS",!0)?(e.body?this._late_sdp=!1:this._late_sdp=!0,this._status=b.STATUS_WAITING_FOR_ANSWER,this._timers.userNoAnswerTimer=setTimeout(()=>{e.reply(408),this._failed("local",null,g.causes.NO_ANSWER)},this._ua.configuration.no_answer_timeout),n&&(this._timers.expiresTimer=setTimeout(()=>{this._status===b.STATUS_WAITING_FOR_ANSWER&&(e.reply(487),this._failed("system",null,g.causes.EXPIRES))},n)),this._direction="incoming",this._local_identity=e.to,this._remote_identity=e.from,t&&t(this),this._newRTCSession("remote",e),this._status!==b.STATUS_TERMINATED&&(e.reply(180,null,["Contact: "+this._contact]),this._progress("local",null))):e.reply(500,"Missing Contact header field"))}answer(e={}){y.debug("answer()");let n=this._request,t=T.cloneArray(e.extraHeaders),r=T.cloneObject(e.mediaConstraints),s=e.mediaStream||null;var i=T.cloneObject(e.pcConfig,{iceServers:[]}),o=e.rtcConstraints||null;let a=e.rtcAnswerConstraints||null;var l=T.cloneObject(e.rtcOfferConstraints);let u,c=!1,d=!1,h=!1,f=!1;if(this._rtcAnswerConstraints=a,this._rtcOfferConstraints=e.rtcOfferConstraints||null,this._data=e.data||this._data,"incoming"!==this._direction)throw new v.NotSupportedError('"answer" not supported for outgoing RTCSession');if(this._status!==b.STATUS_WAITING_FOR_ANSWER)throw new v.InvalidStateError(this._status);if(this._sessionTimers.enabled&&T.isDecimal(e.sessionTimersExpires)&&(e.sessionTimersExpires>=g.MIN_SESSION_EXPIRES?this._sessionTimers.defaultExpires=e.sessionTimersExpires:this._sessionTimers.defaultExpires=g.SESSION_EXPIRES),this._status=b.STATUS_ANSWERED,this._createDialog(n,"UAS")){clearTimeout(this._timers.userNoAnswerTimer),t.unshift("Contact: "+this._contact);var p,e=n.parseSDP();Array.isArray(e.media)||(e.media=[e.media]);for(p of e.media)"audio"===p.type&&(c=!0,p.direction&&"sendrecv"!==p.direction||(h=!0)),"video"===p.type&&(d=!0,p.direction&&"sendrecv"!==p.direction||(f=!0));if(s&&!1===r.audio)for(var _ of u=s.getAudioTracks())s.removeTrack(_);if(s&&!1===r.video)for(var m of u=s.getVideoTracks())s.removeTrack(m);s||void 0!==r.audio||(r.audio=h),s||void 0!==r.video||(r.video=f),s||c||l.offerToReceiveAudio||(r.audio=!1),s||d||l.offerToReceiveVideo||(r.video=!1),this._createRTCConnection(i,o),Promise.resolve().then(()=>s||(r.audio||r.video?(this._localMediaStreamLocallyGenerated=!0,navigator.mediaDevices.getUserMedia(r).catch(e=>{if(this._status===b.STATUS_TERMINATED)throw new Error("terminated");throw n.reply(480),this._failed("local",null,g.causes.USER_DENIED_MEDIA_ACCESS),y.warn('emit "getusermediafailed" [error:%o]',e),this.emit("getusermediafailed",e),new Error("getUserMedia() failed")})):void 0)).then(t=>{if(this._status===b.STATUS_TERMINATED)throw new Error("terminated");(this._localMediaStream=t)&&t.getTracks().forEach(e=>{this._connection.addTrack(e,t)})}).then(()=>{if(!this._late_sdp){var t={originator:"remote",type:"offer",sdp:n.body};y.debug('emit "sdp"'),this.emit("sdp",t);let e=new RTCSessionDescription({type:"offer",sdp:t.sdp});return this._connectionPromiseQueue=this._connectionPromiseQueue.then(()=>this._connection.setRemoteDescription(e)).catch(e=>{throw n.reply(488),this._failed("system",null,g.causes.WEBRTC_ERROR),y.warn('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),this.emit("peerconnection:setremotedescriptionfailed",e),new Error("peerconnection.setRemoteDescription() failed")}),this._connectionPromiseQueue}}).then(()=>{if(this._status===b.STATUS_TERMINATED)throw new Error("terminated");return this._connecting(n),(this._late_sdp?this._createLocalDescription("offer",this._rtcOfferConstraints):this._createLocalDescription("answer",a)).catch(()=>{throw n.reply(500),new Error("_createLocalDescription() failed")})}).then(e=>{if(this._status===b.STATUS_TERMINATED)throw new Error("terminated");this._handleSessionTimersInIncomingRequest(n,t),n.reply(200,null,t,e,()=>{this._status=b.STATUS_WAITING_FOR_ACK,this._setInvite2xxTimer(n,e),this._setACKTimer(),this._accepted("local")},()=>{this._failed("system",null,g.causes.CONNECTION_ERROR)})}).catch(e=>{this._status!==b.STATUS_TERMINATED&&y.warn(e)})}else n.reply(500,"Error creating dialog")}terminate(e={}){y.debug("terminate()");var n=e.cause||g.causes.BYE;let r=T.cloneArray(e.extraHeaders),s=e.body,t,i=e.status_code,o=e.reason_phrase;if(this._status===b.STATUS_TERMINATED)throw new v.InvalidStateError(this._status);switch(this._status){case b.STATUS_NULL:case b.STATUS_INVITE_SENT:case b.STATUS_1XX_RECEIVED:if(y.debug("canceling session"),i&&(i<200||700<=i))throw new TypeError("Invalid status_code: "+i);i&&(o=o||g.REASON_PHRASE[i]||"",t=`SIP ;cause=${i} ;text="${o}"`),this._status===b.STATUS_NULL||this._status===b.STATUS_INVITE_SENT?(this._is_canceled=!0,this._cancel_reason=t):this._status===b.STATUS_1XX_RECEIVED&&this._request.cancel(t),this._status=b.STATUS_CANCELED,this._failed("local",null,g.causes.CANCELED);break;case b.STATUS_WAITING_FOR_ANSWER:case b.STATUS_ANSWERED:if(y.debug("rejecting session"),(i=i||480)<300||700<=i)throw new TypeError("Invalid status_code: "+i);this._request.reply(i,o,r,s),this._failed("local",null,g.causes.REJECTED);break;case b.STATUS_WAITING_FOR_ACK:case b.STATUS_CONFIRMED:if(y.debug("terminating session"),o=e.reason_phrase||g.REASON_PHRASE[i]||"",i&&(i<200||700<=i))throw new TypeError("Invalid status_code: "+i);if(i&&r.push(`Reason: SIP ;cause=${i}; text="${o}"`),this._status===b.STATUS_WAITING_FOR_ACK&&"incoming"===this._direction&&this._request.server_transaction.state!==a.C.STATUS_TERMINATED){let t=this._dialog;this.receiveRequest=({method:e})=>{e===g.ACK&&(this.sendRequest(g.BYE,{extraHeaders:r,body:s}),t.terminate())},this._request.server_transaction.on("stateChanged",()=>{this._request.server_transaction.state===a.C.STATUS_TERMINATED&&(this.sendRequest(g.BYE,{extraHeaders:r,body:s}),t.terminate())}),this._ended("local",null,n),this._dialog=t,this._ua.newDialog(t)}else this.sendRequest(g.BYE,{extraHeaders:r,body:s}),this._ended("local",null,n)}}sendDTMF(e,r={}){y.debug("sendDTMF() | tones: %s",e);let s=0,i=r.duration||null,o=r.interToneGap||null;var t=r.transportType||g.DTMF_TRANSPORT.INFO;if(void 0===e)throw new TypeError("Not enough arguments");if(this._status!==b.STATUS_CONFIRMED&&this._status!==b.STATUS_WAITING_FOR_ACK&&this._status!==b.STATUS_1XX_RECEIVED)throw new v.InvalidStateError(this._status);if(t!==g.DTMF_TRANSPORT.INFO&&t!==g.DTMF_TRANSPORT.RFC2833)throw new TypeError("invalid transportType: "+t);if(!(e="number"==typeof e?e.toString():e)||"string"!=typeof e||!e.match(/^[0-9A-DR#*,]+$/i))throw new TypeError("Invalid tones: "+e);if(i&&!T.isDecimal(i))throw new TypeError("Invalid tone duration: "+i);if(i=i?i<c.C.MIN_DURATION?(y.debug(`"duration" value is lower than the minimum allowed, setting it to ${c.C.MIN_DURATION} milliseconds`),c.C.MIN_DURATION):i>c.C.MAX_DURATION?(y.debug(`"duration" value is greater than the maximum allowed, setting it to ${c.C.MAX_DURATION} milliseconds`),c.C.MAX_DURATION):Math.abs(i):c.C.DEFAULT_DURATION,r.duration=i,o&&!T.isDecimal(o))throw new TypeError("Invalid interToneGap: "+o);function a(){let e;var t,n;this._status===b.STATUS_TERMINATED||!this._tones||s>=this._tones.length?this._tones=null:(t=this._tones[s],s+=1,e=","===t?2e3:(n=new c(this),r.eventHandlers={onFailed:()=>{this._tones=null}},n.send(t,r),i+o),setTimeout(a.bind(this),e))}o=o?o<c.C.MIN_INTER_TONE_GAP?(y.debug(`"interToneGap" value is lower than the minimum allowed, setting it to ${c.C.MIN_INTER_TONE_GAP} milliseconds`),c.C.MIN_INTER_TONE_GAP):Math.abs(o):c.C.DEFAULT_INTER_TONE_GAP,t===g.DTMF_TRANSPORT.RFC2833?(t=this._getDTMFRTPSender())&&(e=t.toneBuffer+e,t.insertDTMF(e,i,o)):this._tones?this._tones+=e:(this._tones=e,a.call(this))}sendInfo(e,t,n={}){if(y.debug("sendInfo()"),this._status!==b.STATUS_CONFIRMED&&this._status!==b.STATUS_WAITING_FOR_ACK&&this._status!==b.STATUS_1XX_RECEIVED)throw new v.InvalidStateError(this._status);new d(this).send(e,t,n)}mute(e={audio:!0,video:!1}){y.debug("mute()");let t=!1,n=!1;!1===this._audioMuted&&e.audio&&(t=!0,this._audioMuted=!0,this._toggleMuteAudio(!0)),!1===this._videoMuted&&e.video&&(n=!0,this._videoMuted=!0,this._toggleMuteVideo(!0)),!0!==t&&!0!==n||this._onmute({audio:t,video:n})}unmute(e={audio:!0,video:!0}){y.debug("unmute()");let t=!1,n=!1;!0===this._audioMuted&&e.audio&&(t=!0,(this._audioMuted=!1)===this._localHold)&&this._toggleMuteAudio(!1),!0===this._videoMuted&&e.video&&(n=!0,(this._videoMuted=!1)===this._localHold)&&this._toggleMuteVideo(!1),!0!==t&&!0!==n||this._onunmute({audio:t,video:n})}hold(e={},t){if(y.debug("hold()"),this._status!==b.STATUS_WAITING_FOR_ACK&&this._status!==b.STATUS_CONFIRMED)return!1;if(!0===this._localHold)return!1;if(!this._isReadyToReOffer())return!1;this._localHold=!0,this._onhold("local");var n={succeeded:()=>{t&&t()},failed:()=>{this.terminate({cause:g.causes.WEBRTC_ERROR,status_code:500,reason_phrase:"Hold Failed"})}};return e.useUpdate?this._sendUpdate({sdpOffer:!0,eventHandlers:n,extraHeaders:e.extraHeaders}):this._sendReinvite({eventHandlers:n,extraHeaders:e.extraHeaders}),!0}unhold(e={},t){if(y.debug("unhold()"),this._status!==b.STATUS_WAITING_FOR_ACK&&this._status!==b.STATUS_CONFIRMED)return!1;if(!1===this._localHold)return!1;if(!this._isReadyToReOffer())return!1;this._localHold=!1,this._onunhold("local");var n={succeeded:()=>{t&&t()},failed:()=>{this.terminate({cause:g.causes.WEBRTC_ERROR,status_code:500,reason_phrase:"Unhold Failed"})}};return e.useUpdate?this._sendUpdate({sdpOffer:!0,eventHandlers:n,extraHeaders:e.extraHeaders}):this._sendReinvite({eventHandlers:n,extraHeaders:e.extraHeaders}),!0}renegotiate(e={},t){y.debug("renegotiate()");var n,r=e.rtcOfferConstraints||null;return!(this._status!==b.STATUS_WAITING_FOR_ACK&&this._status!==b.STATUS_CONFIRMED||!this._isReadyToReOffer()||(n={succeeded:()=>{t&&t()},failed:()=>{this.terminate({cause:g.causes.WEBRTC_ERROR,status_code:500,reason_phrase:"Media Renegotiation Failed"})}},this._setLocalMediaStatus(),e.useUpdate?this._sendUpdate({sdpOffer:!0,eventHandlers:n,rtcOfferConstraints:r,extraHeaders:e.extraHeaders}):this._sendReinvite({eventHandlers:n,rtcOfferConstraints:r,extraHeaders:e.extraHeaders}),0))}refer(e,t){y.debug("refer()");var n=e;if(this._status!==b.STATUS_WAITING_FOR_ACK&&this._status!==b.STATUS_CONFIRMED)return!1;if(!(e=this._ua.normalizeTarget(e)))throw new TypeError("Invalid target: "+n);n=new p(this);n.sendRefer(e,t);let r=n.id;return(this._referSubscribers[r]=n).on("requestFailed",()=>{delete this._referSubscribers[r]}),n.on("accepted",()=>{delete this._referSubscribers[r]}),n.on("failed",()=>{delete this._referSubscribers[r]}),n}sendRequest(e,t){return y.debug("sendRequest()"),this._dialog.sendRequest(e,t)}receiveRequest(t){if(y.debug("receiveRequest()"),t.method===g.CANCEL)this._status!==b.STATUS_WAITING_FOR_ANSWER&&this._status!==b.STATUS_ANSWERED||(this._status=b.STATUS_CANCELED,this._request.reply(487),this._failed("remote",t,g.causes.CANCELED));else switch(t.method){case g.ACK:if(this._status===b.STATUS_WAITING_FOR_ACK)if(this._status=b.STATUS_CONFIRMED,clearTimeout(this._timers.ackTimer),clearTimeout(this._timers.invite2xxTimer),this._late_sdp){if(!t.body){this.terminate({cause:g.causes.MISSING_SDP,status_code:400});break}var n={originator:"remote",type:"answer",sdp:t.body};y.debug('emit "sdp"'),this.emit("sdp",n);let e=new RTCSessionDescription({type:"answer",sdp:n.sdp});this._connectionPromiseQueue=this._connectionPromiseQueue.then(()=>this._connection.setRemoteDescription(e)).then(()=>{this._is_confirmed||this._confirmed("remote",t)}).catch(e=>{this.terminate({cause:g.causes.BAD_MEDIA_DESCRIPTION,status_code:488}),y.warn('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),this.emit("peerconnection:setremotedescriptionfailed",e)})}else this._is_confirmed||this._confirmed("remote",t);break;case g.BYE:this._status===b.STATUS_CONFIRMED||this._status===b.STATUS_WAITING_FOR_ACK?(t.reply(200),this._ended("remote",t,g.causes.BYE)):this._status===b.STATUS_INVITE_RECEIVED||this._status===b.STATUS_WAITING_FOR_ANSWER?(t.reply(200),this._request.reply(487,"BYE Received"),this._ended("remote",t,g.causes.BYE)):t.reply(403,"Wrong Status");break;case g.INVITE:this._status===b.STATUS_CONFIRMED?t.hasHeader("replaces")?this._receiveReplaces(t):this._receiveReinvite(t):t.reply(403,"Wrong Status");break;case g.INFO:this._status===b.STATUS_1XX_RECEIVED||this._status===b.STATUS_WAITING_FOR_ANSWER||this._status===b.STATUS_ANSWERED||this._status===b.STATUS_WAITING_FOR_ACK||this._status===b.STATUS_CONFIRMED?(n=t.hasHeader("Content-Type")?t.getHeader("Content-Type").toLowerCase():void 0)&&n.match(/^application\/dtmf-relay/i)?new c(this).init_incoming(t):void 0!==n?new d(this).init_incoming(t):t.reply(415):t.reply(403,"Wrong Status");break;case g.UPDATE:this._status===b.STATUS_CONFIRMED?this._receiveUpdate(t):t.reply(403,"Wrong Status");break;case g.REFER:this._status===b.STATUS_CONFIRMED?this._receiveRefer(t):t.reply(403,"Wrong Status");break;case g.NOTIFY:this._status===b.STATUS_CONFIRMED?this._receiveNotify(t):t.reply(403,"Wrong Status");break;default:t.reply(501)}}onTransportError(){y.warn("onTransportError()"),this._status!==b.STATUS_TERMINATED&&this.terminate({status_code:500,reason_phrase:g.causes.CONNECTION_ERROR,cause:g.causes.CONNECTION_ERROR})}onRequestTimeout(){y.warn("onRequestTimeout()"),this._status!==b.STATUS_TERMINATED&&this.terminate({status_code:408,reason_phrase:g.causes.REQUEST_TIMEOUT,cause:g.causes.REQUEST_TIMEOUT})}onDialogError(){y.warn("onDialogError()"),this._status!==b.STATUS_TERMINATED&&this.terminate({status_code:500,reason_phrase:g.causes.DIALOG_ERROR,cause:g.causes.DIALOG_ERROR})}newDTMF(e){y.debug("newDTMF()"),this.emit("newDTMF",e)}newInfo(e){y.debug("newInfo()"),this.emit("newInfo",e)}_isReadyToReOffer(){return this._rtcReady?this._dialog?!0!==this._dialog.uac_pending_reply&&!0!==this._dialog.uas_pending_reply||(y.debug("_isReadyToReOffer() | there is another INVITE/UPDATE transaction in progress"),!1):(y.debug("_isReadyToReOffer() | session not established yet"),!1):(y.debug("_isReadyToReOffer() | internal WebRTC status not ready"),!1)}_close(){if(y.debug("close()"),this._localMediaStream&&this._localMediaStreamLocallyGenerated&&(y.debug("close() | closing local MediaStream"),T.closeMediaStream(this._localMediaStream)),this._status!==b.STATUS_TERMINATED){if(this._status=b.STATUS_TERMINATED,this._connection)try{this._connection.close()}catch(e){y.warn("close() | error closing the RTCPeerConnection: %o",e)}for(var e in this._timers)Object.prototype.hasOwnProperty.call(this._timers,e)&&clearTimeout(this._timers[e]);for(var t in clearTimeout(this._sessionTimers.timer),this._dialog&&(this._dialog.terminate(),delete this._dialog),this._earlyDialogs)Object.prototype.hasOwnProperty.call(this._earlyDialogs,t)&&(this._earlyDialogs[t].terminate(),delete this._earlyDialogs[t]);for(var n in this._referSubscribers)Object.prototype.hasOwnProperty.call(this._referSubscribers,n)&&delete this._referSubscribers[n];this._ua.destroyRTCSession(this)}}_setInvite2xxTimer(e,t){let n=o.T1;function r(){this._status===b.STATUS_WAITING_FOR_ACK&&(e.reply(200,null,["Contact: "+this._contact],t),n<o.T2&&(n*=2)>o.T2&&(n=o.T2),this._timers.invite2xxTimer=setTimeout(r.bind(this),n))}this._timers.invite2xxTimer=setTimeout(r.bind(this),n)}_setACKTimer(){this._timers.ackTimer=setTimeout(()=>{this._status===b.STATUS_WAITING_FOR_ACK&&(y.debug("no ACK received, terminating the session"),clearTimeout(this._timers.invite2xxTimer),this.sendRequest(g.BYE),this._ended("remote",null,g.causes.NO_ACK))},o.TIMER_H)}_createRTCConnection(e,t){this._connection=new RTCPeerConnection(e,t),this._connection.addEventListener("iceconnectionstatechange",()=>{"failed"===this._connection.iceConnectionState&&this.terminate({cause:g.causes.RTP_TIMEOUT,status_code:408,reason_phrase:g.causes.RTP_TIMEOUT})}),y.debug('emit "peerconnection"'),this.emit("peerconnection",{peerconnection:this._connection})}_createLocalDescription(o,t){if(y.debug("createLocalDescription()"),"offer"!==o&&"answer"!==o)throw new Error(`createLocalDescription() | invalid type "${o}"`);let a=this._connection;return this._rtcReady=!1,Promise.resolve().then(()=>"offer"===o?a.createOffer(t).catch(e=>(y.warn('emit "peerconnection:createofferfailed" [error:%o]',e),this.emit("peerconnection:createofferfailed",e),Promise.reject(e))):a.createAnswer(t).catch(e=>(y.warn('emit "peerconnection:createanswerfailed" [error:%o]',e),this.emit("peerconnection:createanswerfailed",e),Promise.reject(e)))).then(e=>a.setLocalDescription(e).catch(e=>(this._rtcReady=!0,y.warn('emit "peerconnection:setlocaldescriptionfailed" [error:%o]',e),this.emit("peerconnection:setlocaldescriptionfailed",e),Promise.reject(e)))).then(()=>{var e=t&&t.iceRestart;return"complete"===a.iceGatheringState&&!e||"gathering"===a.iceGatheringState&&this._iceReady?(this._rtcReady=!0,e={originator:"local",type:o,sdp:a.localDescription.sdp},y.debug('emit "sdp"'),this.emit("sdp",e),Promise.resolve(e.sdp)):new Promise(t=>{let n=!1,r,s,i=(this._iceReady=!1,()=>{var e;n||(a.removeEventListener("icecandidate",r),a.removeEventListener("icegatheringstatechange",s),n=!0,this._rtcReady=!0,this._iceReady=!0,e={originator:"local",type:o,sdp:a.localDescription.sdp},y.debug('emit "sdp"'),this.emit("sdp",e),t(e.sdp))});a.addEventListener("icecandidate",r=e=>{e=e.candidate;e?this.emit("icecandidate",{candidate:e,ready:i}):i()}),a.addEventListener("icegatheringstatechange",s=()=>{"complete"===a.iceGatheringState&&i()})})})}_createDialog(e,t,n){var r="UAS"===t?e.to_tag:e.from_tag,s="UAS"===t?e.from_tag:e.to_tag,r=e.call_id+r+s;let i=this._earlyDialogs[r];return n?!!i||((i=new l(this,e,t,l.C.STATUS_EARLY)).error?(y.debug(i.error),this._failed("remote",e,g.causes.INTERNAL_ERROR),!1):(this._earlyDialogs[r]=i,!0)):(this._from_tag=e.from_tag,this._to_tag=e.to_tag,i?(i.update(e,t),this._dialog=i,delete this._earlyDialogs[r],!0):(s=new l(this,e,t)).error?(y.debug(s.error),this._failed("remote",e,g.causes.INTERNAL_ERROR),!1):(this._dialog=s,!0))}_receiveReinvite(r){y.debug("receiveReinvite()");var e=r.hasHeader("Content-Type")?r.getHeader("Content-Type").toLowerCase():void 0;let n={request:r,callback:void 0,reject:function(e={}){s=!0;var t=e.status_code||403,n=e.reason_phrase||"",e=T.cloneArray(e.extraHeaders);if(this._status!==b.STATUS_CONFIRMED)return!1;if(t<300||700<=t)throw new TypeError("Invalid status_code: "+t);r.reply(t,n,e)}.bind(this)},s=!1;function t(e){var t=["Contact: "+this._contact];this._handleSessionTimersInIncomingRequest(r,t),this._late_sdp&&(e=this._mangleOffer(e)),r.reply(200,null,t,e,()=>{this._status=b.STATUS_WAITING_FOR_ACK,this._setInvite2xxTimer(r,e),this._setACKTimer()}),"function"==typeof n.callback&&n.callback()}this.emit("reinvite",n),s||(this._late_sdp=!1,r.body?"application/sdp"!==e?(y.debug("invalid Content-Type"),r.reply(415)):this._processInDialogSdpOffer(r).then(e=>{this._status!==b.STATUS_TERMINATED&&t.call(this,e)}).catch(e=>{y.warn(e)}):(this._late_sdp=!0,this._remoteHold&&(this._remoteHold=!1,this._onunhold("remote")),this._connectionPromiseQueue=this._connectionPromiseQueue.then(()=>this._createLocalDescription("offer",this._rtcOfferConstraints)).then(e=>{t.call(this,e)}).catch(()=>{r.reply(500)})))}_receiveUpdate(r){y.debug("receiveUpdate()");var e=r.hasHeader("Content-Type")?r.getHeader("Content-Type").toLowerCase():void 0;let n={request:r,callback:void 0,reject:function(e={}){s=!0;var t=e.status_code||403,n=e.reason_phrase||"",e=T.cloneArray(e.extraHeaders);if(this._status!==b.STATUS_CONFIRMED)return!1;if(t<300||700<=t)throw new TypeError("Invalid status_code: "+t);r.reply(t,n,e)}.bind(this)},s=!1;function t(e){var t=["Contact: "+this._contact];this._handleSessionTimersInIncomingRequest(r,t),r.reply(200,null,t,e),"function"==typeof n.callback&&n.callback()}this.emit("update",n),s||(r.body?"application/sdp"!==e?(y.debug("invalid Content-Type"),r.reply(415)):this._processInDialogSdpOffer(r).then(e=>{this._status!==b.STATUS_TERMINATED&&t.call(this,e)}).catch(e=>{y.warn(e)}):t.call(this,null))}_processInDialogSdpOffer(t){y.debug("_processInDialogSdpOffer()");var e,n=t.parseSDP();let r=!1;for(e of n.media)if(-1!==m.indexOf(e.type)){var s=e.direction||n.direction||"sendrecv";if("sendonly"!==s&&"inactive"!==s){r=!1;break}r=!0}var i={originator:"remote",type:"offer",sdp:t.body};y.debug('emit "sdp"'),this.emit("sdp",i);let o=new RTCSessionDescription({type:"offer",sdp:i.sdp});return this._connectionPromiseQueue=this._connectionPromiseQueue.then(()=>{if(this._status===b.STATUS_TERMINATED)throw new Error("terminated");return this._connection.setRemoteDescription(o).catch(e=>{throw t.reply(488),y.warn('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),this.emit("peerconnection:setremotedescriptionfailed",e),e})}).then(()=>{if(this._status===b.STATUS_TERMINATED)throw new Error("terminated");!0===this._remoteHold&&!1===r?(this._remoteHold=!1,this._onunhold("remote")):!1===this._remoteHold&&!0===r&&(this._remoteHold=!0,this._onhold("remote"))}).then(()=>{if(this._status===b.STATUS_TERMINATED)throw new Error("terminated");return this._createLocalDescription("answer",this._rtcAnswerConstraints).catch(e=>{throw t.reply(500),y.warn('emit "peerconnection:createtelocaldescriptionfailed" [error:%o]',e),e})}).catch(e=>{y.warn("_processInDialogSdpOffer() failed [error: %o]",e)}),this._connectionPromiseQueue}_receiveRefer(i){if(y.debug("receiveRefer()"),i.refer_to)if(i.refer_to.uri.scheme!==g.SIP)y.debug("Refer-To header field points to a non-SIP URI scheme"),i.reply(416);else{i.reply(202);let s=new h(this,i.cseq);y.debug('emit "refer"'),this.emit("refer",{request:i,accept:(e,t)=>{!function(e,t={}){if(e="function"==typeof e?e:null,this._status!==b.STATUS_WAITING_FOR_ACK&&this._status!==b.STATUS_CONFIRMED)return!1;var n=new S(this._ua);{var r;n.on("progress",({response:e})=>{s.notify(e.status_code,e.reason_phrase)}),n.on("accepted",({response:e})=>{s.notify(e.status_code,e.reason_phrase)}),n.on("_failed",({message:e,cause:t})=>{e?s.notify(e.status_code,e.reason_phrase):s.notify(487,t)}),i.refer_to.uri.hasHeader("replaces")&&(r=decodeURIComponent(i.refer_to.uri.getHeader("replaces")),t.extraHeaders=T.cloneArray(t.extraHeaders),t.extraHeaders.push("Replaces: "+r))}n.connect(i.refer_to.uri.toAor(),t,e)}.call(this,e,t)},reject:()=>{!function(){s.notify(603)}.call(this)}})}else y.debug("no Refer-To header field present in REFER"),i.reply(400)}_receiveNotify(t){switch(y.debug("receiveNotify()"),t.event||t.reply(400),t.event.event){case"refer":{var n;let e;if(t.event.params&&t.event.params.id)n=t.event.params.id,e=this._referSubscribers[n];else{if(1!==Object.keys(this._referSubscribers).length)return void t.reply(400,"Missing event id parameter");e=this._referSubscribers[Object.keys(this._referSubscribers)[0]]}if(!e)return void t.reply(481,"Subscription does not exist");e.receiveNotify(t),t.reply(200);break}default:t.reply(489)}}_receiveReplaces(n){y.debug("receiveReplaces()"),this.emit("replaces",{request:n,accept:e=>{!function(e){if(this._status!==b.STATUS_WAITING_FOR_ACK&&this._status!==b.STATUS_CONFIRMED)return!1;var t=new S(this._ua);t.on("confirmed",()=>{this.terminate()}),t.init_incoming(n,e)}.call(this,e)},reject:()=>{!function(){y.debug("Replaced INVITE rejected by the user"),n.reply(486)}.call(this)}})}_sendInitialRequest(e,n,t){let r=new u(this._ua,this._request,{onRequestTimeout:()=>{this.onRequestTimeout()},onTransportError:()=>{this.onTransportError()},onAuthenticated:e=>{this._request=e},onReceiveResponse:e=>{this._receiveInviteResponse(e)}});Promise.resolve().then(()=>t||(e.audio||e.video?(this._localMediaStreamLocallyGenerated=!0,navigator.mediaDevices.getUserMedia(e).catch(e=>{if(this._status===b.STATUS_TERMINATED)throw new Error("terminated");throw this._failed("local",null,g.causes.USER_DENIED_MEDIA_ACCESS),y.warn('emit "getusermediafailed" [error:%o]',e),this.emit("getusermediafailed",e),e})):void 0)).then(t=>{if(this._status===b.STATUS_TERMINATED)throw new Error("terminated");return(this._localMediaStream=t)&&t.getTracks().forEach(e=>{this._connection.addTrack(e,t)}),this._connecting(this._request),this._createLocalDescription("offer",n).catch(e=>{throw this._failed("local",null,g.causes.WEBRTC_ERROR),e})}).then(e=>{if(this._is_canceled||this._status===b.STATUS_TERMINATED)throw new Error("terminated");this._request.body=e,this._status=b.STATUS_INVITE_SENT,y.debug('emit "sending" [request:%o]',this._request),this.emit("sending",{request:this._request}),r.send()}).catch(e=>{this._status!==b.STATUS_TERMINATED&&y.warn(e)})}_getDTMFRTPSender(){var e=this._connection.getSenders().find(e=>e.track&&"audio"===e.track.kind);if(e&&e.dtmf)return e.dtmf;y.warn("sendDTMF() | no local audio track to send DTMF with")}_receiveInviteResponse(t){var e;if(y.debug("receiveInviteResponse()"),this._dialog&&200<=t.status_code&&t.status_code<=299)return this._dialog.id.call_id===t.call_id&&this._dialog.id.local_tag===t.from_tag&&this._dialog.id.remote_tag===t.to_tag?void this.sendRequest(g.ACK):void 0!==(e=new l(this,t,"UAC")).error?void y.debug(e.error):(this.sendRequest(g.ACK),void this.sendRequest(g.BYE));if(this._is_canceled)100<=t.status_code&&t.status_code<200?this._request.cancel(this._cancel_reason):200<=t.status_code&&t.status_code<299&&this._acceptAndTerminate(t);else if(this._status===b.STATUS_INVITE_SENT||this._status===b.STATUS_1XX_RECEIVED)switch(!0){case/^100$/.test(t.status_code):this._status=b.STATUS_1XX_RECEIVED;break;case/^1[0-9]{2}$/.test(t.status_code):{if(!t.to_tag){y.debug("1xx response received without to tag");break}if(t.hasHeader("contact")&&!this._createDialog(t,"UAC",!0))break;if(this._status=b.STATUS_1XX_RECEIVED,!t.body){this._progress("remote",t);break}var n={originator:"remote",type:"answer",sdp:t.body};y.debug('emit "sdp"'),this.emit("sdp",n);let e=new RTCSessionDescription({type:"answer",sdp:n.sdp});this._connectionPromiseQueue=this._connectionPromiseQueue.then(()=>this._connection.setRemoteDescription(e)).then(()=>this._progress("remote",t)).catch(e=>{y.warn('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),this.emit("peerconnection:setremotedescriptionfailed",e)});break}case/^2[0-9]{2}$/.test(t.status_code):{if(this._status=b.STATUS_CONFIRMED,!t.body){this._acceptAndTerminate(t,400,g.causes.MISSING_SDP),this._failed("remote",t,g.causes.BAD_MEDIA_DESCRIPTION);break}if(!this._createDialog(t,"UAC"))break;n={originator:"remote",type:"answer",sdp:t.body};y.debug('emit "sdp"'),this.emit("sdp",n);let e=new RTCSessionDescription({type:"answer",sdp:n.sdp});this._connectionPromiseQueue=this._connectionPromiseQueue.then(()=>{if("stable"===this._connection.signalingState)return this._connection.createOffer(this._rtcOfferConstraints).then(e=>this._connection.setLocalDescription(e)).catch(e=>{this._acceptAndTerminate(t,500,e.toString()),this._failed("local",t,g.causes.WEBRTC_ERROR)})}).then(()=>{this._connection.setRemoteDescription(e).then(()=>{this._handleSessionTimersInIncomingResponse(t),this._accepted("remote",t),this.sendRequest(g.ACK),this._confirmed("local",null)}).catch(e=>{this._acceptAndTerminate(t,488,"Not Acceptable Here"),this._failed("remote",t,g.causes.BAD_MEDIA_DESCRIPTION),y.warn('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),this.emit("peerconnection:setremotedescriptionfailed",e)})});break}default:n=T.sipErrorCause(t.status_code);this._failed("remote",t,n)}}_sendReinvite(e={}){y.debug("sendReinvite()");let n=T.cloneArray(e.extraHeaders),r=T.cloneObject(e.eventHandlers),t=e.rtcOfferConstraints||this._rtcOfferConstraints||null,s=!1;function i(e){r.failed&&r.failed(e)}n.push("Contact: "+this._contact),n.push("Content-Type: application/sdp"),this._sessionTimers.running&&n.push(`Session-Expires: ${this._sessionTimers.currentExpires};refresher=`+(this._sessionTimers.refresher?"uac":"uas")),this._connectionPromiseQueue=this._connectionPromiseQueue.then(()=>this._createLocalDescription("offer",t)).then(e=>{var t={originator:"local",type:"offer",sdp:e=this._mangleOffer(e)};y.debug('emit "sdp"'),this.emit("sdp",t),this.sendRequest(g.INVITE,{extraHeaders:n,body:e,eventHandlers:{onSuccessResponse:e=>{!function(t){if(this._status!==b.STATUS_TERMINATED&&(this.sendRequest(g.ACK),!s))if(this._handleSessionTimersInIncomingResponse(t),t.body)if(t.hasHeader("Content-Type")&&"application/sdp"===t.getHeader("Content-Type").toLowerCase()){var n={originator:"remote",type:"answer",sdp:t.body};y.debug('emit "sdp"'),this.emit("sdp",n);let e=new RTCSessionDescription({type:"answer",sdp:n.sdp});this._connectionPromiseQueue=this._connectionPromiseQueue.then(()=>this._connection.setRemoteDescription(e)).then(()=>{r.succeeded&&r.succeeded(t)}).catch(e=>{i.call(this),y.warn('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),this.emit("peerconnection:setremotedescriptionfailed",e)})}else i.call(this);else i.call(this)}.call(this,e),s=!0},onErrorResponse:e=>{i.call(this,e)},onTransportError:()=>{this.onTransportError()},onRequestTimeout:()=>{this.onRequestTimeout()},onDialogError:()=>{this.onDialogError()}}})}).catch(()=>{i()})}_sendUpdate(e={}){y.debug("sendUpdate()");let n=T.cloneArray(e.extraHeaders),r=T.cloneObject(e.eventHandlers),t=e.rtcOfferConstraints||this._rtcOfferConstraints||null,s=e.sdpOffer||!1,i=!1;function o(t){if(this._status!==b.STATUS_TERMINATED&&!i)if(this._handleSessionTimersInIncomingResponse(t),s)if(t.body)if(t.hasHeader("Content-Type")&&"application/sdp"===t.getHeader("Content-Type").toLowerCase()){var n={originator:"remote",type:"answer",sdp:t.body};y.debug('emit "sdp"'),this.emit("sdp",n);let e=new RTCSessionDescription({type:"answer",sdp:n.sdp});this._connectionPromiseQueue=this._connectionPromiseQueue.then(()=>this._connection.setRemoteDescription(e)).then(()=>{r.succeeded&&r.succeeded(t)}).catch(e=>{a.call(this),y.warn('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),this.emit("peerconnection:setremotedescriptionfailed",e)})}else a.call(this);else a.call(this);else r.succeeded&&r.succeeded(t)}function a(e){r.failed&&r.failed(e)}n.push("Contact: "+this._contact),this._sessionTimers.running&&n.push(`Session-Expires: ${this._sessionTimers.currentExpires};refresher=`+(this._sessionTimers.refresher?"uac":"uas")),s?(n.push("Content-Type: application/sdp"),this._connectionPromiseQueue=this._connectionPromiseQueue.then(()=>this._createLocalDescription("offer",t)).then(e=>{var t={originator:"local",type:"offer",sdp:e=this._mangleOffer(e)};y.debug('emit "sdp"'),this.emit("sdp",t),this.sendRequest(g.UPDATE,{extraHeaders:n,body:e,eventHandlers:{onSuccessResponse:e=>{o.call(this,e),i=!0},onErrorResponse:e=>{a.call(this,e)},onTransportError:()=>{this.onTransportError()},onRequestTimeout:()=>{this.onRequestTimeout()},onDialogError:()=>{this.onDialogError()}}})}).catch(()=>{a.call(this)})):this.sendRequest(g.UPDATE,{extraHeaders:n,eventHandlers:{onSuccessResponse:e=>{o.call(this,e)},onErrorResponse:e=>{a.call(this,e)},onTransportError:()=>{this.onTransportError()},onRequestTimeout:()=>{this.onRequestTimeout()},onDialogError:()=>{this.onDialogError()}}})}_acceptAndTerminate(e,t,n){y.debug("acceptAndTerminate()");var r=[];t&&(n=n||g.REASON_PHRASE[t]||"",r.push(`Reason: SIP ;cause=${t}; text="${n}"`)),(this._dialog||this._createDialog(e,"UAC"))&&(this.sendRequest(g.ACK),this.sendRequest(g.BYE,{extraHeaders:r})),this._status=b.STATUS_TERMINATED}_mangleOffer(e){if(!this._localHold&&!this._remoteHold)return e;if(e=s.parse(e),this._localHold&&!this._remoteHold){y.debug("mangleOffer() | me on hold, mangling offer");for(var t of e.media)-1!==m.indexOf(t.type)&&(!t.direction||"sendrecv"===t.direction?t.direction="sendonly":"recvonly"===t.direction&&(t.direction="inactive"))}else if(this._localHold&&this._remoteHold){y.debug("mangleOffer() | both on hold, mangling offer");for(var n of e.media)-1!==m.indexOf(n.type)&&(n.direction="inactive")}else if(this._remoteHold){y.debug("mangleOffer() | remote on hold, mangling offer");for(var r of e.media)-1!==m.indexOf(r.type)&&(!r.direction||"sendrecv"===r.direction?r.direction="recvonly":"recvonly"===r.direction&&(r.direction="inactive"))}return s.write(e)}_setLocalMediaStatus(){let e=!0,t=!0;(this._localHold||this._remoteHold)&&(e=!1,t=!1),this._audioMuted&&(e=!1),this._videoMuted&&(t=!1),this._toggleMuteAudio(!e),this._toggleMuteVideo(!t)}_handleSessionTimersInIncomingRequest(t,n){if(this._sessionTimers.enabled){let e;e=t.session_expires&&t.session_expires>=g.MIN_SESSION_EXPIRES?(this._sessionTimers.currentExpires=t.session_expires,t.session_expires_refresher||"uas"):(this._sessionTimers.currentExpires=this._sessionTimers.defaultExpires,"uas"),n.push(`Session-Expires: ${this._sessionTimers.currentExpires};refresher=`+e),this._sessionTimers.refresher="uas"===e,this._runSessionTimer()}}_handleSessionTimersInIncomingResponse(t){if(this._sessionTimers.enabled){let e;e=t.session_expires&&t.session_expires>=g.MIN_SESSION_EXPIRES?(this._sessionTimers.currentExpires=t.session_expires,t.session_expires_refresher||"uac"):(this._sessionTimers.currentExpires=this._sessionTimers.defaultExpires,"uac"),this._sessionTimers.refresher="uac"===e,this._runSessionTimer()}}_runSessionTimer(){var e=this._sessionTimers.currentExpires;this._sessionTimers.running=!0,clearTimeout(this._sessionTimers.timer),this._sessionTimers.refresher?this._sessionTimers.timer=setTimeout(()=>{this._status!==b.STATUS_TERMINATED&&this._isReadyToReOffer()&&(y.debug("runSessionTimer() | sending session refresh request"),this._sessionTimers.refreshMethod===g.UPDATE?this._sendUpdate():this._sendReinvite())},500*e):this._sessionTimers.timer=setTimeout(()=>{this._status!==b.STATUS_TERMINATED&&(y.warn("runSessionTimer() | timer expired, terminating the session"),this.terminate({cause:g.causes.REQUEST_TIMEOUT,status_code:408,reason_phrase:"Session Timer Expired"}))},1100*e)}_toggleMuteAudio(e){var t;for(t of this._connection.getSenders().filter(e=>e.track&&"audio"===e.track.kind))t.track.enabled=!e}_toggleMuteVideo(e){var t;for(t of this._connection.getSenders().filter(e=>e.track&&"video"===e.track.kind))t.track.enabled=!e}_newRTCSession(e,t){y.debug("newRTCSession()"),this._ua.newRTCSession(this,{originator:e,session:this,request:t})}_connecting(e){y.debug("session connecting"),y.debug('emit "connecting"'),this.emit("connecting",{request:e})}_progress(e,t){y.debug("session progress"),y.debug('emit "progress"'),this.emit("progress",{originator:e,response:t||null})}_accepted(e,t){y.debug("session accepted"),this._start_time=new Date,y.debug('emit "accepted"'),this.emit("accepted",{originator:e,response:t||null})}_confirmed(e,t){y.debug("session confirmed"),this._is_confirmed=!0,y.debug('emit "confirmed"'),this.emit("confirmed",{originator:e,ack:t||null})}_ended(e,t,n){y.debug("session ended"),this._end_time=new Date,this._close(),y.debug('emit "ended"'),this.emit("ended",{originator:e,message:t||null,cause:n})}_failed(e,t,n){y.debug("session failed"),y.debug('emit "_failed"'),this.emit("_failed",{originator:e,message:t||null,cause:n}),this._close(),y.debug('emit "failed"'),this.emit("failed",{originator:e,message:t||null,cause:n})}_onhold(e){y.debug("session onhold"),this._setLocalMediaStatus(),y.debug('emit "hold"'),this.emit("hold",{originator:e})}_onunhold(e){y.debug("session onunhold"),this._setLocalMediaStatus(),y.debug('emit "unhold"'),this.emit("unhold",{originator:e})}_onmute({audio:e,video:t}){y.debug("session onmute"),this._setLocalMediaStatus(),y.debug('emit "muted"'),this.emit("muted",{audio:e,video:t})}_onunmute({audio:e,video:t}){y.debug("session onunmute"),this._setLocalMediaStatus(),y.debug('emit "unmuted"'),this.emit("unmuted",{audio:e,video:t})}}},2608:function(e,t,n){var r=n(9032).EventEmitter,s=n(5409);let i=n(9896),o=n(8239),a=n(7196),l=new s("RTCSession:DTMF"),u={MIN_DURATION:70,MAX_DURATION:6e3,DEFAULT_DURATION:100,MIN_INTER_TONE_GAP:50,DEFAULT_INTER_TONE_GAP:500};e.exports=class extends r{constructor(e){super(),this._session=e,this._direction=null,this._tone=null,this._duration=null,this._request=null}get tone(){return this._tone}get duration(){return this._duration}send(e,t={}){if(void 0===e)throw new TypeError("Not enough arguments");if(this._direction="outgoing",this._session.status!==this._session.C.STATUS_CONFIRMED&&this._session.status!==this._session.C.STATUS_WAITING_FOR_ACK)throw new o.InvalidStateError(this._session.status);var n=a.cloneArray(t.extraHeaders);if(this.eventHandlers=a.cloneObject(t.eventHandlers),"string"==typeof e)e=e.toUpperCase();else{if("number"!=typeof e)throw new TypeError("Invalid tone: "+e);e=e.toString()}if(!e.match(/^[0-9A-DR#*]$/))throw new TypeError("Invalid tone: "+e);this._tone=e,this._duration=t.duration,n.push("Content-Type: application/dtmf-relay");e=`Signal=${this._tone}\r
3
+ `;e+="Duration="+this._duration,this._session.newDTMF({originator:"local",dtmf:this,request:this._request}),this._session.sendRequest(i.INFO,{extraHeaders:n,eventHandlers:{onSuccessResponse:e=>{this.emit("succeeded",{originator:"remote",response:e})},onErrorResponse:e=>{this.eventHandlers.onFailed&&this.eventHandlers.onFailed(),this.emit("failed",{originator:"remote",response:e})},onRequestTimeout:()=>{this._session.onRequestTimeout()},onTransportError:()=>{this._session.onTransportError()},onDialogError:()=>{this._session.onDialogError()}},body:e})}init_incoming(e){var t,n=/^(Signal\s*?=\s*?)([0-9A-D#*]{1})(\s)?.*/,r=/^(Duration\s?=\s?)([0-9]{1,4})(\s)?.*/;this._direction="incoming",(this._request=e).reply(200),e.body&&(1<=(t=e.body.split("\n")).length&&n.test(t[0])&&(this._tone=t[0].replace(n,"$2")),2<=t.length)&&r.test(t[1])&&(this._duration=parseInt(t[1].replace(r,"$2"),10)),this._duration||(this._duration=u.DEFAULT_DURATION),this._tone?this._session.newDTMF({originator:"remote",dtmf:this,request:e}):l.debug("invalid INFO DTMF received, discarded")}},e.exports.C=u},3211:function(e,t,n){var r=n(9032).EventEmitter;let s=n(9896),i=n(8239),o=n(7196);e.exports=class extends r{constructor(e){super(),this._session=e,this._direction=null,this._contentType=null,this._body=null}get contentType(){return this._contentType}get body(){return this._body}send(e,t,n={}){if(this._direction="outgoing",void 0===e)throw new TypeError("Not enough arguments");if(this._session.status!==this._session.C.STATUS_CONFIRMED&&this._session.status!==this._session.C.STATUS_WAITING_FOR_ACK)throw new i.InvalidStateError(this._session.status);this._contentType=e,this._body=t;n=o.cloneArray(n.extraHeaders);n.push("Content-Type: "+e),this._session.newInfo({originator:"local",info:this,request:this.request}),this._session.sendRequest(s.INFO,{extraHeaders:n,eventHandlers:{onSuccessResponse:e=>{this.emit("succeeded",{originator:"remote",response:e})},onErrorResponse:e=>{this.emit("failed",{originator:"remote",response:e})},onTransportError:()=>{this._session.onTransportError()},onRequestTimeout:()=>{this._session.onRequestTimeout()},onDialogError:()=>{this._session.onDialogError()}},body:t})}init_incoming(e){this._direction="incoming",(this.request=e).reply(200),this._contentType=e.hasHeader("Content-Type")?e.getHeader("Content-Type").toLowerCase():void 0,this._body=e.body,this._session.newInfo({originator:"remote",info:this,request:e})}}},1087:function(e,t,n){var r=n(5409);let s=n(9896),i=new r("RTCSession:ReferNotifier"),o={event_type:"refer",body_type:"message/sipfrag;version=2.0",expires:300};e.exports=class{constructor(e,t,n){this._session=e,this._id=t,this._expires=n||o.expires,this._active=!0,this.notify(100)}notify(t,n){if(i.debug("notify()"),!1!==this._active){n=n||s.REASON_PHRASE[t]||"";let e;e=200<=t?"terminated;reason=noresource":"active;expires="+this._expires,this._session.sendRequest(s.NOTIFY,{extraHeaders:[`Event: ${o.event_type};id=`+this._id,"Subscription-State: "+e,"Content-Type: "+o.body_type],body:`SIP/2.0 ${t} `+n,eventHandlers:{onErrorResponse(){this._active=!1}}})}}}},9535:function(e,t,n){var r=n(9032).EventEmitter,s=n(5409);let o=n(9896),i=n(9656),a=n(7196),l=new s("RTCSession:ReferSubscriber");e.exports=class extends r{constructor(e){super(),this._id=null,this._session=e}get id(){return this._id}sendRefer(e,t={}){l.debug("sendRefer()");var n,r=a.cloneArray(t.extraHeaders),s=a.cloneObject(t.eventHandlers);for(n in s)Object.prototype.hasOwnProperty.call(s,n)&&this.on(n,s[n]);let i=null;t.replaces&&(i=t.replaces._request.call_id,i=(i+=";to-tag="+t.replaces._to_tag)+";from-tag="+t.replaces._from_tag,i=encodeURIComponent(i));t=`Refer-To: <${e}${i?"?Replaces="+i:""}>`,r.push(t),r.some(e=>e.toLowerCase().startsWith("referred-by:"))||(e=`Referred-By: <${this._session._ua._configuration.uri._scheme}:${this._session._ua._configuration.uri._user}@${this._session._ua._configuration.uri._host}>`,r.push(e)),r.push("Contact: "+this._session.contact),t=this._session.sendRequest(o.REFER,{extraHeaders:r,eventHandlers:{onSuccessResponse:e=>{this._requestSucceeded(e)},onErrorResponse:e=>{this._requestFailed(e,o.causes.REJECTED)},onTransportError:()=>{this._requestFailed(null,o.causes.CONNECTION_ERROR)},onRequestTimeout:()=>{this._requestFailed(null,o.causes.REQUEST_TIMEOUT)},onDialogError:()=>{this._requestFailed(null,o.causes.DIALOG_ERROR)}}});this._id=t.cseq}receiveNotify(e){if(l.debug("receiveNotify()"),e.body){var t=i.parse(e.body.trim().split("\r\n",1)[0],"Status_Line");if(-1===t)l.debug(`receiveNotify() | error parsing NOTIFY body: "${e.body}"`);else switch(!0){case/^100$/.test(t.status_code):this.emit("trying",{request:e,status_line:t});break;case/^1[0-9]{2}$/.test(t.status_code):this.emit("progress",{request:e,status_line:t});break;case/^2[0-9]{2}$/.test(t.status_code):this.emit("accepted",{request:e,status_line:t});break;default:this.emit("failed",{request:e,status_line:t})}}}_requestSucceeded(e){l.debug("REFER succeeded"),l.debug('emit "requestSucceeded"'),this.emit("requestSucceeded",{response:e})}_requestFailed(e,t){l.debug("REFER failed"),l.debug('emit "requestFailed"'),this.emit("requestFailed",{response:e||null,cause:t})}}},145:function(e,t,n){var r=n(3422);let s=n(7196),i=n(9896),o=n(2602),a=n(5117),l=new r("Registrator");e.exports=class{constructor(e,t){this._reg_id=1,this._ua=e,this._transport=t,this._registrar=e.configuration.registrar_server,this._expires=e.configuration.register_expires,this._call_id=s.createRandomToken(22),this._cseq=0,this._to_uri=e.configuration.uri,this._registrationTimer=null,this._registering=!1,this._registered=!1,this._contact=this._ua.contact.toString(),this._contact+=";+sip.ice",this._extraHeaders=[],this._extraContactParams="",this._sipInstance=`"<urn:uuid:${this._ua.configuration.instance_id}>"`,this._contact+=";reg-id="+this._reg_id,this._contact+=";+sip.instance="+this._sipInstance}get registered(){return this._registered}setExtraHeaders(e){Array.isArray(e)||(e=[]),this._extraHeaders=e.slice()}setExtraContactParams(e){for(var t in e instanceof Object||(e={}),this._extraContactParams="",e){var n;Object.prototype.hasOwnProperty.call(e,t)&&(n=e[t],this._extraContactParams+=";"+t,n)&&(this._extraContactParams+="="+n)}}register(){var e;this._registering?l.debug("Register request in progress..."):((e=this._extraHeaders.slice()).push(`Contact: ${this._contact};expires=`+this._expires+this._extraContactParams),e.push("Expires: "+this._expires),e=new o.OutgoingRequest(i.REGISTER,this._registrar,this._ua,{to_uri:this._to_uri,call_id:this._call_id,cseq:this._cseq+=1},e),e=new a(this._ua,e,{onRequestTimeout:()=>{this._registrationFailure(null,i.causes.REQUEST_TIMEOUT)},onTransportError:()=>{this._registrationFailure(null,i.causes.CONNECTION_ERROR)},onAuthenticated:()=>{this._cseq+=1},onReceiveResponse:n=>{if(n.cseq===this._cseq)switch(null!==this._registrationTimer&&(clearTimeout(this._registrationTimer),this._registrationTimer=null),!0){case/^1[0-9]{2}$/.test(n.status_code):break;case/^2[0-9]{2}$/.test(n.status_code):{if(this._registering=!1,!n.hasHeader("Contact")){l.debug("no Contact header in response to REGISTER, response ignored");break}var r=n.headers.Contact.reduce((e,t)=>e.concat(t.parsed),[]);let e=r.find(e=>this._sipInstance===e.getParam("+sip.instance")&&this._reg_id===parseInt(e.getParam("reg-id")));if(!(e=e||r.find(e=>e.uri.user===this._ua.contact.uri.user))){l.debug("no Contact header pointing to us, response ignored");break}let t=e.getParam("expires");t=(t=!t&&n.hasHeader("expires")?n.getHeader("expires"):t)||this._expires;r=64<(t=(t=Number(t))<10?10:t)?1e3*t/2+Math.floor(1e3*(t/2-32)*Math.random()):1e3*t-5e3;this._registrationTimer=setTimeout(()=>{this._registrationTimer=null,0===this._ua.listeners("registrationExpiring").length?this.register():this._ua.emit("registrationExpiring")},r),e.hasParam("temp-gruu")&&(this._ua.contact.temp_gruu=e.getParam("temp-gruu").replace(/"/g,"")),e.hasParam("pub-gruu")&&(this._ua.contact.pub_gruu=e.getParam("pub-gruu").replace(/"/g,"")),this._registered||(this._registered=!0,this._ua.registered({response:n}));break}case/^423$/.test(n.status_code):n.hasHeader("min-expires")?(this._expires=Number(n.getHeader("min-expires")),this._expires<10&&(this._expires=10),this.register()):(l.debug("423 response received for REGISTER without Min-Expires"),this._registrationFailure(n,i.causes.SIP_FAILURE_CODE));break;default:r=s.sipErrorCause(n.status_code);this._registrationFailure(n,r)}}}),this._registering=!0,e.send())}unregister(e={}){var t;this._registered?(this._registered=!1,null!==this._registrationTimer&&(clearTimeout(this._registrationTimer),this._registrationTimer=null),t=this._extraHeaders.slice(),e.all?t.push("Contact: *"+this._extraContactParams):t.push(`Contact: ${this._contact};expires=0`+this._extraContactParams),t.push("Expires: 0"),e=new o.OutgoingRequest(i.REGISTER,this._registrar,this._ua,{to_uri:this._to_uri,call_id:this._call_id,cseq:this._cseq+=1},t),new a(this._ua,e,{onRequestTimeout:()=>{this._unregistered(null,i.causes.REQUEST_TIMEOUT)},onTransportError:()=>{this._unregistered(null,i.causes.CONNECTION_ERROR)},onAuthenticated:()=>{this._cseq+=1},onReceiveResponse:e=>{switch(!0){case/^1[0-9]{2}$/.test(e.status_code):break;case/^2[0-9]{2}$/.test(e.status_code):this._unregistered(e);break;default:var t=s.sipErrorCause(e.status_code);this._unregistered(e,t)}}}).send()):l.debug("already unregistered")}close(){this._registered&&this.unregister()}onTransportClosed(){this._registering=!1,null!==this._registrationTimer&&(clearTimeout(this._registrationTimer),this._registrationTimer=null),this._registered&&(this._registered=!1,this._ua.unregistered({}))}_registrationFailure(e,t){this._registering=!1,this._ua.registrationFailed({response:e||null,cause:t}),this._registered&&(this._registered=!1,this._ua.unregistered({response:e||null,cause:t}))}_unregistered(e,t){this._registering=!1,this._registered=!1,this._ua.unregistered({response:e||null,cause:t||null})}}},5117:function(e,t,n){var r=n(3422);let s=n(9896),i=n(3889),o=n(1164),a=new r("RequestSender"),l={onRequestTimeout:()=>{},onTransportError:()=>{},onReceiveResponse:()=>{},onAuthenticated:()=>{}};e.exports=class{constructor(e,t,n){for(var r in this._ua=e,this._eventHandlers=n,this._method=t.method,this._request=t,this._auth=null,this._challenged=!1,this._staled=!1,l)!Object.prototype.hasOwnProperty.call(l,r)||this._eventHandlers[r]||(this._eventHandlers[r]=l[r]);e.status!==e.C.STATUS_USER_CLOSED||this._method===s.BYE&&this._method===s.ACK||this._eventHandlers.onTransportError()}send(){var e={onRequestTimeout:()=>{this._eventHandlers.onRequestTimeout()},onTransportError:()=>{this._eventHandlers.onTransportError()},onReceiveResponse:e=>{this._receiveResponse(e)}};switch(this._method){case"INVITE":this.clientTransaction=new o.InviteClientTransaction(this._ua,this._ua.transport,this._request,e);break;case"ACK":this.clientTransaction=new o.AckClientTransaction(this._ua,this._ua.transport,this._request,e);break;default:this.clientTransaction=new o.NonInviteClientTransaction(this._ua,this._ua.transport,this._request,e)}this._ua._configuration.authorization_jwt&&this._request.setHeader("Authorization",this._ua._configuration.authorization_jwt),this.clientTransaction.send()}_receiveResponse(e){let t,n;var r=e.status_code;401!==r&&407!==r||null===this._ua.configuration.password&&null===this._ua.configuration.ha1?this._eventHandlers.onReceiveResponse(e):(n=401===e.status_code?(t=e.parseHeader("www-authenticate"),"authorization"):(t=e.parseHeader("proxy-authenticate"),"proxy-authorization"),t?(!this._challenged||!this._staled&&!0===t.stale)&&(this._auth||(this._auth=new i({username:this._ua.configuration.authorization_user,password:this._ua.configuration.password,realm:this._ua.configuration.realm,ha1:this._ua.configuration.ha1})),this._auth.authenticate(this._request,t))?(this._challenged=!0,this._ua.set("realm",this._auth.get("realm")),this._ua.set("ha1",this._auth.get("ha1")),t.stale&&(this._staled=!0),this._request=this._request.clone(),this._request.cseq+=1,this._request.setHeader("cseq",this._request.cseq+" "+this._method),this._request.setHeader(n,this._auth.toString()),this._eventHandlers.onAuthenticated(this._request),this.send()):this._eventHandlers.onReceiveResponse(e):(a.debug(e.status_code+" with wrong or missing challenge, cannot authenticate"),this._eventHandlers.onReceiveResponse(e)))}}},2602:function(e,t,n){let r=n(8844);var s=n(3422);let h=n(9896),f=n(7196),a=n(900),i=n(9656),o=new s("SIPMessage");class l{constructor(e,t,n,r,s,i){if(!e||!t||!n)return null;r=r||{},this.ua=n,this.headers={},this.method=e,this.ruri=t,this.body=i,this.extraHeaders=f.cloneArray(s),this.ua.configuration.extra_headers&&(this.extraHeaders=this.extraHeaders.concat(this.ua.configuration.extra_headers)),r.route_set?this.setHeader("route",r.route_set):n.configuration.use_preloaded_route&&this.setHeader("route",`<${n.transport.sip_uri};lr>`),this.setHeader("via",""),this.setHeader("max-forwards",h.MAX_FORWARDS);i=r.to_uri||t,s=r.to_tag?{tag:r.to_tag}:null,t=void 0!==r.to_display_name?r.to_display_name:null,this.to=new a(i,t,s),this.setHeader("to",this.to.toString()),i=r.from_uri||n.configuration.uri,t={tag:r.from_tag||f.newTag()};let o;o=void 0!==r.from_display_name?r.from_display_name:n.configuration.display_name||null,this.from=new a(i,o,t),this.setHeader("from",this.from.toString());s=r.call_id||n.configuration.jssip_id+f.createRandomToken(15),this.call_id=s,this.setHeader("call-id",s),i=r.cseq||Math.floor(1e4*Math.random());this.cseq=i,this.setHeader("cseq",i+" "+e)}setHeader(e,t){var n=new RegExp(`^\\s*${e}\\s*:`,"i");for(let e=0;e<this.extraHeaders.length;e++)n.test(this.extraHeaders[e])&&this.extraHeaders.splice(e,1);this.headers[f.headerize(e)]=Array.isArray(t)?t:[t]}getHeader(e){var t=this.headers[f.headerize(e)];if(t){if(t[0])return t[0]}else{var n,r=new RegExp(`^\\s*${e}\\s*:`,"i");for(n of this.extraHeaders)if(r.test(n))return n.substring(n.indexOf(":")+1).trim()}}getHeaders(e){var t=this.headers[f.headerize(e)],n=[];if(t)for(var r of t)n.push(r);else{var s,i=new RegExp(`^\\s*${e}\\s*:`,"i");for(s of this.extraHeaders)i.test(s)&&n.push(s.substring(s.indexOf(":")+1).trim())}return n}hasHeader(e){if(this.headers[f.headerize(e)])return!0;var t,n=new RegExp(`^\\s*${e}\\s*:`,"i");for(t of this.extraHeaders)if(n.test(t))return!0;return!1}parseSDP(e){return!e&&this.sdp||(this.sdp=r.parse(this.body||"")),this.sdp}toString(){let e=`${this.method} ${this.ruri} SIP/2.0\r\n`;for(var t in this.headers)if(Object.prototype.hasOwnProperty.call(this.headers,t))for(var n of this.headers[t])e+=`${t}: ${n}\r\n`;for(var r of this.extraHeaders)e+=r.trim()+`\r
4
+ `;var s=[];switch(this.method){case h.REGISTER:s.push("path","gruu");break;case h.INVITE:this.ua.configuration.session_timers&&s.push("timer"),(this.ua.contact.pub_gruu||this.ua.contact.temp_gruu)&&s.push("gruu"),s.push("ice","replaces");break;case h.UPDATE:this.ua.configuration.session_timers&&s.push("timer"),s.push("ice")}s.push("outbound");var i=this.ua.configuration.user_agent||h.USER_AGENT;return e=(e+=`Allow: ${h.ALLOWED_METHODS}\r
5
+ `)+`Supported: ${s}\r
6
+ `+`User-Agent: ${i}\r
7
+ `,this.body?(i=f.str_utf8_length(this.body),e=(e+=`Content-Length: ${i}\r
8
+ \r
9
+ `)+this.body):e+="Content-Length: 0\r\n\r\n",e}clone(){let t=new l(this.method,this.ruri,this.ua);return Object.keys(this.headers).forEach(function(e){t.headers[e]=this.headers[e].slice()},this),t.body=this.body,t.extraHeaders=f.cloneArray(this.extraHeaders),t.to=this.to,t.from=this.from,t.call_id=this.call_id,t.cseq=this.cseq,t}}class u extends l{constructor(e,t,n,r,s){super(h.INVITE,e,t,n,r,s),this.transaction=null}cancel(e){this.transaction.cancel(e)}clone(){let t=new u(this.ruri,this.ua);return Object.keys(this.headers).forEach(function(e){t.headers[e]=this.headers[e].slice()},this),t.body=this.body,t.extraHeaders=f.cloneArray(this.extraHeaders),t.to=this.to,t.from=this.from,t.call_id=this.call_id,t.cseq=this.cseq,t.transaction=this.transaction,t}}class c{constructor(){this.data=null,this.headers=null,this.method=null,this.via=null,this.via_branch=null,this.call_id=null,this.cseq=null,this.from=null,this.from_tag=null,this.to=null,this.to_tag=null,this.body=null,this.sdp=null}addHeader(e,t){t={raw:t};e=f.headerize(e),this.headers[e]?this.headers[e].push(t):this.headers[e]=[t]}getHeader(e){e=this.headers[f.headerize(e)];if(e&&e[0])return e[0].raw}getHeaders(e){var t,e=this.headers[f.headerize(e)],n=[];if(!e)return[];for(t of e)n.push(t.raw);return n}hasHeader(e){return!!this.headers[f.headerize(e)]}parseHeader(e,t=0){if(e=f.headerize(e),this.headers[e]){var n,r,s;if(!(t>=this.headers[e].length))return r=(n=this.headers[e][t]).raw,n.parsed||(-1!==(s=i.parse(r,e.replace(/-/g,"_")))?n.parsed=s:(this.headers[e].splice(t,1),void o.debug(`error parsing "${e}" header field with value "${r}"`)));o.debug(`not so many "${e}" headers present`)}else o.debug(`header "${e}" not present`)}s(e,t){return this.parseHeader(e,t)}setHeader(e,t){t={raw:t};this.headers[f.headerize(e)]=[t]}parseSDP(e){return!e&&this.sdp||(this.sdp=r.parse(this.body||"")),this.sdp}toString(){return this.data}}class d extends c{constructor(e){super(),this.ua=e,this.headers={},this.ruri=null,this.transport=null,this.server_transaction=null}reply(e,t,n,r,s,i){var o,a,l,u=[];let c=this.getHeader("To");if(t=t||null,!(e=e||null)||e<100||699<e)throw new TypeError("Invalid status_code: "+e);if(t&&"string"!=typeof t&&!(t instanceof String))throw new TypeError("Invalid reason_phrase: "+t);t=t||h.REASON_PHRASE[e]||"",n=f.cloneArray(n),this.ua.configuration.extra_headers&&(n=n.concat(this.ua.configuration.extra_headers));let d=`SIP/2.0 ${e} ${t}\r
10
+ `;if(this.method===h.INVITE&&100<e&&e<=200)for(o of this.getHeaders("record-route"))d+=`Record-Route: ${o}\r
11
+ `;for(a of this.getHeaders("via"))d+=`Via: ${a}\r
12
+ `;!this.to_tag&&100<e?c+=";tag="+f.newTag():this.to_tag&&!this.s("to").hasParam("tag")&&(c+=";tag="+this.to_tag),d=(d=(d=(d+=`To: ${c}\r
13
+ `)+`From: ${this.getHeader("From")}\r
14
+ `)+`Call-ID: ${this.call_id}\r
15
+ `)+`CSeq: ${this.cseq} ${this.method}\r
16
+ `;for(l of n)d+=l.trim()+`\r
17
+ `;switch(this.method){case h.INVITE:this.ua.configuration.session_timers&&u.push("timer"),(this.ua.contact.pub_gruu||this.ua.contact.temp_gruu)&&u.push("gruu"),u.push("ice","replaces");break;case h.UPDATE:this.ua.configuration.session_timers&&u.push("timer"),r&&u.push("ice"),u.push("replaces")}u.push("outbound"),this.method===h.OPTIONS?d=(d+=`Allow: ${h.ALLOWED_METHODS}\r
18
+ `)+`Accept: ${h.ACCEPTED_BODY_TYPES}\r
19
+ `:405===e?d+=`Allow: ${h.ALLOWED_METHODS}\r
20
+ `:415===e&&(d+=`Accept: ${h.ACCEPTED_BODY_TYPES}\r
21
+ `),d+=`Supported: ${u}\r
22
+ `,r?(t=f.str_utf8_length(r),d=(d+="Content-Type: application/sdp\r\n")+`Content-Length: ${t}\r
23
+ \r
24
+ `+r):d+=`Content-Length: 0\r
25
+ \r
26
+ `,this.server_transaction.receiveResponse(e,d,s,i)}reply_sl(e=null,t=null){var n,r=this.getHeaders("via");if(!e||e<100||699<e)throw new TypeError("Invalid status_code: "+e);if(t&&"string"!=typeof t&&!(t instanceof String))throw new TypeError("Invalid reason_phrase: "+t);let s=`SIP/2.0 ${e} ${t=t||h.REASON_PHRASE[e]||""}\r
27
+ `;for(n of r)s+=`Via: ${n}\r
28
+ `;let i=this.getHeader("To");if(!this.to_tag&&100<e?i+=";tag="+f.newTag():this.to_tag&&!this.s("to").hasParam("tag")&&(i+=";tag="+this.to_tag),s=(s=(s=(s+=`To: ${i}\r
29
+ `)+`From: ${this.getHeader("From")}\r
30
+ `)+`Call-ID: ${this.call_id}\r
31
+ `)+`CSeq: ${this.cseq} ${this.method}\r
32
+ `,this.ua.configuration.extra_headers)for(var o of this.ua.configuration.extra_headers)s+=o.trim()+`\r
33
+ `;s+=`Content-Length: 0\r
34
+ \r
35
+ `,this.transport.send(s)}}class p extends c{constructor(){super(),this.headers={},this.status_code=null,this.reason_phrase=null}}e.exports={OutgoingRequest:l,InitialOutgoingInviteRequest:u,IncomingRequest:d,IncomingResponse:p}},5944:function(e,t,n){var r=n(3422);let s=n(7196),i=n(9656),o=new r("Socket");t.isSocket=t=>{if(Array.isArray(t))return!1;if(void 0===t)return o.warn("undefined JsSIP.Socket instance"),!1;try{if(!s.isString(t.url))throw o.warn("missing or invalid JsSIP.Socket url property"),new Error("Missing or invalid JsSIP.Socket url property");if(!s.isString(t.via_transport))throw o.warn("missing or invalid JsSIP.Socket via_transport property"),new Error("Missing or invalid JsSIP.Socket via_transport property");if(-1===i.parse(t.sip_uri,"SIP_URI"))throw o.warn("missing or invalid JsSIP.Socket sip_uri property"),new Error("missing or invalid JsSIP.Socket sip_uri property")}catch(e){return!1}try{["connect","disconnect","send"].forEach(e=>{if(!s.isFunction(t[e]))throw o.warn("missing or invalid JsSIP.Socket method: "+e),new Error("Missing or invalid JsSIP.Socket method: "+e)})}catch(e){return!1}return!0}},2615:function(e){var t=500;e.exports={T1:t,T2:4e3,T4:5e3,TIMER_B:32e3,TIMER_D:0,TIMER_F:32e3,TIMER_H:32e3,TIMER_I:0,TIMER_J:0,TIMER_K:0,TIMER_L:32e3,TIMER_M:32e3,PROVISIONAL_RESPONSE_INTERVAL:6e4}},1164:function(e,t,n){var r=n(9032).EventEmitter,s=n(3422);let i=n(9896),o=n(2602),a=n(2615),l=new s("NonInviteClientTransaction"),u=new s("InviteClientTransaction"),c=new s("AckClientTransaction"),d=new s("NonInviteServerTransaction"),h=new s("InviteServerTransaction"),f={STATUS_TRYING:1,STATUS_PROCEEDING:2,STATUS_CALLING:3,STATUS_ACCEPTED:4,STATUS_COMPLETED:5,STATUS_TERMINATED:6,STATUS_CONFIRMED:7,NON_INVITE_CLIENT:"nict",NON_INVITE_SERVER:"nist",INVITE_CLIENT:"ict",INVITE_SERVER:"ist"};class p extends r{constructor(e,t,n,r){super(),this.type=f.NON_INVITE_CLIENT,this.id="z9hG4bK"+Math.floor(1e7*Math.random()),this.ua=e,this.transport=t,this.request=n,this.eventHandlers=r;n="SIP/2.0/"+t.via_transport;n+=` ${e.configuration.via_host};branch=`+this.id,this.request.setHeader("via",n),this.ua.newTransaction(this)}get C(){return f}stateChanged(e){this.state=e,this.emit("stateChanged")}send(){this.stateChanged(f.STATUS_TRYING),this.F=setTimeout(()=>{this.timer_F()},a.TIMER_F),this.transport.send(this.request)||this.onTransportError()}onTransportError(){l.debug("transport error occurred, deleting transaction "+this.id),clearTimeout(this.F),clearTimeout(this.K),this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this),this.eventHandlers.onTransportError()}timer_F(){l.debug("Timer F expired for transaction "+this.id),this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this),this.eventHandlers.onRequestTimeout()}timer_K(){this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this)}receiveResponse(e){var t=e.status_code;if(t<200)switch(this.state){case f.STATUS_TRYING:case f.STATUS_PROCEEDING:this.stateChanged(f.STATUS_PROCEEDING),this.eventHandlers.onReceiveResponse(e)}else switch(this.state){case f.STATUS_TRYING:case f.STATUS_PROCEEDING:this.stateChanged(f.STATUS_COMPLETED),clearTimeout(this.F),408===t?this.eventHandlers.onRequestTimeout():this.eventHandlers.onReceiveResponse(e),this.K=setTimeout(()=>{this.timer_K()},a.TIMER_K);break;case f.STATUS_COMPLETED:}}}class _ extends r{constructor(e,t,n,r){super(),this.type=f.INVITE_CLIENT,this.id="z9hG4bK"+Math.floor(1e7*Math.random()),this.ua=e,this.transport=t,this.request=n,this.eventHandlers=r,n.transaction=this;r="SIP/2.0/"+t.via_transport;r+=` ${e.configuration.via_host};branch=`+this.id,this.request.setHeader("via",r),this.ua.newTransaction(this)}get C(){return f}stateChanged(e){this.state=e,this.emit("stateChanged")}send(){this.stateChanged(f.STATUS_CALLING),this.B=setTimeout(()=>{this.timer_B()},a.TIMER_B),this.transport.send(this.request)||this.onTransportError()}onTransportError(){clearTimeout(this.B),clearTimeout(this.D),clearTimeout(this.M),this.state!==f.STATUS_ACCEPTED&&(u.debug("transport error occurred, deleting transaction "+this.id),this.eventHandlers.onTransportError()),this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this)}timer_M(){u.debug("Timer M expired for transaction "+this.id),this.state===f.STATUS_ACCEPTED&&(clearTimeout(this.B),this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this))}timer_B(){u.debug("Timer B expired for transaction "+this.id),this.state===f.STATUS_CALLING&&(this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this),this.eventHandlers.onRequestTimeout())}timer_D(){u.debug("Timer D expired for transaction "+this.id),clearTimeout(this.B),this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this)}sendACK(e){var t=new o.OutgoingRequest(i.ACK,this.request.ruri,this.ua,{route_set:this.request.getHeaders("route"),call_id:this.request.getHeader("call-id"),cseq:this.request.cseq});t.setHeader("from",this.request.getHeader("from")),t.setHeader("via",this.request.getHeader("via")),t.setHeader("to",e.getHeader("to")),this.D=setTimeout(()=>{this.timer_D()},a.TIMER_D),this.transport.send(t)}cancel(e){var t;this.state===f.STATUS_PROCEEDING&&((t=new o.OutgoingRequest(i.CANCEL,this.request.ruri,this.ua,{route_set:this.request.getHeaders("route"),call_id:this.request.getHeader("call-id"),cseq:this.request.cseq})).setHeader("from",this.request.getHeader("from")),t.setHeader("via",this.request.getHeader("via")),t.setHeader("to",this.request.getHeader("to")),e&&t.setHeader("reason",e),this.transport.send(t))}receiveResponse(e){var t=e.status_code;if(100<=t&&t<=199)switch(this.state){case f.STATUS_CALLING:this.stateChanged(f.STATUS_PROCEEDING),this.eventHandlers.onReceiveResponse(e);break;case f.STATUS_PROCEEDING:this.eventHandlers.onReceiveResponse(e)}else if(200<=t&&t<=299)switch(this.state){case f.STATUS_CALLING:case f.STATUS_PROCEEDING:this.stateChanged(f.STATUS_ACCEPTED),this.M=setTimeout(()=>{this.timer_M()},a.TIMER_M),this.eventHandlers.onReceiveResponse(e);break;case f.STATUS_ACCEPTED:this.eventHandlers.onReceiveResponse(e)}else if(300<=t&&t<=699)switch(this.state){case f.STATUS_CALLING:case f.STATUS_PROCEEDING:this.stateChanged(f.STATUS_COMPLETED),this.sendACK(e),this.eventHandlers.onReceiveResponse(e);break;case f.STATUS_COMPLETED:this.sendACK(e)}}}class m extends r{constructor(e,t,n,r){super(),this.id="z9hG4bK"+Math.floor(1e7*Math.random()),this.transport=t,this.request=n,this.eventHandlers=r;n="SIP/2.0/"+t.via_transport;n+=` ${e.configuration.via_host};branch=`+this.id,this.request.setHeader("via",n)}get C(){return f}send(){this.transport.send(this.request)||this.onTransportError()}onTransportError(){c.debug("transport error occurred for transaction "+this.id),this.eventHandlers.onTransportError()}}class g extends r{constructor(e,t,n){super(),this.type=f.NON_INVITE_SERVER,this.id=n.via_branch,this.ua=e,this.transport=t,this.request=n,this.last_response="",(n.server_transaction=this).state=f.STATUS_TRYING,e.newTransaction(this)}get C(){return f}stateChanged(e){this.state=e,this.emit("stateChanged")}timer_J(){d.debug("Timer J expired for transaction "+this.id),this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this)}onTransportError(){this.transportError||(this.transportError=!0,d.debug("transport error occurred, deleting transaction "+this.id),clearTimeout(this.J),this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this))}receiveResponse(e,t,n,r){if(100===e)switch(this.state){case f.STATUS_TRYING:this.stateChanged(f.STATUS_PROCEEDING),this.transport.send(t)||this.onTransportError();break;case f.STATUS_PROCEEDING:this.last_response=t,this.transport.send(t)?n&&n():(this.onTransportError(),r&&r())}else if(200<=e&&e<=699)switch(this.state){case f.STATUS_TRYING:case f.STATUS_PROCEEDING:this.stateChanged(f.STATUS_COMPLETED),this.last_response=t,this.J=setTimeout(()=>{this.timer_J()},a.TIMER_J),this.transport.send(t)?n&&n():(this.onTransportError(),r&&r());break;case f.STATUS_COMPLETED:}}}class v extends r{constructor(e,t,n){super(),this.type=f.INVITE_SERVER,this.id=n.via_branch,this.ua=e,this.transport=t,this.request=n,this.last_response="",(n.server_transaction=this).state=f.STATUS_PROCEEDING,e.newTransaction(this),this.resendProvisionalTimer=null,n.reply(100)}get C(){return f}stateChanged(e){this.state=e,this.emit("stateChanged")}timer_H(){h.debug("Timer H expired for transaction "+this.id),this.state===f.STATUS_COMPLETED&&h.debug("ACK not received, dialog will be terminated"),this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this)}timer_I(){this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this)}timer_L(){h.debug("Timer L expired for transaction "+this.id),this.state===f.STATUS_ACCEPTED&&(this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this))}onTransportError(){this.transportError||(this.transportError=!0,h.debug("transport error occurred, deleting transaction "+this.id),null!==this.resendProvisionalTimer&&(clearInterval(this.resendProvisionalTimer),this.resendProvisionalTimer=null),clearTimeout(this.L),clearTimeout(this.H),clearTimeout(this.I),this.stateChanged(f.STATUS_TERMINATED),this.ua.destroyTransaction(this))}resend_provisional(){this.transport.send(this.last_response)||this.onTransportError()}receiveResponse(e,t,n,r){if(100<=e&&e<=199&&this.state===f.STATUS_PROCEEDING&&(this.transport.send(t)||this.onTransportError(),this.last_response=t),100<e&&e<=199&&this.state===f.STATUS_PROCEEDING)null===this.resendProvisionalTimer&&(this.resendProvisionalTimer=setInterval(()=>{this.resend_provisional()},a.PROVISIONAL_RESPONSE_INTERVAL));else if(200<=e&&e<=299)switch(this.state){case f.STATUS_PROCEEDING:this.stateChanged(f.STATUS_ACCEPTED),this.last_response=t,this.L=setTimeout(()=>{this.timer_L()},a.TIMER_L),null!==this.resendProvisionalTimer&&(clearInterval(this.resendProvisionalTimer),this.resendProvisionalTimer=null);case f.STATUS_ACCEPTED:this.transport.send(t)?n&&n():(this.onTransportError(),r&&r())}else 300<=e&&e<=699&&this.state===f.STATUS_PROCEEDING&&(null!==this.resendProvisionalTimer&&(clearInterval(this.resendProvisionalTimer),this.resendProvisionalTimer=null),this.transport.send(t)?(this.stateChanged(f.STATUS_COMPLETED),this.H=setTimeout(()=>{this.timer_H()},a.TIMER_H),n&&n()):(this.onTransportError(),r&&r()))}}e.exports={C:f,NonInviteClientTransaction:p,InviteClientTransaction:_,AckClientTransaction:m,NonInviteServerTransaction:g,InviteServerTransaction:v,checkTransaction:function({_transactions:e},t){let n;switch(t.method){case i.INVITE:if(n=e.ist[t.via_branch]){switch(n.state){case f.STATUS_PROCEEDING:n.transport.send(n.last_response);break;case f.STATUS_ACCEPTED:}return!0}break;case i.ACK:if(!(n=e.ist[t.via_branch]))return!1;if(n.state===f.STATUS_ACCEPTED)return!1;if(n.state===f.STATUS_COMPLETED)return n.state=f.STATUS_CONFIRMED,n.I=setTimeout(()=>{n.timer_I()},a.TIMER_I),!0;break;case i.CANCEL:return(n=e.ist[t.via_branch])?(t.reply_sl(200),n.state!==f.STATUS_PROCEEDING):(t.reply_sl(481),!0);default:if(n=e.nist[t.via_branch]){switch(n.state){case f.STATUS_TRYING:break;case f.STATUS_PROCEEDING:case f.STATUS_COMPLETED:n.transport.send(n.last_response)}return!0}}}}},764:function(e,t,n){var r=n(3422);let s=n(5944);n=n(9896);let i=new r("Transport"),o={STATUS_CONNECTED:0,STATUS_CONNECTING:1,STATUS_DISCONNECTED:2,SOCKET_STATUS_READY:0,SOCKET_STATUS_ERROR:1,recovery_options:{min_interval:n.CONNECTION_RECOVERY_MIN_INTERVAL,max_interval:n.CONNECTION_RECOVERY_MAX_INTERVAL}};e.exports=class{constructor(e,t=o.recovery_options){i.debug("new()"),this.status=o.STATUS_DISCONNECTED,this.socket=null,this.sockets=[],this.recovery_options=t,this.recover_attempts=0,this.recovery_timer=null,this.close_requested=!1;try{this.textDecoder=new TextDecoder("utf8")}catch(e){i.warn("cannot use TextDecoder: "+e)}if(void 0===e)throw new TypeError("Invalid argument. undefined 'sockets' argument");(e=e instanceof Array?e:[e]).forEach(function(e){if(!s.isSocket(e.socket))throw new TypeError("Invalid argument. invalid 'JsSIP.Socket' instance");if(e.weight&&!Number(e.weight))throw new TypeError("Invalid argument. 'weight' attribute is not a number");this.sockets.push({socket:e.socket,weight:e.weight||0,status:o.SOCKET_STATUS_READY})},this),this._getSocket()}get via_transport(){return this.socket.via_transport}get url(){return this.socket.url}get sip_uri(){return this.socket.sip_uri}connect(){i.debug("connect()"),this.isConnected()?i.debug("Transport is already connected"):this.isConnecting()?i.debug("Transport is connecting"):(this.close_requested=!1,this.status=o.STATUS_CONNECTING,this.onconnecting({socket:this.socket,attempts:this.recover_attempts}),this.close_requested||(this.socket.onconnect=this._onConnect.bind(this),this.socket.ondisconnect=this._onDisconnect.bind(this),this.socket.ondata=this._onData.bind(this),this.socket.connect()))}disconnect(){i.debug("close()"),this.close_requested=!0,this.recover_attempts=0,this.status=o.STATUS_DISCONNECTED,null!==this.recovery_timer&&(clearTimeout(this.recovery_timer),this.recovery_timer=null),this.socket.onconnect=()=>{},this.socket.ondisconnect=()=>{},this.socket.ondata=()=>{},this.socket.disconnect(),this.ondisconnect({socket:this.socket,error:!1})}send(e){return i.debug("send()"),this.isConnected()?(e=e.toString(),i.debug(`sending message:
36
+
37
+ ${e}
38
+ `),this.socket.send(e)):(i.warn("unable to send message, transport is not connected"),!1)}isConnected(){return this.status===o.STATUS_CONNECTED}isConnecting(){return this.status===o.STATUS_CONNECTING}_reconnect(){this.recover_attempts+=1;let e=Math.floor(Math.random()*Math.pow(2,this.recover_attempts)+1);e<this.recovery_options.min_interval?e=this.recovery_options.min_interval:e>this.recovery_options.max_interval&&(e=this.recovery_options.max_interval),i.debug(`reconnection attempt: ${this.recover_attempts}. next connection attempt in ${e} seconds`),this.recovery_timer=setTimeout(()=>{this.close_requested||this.isConnected()||this.isConnecting()||(this._getSocket(),this.connect())},1e3*e)}_getSocket(){let t=[];var e;this.sockets.forEach(e=>{e.status!==o.SOCKET_STATUS_ERROR&&(0===t.length?t.push(e):e.weight>t[0].weight?t=[e]:e.weight===t[0].weight&&t.push(e))}),0===t.length?(this.sockets.forEach(e=>{e.status=o.SOCKET_STATUS_READY}),this._getSocket()):(e=Math.floor(Math.random()*t.length),this.socket=t[e].socket)}_onConnect(){this.recover_attempts=0,this.status=o.STATUS_CONNECTED,null!==this.recovery_timer&&(clearTimeout(this.recovery_timer),this.recovery_timer=null),this.onconnect({socket:this})}_onDisconnect(e,t,n){this.status=o.STATUS_DISCONNECTED,this.ondisconnect({socket:this.socket,error:e,code:t,reason:n}),this.close_requested||(this.sockets.forEach(function(e){this.socket===e.socket&&(e.status=o.SOCKET_STATUS_ERROR)},this),this._reconnect(e))}_onData(e){if("\r\n\r\n"===e){i.debug("received message with double-CRLF Keep Alive request");try{this.socket.send("\r\n")}catch(e){i.warn("error sending Keep Alive response: "+e)}}else if("\r\n"===e)i.debug("received message with CRLF Keep Alive response");else{if("string"!=typeof e){try{e=this.textDecoder?this.textDecoder.decode(e):String.fromCharCode.apply(null,new Uint8Array(e))}catch(e){return void i.debug("received binary message failed to be converted into string, message discarded")}i.debug(`received binary message:
39
+
40
+ ${e}
41
+ `)}else i.debug(`received text message:
42
+
43
+ ${e}
44
+ `);this.ondata({transport:this,message:e})}}}},1675:function(e,t,n){var r=n(9032).EventEmitter,s=n(3422);let i=n(9896),o=n(145),a=n(7356),l=n(3834),u=n(7659),c=n(1164),d=n(764),h=n(7196),f=n(8239),p=n(7019),_=n(9070),m=n(2602),g=n(5443),v=n(8611),T=new s("UA"),y={STATUS_INIT:0,STATUS_READY:1,STATUS_USER_CLOSED:2,STATUS_NOT_READY:3,CONFIGURATION_ERROR:1,NETWORK_ERROR:2};e.exports=class extends r{static get C(){return y}constructor(e){if(T.debug("new() [configuration:%o]",e),super(),this._cache={credentials:{}},this._configuration=Object.assign({},v.settings),this._dynConfiguration={},this._dialogs={},this._applicants={},this._sessions={},this._transport=null,this._contact=null,this._status=y.STATUS_INIT,this._error=null,this._transactions={nist:{},nict:{},ist:{},ict:{}},this._data={},this._closeTimer=null,void 0===e)throw new TypeError("Not enough arguments");try{this._loadConfig(e)}catch(e){throw this._status=y.STATUS_NOT_READY,this._error=y.CONFIGURATION_ERROR,e}this._registrator=new o(this)}get C(){return y}get status(){return this._status}get contact(){return this._contact}get configuration(){return this._configuration}get transport(){return this._transport}start(){T.debug("start()"),this._status===y.STATUS_INIT?this._transport.connect():this._status===y.STATUS_USER_CLOSED?(T.debug("restarting UA"),null!==this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null,this._transport.disconnect()),this._status=y.STATUS_INIT,this._transport.connect()):this._status===y.STATUS_READY?T.debug("UA is in READY status, not restarted"):T.debug("ERROR: connection is down, Auto-Recovery system is trying to reconnect"),this._dynConfiguration.register=this._configuration.register}register(){T.debug("register()"),this._dynConfiguration.register=!0,this._registrator.register()}unregister(e){T.debug("unregister()"),this._dynConfiguration.register=!1,this._registrator.unregister(e)}registrator(){return this._registrator}isRegistered(){return this._registrator.registered}isConnected(){return this._transport.isConnected()}call(e,t){T.debug("call()");var n=new a(this);return n.connect(e,t),n}sendMessage(e,t,n){T.debug("sendMessage()");var r=new l(this);return r.send(e,t,n),r}sendOptions(e,t,n){T.debug("sendOptions()");var r=new u(this);return r.send(e,t,n),r}terminateSessions(e){for(var t in T.debug("terminateSessions()"),this._sessions)this._sessions[t].isEnded()||this._sessions[t].terminate(e)}stop(){if(T.debug("stop()"),this._dynConfiguration={},this._status===y.STATUS_USER_CLOSED)T.debug("UA already closed");else{this._registrator.close();var e,t,n=Object.keys(this._sessions).length;for(e in this._sessions)if(Object.prototype.hasOwnProperty.call(this._sessions,e)){T.debug("closing session "+e);try{this._sessions[e].terminate()}catch(e){}}for(t in this._applicants)if(Object.prototype.hasOwnProperty.call(this._applicants,t))try{this._applicants[t].close()}catch(e){}this._status=y.STATUS_USER_CLOSED,0===Object.keys(this._transactions.nict).length+Object.keys(this._transactions.nist).length+Object.keys(this._transactions.ict).length+Object.keys(this._transactions.ist).length&&0===n?this._transport.disconnect():this._closeTimer=setTimeout(()=>{this._closeTimer=null,this._transport.disconnect()},2e3)}}normalizeTarget(e){return h.normalizeTarget(e,this._configuration.hostport_params)}get(e){switch(e){case"authorization_user":return this._configuration.authorization_user;case"realm":return this._configuration.realm;case"ha1":return this._configuration.ha1;case"authorization_jwt":return this._configuration.authorization_jwt;default:return void T.warn('get() | cannot get "%s" parameter in runtime',e)}}set(e,t){switch(e){case"authorization_user":this._configuration.authorization_user=String(t);break;case"password":this._configuration.password=String(t);break;case"realm":this._configuration.realm=String(t);break;case"ha1":this._configuration.ha1=String(t),this._configuration.password=null;break;case"authorization_jwt":this._configuration.authorization_jwt=String(t);break;case"display_name":this._configuration.display_name=t;break;case"extra_headers":this._configuration.extra_headers=t;break;default:return T.warn('set() | cannot set "%s" parameter in runtime',e),!1}return!0}newTransaction(e){this._transactions[e.type][e.id]=e,this.emit("newTransaction",{transaction:e})}destroyTransaction(e){delete this._transactions[e.type][e.id],this.emit("transactionDestroyed",{transaction:e})}newDialog(e){this._dialogs[e.id]=e}destroyDialog(e){delete this._dialogs[e.id]}newMessage(e,t){this._applicants[e]=e,this.emit("newMessage",t)}newOptions(e,t){this._applicants[e]=e,this.emit("newOptions",t)}destroyMessage(e){delete this._applicants[e]}newRTCSession(e,t){this._sessions[e.id]=e,this.emit("newRTCSession",t)}destroyRTCSession(e){delete this._sessions[e.id]}registered(e){this.emit("registered",e)}unregistered(e){this.emit("unregistered",e)}registrationFailed(e){this.emit("registrationFailed",e)}receiveRequest(n){var r,s=n.method;if(n.ruri.user!==this._configuration.uri.user&&n.ruri.user!==this._contact.uri.user)T.debug("Request-URI does not point to us"),n.method!==i.ACK&&n.reply_sl(404);else if(n.ruri.scheme===i.SIPS)n.reply_sl(416);else if(!c.checkTransaction(this,n)){if(s===i.INVITE?new c.InviteServerTransaction(this,this._transport,n):s!==i.ACK&&s!==i.CANCEL&&new c.NonInviteServerTransaction(this,this._transport,n),s===i.OPTIONS){if(0===this.listeners("newOptions").length)return void n.reply(200);new u(this).init_incoming(n)}else if(s===i.MESSAGE){if(0===this.listeners("newMessage").length)return void n.reply(405);new l(this).init_incoming(n)}else if(s===i.INVITE&&!n.to_tag&&0===this.listeners("newRTCSession").length)return void n.reply(405);let e,t;if(n.to_tag)(e=this._findDialog(n.call_id,n.from_tag,n.to_tag))?e.receiveRequest(n):s===i.NOTIFY?(t=this._findSession(n))?t.receiveRequest(n):(T.debug("received NOTIFY request for a non existent subscription"),n.reply(481,"Subscription does not exist")):s!==i.ACK&&n.reply(481);else switch(s){case i.INVITE:window.RTCPeerConnection?n.hasHeader("replaces")?(r=n.replaces,(e=this._findDialog(r.call_id,r.from_tag,r.to_tag))?(t=e.owner).isEnded()?n.reply(603):t.receiveRequest(n):n.reply(481)):(t=new a(this)).init_incoming(n):(T.warn("INVITE received but WebRTC is not supported"),n.reply(488));break;case i.BYE:n.reply(481);break;case i.CANCEL:(t=this._findSession(n))?t.receiveRequest(n):T.debug("received CANCEL request for a non existent session");break;case i.ACK:break;case i.NOTIFY:this.emit("sipEvent",{event:n.event,request:n}),n.reply(200);break;default:n.reply(405)}}}_findSession({call_id:e,from_tag:t,to_tag:n}){t=this._sessions[e+t],e=this._sessions[e+n];return t||e||null}_findDialog(e,t,n){var r=this._dialogs[e+t+n];return r||this._dialogs[e+n+t]||null}_loadConfig(e){try{v.load(this._configuration,e)}catch(e){throw e}0===this._configuration.display_name&&(this._configuration.display_name="0"),this._configuration.instance_id||(this._configuration.instance_id=h.newUUID()),this._configuration.jssip_id=h.createRandomToken(5);var e=this._configuration.uri.clone();e.user=null,this._configuration.hostport_params=e.toString().replace(/^sip:/i,"");try{this._transport=new d(this._configuration.sockets,{max_interval:this._configuration.connection_recovery_max_interval,min_interval:this._configuration.connection_recovery_min_interval}),this._transport.onconnecting=function(e){this.emit("connecting",e)}.bind(this),this._transport.onconnect=function(e){this._status!==y.STATUS_USER_CLOSED&&(this._status=y.STATUS_READY,this._error=null,this.emit("connected",e),this._dynConfiguration.register)&&this._registrator.register()}.bind(this),this._transport.ondisconnect=function(e){for(var t of["nict","ict","nist","ist"])for(var n in this._transactions[t])Object.prototype.hasOwnProperty.call(this._transactions[t],n)&&this._transactions[t][n].onTransportError();this.emit("disconnected",e),this._registrator.onTransportClosed(),this._status!==y.STATUS_USER_CLOSED&&(this._status=y.STATUS_NOT_READY,this._error=y.NETWORK_ERROR)}.bind(this),this._transport.ondata=function(e){let t=e.transport,n=e.message;if((n=_.parseMessage(n,this))&&!(this._status===y.STATUS_USER_CLOSED&&n instanceof m.IncomingRequest)&&g(n,this,t))if(n instanceof m.IncomingRequest)n.transport=t,this.receiveRequest(n);else if(n instanceof m.IncomingResponse){let e;switch(n.method){case i.INVITE:(e=this._transactions.ict[n.via_branch])&&e.receiveResponse(n);break;case i.ACK:break;default:(e=this._transactions.nict[n.via_branch])&&e.receiveResponse(n)}}}.bind(this)}catch(e){throw T.warn(e),new f.ConfigurationError("sockets",this._configuration.sockets)}delete this._configuration.sockets,this._configuration.authorization_user||(this._configuration.authorization_user=this._configuration.uri.user),this._configuration.registrar_server||((e=this._configuration.uri.clone()).user=null,e.clearParams(),e.clearHeaders(),this._configuration.registrar_server=e),this._configuration.no_answer_timeout*=1e3,this._configuration.contact_uri?this._configuration.via_host=this._configuration.contact_uri.host:this._configuration.contact_uri=new p("sip",h.createRandomToken(8),this._configuration.via_host,null,{transport:"ws"}),this._contact={pub_gruu:null,temp_gruu:null,uri:this._configuration.contact_uri,toString(e={}){var t=e.anonymous||null,e=e.outbound||null;let n="<";return n+=t?this.temp_gruu||"sip:anonymous@anonymous.invalid;transport=ws":this.pub_gruu||this.uri.toString(),!e||(t?this.temp_gruu:this.pub_gruu)||(n+=";ob"),n+=">"}};var t,n,r=["authorization_user","password","realm","ha1","authorization_jwt","display_name","register","extra_headers"];for(t in this._configuration)Object.prototype.hasOwnProperty.call(this._configuration,t)&&(-1!==r.indexOf(t)?Object.defineProperty(this._configuration,t,{writable:!0,configurable:!1}):Object.defineProperty(this._configuration,t,{writable:!1,configurable:!1}));for(n in T.debug("configuration parameters after validation:"),this._configuration)if(Object.prototype.hasOwnProperty.call(v.settings,n))switch(n){case"uri":case"registrar_server":T.debug(`- ${n}: `+this._configuration[n]);break;case"password":case"ha1":case"authorization_jwt":T.debug(`- ${n}: NOT SHOWN`);break;default:T.debug(`- ${n}: `+JSON.stringify(this._configuration[n]))}}}},7019:function(e,t,n){let l=n(9896),i=n(7196),r=n(9656);e.exports=class s{static parse(e){if(-1!==(e=r.parse(e,"SIP_URI")))return e}constructor(e,t,n,r,s={},i={}){if(!n)throw new TypeError('missing or invalid "host" parameter');for(var o in this._parameters={},this._headers={},this._scheme=e||l.SIP,this._user=t,this._host=n,this._port=r,s)Object.prototype.hasOwnProperty.call(s,o)&&this.setParam(o,s[o]);for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&this.setHeader(a,i[a])}get scheme(){return this._scheme}set scheme(e){this._scheme=e.toLowerCase()}get user(){return this._user}set user(e){this._user=e}get host(){return this._host}set host(e){this._host=e.toLowerCase()}get port(){return this._port}set port(e){this._port=0===e?e:parseInt(e,10)||null}setParam(e,t){e&&(this._parameters[e.toLowerCase()]=null==t?null:t.toString())}getParam(e){if(e)return this._parameters[e.toLowerCase()]}hasParam(e){if(e)return!!this._parameters.hasOwnProperty(e.toLowerCase())}deleteParam(e){var t;if(e=e.toLowerCase(),this._parameters.hasOwnProperty(e))return t=this._parameters[e],delete this._parameters[e],t}clearParams(){this._parameters={}}setHeader(e,t){this._headers[i.headerize(e)]=Array.isArray(t)?t:[t]}getHeader(e){if(e)return this._headers[i.headerize(e)]}hasHeader(e){if(e)return!!this._headers.hasOwnProperty(i.headerize(e))}deleteHeader(e){var t;if(e=i.headerize(e),this._headers.hasOwnProperty(e))return t=this._headers[e],delete this._headers[e],t}clearHeaders(){this._headers={}}clone(){return new s(this._scheme,this._user,this._host,this._port,JSON.parse(JSON.stringify(this._parameters)),JSON.parse(JSON.stringify(this._headers)))}toString(){var e,t,n=[];let r=this._scheme+":";for(e in this._user&&(r+=i.escapeUser(this._user)+"@"),r+=this._host,!this._port&&0!==this._port||(r+=":"+this._port),this._parameters)Object.prototype.hasOwnProperty.call(this._parameters,e)&&(r+=";"+e,null!==this._parameters[e])&&(r+="="+this._parameters[e]);for(t in this._headers)if(Object.prototype.hasOwnProperty.call(this._headers,t))for(var s of this._headers[t])n.push(t+"="+s);return 0<n.length&&(r+="?"+n.join("&")),r}toAor(e){let t=this._scheme+":";return this._user&&(t+=i.escapeUser(this._user)+"@"),t+=this._host,e&&(this._port||0===this._port)&&(t+=":"+this._port),t}}},7196:function(e,t,n){let o=n(9896),a=n(7019),r=n(9656),s=(t.str_utf8_length=e=>unescape(encodeURIComponent(e)).length,t.isFunction=e=>void 0!==e&&"[object Function]"===Object.prototype.toString.call(e)),i=(t.isString=e=>void 0!==e&&"[object String]"===Object.prototype.toString.call(e),t.isDecimal=e=>!isNaN(e)&&parseFloat(e)===parseInt(e,10),t.isEmpty=e=>null===e||""===e||void 0===e||Array.isArray(e)&&0===e.length||"number"==typeof e&&isNaN(e),t.hasMethods=function(e,...t){for(var n of t)if(s(e[n]))return!1;return!0},t.createRandomToken=(e,t=32)=>{let n,r,s="";for(n=0;n<e;n++)r=Math.random()*t|0,s+=r.toString(t);return s}),l=(t.newTag=()=>i(10),t.newUUID=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),t.hostType=e=>{if(e&&-1!==(e=r.parse(e,"host")))return e.host_type},t.escapeUser=e=>encodeURIComponent(decodeURIComponent(e)).replace(/%3A/gi,":").replace(/%2B/gi,"+").replace(/%3F/gi,"?").replace(/%2F/gi,"/"));t.normalizeTarget=(n,r)=>{if(n){if(n instanceof a)return n;if("string"==typeof n){var s,i=n.split("@");let e,t;switch(i.length){case 1:if(!r)return;e=n,t=r;break;case 2:e=i[0],t=i[1];break;default:e=i.slice(0,i.length-1).join("@"),t=i[i.length-1]}if(e=e.replace(/^(sips?|tel):/i,""),/^[-.()]*\+?[0-9\-.()]+$/.test(e)&&(e=e.replace(/[-.()]/g,"")),n=`${o.SIP}:${l(e)}@`+t,s=a.parse(n))return s}}},t.headerize=e=>{var t={"Call-Id":"Call-ID",Cseq:"CSeq","Www-Authenticate":"WWW-Authenticate"},n=e.toLowerCase().replace(/_/g,"-").split("-");let r="";var s=n.length;let i;for(i=0;i<s;i++)0!==i&&(r+="-"),r+=n[i].charAt(0).toUpperCase()+n[i].substring(1);return r=t[r]?t[r]:r},t.sipErrorCause=e=>{for(var t in o.SIP_ERROR_CAUSES)if(-1!==o.SIP_ERROR_CAUSES[t].indexOf(e))return o.causes[t];return o.causes.SIP_FAILURE_CODE},t.getRandomTestNetIP=()=>{return"192.0.2."+(e=1,t=254,Math.floor(Math.random()*(t-e+1)+e));var e,t},t.calculateMD5=e=>{function a(e,t){return e<<t|e>>>32-t}function l(e,t){var n=2147483648&e,r=2147483648&t,s=1073741824&e,i=1073741824&t,e=(1073741823&e)+(1073741823&t);return s&i?2147483648^e^n^r:s|i?1073741824&e?3221225472^e^n^r:1073741824^e^n^r:e^n^r}function t(e,t,n,r,s,i,o){return e=l(e,l(l(t&n|~t&r,s),o)),l(a(e,i),t)}function n(e,t,n,r,s,i,o){return e=l(e,l(l(t&r|n&~r,s),o)),l(a(e,i),t)}function r(e,t,n,r,s,i,o){return e=l(e,l(l(t^n^r,s),o)),l(a(e,i),t)}function s(e,t,n,r,s,i,o){return e=l(e,l(l(n^(t|~r),s),o)),l(a(e,i),t)}function i(e){let t="",n="",r,s;for(s=0;s<=3;s++)r=e>>>8*s&255,n="0"+r.toString(16),t+=n.substr(n.length-2,2);return t}let o,u,c,d,h,f,p,_,m;var g=(e=>{let t;var n=e.length,r=16*(1+((r=n+8)-r%64)/64),s=new Array(r-1);let i=0,o=0;for(;o<n;)t=(o-o%4)/4,i=o%4*8,s[t]=s[t]|e.charCodeAt(o)<<i,o++;return t=(o-o%4)/4,i=o%4*8,s[t]=s[t]|128<<i,s[r-2]=n<<3,s[r-1]=n>>>29,s})(e=(t=>{let n="";for(let e=0;e<t.length;e++){var r=t.charCodeAt(e);r<128?n+=String.fromCharCode(r):n=127<r&&r<2048?(n+=String.fromCharCode(r>>6|192))+String.fromCharCode(63&r|128):(n=(n+=String.fromCharCode(r>>12|224))+String.fromCharCode(r>>6&63|128))+String.fromCharCode(63&r|128)}return n})(e));for(f=1732584193,p=4023233417,_=2562383102,m=271733878,o=0;o<g.length;o+=16)u=f,c=p,d=_,h=m,f=t(f,p,_,m,g[o+0],7,3614090360),m=t(m,f,p,_,g[o+1],12,3905402710),_=t(_,m,f,p,g[o+2],17,606105819),p=t(p,_,m,f,g[o+3],22,3250441966),f=t(f,p,_,m,g[o+4],7,4118548399),m=t(m,f,p,_,g[o+5],12,1200080426),_=t(_,m,f,p,g[o+6],17,2821735955),p=t(p,_,m,f,g[o+7],22,4249261313),f=t(f,p,_,m,g[o+8],7,1770035416),m=t(m,f,p,_,g[o+9],12,2336552879),_=t(_,m,f,p,g[o+10],17,4294925233),p=t(p,_,m,f,g[o+11],22,2304563134),f=t(f,p,_,m,g[o+12],7,1804603682),m=t(m,f,p,_,g[o+13],12,4254626195),_=t(_,m,f,p,g[o+14],17,2792965006),p=t(p,_,m,f,g[o+15],22,1236535329),f=n(f,p,_,m,g[o+1],5,4129170786),m=n(m,f,p,_,g[o+6],9,3225465664),_=n(_,m,f,p,g[o+11],14,643717713),p=n(p,_,m,f,g[o+0],20,3921069994),f=n(f,p,_,m,g[o+5],5,3593408605),m=n(m,f,p,_,g[o+10],9,38016083),_=n(_,m,f,p,g[o+15],14,3634488961),p=n(p,_,m,f,g[o+4],20,3889429448),f=n(f,p,_,m,g[o+9],5,568446438),m=n(m,f,p,_,g[o+14],9,3275163606),_=n(_,m,f,p,g[o+3],14,4107603335),p=n(p,_,m,f,g[o+8],20,1163531501),f=n(f,p,_,m,g[o+13],5,2850285829),m=n(m,f,p,_,g[o+2],9,4243563512),_=n(_,m,f,p,g[o+7],14,1735328473),p=n(p,_,m,f,g[o+12],20,2368359562),f=r(f,p,_,m,g[o+5],4,4294588738),m=r(m,f,p,_,g[o+8],11,2272392833),_=r(_,m,f,p,g[o+11],16,1839030562),p=r(p,_,m,f,g[o+14],23,4259657740),f=r(f,p,_,m,g[o+1],4,2763975236),m=r(m,f,p,_,g[o+4],11,1272893353),_=r(_,m,f,p,g[o+7],16,4139469664),p=r(p,_,m,f,g[o+10],23,3200236656),f=r(f,p,_,m,g[o+13],4,681279174),m=r(m,f,p,_,g[o+0],11,3936430074),_=r(_,m,f,p,g[o+3],16,3572445317),p=r(p,_,m,f,g[o+6],23,76029189),f=r(f,p,_,m,g[o+9],4,3654602809),m=r(m,f,p,_,g[o+12],11,3873151461),_=r(_,m,f,p,g[o+15],16,530742520),p=r(p,_,m,f,g[o+2],23,3299628645),f=s(f,p,_,m,g[o+0],6,4096336452),m=s(m,f,p,_,g[o+7],10,1126891415),_=s(_,m,f,p,g[o+14],15,2878612391),p=s(p,_,m,f,g[o+5],21,4237533241),f=s(f,p,_,m,g[o+12],6,1700485571),m=s(m,f,p,_,g[o+3],10,2399980690),_=s(_,m,f,p,g[o+10],15,4293915773),p=s(p,_,m,f,g[o+1],21,2240044497),f=s(f,p,_,m,g[o+8],6,1873313359),m=s(m,f,p,_,g[o+15],10,4264355552),_=s(_,m,f,p,g[o+6],15,2734768916),p=s(p,_,m,f,g[o+13],21,1309151649),f=s(f,p,_,m,g[o+4],6,4149444226),m=s(m,f,p,_,g[o+11],10,3174756917),_=s(_,m,f,p,g[o+2],15,718787259),p=s(p,_,m,f,g[o+9],21,3951481745),f=l(f,u),p=l(p,c),_=l(_,d),m=l(m,h);return(i(f)+i(p)+i(_)+i(m)).toLowerCase()},t.closeMediaStream=t=>{if(t)try{let e;if(t.getTracks)for(var n of e=t.getTracks())n.stop();else{for(var r of e=t.getAudioTracks())r.stop();for(var s of e=t.getVideoTracks())s.stop()}}catch(e){"function"!=typeof t.stop&&"object"!=typeof t.stop||t.stop()}},t.cloneArray=e=>e&&e.slice()||[],t.cloneObject=(e,t={})=>e&&Object.assign({},e)||t},2159:function(e,t,n){var r=n(3422);let s=n(9656),i=new r("WebSocketInterface");e.exports=class{constructor(e){i.debug('new() [url:"%s"]',e),this._url=e,this._sip_uri=null,this._via_transport=null,this._ws=null;var t=s.parse(e,"absoluteURI");if(-1===t)throw i.warn("invalid WebSocket URI: "+e),new TypeError("Invalid argument: "+e);if("wss"!==t.scheme&&"ws"!==t.scheme)throw i.warn("invalid WebSocket URI scheme: "+t.scheme),new TypeError("Invalid argument: "+e);this._sip_uri=`sip:${t.host}${t.port?":"+t.port:""};transport=ws`,this._via_transport=t.scheme.toUpperCase()}get via_transport(){return this._via_transport}set via_transport(e){this._via_transport=e.toUpperCase()}get sip_uri(){return this._sip_uri}get url(){return this._url}connect(){if(i.debug("connect()"),this.isConnected())i.debug(`WebSocket ${this._url} is already connected`);else if(this.isConnecting())i.debug(`WebSocket ${this._url} is connecting`);else{this._ws&&this.disconnect(),i.debug("connecting to WebSocket "+this._url);try{this._ws=new WebSocket(this._url,"sip"),this._ws.binaryType="arraybuffer",this._ws.onopen=this._onOpen.bind(this),this._ws.onclose=this._onClose.bind(this),this._ws.onmessage=this._onMessage.bind(this),this._ws.onerror=this._onError.bind(this)}catch(e){this._onError(e)}}}disconnect(){i.debug("disconnect()"),this._ws&&(this._ws.onopen=()=>{},this._ws.onclose=()=>{},this._ws.onmessage=()=>{},this._ws.onerror=()=>{},this._ws.close(),this._ws=null)}send(e){return i.debug("send()"),this.isConnected()?(this._ws.send(e),!0):(i.warn("unable to send message, WebSocket is not open"),!1)}isConnected(){return this._ws&&this._ws.readyState===this._ws.OPEN}isConnecting(){return this._ws&&this._ws.readyState===this._ws.CONNECTING}_onOpen(){i.debug(`WebSocket ${this._url} connected`),this.onconnect()}_onClose({wasClean:e,code:t,reason:n}){i.debug(`WebSocket ${this._url} closed`),!1===e&&i.debug("WebSocket abrupt disconnection"),this.ondisconnect(!e,t,n)}_onMessage({data:e}){i.debug("received WebSocket message"),this.ondata(e)}_onError(e){i.warn(`WebSocket ${this._url} error: `,e)}}},5443:function(e,t,n){var r=n(3422);let o=n(9896),a=n(2602),i=n(7196),s=new r("sanityCheck"),l=[function(){for(var e of["from","to","call_id","cseq","via"])if(!d.hasHeader(e))return s.debug(`missing mandatory header field : ${e}, dropping the response`),!1}],u=[function(){if("sip"!==d.s("to").uri.scheme)return p(416),!1},function(){if(!d.to_tag&&d.call_id.substr(0,5)===h.configuration.jssip_id)return p(482),!1},function(){var e=i.str_utf8_length(d.body),t=d.getHeader("content-length");if(e<t)return p(400),!1},function(){let e=d.from_tag,t=d.call_id,n=d.cseq,r;if(!d.to_tag)if(d.method===o.INVITE){if(h._transactions.ist[d.via_branch])return!1;for(var s in h._transactions.ist)if(Object.prototype.hasOwnProperty.call(h._transactions.ist,s)&&(r=h._transactions.ist[s]).request.from_tag===e&&r.request.call_id===t&&r.request.cseq===n)return p(482),!1}else{if(h._transactions.nist[d.via_branch])return!1;for(var i in h._transactions.nist)if(Object.prototype.hasOwnProperty.call(h._transactions.nist,i)&&(r=h._transactions.nist[i]).request.from_tag===e&&r.request.call_id===t&&r.request.cseq===n)return p(482),!1}}],c=[function(){if(1<d.getHeaders("via").length)return s.debug("more than one Via header field present in the response, dropping the response"),!1},function(){var e=i.str_utf8_length(d.body),t=d.getHeader("content-length");if(e<t)return s.debug("message body length is lower than the value in Content-Length header field, dropping the response"),!1}],d,h,f;function p(e){var t,n=d.getHeaders("via");let r,s=`SIP/2.0 ${e} ${o.REASON_PHRASE[e]}\r
45
+ `;for(t of n)s+=`Via: ${t}\r
46
+ `;r=d.getHeader("To"),d.to_tag||(r+=";tag="+i.newTag()),s=(s=(s=(s+=`To: ${r}\r
47
+ `)+`From: ${d.getHeader("From")}\r
48
+ `)+`Call-ID: ${d.call_id}\r
49
+ `)+`CSeq: ${d.cseq} ${d.method}\r
50
+ `+"\r\n",f.send(s)}e.exports=(e,t,n)=>{d=e,h=t,f=n;for(var r of l)if(!1===r())return!1;if(d instanceof a.IncomingRequest){for(var s of u)if(!1===s())return!1}else if(d instanceof a.IncomingResponse)for(var i of c)if(!1===i())return!1;return!0}},9192:function(e){var s=864e5;function i(e,t,n,r){t=1.5*n<=t;return Math.round(e/n)+" "+r+(t?"s":"")}e.exports=function(e,t){t=t||{};var n=typeof e;if(!("string"==n&&0<e.length)){if("number"==n&&isFinite(e))return(t.long?e=>{var t=Math.abs(e);return s<=t?i(e,t,s,"day"):36e5<=t?i(e,t,36e5,"hour"):6e4<=t?i(e,t,6e4,"minute"):1e3<=t?i(e,t,1e3,"second"):e+" ms"}:e=>{var t=Math.abs(e);return s<=t?Math.round(e/s)+"d":36e5<=t?Math.round(e/36e5)+"h":6e4<=t?Math.round(e/6e4)+"m":1e3<=t?Math.round(e/1e3)+"s":e+"ms"})(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}n=e;if(!(100<(n=String(n)).length)){n=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(n){var r=parseFloat(n[1]);switch((n[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*r;case"weeks":case"week":case"w":return 6048e5*r;case"days":case"day":case"d":return r*s;case"hours":case"hour":case"hrs":case"hr":case"h":return 36e5*r;case"minutes":case"minute":case"mins":case"min":case"m":return 6e4*r;case"seconds":case"second":case"secs":case"sec":case"s":return 1e3*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}},7893:function(e){var t=e.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",t=(t+=null!=e.raddr?" raddr %s rport %d":"%v%v")+(null!=e.tcptype?" tcptype %s":"%v");return null!=e.generation&&(t+=" generation %d"),t=t+(null!=e["network-id"]?" network-id %d":"%v")+(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")+(null!=e.mediaClockValue?"=%s":"")+(null!=e.rateNumerator?" rate=%s":"")+(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(t).forEach(function(e){t[e].forEach(function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")})})},8844:function(e,t,n){var r=n(937),s=n(2473),n=n(7893);t.grammar=n,t.write=s,t.parse=r.parse,t.parseParams=r.parseParams,t.parseFmtpConfig=r.parseFmtpConfig,t.parsePayloads=r.parsePayloads,t.parseRemoteCandidates=r.parseRemoteCandidates,t.parseImageAttributes=r.parseImageAttributes,t.parseSimulcastStreamList=r.parseSimulcastStreamList},937:function(e,t,n){function a(e,t,n){var r=e.name&&e.names,r=(e.push&&!t[e.push]?t[e.push]=[]:r&&!t[e.name]&&(t[e.name]={}),e.push?{}:r?t[e.name]:t),s=n.match(e.reg),i=r,o=e.names;if((n=e.name)&&!o)i[n]=l(s[1]);else for(var a=0;a<o.length;a+=1)null!=s[a+1]&&(i[o[a]]=l(s[a+1]));e.push&&t[e.push].push(r)}function r(e,t){var n=t.split(/=(.+)/,2);return 2===n.length?e[n[0]]=l(n[1]):1===n.length&&1<t.length&&(e[n[0]]=void 0),e}var l=function(e){return String(Number(e))===e?Number(e):e},u=n(7893),s=RegExp.prototype.test.bind(/^([a-z])=(.*)/);t.parse=function(e){var t={},i=[],o=t;return e.split(/(\r\n|\r|\n)/).filter(s).forEach(function(e){var t=e[0],n=e.slice(2);"m"===t&&(i.push({rtp:[],fmtp:[]}),o=i[i.length-1]);for(var r=0;r<(u[t]||[]).length;r+=1){var s=u[t][r];if(s.reg.test(n))return a(s,o,n)}}),t.media=i,t};t.parseParams=function(e){return e.split(/;\s?/).reduce(r,{})},t.parseFmtpConfig=t.parseParams,t.parsePayloads=function(e){return e.toString().split(" ").map(Number)},t.parseRemoteCandidates=function(e){for(var t=[],n=e.split(" ").map(l),r=0;r<n.length;r+=3)t.push({component:n[r],ip:n[r+1],port:n[r+2]});return t},t.parseImageAttributes=function(e){return e.split(" ").map(function(e){return e.substring(1,e.length-1).split(",").reduce(r,{})})},t.parseSimulcastStreamList=function(e){return e.split(";").map(function(e){return e.split(",").map(function(e){var t,n=!1;return"~"!==e[0]?t=l(e):(t=l(e.substring(1,e.length)),n=!0),{scid:t,paused:n}})})}},2473:function(e,t,n){function i(e,t,n){var r=[e+"="+(t.format instanceof Function?t.format(t.push?n:n[t.name]):t.format)];if(t.names)for(var s=0;s<t.names.length;s+=1){var i=t.names[s];r.push(t.name?n[t.name][i]:n[t.names[s]])}else r.push(n[t.name]);return function(e){var n=1,r=arguments,s=r.length;return e.replace(a,function(e){if(s<=n)return e;var t=r[n];switch(n+=1,e){case"%%":return"%";case"%s":return String(t);case"%d":return Number(t);case"%v":return""}})}.apply(null,r)}var o=n(7893),a=/%[sdv%]/g,l=["v","o","s","i","u","e","p","c","b","t","r","z","a"],u=["i","c","b","a"];e.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach(function(e){null==e.payloads&&(e.payloads="")});var n=t.outerOrder||l,r=t.innerOrder||u,s=[];return n.forEach(function(n){o[n].forEach(function(t){t.name in e&&null!=e[t.name]?s.push(i(n,t,e)):t.push in e&&null!=e[t.push]&&e[t.push].forEach(function(e){s.push(i(n,t,e))})})}),e.media.forEach(function(e){s.push(i("m",o.m[0],e)),r.forEach(function(n){o[n].forEach(function(t){t.name in e&&null!=e[t.name]?s.push(i(n,t,e)):t.push in e&&null!=e[t.push]&&e[t.push].forEach(function(e){s.push(i(n,t,e))})})})}),s.join("\r\n")+"\r\n"}},962:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"MAX",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"v1ToV6",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"v6",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"v6ToV1",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"v7",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return m.default}});var r=g(n(4768)),s=g(n(8413)),i=g(n(7777)),o=g(n(2463)),a=g(n(3253)),l=g(n(3948)),u=g(n(4659)),c=g(n(970)),d=g(n(7401)),h=g(n(2752)),f=g(n(4736)),p=g(n(1527)),_=g(n(6838)),m=g(n(5830));function g(e){return e&&e.__esModule?e:{default:e}}},4768:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default="ffffffff-ffff-ffff-ffff-ffffffffffff"},2414:function(e,t){function d(e){return 14+(e+64>>>9<<4)+1}function h(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function a(e,t,n,r,s,i){return h((t=h(h(t,e),h(r,i)))<<s|t>>>32-s,n)}function f(e,t,n,r,s,i,o){return a(t&n|~t&r,e,t,s,i,o)}function p(e,t,n,r,s,i,o){return a(t&r|n&~r,e,t,s,i,o)}function _(e,t,n,r,s,i,o){return a(t^n^r,e,t,s,i,o)}function m(e,t,n,r,s,i,o){return a(n^(t|~r),e,t,s,i,o)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}for(var r=((e,t)=>{e[t>>5]|=128<<t%32,e[d(t)-1]=t;for(var n=1732584193,r=-271733879,s=-1732584194,i=271733878,o=0;o<e.length;o+=16){var a=n,l=r,u=s,c=i;n=f(n,r,s,i,e[o],7,-680876936),i=f(i,n,r,s,e[o+1],12,-389564586),s=f(s,i,n,r,e[o+2],17,606105819),r=f(r,s,i,n,e[o+3],22,-1044525330),n=f(n,r,s,i,e[o+4],7,-176418897),i=f(i,n,r,s,e[o+5],12,1200080426),s=f(s,i,n,r,e[o+6],17,-1473231341),r=f(r,s,i,n,e[o+7],22,-45705983),n=f(n,r,s,i,e[o+8],7,1770035416),i=f(i,n,r,s,e[o+9],12,-1958414417),s=f(s,i,n,r,e[o+10],17,-42063),r=f(r,s,i,n,e[o+11],22,-1990404162),n=f(n,r,s,i,e[o+12],7,1804603682),i=f(i,n,r,s,e[o+13],12,-40341101),s=f(s,i,n,r,e[o+14],17,-1502002290),r=f(r,s,i,n,e[o+15],22,1236535329),n=p(n,r,s,i,e[o+1],5,-165796510),i=p(i,n,r,s,e[o+6],9,-1069501632),s=p(s,i,n,r,e[o+11],14,643717713),r=p(r,s,i,n,e[o],20,-373897302),n=p(n,r,s,i,e[o+5],5,-701558691),i=p(i,n,r,s,e[o+10],9,38016083),s=p(s,i,n,r,e[o+15],14,-660478335),r=p(r,s,i,n,e[o+4],20,-405537848),n=p(n,r,s,i,e[o+9],5,568446438),i=p(i,n,r,s,e[o+14],9,-1019803690),s=p(s,i,n,r,e[o+3],14,-187363961),r=p(r,s,i,n,e[o+8],20,1163531501),n=p(n,r,s,i,e[o+13],5,-1444681467),i=p(i,n,r,s,e[o+2],9,-51403784),s=p(s,i,n,r,e[o+7],14,1735328473),r=p(r,s,i,n,e[o+12],20,-1926607734),n=_(n,r,s,i,e[o+5],4,-378558),i=_(i,n,r,s,e[o+8],11,-2022574463),s=_(s,i,n,r,e[o+11],16,1839030562),r=_(r,s,i,n,e[o+14],23,-35309556),n=_(n,r,s,i,e[o+1],4,-1530992060),i=_(i,n,r,s,e[o+4],11,1272893353),s=_(s,i,n,r,e[o+7],16,-155497632),r=_(r,s,i,n,e[o+10],23,-1094730640),n=_(n,r,s,i,e[o+13],4,681279174),i=_(i,n,r,s,e[o],11,-358537222),s=_(s,i,n,r,e[o+3],16,-722521979),r=_(r,s,i,n,e[o+6],23,76029189),n=_(n,r,s,i,e[o+9],4,-640364487),i=_(i,n,r,s,e[o+12],11,-421815835),s=_(s,i,n,r,e[o+15],16,530742520),r=_(r,s,i,n,e[o+2],23,-995338651),n=m(n,r,s,i,e[o],6,-198630844),i=m(i,n,r,s,e[o+7],10,1126891415),s=m(s,i,n,r,e[o+14],15,-1416354905),r=m(r,s,i,n,e[o+5],21,-57434055),n=m(n,r,s,i,e[o+12],6,1700485571),i=m(i,n,r,s,e[o+3],10,-1894986606),s=m(s,i,n,r,e[o+10],15,-1051523),r=m(r,s,i,n,e[o+1],21,-2054922799),n=m(n,r,s,i,e[o+8],6,1873313359),i=m(i,n,r,s,e[o+15],10,-30611744),s=m(s,i,n,r,e[o+6],15,-1560198380),r=m(r,s,i,n,e[o+13],21,1309151649),n=m(n,r,s,i,e[o+4],6,-145523070),i=m(i,n,r,s,e[o+11],10,-1120210379),s=m(s,i,n,r,e[o+2],15,718787259),r=m(r,s,i,n,e[o+9],21,-343485551),n=h(n,a),r=h(r,l),s=h(s,u),i=h(i,c)}return[n,r,s,i]})((e=>{if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(d(t)),r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n})(e),8*e.length),s=[],i=32*r.length,o="0123456789abcdef",a=0;a<i;a+=8){var l=r[a>>5]>>>a%32&255,l=parseInt(o.charAt(l>>>4&15)+o.charAt(15&l),16);s.push(l)}return s}},7167:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);t.default={randomUUID:n}},8413:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default="00000000-0000-0000-0000-000000000000"},7777:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(n=n(6838))&&n.__esModule?n:{default:n};t.default=function(e){var t,n;if((0,r.default)(e))return(n=new Uint8Array(16))[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n;throw TypeError("Invalid UUID")}},3541:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i},5175:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!n&&!(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(r)};var n,r=new Uint8Array(16)},4361:function(e,t){function S(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var s=0;s<r.length;++s)e.push(r.charCodeAt(s))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var i=e.length/4+2,o=Math.ceil(i/16),a=new Array(o),l=0;l<o;++l){for(var u=new Uint32Array(16),c=0;c<16;++c)u[c]=e[64*l+4*c]<<24|e[64*l+4*c+1]<<16|e[64*l+4*c+2]<<8|e[64*l+4*c+3];a[l]=u}a[o-1][14]=8*(e.length-1)/Math.pow(2,32),a[o-1][14]=Math.floor(a[o-1][14]),a[o-1][15]=8*(e.length-1)&4294967295;for(var d=0;d<o;++d){for(var h=new Uint32Array(80),f=0;f<16;++f)h[f]=a[d][f];for(var p=16;p<80;++p)h[p]=S(h[p-3]^h[p-8]^h[p-14]^h[p-16],1);for(var _=n[0],m=n[1],g=n[2],v=n[3],T=n[4],y=0;y<80;++y)var b=Math.floor(y/20),b=S(_,5)+((e,t,n,r)=>{switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}})(b,m,g,v)+T+t[b]+h[y]>>>0,T=v,v=g,g=S(m,30)>>>0,m=_,_=b;n[0]=n[0]+_>>>0,n[1]=n[1]+m>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+v>>>0,n[4]=n[4]+T>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}},2463:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=o;var r=(n=n(6838))&&n.__esModule?n:{default:n};for(var s=[],i=0;i<256;++i)s.push((i+256).toString(16).slice(1));function o(e,t=0){return(s[e[t+0]]+s[e[t+1]]+s[e[t+2]]+s[e[t+3]]+"-"+s[e[t+4]]+s[e[t+5]]+"-"+s[e[t+6]]+s[e[t+7]]+"-"+s[e[t+8]]+s[e[t+9]]+"-"+s[e[t+10]]+s[e[t+11]]+s[e[t+12]]+s[e[t+13]]+s[e[t+14]]+s[e[t+15]]).toLowerCase()}t.default=function(e,t=0){if(e=o(e,t),(0,r.default)(e))return e;throw TypeError("Stringified UUID is invalid")}},3253:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,c,d,h=(r=n(5175))&&r.__esModule?r:{default:r},f=n(2463);var p=0,_=0;t.default=function(e,t,n){var r=t&&n||0,s=t||new Array(16),i=(e=e||{}).node,n=e.clockseq,o=(e._v6||(i=i||c,null==n&&(n=d)),null!=i&&null!=n||(o=e.random||(e.rng||h.default)(),null==i&&(i=[o[0],o[1],o[2],o[3],o[4],o[5]],c||e._v6||(i[0]|=1,c=i)),null==n&&(n=16383&(o[6]<<8|o[7]),void 0!==d||e._v6||(d=n))),void 0!==e.msecs?e.msecs:Date.now()),a=void 0!==e.nsecs?e.nsecs:_+1,l=o-p+(a-_)/1e4;if(l<0&&void 0===e.clockseq&&(n=n+1&16383),1e4<=(a=(l<0||p<o)&&void 0===e.nsecs?0:a))throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");p=o,d=n,l=(1e4*(268435455&(o+=122192928e5))+(_=a))%4294967296,s[r++]=l>>>24&255,s[r++]=l>>>16&255,s[r++]=l>>>8&255,s[r++]=255&l,s[r++]=(e=o/4294967296*1e4&268435455)>>>8&255,s[r++]=255&e,s[r++]=e>>>24&15|16,s[r++]=e>>>16&255,s[r++]=n>>>8|128,s[r++]=255&n;for(var u=0;u<6;++u)s[r+u]=i[u];return t||(0,f.unsafeStringify)(s)}},3948:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(e=>Uint8Array.of((15&e[6])<<4|e[7]>>4&15,(15&e[7])<<4|(240&e[4])>>4,(15&e[4])<<4|(240&e[5])>>4,(15&e[5])<<4|(240&e[0])>>4,(15&e[0])<<4|(240&e[1])>>4,(15&e[1])<<4|(240&e[2])>>4,96|15&e[2],e[3],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]))("string"==typeof e?(0,r.default)(e):e);return"string"==typeof e?(0,s.unsafeStringify)(t):t};var r=(t=n(7777))&&t.__esModule?t:{default:t},s=n(2463)},4659:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n(4416)),n=s(n(2414));function s(e){return e&&e.__esModule?e:{default:e}}r=(0,r.default)("v3",48,n.default);t.default=r},4416:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,a,l){function t(e,t,n,r){var s;if("string"==typeof e&&(e=(e=>{e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t})(e)),16!==(null==(s=t="string"==typeof t?(0,c.default)(t):t)?void 0:s.length))throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var i=new Uint8Array(16+e.length);if(i.set(t),i.set(e,t.length),(i=l(i))[6]=15&i[6]|a,i[8]=63&i[8]|128,n){r=r||0;for(var o=0;o<16;++o)n[r+o]=i[o];return n}return(0,u.unsafeStringify)(i)}try{t.name=e}catch(e){}return t.DNS=r,t.URL=s,t};var u=n(2463),c=(n=n(7777))&&n.__esModule?n:{default:n};var r=t.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",s=t.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8"},970:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7167)),o=r(n(5175)),a=n(2463);function r(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,n){if(i.default.randomUUID&&!t&&!e)return i.default.randomUUID();var r=(e=e||{}).random||(e.rng||o.default)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var s=0;s<16;++s)t[n+s]=r[s];return t}return(0,a.unsafeStringify)(r)}},7401:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n(4416)),n=s(n(4361));function s(e){return e&&e.__esModule?e:{default:e}}r=(0,r.default)("v5",80,n.default);t.default=r},2752:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e={},t,n=0){var r=(0,o.default)(u(u({},e),{},{_v6:!0}),new Uint8Array(16));if(r=(0,a.default)(r),t){for(var s=0;s<16;s++)t[n+s]=r[s];return t}return(0,i.unsafeStringify)(r)};var i=n(2463),o=r(n(3253)),a=r(n(3948));function r(e){return e&&e.__esModule?e:{default:e}}function l(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function u(r){for(var e=1;e<arguments.length;e++){var s=null!=arguments[e]?arguments[e]:{};e%2?l(Object(s),!0).forEach(function(e){var t,n;t=r,n=s[e=e],(e=(e=>"symbol"==typeof(e=((e,t)=>{if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=typeof(n=n.call(e,t||"default")))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"))?e:e+"")(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(s)):l(Object(s)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(s,e))})}return r}},4736:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(e=>Uint8Array.of((15&e[3])<<4|e[4]>>4&15,(15&e[4])<<4|(240&e[5])>>4,(15&e[5])<<4|15&e[6],e[7],(15&e[1])<<4|(240&e[2])>>4,(15&e[2])<<4|(240&e[3])>>4,16|(240&e[0])>>4,(15&e[0])<<4|(240&e[1])>>4,e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]))("string"==typeof e?(0,r.default)(e):e);return"string"==typeof e?(0,s.unsafeStringify)(t):t};var r=(t=n(7777))&&t.__esModule?t:{default:t},s=n(2463)},1527:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,u=(r=n(5175))&&r.__esModule?r:{default:r},c=n(2463);var d=null,h=null,f=0;t.default=function(e,t,n){e=e||{};var n=t&&n||0,r=t||new Uint8Array(16),s=e.random||(e.rng||u.default)(),i=void 0!==e.msecs?e.msecs:Date.now(),o=void 0!==e.seq?e.seq:null,a=h,l=d;return f<i&&void 0===e.msecs&&(f=i,null!==o)&&(l=a=null),null!==o&&(a=(o=2147483647<o?2147483647:o)>>>19&4095,l=524287&o),null!==a&&null!==l||(a=(a=127&s[6])<<8|s[7],l=(l=(l=63&s[8])<<8|s[9])<<5|s[10]>>>3),f<i+1e4&&null===o?524287<++l&&(l=0,4095<++a)&&(a=0,f++):f=i,h=a,d=l,r[n++]=f/1099511627776&255,r[n++]=f/4294967296&255,r[n++]=f/16777216&255,r[n++]=f/65536&255,r[n++]=f/256&255,r[n++]=255&f,r[n++]=a>>>4&15|112,r[n++]=255&a,r[n++]=l>>>13&63|128,r[n++]=l>>>5&255,r[n++]=l<<3&255|7&s[10],r[n++]=s[11],r[n++]=s[12],r[n++]=s[13],r[n++]=s[14],r[+n]=s[15],t||(0,c.unsafeStringify)(r)}},6838:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(n=n(3541))&&n.__esModule?n:{default:n};t.default=function(e){return"string"==typeof e&&r.default.test(e)}},5830:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(n=n(6838))&&n.__esModule?n:{default:n};t.default=function(e){if((0,r.default)(e))return parseInt(e.slice(14,15),16);throw TypeError("Invalid UUID")}},3422:function(e,t,n){var r=n(8569),s=r(n(2942)),i=r(n(8408)),o=n(8878),a="SIP_MIX";function l(e){"undefined"!=typeof window&&window.CustomEvent&&(e=new CustomEvent("__AppLog",{detail:e}),document.dispatchEvent(e))}e.exports=(()=>(0,i.default)(function e(r){(0,s.default)(this,e),r?(this._debug=o.default("".concat(a,":").concat(r)),this._warn=o.default("".concat(a,":WARN:").concat(r)),this._error=o.default("".concat(a,":ERROR:").concat(r))):(this._debug=o.default(a),this._warn=o.default("".concat(a,":WARN")),this._error=o.default("".concat(a,":ERROR"))),this._debug.log=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];console.info.apply(console,t),l({type:"info",app:a,prefix:r,args:t})},this._warn.log=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];console.warn.apply(console,t),l({type:"warn",app:a,prefix:r,args:t})},this._error.log=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];console.error.apply(console,t),l({type:"error",app:a,prefix:r,args:t})}},[{key:"debug",get:function(){return this._debug}},{key:"warn",get:function(){return this._warn}},{key:"error",get:function(){return this._error}}]))()},604:function(e,t,n){var r=n(8569),i=(Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(n(2942))),o=r(n(8408)),a=r(n(6759)),l=r(n(9165)),u=r(n(5878)),s=n(9032),c=r(n(9896)),d=r(n(8239)),h=r(n(7196));r=(e=>{function s(e){var t,n,r;return(0,i.default)(this,s),t=this,n=s,n=(0,l.default)(n),(n=(0,a.default)(t,(()=>{if("undefined"!=typeof Reflect&&Reflect.construct&&!Reflect.construct.sham){if("function"==typeof Proxy)return 1;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}}})()?Reflect.construct(n,r||[],(0,l.default)(t).constructor):n.apply(t,r)))._session=e,n._direction=null,n._contentType=null,n._body=null,n}return(0,u.default)(s,e),(0,o.default)(s,[{key:"contentType",get:function(){return this._contentType}},{key:"body",get:function(){return this._body}},{key:"send",value:function(e,t){var n=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};if(this._direction="outgoing",void 0===e)throw new TypeError("Not enough arguments");if(this._session.status!==this._session.C.STATUS_CONFIRMED&&this._session.status!==this._session.C.STATUS_WAITING_FOR_ACK)throw new d.default.InvalidStateError(this._session.status);this._contentType=e,this._body=t;var s=h.default.cloneArray(r.extraHeaders);s.push("Content-Type: ".concat(e)),this._session.newMessage({originator:"local",info:this,request:this.request}),this._session.sendRequest(c.default.MESSAGE,{extraHeaders:s,eventHandlers:{onSuccessResponse:function(e){n.emit("succeeded",{originator:"remote",response:e}),r.eventHandlers&&"function"==typeof r.eventHandlers.succeeded&&r.eventHandlers.succeeded({originator:"remote",response:e})},onErrorResponse:function(e){n.emit("failed",{originator:"remote",response:e}),r.eventHandlers&&"function"==typeof r.eventHandlers.failed&&r.eventHandlers.failed({originator:"remote",response:e})},onTransportError:function(){n._session.onTransportError()},onRequestTimeout:function(){n._session.onRequestTimeout()},onDialogError:function(){n._session.onDialogError()}},body:t})}},{key:"init_incoming",value:function(e){this._direction="incoming",(this.request=e).reply(200),this._contentType=e.hasHeader("Content-Type")?e.getHeader("Content-Type").toLowerCase():void 0,this._body=e.body,this._session.newMessage({originator:"remote",info:this,request:e})}}])})(s.EventEmitter);t.default=r;e.exports=t.default},1521:function(e,t,n){var r=n(8569),i=(Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(n(2942))),o=r(n(8408)),a=r(n(6759)),l=r(n(9165)),u=r(n(5878)),s=n(9032),c=r(n(5409)),d=r(n(9896)),h=r(n(2602)),f=r(n(7196)),p=r(n(5117)),_=r(n(8239)),m=r(n(2517));var g=new c.default("Subscribe");t.default=(e=>{function s(e){var t,n,r;return(0,i.default)(this,s),t=this,n=s,n=(0,l.default)(n),(n=(0,a.default)(t,(()=>{if("undefined"!=typeof Reflect&&Reflect.construct&&!Reflect.construct.sham){if("function"==typeof Proxy)return 1;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}}})()?Reflect.construct(n,r||[],(0,l.default)(t).constructor):n.apply(t,r)))._ua=e,n._request=null,n._closed=!1,n._direction=null,n._local_identity=null,n._remote_identity=null,n._is_replied=!1,n._data={},n}return(0,u.default)(s,e),(0,o.default)(s,[{key:"direction",get:function(){return this._direction}},{key:"local_identity",get:function(){return this._local_identity}},{key:"remote_identity",get:function(){return this._remote_identity}},{key:"send",value:function(e,t){var n=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},s=e;if(void 0===e)throw new TypeError("A target is required for SUBSCRIBE");if(!(e=this._ua.normalizeTarget(e)))throw new TypeError("Invalid target: ".concat(s));var i,s=f.default.cloneArray(r.extraHeaders),o=f.default.cloneObject(r.eventHandlers);for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&this.on(i,o[i]);r=this._ua.contact.toString({anonymous:!1,outbound:!0}),s.push("Contact: ".concat(r)),this._request=new h.default.OutgoingRequest(d.default.SUBSCRIBE,e,this._ua,null,s),t&&(this._request.body=t),r=new p.default(this._ua,this._request,{onRequestTimeout:function(){n._onRequestTimeout()},onTransportError:function(){n._onTransportError()},onReceiveResponse:function(e){n._receiveResponse(e)}});this._newSubscribe("local",this._request),r.send()}},{key:"init_incoming",value:function(e){this._request=e,this._newSubscribe("remote",e),this._is_replied||(this._is_replied=!0,e.reply(200)),this._close()}},{key:"accept",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=f.default.cloneArray(e.extraHeaders),e=e.body;if("incoming"!==this._direction)throw new _.default.NotSupportedError('"accept" not supported for outgoing Options');if(this._is_replied)throw new Error("incoming Options already replied");this._is_replied=!0,this._request.reply(200,null,t,e)}},{key:"reject",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.status_code||480,n=e.reason_phrase,r=f.default.cloneArray(e.extraHeaders),e=e.body;if("incoming"!==this._direction)throw new _.default.NotSupportedError('"reject" not supported for outgoing Options');if(this._is_replied)throw new Error("incoming Options already replied");if(t<300||700<=t)throw new TypeError("Invalid status_code: ".concat(t));this._is_replied=!0,this._request.reply(t,n,r,e)}},{key:"_receiveResponse",value:function(e){if(!this._closed)switch(!0){case/^1[0-9]{2}$/.test(e.status_code):break;case/^2[0-9]{2}$/.test(e.status_code):this._succeeded("remote",e);break;default:var t=f.default.sipErrorCause(e.status_code);this._failed("remote",e,t)}}},{key:"_onRequestTimeout",value:function(){this._closed||this._failed("system",null,d.default.causes.REQUEST_TIMEOUT)}},{key:"_onTransportError",value:function(){this._closed||this._failed("system",null,d.default.causes.CONNECTION_ERROR)}},{key:"_close",value:function(){this._closed=!0,this._ua.destroyMessage(this)}},{key:"_newSubscribe",value:function(e,t){"remote"===e?(this._direction="incoming",this._local_identity=t.to,this._remote_identity=t.from):"local"===e&&(this._direction="outgoing",this._local_identity=t.from,this._remote_identity=t.to)}},{key:"_failed",value:function(e,t,n){g.debug("SUBSCRIBE failed"),this._close(),g.debug('emit "failed"'),this.emit("failed",{originator:e,response:t||null,cause:n})}},{key:"_succeeded",value:function(e,t){g.debug("SUBSCRIBE succeeded");var n=new m.default(this,t,"UAC",m.default.C.STATUS_CONFIRMED);this._ua.newDialog(n),g.debug('emit "succeeded"'),this.emit("succeeded",{originator:e,response:t})}},{key:"receiveRequest",value:function(e){this.emit("notify",e),e.reply(200)}}])})(s.EventEmitter);e.exports=t.default},3897:function(e,t,n){var r=n(8569),i=(Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(n(5117))),o=r(n(2517)),s=r(n(7356)),a=r(n(604)),l=r(n(1521)),u=r(n(4524)),c=r(n(5409)),C=r(n(7196)),E=r(n(8239)),A=r(n(9896)),f=r(n(7019)),p=r(n(2602));function w(e,t){var n,r,s,i,o="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(o)return r=!(n=!0),{s:function(){o=o.call(e)},n:function(){var e=o.next();return n=e.done,e},e:function(e){r=!0,s=e},f:function(){try{n||null==o.return||o.return()}finally{if(r)throw s}}};if(Array.isArray(e)||(o=((e,t)=>{var n;if(e)return"string"==typeof e?d(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0})(e))||t&&e&&"number"==typeof e.length)return o&&(e=o),i=0,{s:t=function(){},n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var R=new c.default("SIP_MIX:Patch"),I=s.default.C;p.default.OutgoingRequest.prototype.toString=function(){var e,t="".concat(this.method," ").concat(this.ruri," SIP/2.0\r\n");for(e in this.headers)if(Object.prototype.hasOwnProperty.call(this.headers,e)){var n,r=w(this.headers[e]);try{for(r.s();!(n=r.n()).done;){var s=n.value;t+="".concat(e,": ").concat(s,"\r\n")}}catch(e){r.e(e)}finally{r.f()}}var i,o=w(this.extraHeaders);try{for(o.s();!(i=o.n()).done;){var a=i.value;t+="".concat(a.trim(),"\r\n")}}catch(e){o.e(e)}finally{o.f()}var l=[];switch(this.method){case A.default.REGISTER:l.push("path","gruu");break;case A.default.INVITE:this.ua.configuration.session_timers&&l.push("timer"),(this.ua.contact.pub_gruu||this.ua.contact.temp_gruu)&&l.push("gruu"),l.push("ice","replaces");break;case A.default.UPDATE:this.ua.configuration.session_timers&&l.push("timer"),l.push("ice")}l.push("outbound"),l.push("ccinfo");var u=this.ua.configuration.user_agent||A.default.USER_AGENT;return t=(t=(t+="Allow: ".concat(A.default.ALLOWED_METHODS,"\r\n"))+"Supported: ".concat(l,"\r\n"))+"User-Agent: ".concat(u,"\r\n"),this.body?(u=C.default.str_utf8_length(this.body),t=(t+="Content-Length: ".concat(u,"\r\n\r\n"))+this.body):t+="Content-Length: 0\r\n\r\n",t},u.default.Utils.isFunction=function(e){return void 0!==e&&("[object Function]"===Object.prototype.toString.call(e)||"[object AsyncFunction]"===Object.prototype.toString.call(e))},s.default.prototype.connect=function(e){var t,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=2<arguments.length?arguments[2]:void 0,s=(R.debug("connect()"),e),i=C.default.cloneObject(n.eventHandlers),o=C.default.cloneArray(n.extraHeaders),a=C.default.cloneObject(n.mediaConstraints,{audio:!0,video:!0}),l=n.mediaStream||null,u=C.default.cloneObject(n.pcConfig,{iceServers:[]}),c=n.rtcConstraints||null,d=n.rtcOfferConstraints||null;if(this._rtcOfferConstraints=d,this._rtcAnswerConstraints=n.rtcAnswerConstraints||null,this._data=n.data||this._data,void 0===e)throw new TypeError("Not enough arguments");if(this._status!==I.STATUS_NULL)throw new E.default.InvalidStateError(this._status);if("undefined"!=typeof window){if(!window.RTCPeerConnection)throw new E.default.NotSupportedError("WebRTC not supported")}else if("undefined"!=typeof wx&&wx.canIUse){if(!wx.canIUse("live-player"))throw new E.default.NotSupportedError("live-player not supported");if(!wx.canIUse("live-pusher"))throw new E.default.NotSupportedError("live-pusher not supported")}if(!(e=this._ua.normalizeTarget(e)))throw new TypeError("Invalid target: ".concat(s));for(t in this._sessionTimers.enabled&&C.default.isDecimal(n.sessionTimersExpires)&&(n.sessionTimersExpires>=A.default.MIN_SESSION_EXPIRES?this._sessionTimers.defaultExpires=n.sessionTimersExpires:this._sessionTimers.defaultExpires=A.default.SESSION_EXPIRES),i)Object.prototype.hasOwnProperty.call(i,t)&&this.on(t,i[t]);this._from_tag=C.default.newTag();var s=n.anonymous||!1,h={from_tag:this._from_tag};this._contact=this._ua.contact.toString({anonymous:s,outbound:!0}),s?(h.from_display_name="Anonymous",h.from_uri=new f.default("sip","anonymous","anonymous.invalid"),o.push("P-Preferred-Identity: ".concat(this._ua.configuration.uri.toString())),o.push("Privacy: id")):n.fromUserName&&(h.from_uri=new f.default("sip",n.fromUserName,this._ua.configuration.uri.host),o.push("P-Preferred-Identity: ".concat(this._ua.configuration.uri.toString()))),n.fromDisplayName&&(h.from_display_name=n.fromDisplayName),o.push("Contact: ".concat(this._contact)),"webrtc"===n.mediaType&&o.push("Content-Type: application/sdp"),this._sessionTimers.enabled&&o.push("Session-Expires: ".concat(this._sessionTimers.defaultExpires).concat(this._ua.configuration.session_timers_force_refresher?";refresher=uac":"")),n.intercom&&e.setParam("intercom","true"),this._request=new p.default.InitialOutgoingInviteRequest(e,this._ua,h,o),this._id=this._request.call_id+this._from_tag,"webrtc"===n.mediaType&&this._createRTCConnection(u,c),this._direction="outgoing",this._local_identity=this._request.from,this._remote_identity=this._request.to,r&&r(this),this._mediaType=n.mediaType,this._newRTCSession("local",this._request),this._sendInitialRequest(a,d,l)},s.default.prototype._sendInitialRequest=function(e,n,t){var r=this,s=new i.default(this._ua,this._request,{onRequestTimeout:function(){r.onRequestTimeout()},onTransportError:function(){r.onTransportError()},onAuthenticated:function(e){r._request=e},onReceiveResponse:function(e){r._receiveInviteResponse(e)}});"webrtc"===this._mediaType?Promise.resolve().then(function(){return t||(e.audio||e.video?(r._localMediaStreamLocallyGenerated=!0,navigator.mediaDevices.getUserMedia(e).catch(function(e){if(r._status===I.STATUS_TERMINATED)throw new Error("terminated");throw r._failed("local",null,A.default.causes.USER_DENIED_MEDIA_ACCESS),R.warn('emit "getusermediafailed" [error:%o]',e),r.emit("getusermediafailed",e),e})):void 0)}).then(function(t){if(r._status===I.STATUS_TERMINATED)throw new Error("terminated");return(r._localMediaStream=t)&&t.getTracks().forEach(function(e){r._connection.addTrack(e,t)}),e._recvVideoOnly&&r._connection.getTransceivers().forEach(function(e){e.direction="recvonly"}),r._connecting(r._request),r._createLocalDescription("offer",n).catch(function(e){throw r._failed("local",null,A.default.causes.WEBRTC_ERROR),e})}).then(function(e){if(r._is_canceled||r._status===I.STATUS_TERMINATED)throw new Error("terminated");r._request.body=e,r._status=I.STATUS_INVITE_SENT,R.debug('emit "sending" [request:%o]',r._request),r.emit("sending",{request:r._request}),s.send()}).catch(function(e){r._status!==I.STATUS_TERMINATED&&R.warn(e)}):("control"===this._data._localParams.mediaType&&this._data._localParams.content?this._request.body=this._data._localParams.content:this._request.body="",this._status=I.STATUS_INVITE_SENT,R.debug('emit "sending" [request:%o]',this._request),this.emit("sending",{request:this._request}),s.send())},s.default.prototype._receiveInviteResponse=function(t){var e,n,r,s=this;if(R.debug("receiveInviteResponse()"),this._dialog&&200<=t.status_code&&t.status_code<=299)return this._dialog.id.call_id===t.call_id&&this._dialog.id.local_tag===t.from_tag&&this._dialog.id.remote_tag===t.to_tag?void this.sendRequest(A.default.ACK):void 0!==(e=new o.default(this,t,"UAC")).error?void R.debug(e.error):(this.sendRequest(A.default.ACK),void this.sendRequest(A.default.BYE));if(this._is_canceled)100<=t.status_code&&t.status_code<200?this._request.cancel(this._cancel_reason):200<=t.status_code&&t.status_code<299&&this._acceptAndTerminate(t);else if(this._status===I.STATUS_INVITE_SENT||this._status===I.STATUS_1XX_RECEIVED)switch(!0){case/^100$/.test(t.status_code):this._status=I.STATUS_1XX_RECEIVED;break;case/^1[0-9]{2}$/.test(t.status_code):t.to_tag?t.hasHeader("contact")&&!this._createDialog(t,"UAC",!0)||(this._status=I.STATUS_1XX_RECEIVED,t.body?"webrtc"===this._mediaType&&(i={originator:"remote",type:"answer",sdp:t.body},R.debug('emit "sdp"'),this.emit("sdp",i),n=new RTCSessionDescription({type:"answer",sdp:i.sdp}),this._connectionPromiseQueue=this._connectionPromiseQueue.then(function(){return s._connection.setRemoteDescription(n)}).then(function(){return s._progress("remote",t)}).catch(function(e){R.warn('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),s.emit("peerconnection:setremotedescriptionfailed",e)})):this._progress("remote",t)):R.debug("1xx response received without to tag");break;case/^2[0-9]{2}$/.test(t.status_code):(this._status=I.STATUS_CONFIRMED,"webrtc"!==this._mediaType||t.body)?this._createDialog(t,"UAC")&&("webrtc"===this._mediaType?(i={originator:"remote",type:"answer",sdp:t.body},R.debug('emit "sdp"'),this.emit("sdp",i),r=new RTCSessionDescription({type:"answer",sdp:i.sdp}),this._connectionPromiseQueue=this._connectionPromiseQueue.then(function(){if("stable"===s._connection.signalingState)return s._connection.createOffer(s._rtcOfferConstraints).then(function(e){return s._connection.setLocalDescription(e)}).catch(function(e){s._acceptAndTerminate(t,500,e.toString()),s._failed("local",t,A.default.causes.WEBRTC_ERROR)})}).then(function(){s._connection.setRemoteDescription(r).then(function(){s._handleSessionTimersInIncomingResponse(t),s._accepted("remote",t),s.sendRequest(A.default.ACK),s._confirmed("local",null)}).catch(function(e){s._acceptAndTerminate(t,488,"Not Acceptable Here"),s._failed("remote",t,A.default.causes.BAD_MEDIA_DESCRIPTION),R.warn('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),s.emit("peerconnection:setremotedescriptionfailed",e)})})):(this._handleSessionTimersInIncomingResponse(t),this._accepted("remote",t),this.sendRequest(A.default.ACK),this._confirmed("local",null))):(this._acceptAndTerminate(t,400,A.default.causes.MISSING_SDP),this._failed("remote",t,A.default.causes.BAD_MEDIA_DESCRIPTION));break;default:var i=C.default.sipErrorCause(t.status_code);this._failed("remote",t,i)}},s.default.prototype._createDialog=function(e,t,n){var r="UAS"===t?e.to_tag:e.from_tag,s="UAS"===t?e.from_tag:e.to_tag,r=e.call_id+r+s,s=this._earlyDialogs[r];return n?!!s||((s=new o.default(this,e,t,o.default.C.STATUS_EARLY)).error?(R.debug(s.error),this._failed("remote",e,A.default.causes.INTERNAL_ERROR),!1):(this._earlyDialogs[r]=s,!0)):(this._from_tag=e.from_tag,this._to_tag=e.to_tag,s?(s.update(e,t),this._dialog=s,delete this._earlyDialogs[r],!0):(n=new o.default(this,e,t)).error?(R.debug(n.error),this._failed("remote",e,A.default.causes.INTERNAL_ERROR),!1):(this._dialog=n,!0))},s.default.prototype.newMessage=function(e){R.debug("newMessage()"),this.emit("newMessage",e)},s.default.prototype.sendMessage=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};if(R.debug("sendMessage()[InnerSession]"),this._status!==I.STATUS_CONFIRMED&&this._status!==I.STATUS_WAITING_FOR_ACK&&this._status!==I.STATUS_1XX_RECEIVED)throw new E.default.InvalidStateError(this._status);new a.default(this).send(e,t,n)},s.default.prototype.answer=function(){var n=this,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},r=(R.debug("answer()"),this._request),t=C.default.cloneArray(e.extraHeaders),s=C.default.cloneObject(e.mediaConstraints),i=e.mediaStream||null,o=C.default.cloneObject(e.pcConfig,{iceServers:[]}),a=e.rtcConstraints||null,l=e.rtcAnswerConstraints||null,u=C.default.cloneObject(e.rtcOfferConstraints),c=!1,d=!1,h=!1,f=!1;if(this._rtcAnswerConstraints=l,this._rtcOfferConstraints=e.rtcOfferConstraints||null,this._data=e.data||this._data,"incoming"!==this._direction)throw new E.default.NotSupportedError('"answer" not supported for outgoing RTCSession');if(this._status!==I.STATUS_WAITING_FOR_ANSWER)throw new E.default.InvalidStateError(this._status);if(this._sessionTimers.enabled&&C.default.isDecimal(e.sessionTimersExpires)&&(e.sessionTimersExpires>=A.default.MIN_SESSION_EXPIRES?this._sessionTimers.defaultExpires=e.sessionTimersExpires:this._sessionTimers.defaultExpires=A.default.SESSION_EXPIRES),this._status=I.STATUS_ANSWERED,this._createDialog(r,"UAS"))if(clearTimeout(this._timers.userNoAnswerTimer),t.unshift("Contact: ".concat(this._contact)),this._mediaType=e.mediaType,"webrtc"===this._mediaType){var p,e=r.parseSDP(),_=(Array.isArray(e.media)||(e.media=[e.media]),w(e.media));try{for(_.s();!(p=_.n()).done;){var m=p.value;"audio"===m.type&&(c=!0,m.direction&&"sendrecv"!==m.direction||(h=!0)),"video"===m.type&&(d=!0,m.direction&&"sendrecv"!==m.direction||(f=!0))}}catch(e){_.e(e)}finally{_.f()}if(i&&!1===s.audio){var g,v=w(i.getAudioTracks());try{for(v.s();!(g=v.n()).done;){var T=g.value;i.removeTrack(T)}}catch(e){v.e(e)}finally{v.f()}}if(i&&!1===s.video){var y,b=w(i.getVideoTracks());try{for(b.s();!(y=b.n()).done;){var S=y.value;i.removeTrack(S)}}catch(e){b.e(e)}finally{b.f()}}i||void 0!==s.audio||(s.audio=h),i||void 0!==s.video||(s.video=f),i||c||u.offerToReceiveAudio||(s.audio=!1),i||d||u.offerToReceiveVideo||(s.video=!1),this._createRTCConnection(o,a),Promise.resolve().then(function(){return i||(s.audio||s.video?(n._localMediaStreamLocallyGenerated=!0,navigator.mediaDevices.getUserMedia(s).catch(function(e){if(n._status===I.STATUS_TERMINATED)throw new Error("terminated");throw r.reply(480),n._failed("local",null,A.default.causes.USER_DENIED_MEDIA_ACCESS),R.warn('emit "getusermediafailed" [error:%o]',e),n.emit("getusermediafailed",e),new Error("getUserMedia() failed")})):void 0)}).then(function(t){if(n._status===I.STATUS_TERMINATED)throw new Error("terminated");(n._localMediaStream=t)&&t.getTracks().forEach(function(e){n._connection.addTrack(e,t)})}).then(function(){var e,t;if(!n._late_sdp)return e={originator:"remote",type:"offer",sdp:r.body},R.debug('emit "sdp"'),n.emit("sdp",e),t=new RTCSessionDescription({type:"offer",sdp:e.sdp}),n._connectionPromiseQueue=n._connectionPromiseQueue.then(function(){return n._connection.setRemoteDescription(t)}).catch(function(e){throw r.reply(488),n._failed("system",null,A.default.causes.WEBRTC_ERROR),R.warn('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),n.emit("peerconnection:setremotedescriptionfailed",e),new Error("peerconnection.setRemoteDescription() failed")}),n._connectionPromiseQueue}).then(function(){if(n._status===I.STATUS_TERMINATED)throw new Error("terminated");return n._connecting(r),(n._late_sdp?n._createLocalDescription("offer",n._rtcOfferConstraints):n._createLocalDescription("answer",l)).catch(function(){throw r.reply(500),new Error("_createLocalDescription() failed")})}).then(function(e){if(n._status===I.STATUS_TERMINATED)throw new Error("terminated");n._handleSessionTimersInIncomingRequest(r,t),r.reply(200,null,t,e,function(){n._status=I.STATUS_WAITING_FOR_ACK,n._setInvite2xxTimer(r,e),n._setACKTimer(),n._accepted("local")},function(){n._failed("system",null,A.default.causes.CONNECTION_ERROR)})}).catch(function(e){n._status!==I.STATUS_TERMINATED&&R.warn(e)})}else{if(this._status===I.STATUS_TERMINATED)throw new Error("terminated");this._handleSessionTimersInIncomingRequest(r,t),r.reply(200,null,t,"",function(){n._status=I.STATUS_WAITING_FOR_ACK,n._setInvite2xxTimer(r,""),n._setACKTimer(),n._accepted("local")},function(){n._failed("system",null,A.default.causes.CONNECTION_ERROR)})}else r.reply(500,"Error creating dialog")},s.default.prototype._receiveReinvite=function(r){var t=this,e=(R.debug("receiveReinvite()"),r.hasHeader("Content-Type")?r.getHeader("Content-Type").toLowerCase():void 0),s={request:r,callback:void 0,reject:o.bind(this),delay:function(){return n=!0,{reject:o.bind(this),accept:a.bind(this)}}.bind(this)},i=!1,n=!1;function o(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=(i=!0,e.status_code||403),n=e.reason_phrase||"",e=C.default.cloneArray(e.extraHeaders);if(this._status!==I.STATUS_CONFIRMED)return!1;if(t<300||700<=t)throw new TypeError("Invalid status_code: ".concat(t));r.reply(t,n,e)}function a(){var t=this;this._processInDialogSdpOffer(r).then(function(e){t._status!==I.STATUS_TERMINATED&&l.call(t,e)}).catch(function(e){R.warn(e)})}function l(e){var t=this,n=["Contact: ".concat(this._contact)];this._handleSessionTimersInIncomingRequest(r,n),this._late_sdp&&(e=this._mangleOffer(e)),r.reply(200,null,n,e,function(){t._status=I.STATUS_WAITING_FOR_ACK,t._setInvite2xxTimer(r,e),t._setACKTimer()}),"function"==typeof s.callback&&s.callback()}this.emit("reinvite",s),i||(this._late_sdp=!1,r.body?"application/sdp"!==e?(R.debug("invalid Content-Type"),r.reply(415)):n||a():(this._late_sdp=!0,this._remoteHold&&(this._remoteHold=!1,this._onunhold("remote")),"webrtc"===this._mediaType?this._connectionPromiseQueue=this._connectionPromiseQueue.then(function(){return t._createLocalDescription("offer",t._rtcOfferConstraints)}).then(function(e){l.call(t,e)}).catch(function(){r.reply(500)}):(this._late_sdp=!1,Promise.resolve().then(function(){l.call(t,"")}))))},s.default.prototype.renegotiate=function(){var e,t=this,n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},r=1<arguments.length?arguments[1]:void 0,s=(R.debug("renegotiate()"),n.rtcOfferConstraints||null);return!(this._status!==I.STATUS_WAITING_FOR_ACK&&this._status!==I.STATUS_CONFIRMED||!this._isReadyToReOffer()||(e={succeeded:function(){var e;null!=(e=n.eventHandlers)&&e.succeeded&&n.eventHandlers.succeeded(),r&&r()},failed:function(){var e;null!=(e=n.eventHandlers)&&e.failed?n.eventHandlers.failed():t.terminate({cause:A.default.causes.WEBRTC_ERROR,status_code:500,reason_phrase:"Media Renegotiation Failed"})}},this._setLocalMediaStatus(),n.useUpdate?this._sendUpdate({sdpOffer:!0,eventHandlers:e,rtcOfferConstraints:s,extraHeaders:n.extraHeaders}):this._sendReinvite({eventHandlers:e,rtcOfferConstraints:s,extraHeaders:n.extraHeaders}),0))},u.default.UA.prototype.sendSubscribe=function(e,t,n){R.debug("sendSubscribe()");var r=new l.default(this);return r.send(e,t,n),r};t.default=u.default;e.exports=t.default},4433:function(e,t,n){var r=n(8569),s=(Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(n(9844))),u=r(n(2942)),i=r(n(8408)),c=r(n(6759)),d=r(n(9165)),o=r(n(5878)),h=r(n(4728)),a=r(n(4143)),f=n(7667),l=r(n(5409)),p=r(n(8844));function _(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}var m=["P-CIN-CallId","P-CIN-Service","P-CIN-Identity","Agora-Info","User-Agent","Allow","CSeq","Call-ID","Content-Type","Content-Length","From","To","Max-Forwards","Min-Se","Via","Session-Expires","Supported","Contact"].map(function(e){return e.toLowerCase()}),g=new l.default("SIP_MIX"),r=(e=>{function l(){var e,t,n,r=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},s=r.domain,i=r.port,i=void 0===i?5049:i,o=r.path,o=void 0===o?"webcall":o,a=r.autoRecovery,a=void 0!==a&&a,r=r.singleCallMode,r=void 0!==r&&r;return(0,u.default)(this,l),e=this,t=l,t=(0,d.default)(t),t=(0,c.default)(e,(()=>{if("undefined"!=typeof Reflect&&Reflect.construct&&!Reflect.construct.sham){if("function"==typeof Proxy)return 1;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}}})()?Reflect.construct(t,n||[],(0,d.default)(e).constructor):t.apply(e,n)),(0,h.default)(t,"domain",void 0),(0,h.default)(t,"port",void 0),(0,h.default)(t,"path",void 0),(0,h.default)(t,"socket",void 0),(0,h.default)(t,"ua",void 0),t.name="SipMix",t.domain=s,t.port=i,t.path=o,t.ua=null,t.socket=null,t.deviceId="H5User",t._subscribe={},t._mediaSDKAppId="",t._defaultSessionExpires=100,t._autoRecovery=a,t._sipOptionHandler=-1,t._recoveryCache=[],t.singleCallMode=!!r,t}return(0,o.default)(l,e),(0,i.default)(l,[{key:"setMediaSDKAppId",value:function(){this._mediaSDKAppId=0<arguments.length&&void 0!==arguments[0]?arguments[0]:""}},{key:"start",value:function(e,t,n){var r=this,s=e.deviceId,i=e.password,o=e.register,o=void 0!==o&&o,e=e.debug,e=void 0!==e&&e,s=(this.deviceId=void 0===s?"H5User":s,"wss://".concat(this.domain,":").concat(this.port).concat(this.path?"/"+this.path:"")),a="sip:".concat(this.deviceId,"@").concat(this.domain,":").concat(this.port),e=(this.ua&&(this.ua.removeAllListeners(),this.ua.stop(),this.ua=null,this.socket=null),e?t.debug.enable("SIP_MIX:*"):t.debug.disable(),this.socket=new t.WebSocketInterface(s),this.socket.errorHandler=function(e){r.emit("socketError",e)},{sockets:this.socket,uri:a,display_name:this.deviceId,authorization_user:this.deviceId,password:i,register:o,user_agent:n,session_timers_force_refresher:!0}),s=(this._autoRecovery&&(e.connection_recovery_max_interval=1,e.connection_recovery_min_interval=1),new t.UA(e));s.on("connecting",function(){return r.emit("connecting")}),s.on("connected",function(){r.emit("connected"),r._autoRecovery&&(r._startSendOptions(),0<r._recoveryCache.length)&&(r._recoveryCache.forEach(function(e){var t=e.params;r._call(t,e.id,e.callId)}),r._recoveryCache.length=0)}),s.on("disconnected",function(){r._autoRecovery&&(r._stopSendOptions(),r._refreshSessions()),r.emit("disconnected")}),s.on("registered",function(){return r.emit("registered")}),s.on("unregistered",function(e){e=e.cause;return r.emit("unregistered",e)}),s.on("registrationFailed",function(e){e=e.cause;return r.emit("registrationFailed",e)}),s.on("newRTCSession",this._onNewRTCSession.bind(this)),s.on("newMessage",this._onNewMessage.bind(this)),s.on("sipEvent",function(e){return r.emit("sipEvent",e)}),(this.ua=s).start()}},{key:"stop",value:function(){var e;null!=(e=this.ua)&&e.stop()}},{key:"_call",value:function(e){var t=e.target,e=e.options,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;return this._autoRecovery&&(e.data._callParams=(0,f.deepClone)({target:t,options:e}),e.data._oldSessionId=n||"",r)&&(e.extraHeaders=e.extraHeaders||[],-1<(n=e.extraHeaders.findIndex(function(e){return e.startsWith("P-CIN-RECONNECT:")}))&&e.extraHeaders.splice(n,1),e.extraHeaders.push("P-CIN-RECONNECT: ".concat(r))),this.ua.call(t,e)}},{key:"_paramsToObject",value:function(e){var e=e.split("-"),e=(0,s.default)(e,9),t=e[0],n=e[3],r=e[8];return{appId:e[1],channel:e[2],userId:t.startsWith("agora")?parseInt(n):n,token:t.startsWith("trtc")?(0,f.base64Decode)(r):r,audio:!0,video:t.endsWith("video")}}},{key:"_updateSessionData",value:function(n,e){var r,t,s,i,o;n&&(r={},Object.keys(n.headers).forEach(function(e){var t=n.getHeaders(e);r[e.toUpperCase()]=1<t.length?t:t[0]}),t=r["P-CIN-CALLID"],s=r["P-CIN-IDENTITY"],i=r["AGORA-INFO"],o=r["USER-AGENT"],t&&(e.data._eventData.callId=t),s&&(e.data._eventData.agentId=s),i&&(e.data._eventData.sdkParams=this._paramsToObject(i)),e.data._eventData.isRecoveredCall="reconnect"===o,Object.keys(r).forEach(function(e){-1<m.indexOf(e.toLowerCase())&&delete r[e]}),0<r.length)&&(e.data._eventData.extraHeaders=r)}},{key:"_onNewRTCSession",value:function(e){var n,i=this,t=e.originator,o=e.session,e=e.request;"remote"===t&&this.singleCallMode&&1<Object.keys(this.ua._sessions).length?(o.terminate({status_code:486}),console.warn("The call was rejected because singleCallMode is set to true.")):(o.data._eventData||(o.data._eventData={}),o.data._eventData.sessionId=o.id,o.data._eventData.uri=o.remote_identity.uri.toString(),o.data._eventData.userNumber=o.remote_identity.uri.user,"remote"===(o.data._eventData.originator=t)&&(this._updateSessionData(e,o),o.data._remoteParams||(o.data._remoteParams={mediaType:"webrtc",video:!1,audio:!0}),o.data._eventData.sdkParams?(o.data._remoteParams.mediaType=o.data._eventData.sdkParams,o.data._remoteParams.video=o.data._eventData.video,o.data._remoteParams.audio=!0):(t=e.parseSDP(),o.data._remoteParams.mediaType="webrtc",o.data._remoteParams.video=t.media.some(function(e){return"video"===e.type&&e.port}),o.data._remoteParams.audio=t.media.some(function(e){return"audio"===e.type&&e.port}))),this._autoRecovery&&(o.onTransportError=function(){g.warn("onTransportError()")}),o.on("sdp",function(e){var t=e.originator,e=e.sdp;"remote"===t&&(o.data._remoteParams||(o.data._remoteParams={mediaType:"webrtc",video:!1,audio:!1,videoTrackReady:!1,audioTrackReady:!1}),t=p.default.parse(e),o.data._remoteParams.mediaType="webrtc",o.data._remoteParams.video=t.media.some(function(e){return"video"===e.type&&e.port}),o.data._remoteParams.audio=t.media.some(function(e){return"audio"===e.type&&e.port}),o.data._remoteParams.videoTrackReady=!1,o.data._remoteParams.audioTrackReady=!1)}),o.on("progress",function(e){var t=e.originator,e=e.response;console.info("progress",{originator:t,response:e}),"local"===t?i.emit(o.data._oldSessionId?"reconnect:localRing":"localRing",(0,f.deepClone)(o.data._eventData),(0,f.deepClone)(o.data._remoteParams)):(i._updateSessionData(e,o),i.emit(o.data._oldSessionId?"reconnect:remoteRing":"remoteRing",(0,f.deepClone)(o.data._eventData)))}),o.on("accepted",function(e){"remote"===e.originator&&i._updateSessionData(e.response,o),o.data._oldSessionId||i.emit("accepted",(0,f.deepClone)(o.data._eventData))}),o.on("confirmed",function(){o.data._oldSessionId?i.emit("sessionRestored",(0,f.deepClone)(o.data._eventData),o.data._oldSessionId):i.emit("confirmed",(0,f.deepClone)(o.data._eventData))}),o.on("newInfo",function(e){var t=e.originator,n=e.info,e=e.request;"remote"===t&&i.emit("newInfo",function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?_(Object(n),!0).forEach(function(e){(0,h.default)(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({content:i._formatContent(n.body,e.getHeader("Content-Type")),contentType:n.contentType},o.data._eventData))}),n=function(e,t){var n=t.originator,r=t.cause,t=t.message,s=(o.data._oldSessionId&&-1<(s=i._recoveryCache.findIndex(function(e){return e.params.target===o.data._callParams.target}))&&i._recoveryCache.splice(s,1),Object.assign({},o.data._eventData,{originator:n,cause:r}));"remote"===n&&t&&(s.statusCode=t.status_code,s.reasonPhrase=t.reason_phrase),i.emit(e,s)},o.on("failed",function(e){var t=e.originator;return n("failed",{originator:t,cause:e.cause,message:e.message})}),o.on("ended",function(e){var t=e.originator;return n("ended",{originator:t,cause:e.cause,message:e.message})}),o.on("update",function(){}),o.on("reinvite",function(e){var t=e.request,e=(0,e.delay)(),n=e.accept;return i._onReinvite?i._onReinvite({request:t,session:o,acceptCallback:n,rejectCallback:e.reject}):null}),o.on("peerconnection:createofferfailed",function(e){return console.error("peerconnection:createofferfailed",e)}),o.on("peerconnection:createanswerfailed",function(e){return console.error("peerconnection:createanswerfailed",e)}),o.on("peerconnection:setlocaldescriptionfailed",function(e){return console.error("peerconnection:setlocaldescriptionfailed",e)}),o.on("peerconnection:setremotedescriptionfailed",function(e){return console.error("peerconnection:setremotedescriptionfailed",e)}),this.emit(o.data._oldSessionId?"reconnect:newSession":"newSession",(0,f.deepClone)(o.data._eventData)))}},{key:"_onRegistrationResponse",value:function(){}},{key:"_formatContent",value:function(e,t){return-1<t.indexOf("+base64")&&(t=(0,f.base64Decode)(e),(0,f.isUtf8)(t))?(0,f.tryJSON)(t):(0,f.tryJSON)(e)}},{key:"_onNewMessage",value:function(e){var t=e.originator,e=e.request;"remote"===t&&this.emit("newMessage",{content:this._formatContent(e.body,e.getHeader("Content-Type")),contentType:e.getHeader("Content-Type"),uri:e.from.uri.toString(),userNumber:e.from.uri.user})}},{key:"_getSession",value:function(e){var t;return e?null==(t=this.ua)?void 0:t._sessions[e]:Object.values(this.ua._sessions)[0]}},{key:"_getSessionCount",value:function(){return Object.values(this.ua._sessions).length}},{key:"sendInfo",value:function(e){var t=e.sessionId,n=e.contentType,n=void 0===n?"application/json":n,r=e.encode,r=void 0===r||r,e=e.content,e=void 0===e?"":e,t=this._getSession(t);if(!t)throw new Error("没有找到会话实例");var s=Object.prototype.toString.call(e),s="[object Object]"===s||"[object Array]"===s?JSON.stringify(e):"[object String]"===s?e:null==e?void 0:e.toString();t.sendInfo(r?"".concat(n,"+base64"):n,r?(0,f.base64Encode)(s):s)}},{key:"_stringify",value:function(e){var t=Object.prototype.toString.call(e),t="[object Object]"===t||"[object Array]"===t?JSON.stringify(e):"[object String]"===t?e:null==e?void 0:e.toString();return t}},{key:"sendSessionMessage",value:function(e){var n,t=e.sessionId,r=e.contentType,s=void 0===r?"application/json":r,r=e.encode,i=void 0===r||r,r=e.content,e=void 0===r?"":r,o=this._getSession(t);if(o)return n=this._stringify(e),new Promise(function(e,t){o.sendMessage(s,i?(0,f.base64Encode)(n):n,{eventHandlers:{succeeded:function(){e()},failed:function(){t()}}})});throw new Error("没有找到会话实例")}},{key:"sendMessage",value:function(e){var n=this,r=e.target,t=e.contentType,s=void 0===t?"application/json":t,t=e.encode,i=void 0===t||t,t=e.content,o=this._stringify(void 0===t?"":t);return new Promise(function(e,t){n.ua.sendMessage(r,i?(0,f.base64Encode)(o):o,{contentType:s,eventHandlers:{succeeded:function(){e()},failed:function(){t()}}})})}},{key:"sendDTMF",value:function(e){var t=e.sessionId,e=e.tones,t=this._getSession(t);if(!t)throw new Error("没有找到会话实例");t.sendDTMF(e,{duration:100,interToneGap:500,transportType:"INFO"})}},{key:"hangup",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.sessionId,e=e.statusCode,n={};e&&(n.status_code=e),t?null!=(e=this.ua._sessions[t])&&e.terminate(n):this.ua.terminateSessions(n)}},{key:"_startSendOptions",value:function(){var e=this;this._stopSendOptions(),this._sipOptionHandler=setInterval(function(){e.ua?e.ua.sendOptions(e.deviceId,"",{eventHandlers:{succeeded:function(){e._sendOptionFailedCount=0},failed:e._optionFailedHandler.bind(e)}}):e._stopSendOptions()},5e3)}},{key:"_stopSendOptions",value:function(){clearInterval(this._sipOptionHandler)}},{key:"_refreshSessions",value:function(){var t=this,e=Object.values(this.ua._sessions);0===this._recoveryCache.length&&(this._recoveryCache=e.map(function(e){return{params:e.data._callParams,id:e.id,callId:null==(e=e.data._eventData)?void 0:e.callId}})),e.forEach(function(e){e.removeAllListeners(),t.ua.destroyRTCSession(e)}),this.ua._sessions={}}},{key:"_optionFailedHandler",value:function(){var e=this;this._sendOptionFailedCount++,1===this._sendOptionFailedCount&&(this._stopSendOptions(),g.debug("Send options failed, prepare reconnect..."),this._refreshSessions(),this.ua.stop(),g.debug("Reconnect after 1s..."),setTimeout(function(){e.ua.start()},1e3))}}],[{key:"destroyInstance",value:function(){var e;null!=(e=this.instance)&&e.removeAllListeners(),null!=(e=this.instance)&&e.stop(),delete this.instance,this.instance=null}}])})(a.default);(0,h.default)(r,"SDK_VERSION","2.1.0 Build(20251110182326)"),t.default=r;e.exports=t.default},4321:function(e,t,n){var r=n(8569),p=(Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(n(2971))),s=r(n(6585)),i=r(n(4728)),o=r(n(936)),a=r(n(2942)),l=r(n(8408)),c=r(n(6759)),d=r(n(7384)),h=r(n(9165)),f=r(n(5878)),u=r(n(4433)),_=r(n(3897)),r=r(n(9033)),m=n(7667),g=n(566);function v(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function T(e,t){var n,r,s,i,o="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(o)return r=!(n=!0),{s:function(){o=o.call(e)},n:function(){var e=o.next();return n=e.done,e},e:function(e){r=!0,s=e},f:function(){try{n||null==o.return||o.return()}finally{if(r)throw s}}};if(Array.isArray(e)||(o=((e,t)=>{var n;if(e)return"string"==typeof e?y(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0})(e))||t&&e&&"number"==typeof e.length)return o&&(e=o),i=0,{s:t=function(){},n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function b(e){var t=e.audio,e=e.video,n={};return!0===t?n.audio=!0:!1===t&&(n.audio=!1),!0===e?n.video=!0:!1===e&&(n.video=!1),n}var S,C="XF-H5-SIPMIX/".concat("2.0.0"," (").concat((r=(n=r.default.parse(window.navigator.userAgent)).os,S=n.browser,n=n.platform,r.name=r.name||"",r.version=r.version||"",S.name=S.name||"",S.version=S.version||"",n.type=n.type||"",n.model=n.model||"",n.vendor=n.vendor||"","".concat(n.type.replace(/[<>;|]/g," ")||"*"," ").concat(n.model.replace(/[<>;|]/g," ")||"*"," ").concat(n.vendor.replace(/[<>;|]/g," ")||"*",";").concat(r.name.replace(/[<>;|]/g," ")||"*"," ").concat(r.version.replace(/[<>;|]/g," ")||"*",";").concat(S.name.replace(/[<>;|]/g," ")||"*"," ").concat(S.version.replace(/[<>;|]/g," ")||"*")),")");function E(){var e;this.removeAllListeners(),null!=(e=this.ua)&&e.stop()}function A(e,t){if(t){var n,r=T(t.getSenders());try{for(r.s();!(n=r.n()).done;){var s,i=n.value;e._localMediaStream.removeTrack(i.track),null!=(s=i.track)&&s.stop()}}catch(e){r.e(e)}finally{r.f()}t.close()}delete e.data._pc_beforeReinvite,delete e.data._localParams_beforeReinvite}n=(e=>{function u(){(0,a.default)(this,u);for(var e,t,n,r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return e=this,t=u,n=[].concat(s),t=(0,h.default)(t),(t=(0,c.default)(e,(()=>{if("undefined"!=typeof Reflect&&Reflect.construct&&!Reflect.construct.sham){if("function"==typeof Proxy)return 1;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}}})()?Reflect.construct(t,n||[],(0,h.default)(e).constructor):t.apply(e,n)))._canvasEl=null,t.webrtcStats=null,window.removeEventListener("beforeunload",E.bind(t)),window.addEventListener("beforeunload",E.bind(t)),t}return(0,f.default)(u,e),(0,l.default)(u,[{key:"start",value:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];(e=(0,d.default)((0,h.default)(u.prototype),"start",this)).call.apply(e,[this].concat(n,[_.default,C]))}},{key:"call",value:function(e){var t=e.target,n=e.stream,r=e.video,r=void 0===r||r,s=e.audio,s=void 0===s||s,i=e.mediaType,i=void 0===i?"string"==typeof _DEF_MEDIA_TYPE?_DEF_MEDIA_TYPE:"webrtc":i,o=e.extraHeaders,a=e.token,l=e.callData,u=e.transParam,e=e.videoCodec,e=void 0===e?"H264":e,o={mediaType:i,extraHeaders:void 0===o?[]:o,sessionTimersExpires:this._defaultSessionExpires};if("webrtc"===i)n?o.mediaStream=n:!1===s&&!1===r?(this._canvasEl||(this._canvasEl=document.createElement("canvas"),this._canvasEl.width=1,this._canvasEl.height=1),o.mediaStream=this._canvasEl.captureStream(1),o.mediaConstraints={_recvVideoOnly:!0}):o.mediaConstraints={video:r,audio:s},o.extraHeaders.push("X-RTC-Info: webrtc");else if("agora"===i)o.mediaConstraints={video:!!r,audio:!!s},o.extraHeaders.push("Agora-Info: ".concat((0,m.geneCallHeader)({type:r?"agoravideo":"agora",appId:this._mediaSDKAppId,videoCodec:e})),"X-RTC-Info: ".concat((0,m.geneCallHeader)({type:r?"agoravideo":"agora",appId:this._mediaSDKAppId,videoCodec:e})));else{if("trtc"!==i)throw new Error("媒体类型不支持 [".concat(i,"]"));o.mediaConstraints={video:!!r,audio:!!s},o.extraHeaders.push("Agora-Info: ".concat((0,m.geneCallHeader)({type:r?"trtcvideo":"trtc",appId:this._mediaSDKAppId,videoCodec:e})),"X-RTC-Info: ".concat((0,m.geneCallHeader)({type:r?"trtcvideo":"trtc",appId:this._mediaSDKAppId,videoCodec:e})))}a&&o.extraHeaders.push("Token: ".concat(a)),(l||u)&&o.extraHeaders.push("P-CIN-Service: --".concat(u?(0,m.strToHex)(u,!0):"","--").concat(l?(0,m.strToHex)(l,!0):"")),o.data={_localParams:{mediaType:i,video:r,audio:s},_eventData:{}},this._call({target:t,options:o})}},{key:"rejectCall",value:function(e){this._call({target:e,options:{extraHeaders:["Content-Type: application/cincc_control+json"],data:{_localParams:{mediaType:"control",content:JSON.stringify({action:"decline"})}}}})}},{key:"answer",value:function(e){var t=e.sessionId,n=e.video,r=e.audio,s=e.stream,i=e.mediaType,o=e.extraHeaders,o=void 0===o?[]:o,a=e.token,l=e.callData,e=e.videoCodec,e=void 0===e?"H264":e,t=this._getSession(t);if(!t)throw new Error("会话不存在");i=i||t.data._remoteParams.mediaType,void 0===r&&(r=t.data._remoteParams.audio),void 0===n&&(n=t.data._remoteParams.video);o={mediaType:i,extraHeaders:o};if("webrtc"===i)s?o.mediaStream=s:o.mediaConstraints={video:n,audio:r};else if("agora"===i)o.mediaConstraints={video:!!n,audio:!!r},o.extraHeaders.push("Agora-Info: ".concat((0,m.geneCallHeader)({type:n?"agoravideo":"agora",appId:this._mediaSDKAppId,videoCodec:e})));else if("trtc"===i)o.mediaConstraints={video:!!n,audio:!!r},o.extraHeaders.push("Agora-Info: ".concat((0,m.geneCallHeader)({type:n?"trtcvideo":"trtc",appId:this._mediaSDKAppId,videoCodec:e})));else{if("rtmp"!==i)throw new Error("媒体类型不支持 [".concat(i,"]"));o.mediaConstraints={video:!!n,audio:!!r},o.extraHeaders.push("RTMP-Path: ".concat(n?"rtmpvideo":"rtmpaudio"))}a&&o.extraHeaders.push("Token: ".concat(a)),l&&o.extraHeaders.push("P-CIN-Service: ----".concat((0,m.strToHex)(l,!0))),t.data._localParams={mediaType:i,video:!!s||!!n,audio:!!s||!!r},null!=t&&t.answer(o)}},{key:"mute",value:function(e){var t=e.sessionId,n=e.audio,e=e.video,t=this._getSession(t);if(!t)throw new Error("没有找到会话实例");if("webrtc"!==t.data._localParams.mediaType)throw new Error("mute 仅支持媒体类型为 webrtc 方式");t.mute(b({audio:n,video:e}))}},{key:"unmute",value:function(e){var t=e.sessionId,n=e.audio,e=e.video,t=this._getSession(t);if(!t)throw new Error("没有找到会话实例");if("webrtc"!==t.data._localParams.mediaType)throw new Error("unmute 仅支持媒体类型为 webrtc 方式");t.unmute(b({audio:n,video:e}))}},{key:"_holdTrigger",value:function(e){e=e.sessionId,e=this._getSession(e);if(!e)throw new Error("没有找到会话实例");if("webrtc"!==e.data._localParams.mediaType)throw new Error("hold 仅支持媒体类型为 webrtc 方式");e.sendDTMF("A",{duration:100,interToneGap:500,transportType:"INFO"})}},{key:"hold",value:function(e){e=e.sessionId;this._holdTrigger({sessionId:e})}},{key:"unhold",value:function(e){e=e.sessionId;this._holdTrigger({sessionId:e})}},{key:"_onTrack",value:function(e){var t=e.track,n=e.stream,r=e.eventName,e=e.session,s="remoteStream"===r?"_remoteParams":"_localParams";if("audio"===t.kind){if(e.data[s].audioTrackReady=!0,!e.data[s].audio)return void n.removeTrack(t)}else if("video"===t.kind&&(e.data[s].videoTrackReady=!0,!e.data[s].video))return void n.removeTrack(t);e.data[s].video&&e.data[s].audio?e.data[s].audioTrackReady&&e.data[s].videoTrackReady&&this.emit(r,n,(0,m.deepClone)(e.data._eventData)):(e.data[s].audioTrackReady&&e.data[s].audio&&this.emit(r,n,(0,m.deepClone)(e.data._eventData)),e.data[s].videoTrackReady&&e.data[s].video&&this.emit(r,n,(0,m.deepClone)(e.data._eventData)))}},{key:"_bindWebRTCStats",value:function(e){var t=this,n=e.pc,e=e.peerId;this.webrtcStats||(this.webrtcStats=new g.WebRTCStats({getStatsInterval:1e3}),this.webrtcStats.on("stats",function(e){t.emit("webRTCStats",e)})),this.webrtcStats.addConnection({pc:n,peerId:e})}},{key:"_onNewRTCSession",value:function(e){var i,o,a=this,t=e.originator,l=e.session,e=e.request;"local"===t&&(i=l.connection)&&(o=i.addTrack,i.addTrack=function(e,t){a._onTrack({track:e,stream:t,eventName:"localStream",session:l});for(var n=arguments.length,r=new Array(2<n?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];o.call.apply(o,[i,e,t].concat(r)),i.getSenders().forEach(function(e){var t;e.track&&"video"===e.track.kind&&(t=e.getParameters()).encodings&&t.encodings[0]&&(t.encodings[0].priority="high",t.encodings[0].networkPriority="high",t.encodings[0].maxBitrate=5e6,t.encodings[0].maxFramerate=30,e.setParameters(t))})},i.ontrack=function(e){var t=e.streams;a._onTrack({track:e.track,stream:t[0],eventName:"remoteStream",session:l})},this._bindWebRTCStats({pc:i,peerId:l.id})),l.on("peerconnection",function(e){var i=e.peerconnection,o=i.addTrack;i.addTrack=function(e,t){a._onTrack({track:e,stream:t,eventName:"localStream",session:l});for(var n=arguments.length,r=new Array(2<n?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];o.call.apply(o,[i,e,t].concat(r))},i.ontrack=function(e){var t=e.streams;a._onTrack({track:e.track,stream:t[0],eventName:"remoteStream",session:l})},a._bindWebRTCStats({pc:i,peerId:l.id})}),(0,d.default)((0,h.default)(u.prototype),"_onNewRTCSession",this).call(this,{originator:t,session:l,request:e})}},{key:"_onReinvite",value:function(e){var t,n=e.request,l=e.session,u=e.acceptCallback,r=e.rejectCallback,e=n.parseSDP(),c={video:e.media.some(function(e){return"video"===e.type&&e.port}),audio:e.media.some(function(e){return"audio"===e.type&&e.port})},d=-1,s={accept:(t=(0,o.default)(p.default.mark(function e(){var t,n,r,s,i,o,a=arguments;return p.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=(r=0<a.length&&void 0!==a[0]?a[0]:{}).stream,n=(void 0!==r.video?r:c).video,r=(void 0!==r.audio?r:c).audio,"webrtc"!==l.data._localParams.mediaType?e.next=29:t?(s=t.getVideoTracks()[0],i=t.getAudioTracks()[0],e.next=15):e.next=10;break;case 10:return e.next=12,navigator.mediaDevices.getUserMedia({video:n,audio:r});case 12:t=e.sent,s=t.getVideoTracks()[0],i=t.getAudioTracks()[0];case 15:c.video&&!s&&console.warn("The remote stream contains a video track, but the new stream does not have a video track."),c.audio&&!i&&console.warn("The remote stream contains a audio track, but the new stream does not have a audio track."),l.data._localParams.audio=!!i,l.data._localParams.video=!!s,l.data._localParams.audioTrackReady=!1,l.data._localParams.videoTrackReady=!1,o=l.connection,l._createRTCConnection(),A(l,o),l._localMediaStream||(l._localMediaStream=new MediaStream),s&&(l.connection.addTrack(s,t),l._localMediaStream.addTrack(s)),i&&(l.connection.addTrack(i,t),l._localMediaStream.addTrack(i)),u(),d&&clearInterval(d);case 29:case"end":return e.stop()}},e)})),function(){return t.apply(this,arguments)}),reject:function(){!1===c.video&&!0===c.audio?console.warn("Cannot reject when the call switches to audio-only mode."):(r({status_code:487}),clearInterval(d))}};this.emit("reinvite",function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?v(Object(n),!0).forEach(function(e){(0,i.default)(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({remoteMediaInfo:c,handler:s,timerFn:function(e){var t=20;d=setInterval(function(){try{e(t,0===t)}catch(e){console.error(e)}0===t?(clearInterval(d),s.reject(),delete s.reject,delete s.accept):t--},1e3)}},l.data._eventData))}},{key:"_changeLocalTrack",value:(t=(0,o.default)(p.default.mark(function e(t){var n,r,s,i,o,a,l,u,c,d,h,f=this;return p.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.type,r=t.stream,c=t.sessionId,s=void 0===(s=t.extraHeaders)?[]:s,!(i=this._getSession(c))){e.next=44;break}if("webrtc"!==i.data._localParams.mediaType){e.next=41;break}if(!(o=i.connection)){e.next=39;break}if("connected"!==o.connectionState){e.next=39;break}if("both"===n){e.next=29;break}if("audio"!==n){e.next=14;break}if(a=r.getAudioTracks()[0]){e.next=12;break}return e.abrupt("return",Promise.reject("Stream has no audio track"));case 12:e.next=17;break;case 14:if(a=r.getVideoTracks()[0]){e.next=17;break}return e.abrupt("return",Promise.reject("Stream has no video track"));case 17:if(l=o.getSenders().filter(function(e){return(null==(e=e.track)?void 0:e.kind)===n})[0]){e.next=20;break}return e.abrupt("return",Promise.reject("PeerConnection has no video sender"));case 20:return u=l.track,e.next=23,l.replaceTrack(a);case 23:i._localMediaStream.addTrack(a),u.stop(),c=new MediaStream(o.getSenders().map(function(e){return e.track})),this.emit("localStream",c,(0,m.deepClone)(i.data._eventData)),e.next=38;break;case 29:i.data._localParams_beforeReinvite=(0,m.deepClone)(i.data._localParams),i.data._pc_beforeReinvite=o,i._createRTCConnection(),d=r.getAudioTracks()[0],h=r.getVideoTracks()[0],i.data._localParams.audio=!!d,i.data._localParams.video=!!h,d&&(i.connection.addTrack(d,r),i._localMediaStream.addTrack(d)),h&&(i.connection.addTrack(h,r),i._localMediaStream.addTrack(h),i.data._remoteParams.video=!0);case 38:"both"===n&&i.renegotiate({extraHeaders:s,eventHandlers:{succeeded:function(){var e,t=i.data._pc_beforeReinvite,n=(t&&A(i,t),new MediaStream),r=T(i.connection.getSenders());try{for(r.s();!(e=r.n()).done;){var s=e.value;n.addTrack(s.track)}}catch(e){r.e(e)}finally{r.f()}f.emit("localStream",n,(0,m.deepClone)(i.data._eventData)),console.warn("renegotiate succeeded")},failed:function(){var e,t=i.connection,n=(i._connection=i.data._pc_beforeReinvite,i._localParams=(0,m.deepClone)(i.data._localParams_beforeReinvite),new MediaStream),r=T(i.data._pc_beforeReinvite.getSenders());try{for(r.s();!(e=r.n()).done;){var s=e.value;n.addTrack(s.track)}}catch(e){r.e(e)}finally{r.f()}f._bindWebRTCStats({pc:i.connection,peerId:i.id}),f.emit("localStream",n,(0,m.deepClone)(i.data._eventData)),A(i,t),console.warn("renegotiate failed")}}});case 39:e.next=42;break;case 41:throw new Error("会话非内置WebRTC类型");case 42:e.next=45;break;case 44:throw new Error("没有找到会话实例");case 45:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"changeLocalVideoTrack",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.stream;return this._changeLocalTrack({type:"video",stream:t,sessionId:e.sessionId,extraHeaders:e.extraHeaders})}},{key:"changeLocalAudioTrack",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.stream;return this._changeLocalTrack({type:"audio",stream:t,sessionId:e.sessionId,extraHeaders:e.extraHeaders})}},{key:"changeLocalStream",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.stream;return this._changeLocalTrack({type:"both",stream:t,sessionId:e.sessionId,extraHeaders:e.extraHeaders})}}],[{key:"getInstance",value:function(){if(!this.instance){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this.instance=(0,s.default)(u,t)}return this.instance}}]);var t})(u.default);t.default=n;e.exports=t.default},7667:function(e,t,n){var r=n(8569),o=(Object.defineProperty(t,"__esModule",{value:!0}),t.base64Decode=function(e){return l.Base64.decode(e)},t.base64Encode=function(e){return l.Base64.encode(e)},t.bindDebugDownload=function(){var n=document.getElementById("__Debug_CT");n||((n=document.createElement("code")).id="__Debug_CT",n.style.display="none",document.addEventListener("__AppLog",function(e){e=e.detail;n.innerHTML=n.innerHTML+e.args.reduce(function(e,t){var n;if("object"===(0,a.default)(t))try{n=JSON.stringify(t)}catch(e){console.info(e)}else n=t;t=n.trimStart().replace(/%c|%s|%o/g,"");return t&&!t.startsWith("color: ")&&e.push(t+"\n"),e},[]).join("\r\n")}),document.addEventListener("keydown",function(e){var t;e.shiftKey&&e.altKey&&"D"===e.key&&(e=document.createElement("a"),t=new Blob([n.innerText],{type:"text/plain"}),e.setAttribute("href",URL.createObjectURL(t)),e.setAttribute("download","log.txt"),e.click(),e.remove())}))},t.cancelAnimationFrame=void 0,t.checkWebrtcEnv=function(e){return f.apply(this,arguments)},t.checkWxEnv=function(){if("undefined"!=typeof wx&&wx.canIUse){if(!wx.canIUse("live-player"))throw new Exceptions.NotSupportedError("live-player not supported");if(!wx.canIUse("live-pusher"))throw new Exceptions.NotSupportedError("live-pusher not supported")}},t.closeStream=h,t.deepClone=function t(n){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=e.keyReplaceFn,r=void 0===e?function(e){return e}:e;if(!n&&"object"!==(0,a.default)(n))throw new Error("error arguments","deepClone");var s;n.constructor===Array?s=n.map(function(e){return"object"===(0,a.default)(e)?t(e,{keyReplaceFn:r}):e}):(s={},Object.keys(n).forEach(function(e){"object"===(0,a.default)(n[e])?s[r(e)]=t(n[e],{keyReplaceFn:r}):s[r(e)]=n[e]}));return s},t.detectStream=void 0,t.formatDate=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"yyyyMMddhhmmss",t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:new Date;if(!t)return"";/(y+)/.test(e)&&(e=e.replace(RegExp.$1,(t.getFullYear()+"").substr(4-RegExp.$1.length)));var n,r={"M+":t.getMonth()+1,"d+":t.getDate(),"h+":t.getHours(),"m+":t.getMinutes(),"s+":t.getSeconds(),"i+":t.getMilliseconds()};for(n in r){var s;new RegExp("(".concat(n,")")).test(e)&&(s=r[n]+"",e=e.replace(RegExp.$1,1===RegExp.$1.length?s:((e,t)=>(new Array(t).fill("0").join("")+e).substr(e.length))(s,RegExp.$1.length)))}return e},t.geneCallHeader=function(e){var t=e.type,n=e.appId,n=void 0===n?"":n,e=e.videoCodec,e=void 0===e?"H264":e;if("webrtc"===t)return"";return"h264"===e.toLowerCase()||"agora"===t||"trtc"===t?t+(n?"-"+n:""):[t,n,"","","","","","","","",e].join("-")},t.hexToStr=function(e){if(e.length%2!=0)return"";for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substring(n,n+2),16));return(e=>{if("string"==typeof e)return e;for(var t="",n=e,r=0;r<n.length;r++){var s=n[r].toString(2),i=s.match(/^1+?(?=0)/);if(i&&8===s.length){for(var o=i[0].length,a=n[r].toString(2).slice(7-o),l=1;l<o;l++)a+=n[l+r].toString(2).slice(2);t+=String.fromCharCode(parseInt(a,2)),r+=o-1}else t+=String.fromCharCode(n[r])}return t})(t)},t.isFunction=function(e){e=Object.prototype.toString.call(e);return"[object Function]"===e||"[object AsyncFunction]"===e},t.isUtf8=function(e){return/[a-zA-Z0-9\u4e00-\u9fa5]+/g.test(e)},t.randomNumber=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:8,t="";for(;e--;)t+=Math.floor(10*Math.random());return t},t.requestAnimationFrame=void 0,t.strToDate=function(e){{var t;if(e)return t=(e=e).length,e+=new Array(14-t).fill("0").join(""),new Date(parseInt(e.substring(0,4)),parseInt(e.substring(4,6))-1,parseInt(e.substring(6,8)),parseInt(e.substring(8,10)),parseInt(e.substring(10,12)),parseInt(e.substring(12,14)))}return null},t.strToHex=function(e){for(var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=[],r=0;r<e.length;r++){var s="";if(s=d.test(e.charAt(r))?encodeURI(e.charAt(r)).replace(/%/g,""):e.charCodeAt(r).toString(16),t){for(var i="",o=0;o<s.length;o+=2)i+=s.charAt(o+1)+s.charAt(o);s=i}n.push(s)}return e=n.join("")},t.tryJSON=function(t){{if("string"!=typeof t)return t;try{var e=JSON.parse(t);return"object"==(0,a.default)(e)&&e?e:t}catch(e){return t}}},t.uuid=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"-",t=(0,i.v4)();e&&(t=t.replace(new RegExp("-","g"),""));return t},r(n(2971))),s=r(n(936)),a=r(n(9091)),i=n(962),l=n(914);function u(e,t){var n,r,s,i,o="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(o)return r=!(n=!0),{s:function(){o=o.call(e)},n:function(){var e=o.next();return n=e.done,e},e:function(e){r=!0,s=e},f:function(){try{n||null==o.return||o.return()}finally{if(r)throw s}}};if(Array.isArray(e)||(o=((e,t)=>{var n;if(e)return"string"==typeof e?c(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0})(e))||t&&e&&"number"==typeof e.length)return o&&(e=o),i=0,{s:t=function(){},n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var d=/[\u4e00-\u9fa5|\u3002\uff1f\uff01\uff0c\u3001\uff1b\uff1a\u201c\u201d\u2018\u2019\uff08\uff09\u300a\u300b\u3010\u3011\u007e]/;function h(t){if(t)try{if(t.getTracks){var e,n=u(t.getTracks());try{for(n.s();!(e=n.n()).done;)e.value.stop()}catch(e){n.e(e)}finally{n.f()}}else{var r,s=u(t.getAudioTracks());try{for(s.s();!(r=s.n()).done;)r.value.stop()}catch(e){s.e(e)}finally{s.f()}var i,o=u(t.getVideoTracks());try{for(o.s();!(i=o.n()).done;)i.value.stop()}catch(e){o.e(e)}finally{o.f()}}}catch(e){"function"!=typeof t.stop&&"object"!==(0,a.default)(t.stop)||t.stop()}}function f(){return(f=(0,s.default)(o.default.mark(function e(t){var n,r,s,i=this;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:s=t.checkGeolocation,s=void 0!==s&&s,n=void 0===(n=t.checkVideo)||n,r=void 0===(r=t.checkAudio)||r,s?navigator.geolocation?(navigator.geolocation.getCurrentPosition(function(e){var e=(null==e?void 0:e.coords)||{},t=e.latitude;i.position={latitude:t,longitude:e.longitude,accuracy:e.accuracy}}),e.next=7):e.next=6:e.next=7;break;case 6:return e.abrupt("return",Promise.reject("不支持地里位置接口"));case 7:if(r||n)return e.next=10,navigator.mediaDevices.getUserMedia({video:n,audio:r});e.next=19;break;case 10:(s=e.sent)?(h(s),e.next=16):e.next=15;break;case 15:return e.abrupt("return",Promise.reject("不支持开启摄像头或Mic接口"));case 16:if(window.RTCPeerConnection){e.next=18;break}return e.abrupt("return",Promise.reject("不支持WebRTC"));case 18:case 19:return e.abrupt("return",Promise.resolve(!0));case 20:case"end":return e.stop()}},e)}))).apply(this,arguments)}t.requestAnimationFrame="undefined"==typeof window?function(){}:window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t.cancelAnimationFrame="undefined"==typeof window?function(){}:window.cancelAnimationFrame||window.mozCancelAnimationFrame,t.detectStream=function(e){var r=e.stream,s=e.extra;return new Promise(function(e){var t=document.createElement("video"),n=(t.muted=!0,t.volume=0,t.addEventListener("loadedmetadata",function(){e({stream:r,extra:s,hasAudio:r.getTracks().some(function(e){return"audio"===e.kind}),videoEl:t,width:t.videoWidth,height:t.videoHeight})},{once:!0}),t.srcObject=r,t.play());void 0!==n&&n.catch(function(e){console.info("自动播放失败"),console.error(e)})})}},4958:function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r},e.exports.__esModule=!0,e.exports.default=e.exports},3502:function(e){e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},4568:function(e){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports},936:function(e){function l(e,t,n,r,s,i,o){try{var a=e[i](o),l=a.value}catch(e){return n(e)}a.done?t(l):Promise.resolve(l).then(r,s)}e.exports=function(a){return function(){var e=this,o=arguments;return new Promise(function(t,n){var r=a.apply(e,o);function s(e){l(r,t,n,s,i,"next",e)}function i(e){l(r,t,n,s,i,"throw",e)}s(void 0)})}},e.exports.__esModule=!0,e.exports.default=e.exports},2942:function(e){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},6585:function(e,t,n){var s=n(1659),i=n(9985);e.exports=function(e,t,n){var r;return s()?Reflect.construct.apply(null,arguments):((r=[null]).push.apply(r,t),t=new(e.bind.apply(e,r)),n&&i(t,n.prototype),t)},e.exports.__esModule=!0,e.exports.default=e.exports},8408:function(e,t,n){var s=n(3543);function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,s(r.key),r)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},4728:function(e,t,n){var r=n(3543);e.exports=function(e,t,n){return(t=r(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports},7384:function(e,t,n){var s=n(1699);function r(){return e.exports=r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=s(e,t);if(r)return(r=Object.getOwnPropertyDescriptor(r,t)).get?r.get.call(arguments.length<3?e:n):r.value},e.exports.__esModule=!0,e.exports.default=e.exports,r.apply(null,arguments)}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports},9165:function(t){function n(e){return t.exports=n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},t.exports.__esModule=!0,t.exports.default=t.exports,n(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports},5878:function(e,t,n){var r=n(9985);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},8569:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},1659:function(t){function e(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return t.exports=function(){return!!e},t.exports.__esModule=!0,(t.exports.default=t.exports)()}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},7881:function(e){e.exports=function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,s,i,o,a=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){u=!0,s=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw s}}return a}},e.exports.__esModule=!0,e.exports.default=e.exports},7911:function(e){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},6759:function(e,t,n){var r=n(9091).default,s=n(4568);e.exports=function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return s(e)},e.exports.__esModule=!0,e.exports.default=e.exports},8636:function(I,e,t){var O=t(9091).default;function n(){I.exports=function(){return o},I.exports.__esModule=!0,I.exports.default=I.exports;var l,o={},e=Object.prototype,u=e.hasOwnProperty,c=Object.defineProperty||function(e,t,n){e[t]=n.value},t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",n=t.asyncIterator||"@@asyncIterator",s=t.toStringTag||"@@toStringTag";function i(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{i({},"")}catch(l){i=function(e,t,n){return e[t]=n}}function a(e,t,n,r){var s,i,o,a,t=t&&t.prototype instanceof g?t:g,t=Object.create(t.prototype),r=new w(r||[]);return c(t,"_invoke",{value:(s=e,i=n,o=r,a=h,function(e,t){if(a===p)throw Error("Generator is already running");if(a===_){if("throw"===e)throw t;return{value:l,done:!0}}for(o.method=e,o.arg=t;;){var n=o.delegate;if(n){n=function e(t,n){var r=n.method,s=t.iterator[r];if(s===l)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=l,e(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),m;r=d(s,t.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,m;s=r.arg;return s?s.done?(n[t.resultName]=s.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=l),n.delegate=null,m):s:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}(n,o);if(n){if(n===m)continue;return n}}if("next"===o.method)o.sent=o._sent=o.arg;else if("throw"===o.method){if(a===h)throw a=_,o.arg;o.dispatchException(o.arg)}else"return"===o.method&&o.abrupt("return",o.arg);a=p;n=d(s,i,o);if("normal"===n.type){if(a=o.done?_:f,n.arg===m)continue;return{value:n.arg,done:o.done}}"throw"===n.type&&(a=_,o.method="throw",o.arg=n.arg)}})}),t}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}o.wrap=a;var h="suspendedStart",f="suspendedYield",p="executing",_="completed",m={};function g(){}function v(){}function T(){}var t={},y=(i(t,r,function(){return this}),Object.getPrototypeOf),y=y&&y(y(R([]))),b=(y&&y!==e&&u.call(y,r)&&(t=y),T.prototype=g.prototype=Object.create(t));function S(e){["next","throw","return"].forEach(function(t){i(e,t,function(e){return this._invoke(t,e)})})}function C(o,a){var t;c(this,"_invoke",{value:function(n,r){function e(){return new a(function(e,t){!function t(e,n,r,s){var i,e=d(o[e],o,n);if("throw"!==e.type)return(n=(i=e.arg).value)&&"object"==O(n)&&u.call(n,"__await")?a.resolve(n.__await).then(function(e){t("next",e,r,s)},function(e){t("throw",e,r,s)}):a.resolve(n).then(function(e){i.value=e,r(i)},function(e){return t("throw",e,r,s)});s(e.arg)}(n,r,e,t)})}return t=t?t.then(e,e):e()}})}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function R(t){if(t||""===t){var n,e=t[r];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return n=-1,(e=function e(){for(;++n<t.length;)if(u.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=l,e.done=!0,e}).next=e}throw new TypeError(O(t)+" is not iterable")}return c(b,"constructor",{value:v.prototype=T,configurable:!0}),c(T,"constructor",{value:v,configurable:!0}),v.displayName=i(T,s,"GeneratorFunction"),o.isGeneratorFunction=function(e){e="function"==typeof e&&e.constructor;return!!e&&(e===v||"GeneratorFunction"===(e.displayName||e.name))},o.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,T):(e.__proto__=T,i(e,s,"GeneratorFunction")),e.prototype=Object.create(b),e},o.awrap=function(e){return{__await:e}},S(C.prototype),i(C.prototype,n,function(){return this}),o.AsyncIterator=C,o.async=function(e,t,n,r,s){void 0===s&&(s=Promise);var i=new C(a(e,t,n,r),s);return o.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},S(b),i(b,s,"Generator"),i(b,r,function(){return this}),i(b,"toString",function(){return"[object Generator]"}),o.keys=function(e){var t,n=Object(e),r=[];for(t in n)r.push(t);return r.reverse(),function e(){for(;r.length;){var t=r.pop();if(t in n)return e.value=t,e.done=!1,e}return e.done=!0,e}},o.values=R,w.prototype={constructor:w,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=l,this.done=!1,this.delegate=null,this.method="next",this.arg=l,this.tryEntries.forEach(A),!e)for(var t in this)"t"===t.charAt(0)&&u.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=l)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function e(e,t){return i.type="throw",i.arg=n,r.next=e,t&&(r.method="next",r.arg=l),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var s=this.tryEntries[t],i=s.completion;if("root"===s.tryLoc)return e("end");if(s.tryLoc<=this.prev){var o=u.call(s,"catchLoc"),a=u.call(s,"finallyLoc");if(o&&a){if(this.prev<s.catchLoc)return e(s.catchLoc,!0);if(this.prev<s.finallyLoc)return e(s.finallyLoc)}else if(o){if(this.prev<s.catchLoc)return e(s.catchLoc,!0)}else{if(!a)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return e(s.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;0<=n;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&u.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var s=r;break}}var i=(s=s&&("break"===e||"continue"===e)&&s.tryLoc<=t&&t<=s.finallyLoc?null:s)?s.completion:{};return i.type=e,i.arg=t,s?(this.method="next",this.next=s.finallyLoc,m):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n,r,s=this.tryEntries[t];if(s.tryLoc===e)return"throw"===(n=s.completion).type&&(r=n.arg,A(s)),r}throw Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:R(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=l),m}},o}I.exports=n,I.exports.__esModule=!0,I.exports.default=I.exports},9985:function(n){function r(e,t){return n.exports=r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n.exports.__esModule=!0,n.exports.default=n.exports,r(e,t)}n.exports=r,n.exports.__esModule=!0,n.exports.default=n.exports},9844:function(e,t,n){var r=n(3502),s=n(7881),i=n(1535),o=n(7911);e.exports=function(e,t){return r(e)||s(e,t)||i(e,t)||o()},e.exports.__esModule=!0,e.exports.default=e.exports},1699:function(e,t,n){var r=n(9165);e.exports=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=r(e)););return e},e.exports.__esModule=!0,e.exports.default=e.exports},9906:function(e,t,n){var r=n(9091).default;e.exports=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if(n=n.call(e,t||"default"),"object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")},e.exports.__esModule=!0,e.exports.default=e.exports},3543:function(e,t,n){var r=n(9091).default,s=n(9906);e.exports=function(e){return e=s(e,"string"),"symbol"==r(e)?e:e+""},e.exports.__esModule=!0,e.exports.default=e.exports},9091:function(t){function n(e){return t.exports=n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t.exports.__esModule=!0,t.exports.default=t.exports,n(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports},1535:function(e,t,n){var r=n(4958);e.exports=function(e,t){var n;if(e)return"string"==typeof e?r(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0},e.exports.__esModule=!0,e.exports.default=e.exports},2971:function(e,t,n){n=n(8636)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},633:function(e){e.exports=JSON.parse('{"name":"jssip","title":"JsSIP","description":"the Javascript SIP library","version":"3.10.1","homepage":"https://jssip.net","contributors":["José Luis Millán <jmillan@aliax.net> (https://github.com/jmillan)","Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)"],"types":"lib/JsSIP.d.ts","main":"lib-es5/JsSIP.js","keywords":["sip","websocket","webrtc","node","browser","library"],"license":"MIT","repository":{"type":"git","url":"https://github.com/versatica/JsSIP.git"},"bugs":{"url":"https://github.com/versatica/JsSIP/issues"},"dependencies":{"@types/events":"^3.0.0","@types/debug":"^4.1.7","debug":"^4.3.1","events":"^3.3.0","sdp-transform":"^2.14.1"},"devDependencies":{"@babel/core":"^7.19.6","@babel/preset-env":"^7.19.4","ansi-colors":"^3.2.4","browserify":"^16.5.1","eslint":"^5.16.0","fancy-log":"^1.3.3","gulp":"^4.0.2","gulp-babel":"^8.0.0","gulp-eslint":"^5.0.0","gulp-expect-file":"^1.0.2","gulp-header":"^2.0.9","gulp-nodeunit-runner":"^0.2.2","gulp-plumber":"^1.2.1","gulp-rename":"^1.4.0","gulp-uglify-es":"^1.0.4","pegjs":"^0.7.0","vinyl-buffer":"^1.0.1","vinyl-source-stream":"^2.0.0"},"scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","prepublish":"node npm-scripts.js prepublish","release":"node npm-scripts.js release"}}')}},s={},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n(4321);function n(e){var t=s[e];return void 0!==t||(t=s[e]={exports:{}},r[e].call(t.exports,t,t.exports,n)),t.exports}var r,s},"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("SIP_MIX_WEB",[],t):"object"==typeof exports?exports.SIP_MIX_WEB=t():e.SIP_MIX_WEB=t();