@techsee/techsee-media-service 999.20.0-nodejs.lite.2 → 999.20.1-alpha
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.
- package/README.md +28 -27
- package/lib/LocalStreamManager.d.ts +0 -1
- package/lib/LocalStreamManager.d.ts.map +1 -1
- package/lib/LocalStreamManager.js +84 -82
- package/lib/LocalStreamManager.js.map +1 -1
- package/lib/MediaConstants.d.ts +3 -21
- package/lib/MediaConstants.d.ts.map +1 -1
- package/lib/MediaConstants.js +13 -32
- package/lib/MediaConstants.js.map +1 -1
- package/lib/MediaContracts.d.ts +3 -9
- package/lib/MediaContracts.d.ts.map +1 -1
- package/lib/MediaContracts.js +4 -1
- package/lib/MediaContracts.js.map +1 -1
- package/lib/MediaPublisher.d.ts +0 -1
- package/lib/MediaPublisher.d.ts.map +1 -1
- package/lib/MediaPublisher.js +10 -7
- package/lib/MediaPublisher.js.map +1 -1
- package/lib/MediaServiceBase.d.ts +0 -1
- package/lib/MediaServiceBase.d.ts.map +1 -1
- package/lib/MediaServiceBase.js +199 -170
- package/lib/MediaServiceBase.js.map +1 -1
- package/lib/MediaSession/MediaServer.d.ts +0 -1
- package/lib/MediaSession/MediaServer.d.ts.map +1 -1
- package/lib/MediaSession/MediaServer.js +74 -62
- package/lib/MediaSession/MediaServer.js.map +1 -1
- package/lib/MediaSession/MediaSessionBase.d.ts +0 -1
- package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
- package/lib/MediaSession/MediaSessionBase.js +23 -19
- package/lib/MediaSession/MediaSessionBase.js.map +1 -1
- package/lib/MediaSession/SessionOpentok.d.ts +2 -3
- package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
- package/lib/MediaSession/SessionOpentok.js +80 -51
- package/lib/MediaSession/SessionOpentok.js.map +1 -1
- package/lib/MediaSession/SessionTurn.d.ts +0 -1
- package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
- package/lib/MediaSession/SessionTurn.js +151 -109
- package/lib/MediaSession/SessionTurn.js.map +1 -1
- package/lib/MediaSession/TurnConstants.d.ts +0 -1
- package/lib/MediaSession/TurnConstants.d.ts.map +1 -1
- package/lib/MediaSession/TurnConstants.js +16 -1
- package/lib/MediaSession/TurnConstants.js.map +1 -1
- package/lib/MediaSubscriber.d.ts +0 -1
- package/lib/MediaSubscriber.d.ts.map +1 -1
- package/lib/MediaSubscriber.js +43 -37
- package/lib/MediaSubscriber.js.map +1 -1
- package/lib/MediaUtils/Compatibility.d.ts +0 -3
- package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
- package/lib/MediaUtils/Compatibility.js +34 -76
- package/lib/MediaUtils/Compatibility.js.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.d.ts +3 -6
- package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.js +65 -70
- package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
- package/lib/MediaUtils/MediaTracer.d.ts +0 -1
- package/lib/MediaUtils/MediaTracer.d.ts.map +1 -1
- package/lib/MediaUtils/MediaTracer.js +5 -2
- package/lib/MediaUtils/MediaTracer.js.map +1 -1
- package/lib/MultiParty/DetectWebRtcService.d.ts +14 -17
- package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -1
- package/lib/MultiParty/DetectWebRtcService.js +54 -98
- package/lib/MultiParty/DetectWebRtcService.js.map +1 -1
- package/lib/MultiParty/MediaCapabilitiesHelper.d.ts +10 -0
- package/lib/MultiParty/MediaCapabilitiesHelper.d.ts.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesHelper.js +140 -0
- package/lib/MultiParty/MediaCapabilitiesHelper.js.map +1 -0
- package/lib/MultiParty/MultiParty.d.ts +21 -0
- package/lib/MultiParty/MultiParty.d.ts.map +1 -0
- package/lib/MultiParty/MultiParty.js +160 -0
- package/lib/MultiParty/MultiParty.js.map +1 -0
- package/lib/MultiParty/OpentokMultiparty.d.ts +32 -0
- package/lib/MultiParty/OpentokMultiparty.d.ts.map +1 -0
- package/lib/MultiParty/OpentokMultiparty.js +184 -0
- package/lib/MultiParty/OpentokMultiparty.js.map +1 -0
- package/lib/TechseeMediaStream.d.ts +0 -1
- package/lib/TechseeMediaStream.d.ts.map +1 -1
- package/lib/TechseeMediaStream.js +12 -9
- package/lib/TechseeMediaStream.js.map +1 -1
- package/lib/oldCode/constants.js +20 -0
- package/lib/oldCode/constants.js.map +1 -0
- package/lib/oldCode/event-emitter.js +39 -0
- package/lib/oldCode/event-emitter.js.map +1 -0
- package/lib/oldCode/index.js +64 -0
- package/lib/oldCode/index.js.map +1 -0
- package/lib/oldCode/opentok/session.js +310 -0
- package/lib/oldCode/opentok/session.js.map +1 -0
- package/lib/oldCode/opentok/stream.js +310 -0
- package/lib/oldCode/opentok/stream.js.map +1 -0
- package/lib/oldCode/publisher.js +143 -0
- package/lib/oldCode/publisher.js.map +1 -0
- package/lib/oldCode/service.js +395 -0
- package/lib/oldCode/service.js.map +1 -0
- package/lib/oldCode/session.js +110 -0
- package/lib/oldCode/session.js.map +1 -0
- package/lib/oldCode/stream.js +195 -0
- package/lib/oldCode/stream.js.map +1 -0
- package/lib/oldCode/subscriber.js +90 -0
- package/lib/oldCode/subscriber.js.map +1 -0
- package/lib/oldCode/tracer.d.ts +36 -0
- package/lib/oldCode/tracer.d.ts.map +1 -0
- package/lib/oldCode/tracer.js +161 -0
- package/lib/oldCode/tracer.js.map +1 -0
- package/lib/oldCode/utils/ImageFixer.d.ts +1 -0
- package/lib/oldCode/utils/ImageFixer.d.ts.map +1 -0
- package/lib/oldCode/utils/ImageFixer.js +59 -0
- package/lib/oldCode/utils/ImageFixer.js.map +1 -0
- package/lib/oldCode/webrtc/constants.js +114 -0
- package/lib/oldCode/webrtc/constants.js.map +1 -0
- package/lib/oldCode/webrtc/helper.js +173 -0
- package/lib/oldCode/webrtc/helper.js.map +1 -0
- package/lib/oldCode/webrtc/session-kms.js +558 -0
- package/lib/oldCode/webrtc/session-kms.js.map +1 -0
- package/lib/oldCode/webrtc/session-loopback.js +336 -0
- package/lib/oldCode/webrtc/session-loopback.js.map +1 -0
- package/lib/oldCode/webrtc/session-turn.js +880 -0
- package/lib/oldCode/webrtc/session-turn.js.map +1 -0
- package/lib/oldCode/webrtc/session-turn.v2.js +583 -0
- package/lib/oldCode/webrtc/session-turn.v2.js.map +1 -0
- package/lib/oldCode/webrtc/session.js +52 -0
- package/lib/oldCode/webrtc/session.js.map +1 -0
- package/lib/oldCode/webrtc/stream.js +674 -0
- package/lib/oldCode/webrtc/stream.js.map +1 -0
- package/lib/oldCode/webrtc/temasys/adapter-loader.js +12 -0
- package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +1 -0
- package/lib/oldCode/webrtc/temasys/adapter.js +5861 -0
- package/lib/oldCode/webrtc/temasys/adapter.js.map +1 -0
- package/lib/oldCode/webrtc/webrtc-ie-shim.js +3007 -0
- package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +1 -0
- package/lib/qos/raw-qos.js +145 -84
- package/lib/qos/raw-qos.js.map +1 -1
- package/lib/webrtc-ie-shim.js +2950 -1896
- package/lib/webrtc-ie-shim.js.map +1 -1
- package/package.json +59 -65
- package/lib/MediaUtils/index.d.ts +0 -2
- package/lib/MediaUtils/index.d.ts.map +0 -1
- package/lib/MediaUtils/index.js +0 -6
- package/lib/MediaUtils/index.js.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesService.d.ts +0 -18
- package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesService.js +0 -158
- package/lib/MultiParty/MediaCapabilitiesService.js.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +0 -6
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesUtils.js +0 -123
- package/lib/MultiParty/MediaCapabilitiesUtils.js.map +0 -1
- package/lib/MultiParty/MediaTracer.d.ts +0 -4
- package/lib/MultiParty/MediaTracer.d.ts.map +0 -1
- package/lib/MultiParty/MediaTracer.js +0 -10
- package/lib/MultiParty/MediaTracer.js.map +0 -1
- package/lib/MultiParty/MultiPartyService.d.ts +0 -49
- package/lib/MultiParty/MultiPartyService.d.ts.map +0 -1
- package/lib/MultiParty/MultiPartyService.js +0 -30
- package/lib/MultiParty/MultiPartyService.js.map +0 -1
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts +0 -4
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +0 -1
- package/lib/MultiParty/MultiPartyServiceFactory.js +0 -13
- package/lib/MultiParty/MultiPartyServiceFactory.js.map +0 -1
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +0 -89
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +0 -1
- package/lib/MultiParty/MultipartyServiceEventTypes.js +0 -16
- package/lib/MultiParty/MultipartyServiceEventTypes.js.map +0 -1
- package/lib/MultiParty/index.d.ts +0 -7
- package/lib/MultiParty/index.d.ts.map +0 -1
- package/lib/MultiParty/index.js +0 -25
- package/lib/MultiParty/index.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +0 -38
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js +0 -492
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts +0 -34
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokPublisher.js +0 -121
- package/lib/MultiParty/opentok/OpentokPublisher.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +0 -20
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +0 -49
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +0 -6
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js +0 -48
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +0 -2
- package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokSubscriber.js +0 -26
- package/lib/MultiParty/opentok/OpentokSubscriber.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +0 -19
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js +0 -182
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +0 -1
- package/lib/MultiParty/opentok/trace.d.ts +0 -3
- package/lib/MultiParty/opentok/trace.d.ts.map +0 -1
- package/lib/MultiParty/opentok/trace.js +0 -18
- package/lib/MultiParty/opentok/trace.js.map +0 -1
- package/lib/MultiParty/opentok.d.ts +0 -463
- package/lib/MultiParty/types.d.ts +0 -33
- package/lib/MultiParty/types.d.ts.map +0 -1
- package/lib/MultiParty/types.js +0 -3
- package/lib/MultiParty/types.js.map +0 -1
- package/lib/MultiParty/utils.d.ts +0 -10
- package/lib/MultiParty/utils.d.ts.map +0 -1
- package/lib/MultiParty/utils.js +0 -17
- package/lib/MultiParty/utils.js.map +0 -1
- package/lib/qos/raw-qos.d.ts +0 -29
- package/lib/qos/raw-qos.d.ts.map +0 -1
- package/lib/webrtc-ie-shim.d.ts +0 -4
- package/lib/webrtc-ie-shim.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webrtc-ie-shim.js","sourceRoot":"","sources":["../src/webrtc-ie-shim.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["webrtc-ie-shim.js"],"names":["f","exports","module","define","amd","g","window","global","self","webrtcIeShim","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","endianness","hostname","location","loadavg","uptime","freemem","Number","MAX_VALUE","totalmem","cpus","type","release","navigator","appVersion","networkInterfaces","getNetworkInterfaces","arch","platform","tmpdir","tmpDir","EOL","homedir","process","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","setTimeout","clearTimeout","runTimeout","fun","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","nextTick","args","Array","arguments","push","Item","array","prototype","apply","title","browser","env","argv","version","versions","noop","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","detect","WebRTCProxy","checkNewNode","node","nodeName","match","VideoRenderer","handle","j","childNodes","item","checkRemovedNode","unhandle","makeInterface","Base","Interface","TypeError","Object","defineProperty","enumerable","configurable","writable","value","create","constructor","__proto__","defineGlobalProperty","MediaDevices","mediaDevices","RTCPeerConnection","RTCSessionDescription","RTCIceCandidate","RTCRtpTransceiver","RTCRtpReceiver","RTCRtpSender","RTCDataChannel","MediaStream","MediaStreamTrack","EventTarget","WebRTCAdapter","bindVideoElement","element","unBindVideoElement","domObserver","MutationObserver","mutations","numMutations","mutation","numNodes","addedNodes","removedNodes","videos","document","getElementsByTagName","_typeof","Symbol","iterator","obj","privateData","WeakMap","wrappers","pd","event","retv","get","console","assert","Event","eventTarget","set","eventPhase","currentTarget","canceled","stopped","passiveListener","timeStamp","Date","now","keys","key","defineRedirectDescriptor","target","composedPath","NONE","CAPTURING_PHASE","AT_TARGET","BUBBLING_PHASE","stopPropagation","data","stopImmediatePropagation","bubbles","Boolean","cancelable","preventDefault","warn","defaultPrevented","composed","setPrototypeOf","defineCallDescriptor","defineWrapper","BaseEvent","proto","CustomEvent","descriptor","getOwnPropertyDescriptor","isFunc","getWrapper","wrapper","getPrototypeOf","wrapEvent","Wrapper","isStopped","setEventPhase","setCurrentTarget","setPassiveListener","listenersMap","CAPTURE","BUBBLE","ATTRIBUTE","isObject","x","getListeners","Map","defineEventAttributeDescriptor","eventName","listenerType","listener","next","prev","delete","newNode","passive","defineEventAttribute","eventTargetPrototype","defineCustomEventTarget","eventNames","CustomEventTarget","isArray","types","addEventListener","options","optionsIsObj","capture","undefined","removeEventListener","dispatchEvent","wrappedEvent","handleEvent","InvalidStateError","xhr","XMLHttpRequest","responseType","enumerateDevices","Promise","resolve","reject","getSupportedConstraints","getUserMedia","constraints","stream","audio","track","createLocalAudioTrack","addTrack","video","createLocalVideoTrack","count","tracks","label","priv","id","getAudioTracks","arr","kind","getVideoTracks","getTracks","getTrackById","hasOwnProperty","enabled","createEvent","initEvent","removeTrack","clone","muted","state","stop","getCapabilities","getConstraints","getSettings","applyConstraints","dataChannel","binaryType","ordered","maxPacketLifeTime","protocol","negotiated","priority","readyState","bufferedAmount","bufferedAmountLowThreshold","SyntaxError","fire","onopen","onbufferedamountlow","onerror","onclose","onmessage","message","Uint8Array","builder","MSBlobBuilder","append","getBlob","buffer","send","Blob","reader","FileReader","onloadend","result","readAsArrayBuffer","ArrayBuffer","close","iceCandidateInit","candidate","sdpMid","sdpMLineIndex","usernameFragment","foundation","component","ip","port","tcpType","relatedAddress","relatedPort","ext","parsed","parseIceCandidate","toJSON","_extends","assign","source","DataChannel","RTCIceTransportPolicy","RTCBundlePolicy","RTCRtcpMuxPolicy","RTCIceCredentialType","check","valid","JSON","stringify","checkRange","min","max","checkNotNull","checkArray","createRTCConfiguration","configuration","sanitized","iceServers","iceTransportPolicy","bundlePolicy","rtcpMuxPolicy","iceCandidatePoolSize","certificates","parse","iceServer","credentialType","urls","senders","remoteStreams","lastOffer","lastAnswer","isClosed","signalingState","iceGatheringState","iceConnectionState","connectionState","canTrickleIceCandidates","toSessionDescription","sdp","toArray","pc","localDescription","currentLocalDescription","pendingLocalDescription","remoteDescription","currentRemoteDescription","pendingRemoteDescription","createPeerConnection","onnegotiationneeded","onicecandidate","url","onicecandidateerror","onsignalingstatechange","oniceconnectionstatechange","onicegatheringstatechange","onconnectionstatechange","onaddstream","getRemoteStreamTracks","slice","mediaStreamTracks","receiver","transceiver","streams","onremovestream","remotes","ondatachannel","channel","getConfiguration","setConfiguration","error","operationError","getDefaultIceServers","createOffer","createAnswer","setLocalDescription","description","setRemoteDescription","addIceCandidate","getSenders","getReceivers","getTransceivers","sender","rtpSender","senderId","addTransceiver","trackOrKind","init","getStats","addStream","createDataChannel","dataChannelDict","getParameters","getContributingSources","getSynchronizationSources","setParameters","replaceTrack","RTPRtcTransceiver","mid","direction","currentDirection","descriptionInitDict","videoObserver","videoRenderer","mutate","CLASSID","srcObject","object","createElement","classid","appendChild","observe","childList","attributes","characterData","subtree","attributeOldValue","characterDataOldValue","needsmetadata","onresize","videoTracks","setTrack","show","videoWidth","videoHeight","hide","disconnect","removeNode","parentElement","parentNode","replaceChild","ActiveXObject","nodeVersion","getNodeVersion","parseUserAgent","userAgent","detectOS","userAgentString","rules","getOperatingSystemRules","detected","filter","os","rule","test","isNode","toLowerCase","browsers","getBrowserRules","map","exec","split","join","buildRules","ruleTuples","tuple"],"mappings":"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","file":"webrtc-ie-shim.js","sourcesContent":["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.webrtcIeShim = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\nexports.endianness = function () { return 'LE' };\n\nexports.hostname = function () {\n if (typeof location !== 'undefined') {\n return location.hostname\n }\n else return '';\n};\n\nexports.loadavg = function () { return [] };\n\nexports.uptime = function () { return 0 };\n\nexports.freemem = function () {\n return Number.MAX_VALUE;\n};\n\nexports.totalmem = function () {\n return Number.MAX_VALUE;\n};\n\nexports.cpus = function () { return [] };\n\nexports.type = function () { return 'Browser' };\n\nexports.release = function () {\n if (typeof navigator !== 'undefined') {\n return navigator.appVersion;\n }\n return '';\n};\n\nexports.networkInterfaces\n= exports.getNetworkInterfaces\n= function () { return {} };\n\nexports.arch = function () { return 'javascript' };\n\nexports.platform = function () { return 'browser' };\n\nexports.tmpdir = exports.tmpDir = function () {\n return '/tmp';\n};\n\nexports.EOL = '\\n';\n\nexports.homedir = function () {\n\treturn '/'\n};\n\n},{}],2:[function(require,module,exports){\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],3:[function(require,module,exports){\n'use strict';\n\nvar browser = require('detect-browser').detect();\n\nvar WebRTCProxy = require('./lib/WebRTCProxy.js');\n\n//If it is not internet exploer, do nothign\nif (browser.name === 'ie' && WebRTCProxy) {\n\n //Helper functions to check video nodes\n var checkNewNode = function checkNewNode(node) {\n //If it is a video element\n if (node.nodeName.match(/video/i))\n // Observe changes in the video element\n return VideoRenderer.handle(node);\n //Look in childs\n for (var j = 0; j < node.childNodes.length; j++) {\n checkNewNode(node.childNodes.item(j));\n }\n };\n\n var checkRemovedNode = function checkRemovedNode(node) {\n //If it is a video element\n if (node.nodeName.match(/video/i)) return VideoRenderer.unhandle(node);\n //Look in childs\n for (var j = 0; j < node.childNodes.length; j++) {\n checkRemovedNode(node.childNodes.item(j));\n }\n };\n\n var makeInterface = function makeInterface(Base) {\n //Interface with no constructor\n var Interface = function Interface() {\n throw new TypeError();\n };\n //Set name\n Object.defineProperty(Interface, 'name', {\n enumerable: false,\n configurable: true,\n writable: false,\n value: Base.name\n });\n //Create constructor and reset protocol chain\n Interface.prototype = Object.create(Base.prototype, {\n constructor: {\n value: Interface,\n configurable: true,\n writable: false\n }\n });\n //Fix protocol chain\n Interface.__proto__ = Base.__proto__;\n //Make prototype read only\n Object.defineProperty(Interface, 'prototype', { writable: false });\n //Ok\n return Interface;\n };\n\n var defineGlobalProperty = function defineGlobalProperty(name, value) {\n Object.defineProperty(window, name, {\n enumerable: false,\n configurable: true,\n writable: true,\n value: value\n });\n };\n\n // Add objects to global\n var MediaDevices = require('./lib/MediaDevices.js');\n var VideoRenderer = require('./lib/VideoRenderer.js');\n navigator.mediaDevices = new MediaDevices();\n\n var RTCPeerConnection = require('./lib/RTCPeerConnection.js');\n var RTCSessionDescription = require('./lib/RTCSessionDescription.js');\n var RTCIceCandidate = require('./lib/RTCIceCandidate.js');\n var RTCRtpTransceiver = require('./lib/RTCRtpTransceiver.js');\n var RTCRtpReceiver = require('./lib/RTCRtpReceiver.js');\n var RTCRtpSender = require('./lib/RTCRtpSender.js');\n var RTCDataChannel = require('./lib/RTCDataChannel.js');\n var MediaStream = require('./lib/MediaStream.js');\n var MediaStreamTrack = require('./lib/MediaStreamTrack.js');\n var EventTarget = require('./lib/EventTarget.js').EventTarget;\n var WebRTCAdapter = {\n //Method called by demand in IE for bind video elements\n bindVideoElement: function bindVideoElement(element) {\n checkNewNode(element);\n },\n\n //Method called by demand in IE for unbind video elements\n unBindVideoElement: function unBindVideoElement(element) {\n checkRemovedNode(element);\n }\n };\n\n defineGlobalProperty('RTCPeerConnection', RTCPeerConnection);\n defineGlobalProperty('RTCSessionDescription', RTCSessionDescription);\n defineGlobalProperty('RTCIceCandidate', RTCIceCandidate);\n defineGlobalProperty('MediaStream', MediaStream);\n defineGlobalProperty('MediaStreamTrack', makeInterface(MediaStreamTrack));\n defineGlobalProperty('RTCRtpTransceiver', makeInterface(RTCRtpTransceiver));\n defineGlobalProperty('RTCRtpReceiver', makeInterface(RTCRtpReceiver));\n defineGlobalProperty('RTCRtpSender', makeInterface(RTCRtpSender));\n defineGlobalProperty('RTCDataChannel', makeInterface(RTCDataChannel));\n defineGlobalProperty('EventTarget', EventTarget);\n defineGlobalProperty('WebRTCAdapter', WebRTCProxy ? WebRTCAdapter : null);\n\n // DOM mutation observer to check when a new video element has been added to the DOM\n // TODO: Currently domObserver no observing, need to decide how to make it configurable to prevent performance issues.\n var domObserver = new MutationObserver(function (mutations) {\n for (var i = 0, numMutations = mutations.length; i < numMutations; i++) {\n var mutation = mutations[i];\n\n // Check if there has been addition or deletion of nodes\n if (mutation.type !== 'childList') continue;\n\n // Check added nodes.\n for (var j = 0, numNodes = mutation.addedNodes.length; j < numNodes; j++) {\n //Check node recursively\n checkNewNode(mutation.addedNodes[j]);\n } // Check removed nodes.\n for (j = 0, numNodes = mutation.removedNodes.length; j < numNodes; j++) {\n //Check node recursively\n checkRemovedNode(mutation.removedNodes[j]);\n }\n }\n });\n\n //Get all video elements already present\n var videos = document.getElementsByTagName('video');\n\n //Handle them\n for (var i = 0; i < videos.length; ++i) {\n VideoRenderer.handle(videos[i]);\n }\n}\n\n},{\"./lib/EventTarget.js\":4,\"./lib/MediaDevices.js\":6,\"./lib/MediaStream.js\":7,\"./lib/MediaStreamTrack.js\":8,\"./lib/RTCDataChannel.js\":9,\"./lib/RTCIceCandidate.js\":10,\"./lib/RTCPeerConnection.js\":11,\"./lib/RTCRtpReceiver.js\":12,\"./lib/RTCRtpSender.js\":13,\"./lib/RTCRtpTransceiver.js\":14,\"./lib/RTCSessionDescription.js\":15,\"./lib/VideoRenderer.js\":16,\"./lib/WebRTCProxy.js\":17,\"detect-browser\":18}],4:[function(require,module,exports){\n/**\n * @author Toru Nagashima <https://github.com/mysticatea>\n * @copyright 2015 Toru Nagashima. All rights reserved.\n * See LICENSE file in root directory for full license.\n */\n'use strict';\n\n/**\n * @typedef {object} PrivateData\n * @property {EventTarget} eventTarget The event target.\n * @property {{type:string}} event The original event object.\n * @property {number} eventPhase The current event phase.\n * @property {EventTarget|null} currentTarget The current event target.\n * @property {boolean} canceled The flag to prevent default.\n * @property {boolean} stopped The flag to stop propagation immediately.\n * @property {Function|null} passiveListener The listener if the current listener is passive. Otherwise this is null.\n * @property {number} timeStamp The unix time.\n * @private\n */\n\n/**\n * Private data for event wrappers.\n * @type {WeakMap<Event, PrivateData>}\n * @private\n */\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar privateData = new WeakMap();\n\n/**\n * Cache for wrapper classes.\n * @type {WeakMap<Object, Function>}\n * @private\n */\nvar wrappers = new WeakMap();\n\n/**\n * Get private data.\n * @param {Event} event The event object to get private data.\n * @returns {PrivateData} The private data of the event.\n * @private\n */\nfunction pd(event) {\n var retv = privateData.get(event);\n console.assert(retv != null, \"'this' is expected an Event object, but got\", event);\n return retv;\n}\n\n/**\n * @see https://dom.spec.whatwg.org/#interface-event\n * @private\n */\n/**\n * The event wrapper.\n * @constructor\n * @param {EventTarget} eventTarget The event target of this dispatching.\n * @param {Event|{type:string}} event The original event to wrap.\n */\nfunction Event(eventTarget, event) {\n privateData.set(this, {\n eventTarget: eventTarget,\n event: event,\n eventPhase: 2,\n currentTarget: eventTarget,\n canceled: false,\n stopped: false,\n passiveListener: null,\n timeStamp: event.timeStamp || Date.now()\n });\n\n // https://heycam.github.io/webidl/#Unforgeable\n Object.defineProperty(this, \"isTrusted\", { value: false, enumerable: true });\n\n // Define accessors\n var keys = Object.keys(event);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!(key in this)) {\n Object.defineProperty(this, key, defineRedirectDescriptor(key));\n }\n }\n}\n\n// Should be enumerable, but class methods are not enumerable.\nEvent.prototype = {\n /**\n * The type of this event.\n * @type {string}\n */\n get type() {\n return pd(this).event.type;\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n */\n get target() {\n return pd(this).eventTarget;\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n */\n get currentTarget() {\n return pd(this).currentTarget;\n },\n\n /**\n * @returns {EventTarget[]} The composed path of this event.\n */\n composedPath: function composedPath() {\n var currentTarget = pd(this).currentTarget;\n if (currentTarget == null) {\n return [];\n }\n return [currentTarget];\n },\n\n\n /**\n * Constant of NONE.\n * @type {number}\n */\n get NONE() {\n return 0;\n },\n\n /**\n * Constant of CAPTURING_PHASE.\n * @type {number}\n */\n get CAPTURING_PHASE() {\n return 1;\n },\n\n /**\n * Constant of AT_TARGET.\n * @type {number}\n */\n get AT_TARGET() {\n return 2;\n },\n\n /**\n * Constant of BUBBLING_PHASE.\n * @type {number}\n */\n get BUBBLING_PHASE() {\n return 3;\n },\n\n /**\n * The target of this event.\n * @type {number}\n */\n get eventPhase() {\n return pd(this).eventPhase;\n },\n\n /**\n * Stop event bubbling.\n * @returns {void}\n */\n stopPropagation: function stopPropagation() {\n var data = pd(this);\n if (typeof data.event.stopPropagation === \"function\") {\n data.event.stopPropagation();\n }\n },\n\n\n /**\n * Stop event bubbling.\n * @returns {void}\n */\n stopImmediatePropagation: function stopImmediatePropagation() {\n var data = pd(this);\n\n data.stopped = true;\n if (typeof data.event.stopImmediatePropagation === \"function\") {\n data.event.stopImmediatePropagation();\n }\n },\n\n\n /**\n * The flag to be bubbling.\n * @type {boolean}\n */\n get bubbles() {\n return Boolean(pd(this).event.bubbles);\n },\n\n /**\n * The flag to be cancelable.\n * @type {boolean}\n */\n get cancelable() {\n return Boolean(pd(this).event.cancelable);\n },\n\n /**\n * Cancel this event.\n * @returns {void}\n */\n preventDefault: function preventDefault() {\n var data = pd(this);\n if (data.passiveListener != null) {\n console.warn(\"Event#preventDefault() was called from a passive listener:\", data.passiveListener);\n return;\n }\n if (!data.event.cancelable) {\n return;\n }\n\n data.canceled = true;\n if (typeof data.event.preventDefault === \"function\") {\n data.event.preventDefault();\n }\n },\n\n\n /**\n * The flag to indicate cancellation state.\n * @type {boolean}\n */\n get defaultPrevented() {\n return pd(this).canceled;\n },\n\n /**\n * The flag to be composed.\n * @type {boolean}\n */\n get composed() {\n return Boolean(pd(this).event.composed);\n },\n\n /**\n * The unix time of this event.\n * @type {number}\n */\n get timeStamp() {\n return pd(this).timeStamp;\n }\n};\n\n// `constructor` is not enumerable.\nObject.defineProperty(Event.prototype, \"constructor\", { value: Event, configurable: true, writable: true });\n\n// Ensure `event instanceof window.Event` is `true`.\nif (typeof window !== \"undefined\" && typeof window.Event !== \"undefined\") {\n Object.setPrototypeOf(Event.prototype, window.Event.prototype);\n\n // Make association for wrappers.\n wrappers.set(window.Event.prototype, Event);\n}\n\n/**\n * Get the property descriptor to redirect a given property.\n * @param {string} key Property name to define property descriptor.\n * @returns {PropertyDescriptor} The property descriptor to redirect the property.\n * @private\n */\nfunction defineRedirectDescriptor(key) {\n return {\n get: function get() {\n return pd(this).event[key];\n },\n set: function set(value) {\n pd(this).event[key] = value;\n },\n\n configurable: true,\n enumerable: true\n };\n}\n\n/**\n * Get the property descriptor to call a given method property.\n * @param {string} key Property name to define property descriptor.\n * @returns {PropertyDescriptor} The property descriptor to call the method property.\n * @private\n */\nfunction defineCallDescriptor(key) {\n return {\n value: function value() {\n var event = pd(this).event;\n return event[key].apply(event, arguments);\n },\n\n configurable: true,\n enumerable: true\n };\n}\n\n/**\n * Define new wrapper class.\n * @param {Function} BaseEvent The base wrapper class.\n * @param {Object} proto The prototype of the original event.\n * @returns {Function} The defined wrapper class.\n * @private\n */\nfunction defineWrapper(BaseEvent, proto) {\n var keys = Object.keys(proto);\n if (keys.length === 0) {\n return BaseEvent;\n }\n\n /** CustomEvent */\n function CustomEvent(eventTarget, event) {\n BaseEvent.call(this, eventTarget, event);\n }\n\n CustomEvent.prototype = Object.create(BaseEvent.prototype, {\n constructor: { value: CustomEvent, configurable: true, writable: true }\n });\n\n // Define accessors.\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!(key in BaseEvent.prototype)) {\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n var isFunc = typeof descriptor.value === \"function\";\n Object.defineProperty(CustomEvent.prototype, key, isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key));\n }\n }\n\n return CustomEvent;\n}\n\n/**\n * Get the wrapper class of a given prototype.\n * @param {Object} proto The prototype of the original event to get its wrapper.\n * @returns {Function} The wrapper class.\n * @private\n */\nfunction getWrapper(proto) {\n if (proto == null || proto === Object.prototype) {\n return Event;\n }\n\n var wrapper = wrappers.get(proto);\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);\n wrappers.set(proto, wrapper);\n }\n return wrapper;\n}\n\n/**\n * Wrap a given event to management a dispatching.\n * @param {EventTarget} eventTarget The event target of this dispatching.\n * @param {Object} event The event to wrap.\n * @returns {Event} The wrapper instance.\n * @private\n */\nfunction wrapEvent(eventTarget, event) {\n var Wrapper = getWrapper(Object.getPrototypeOf(event));\n return new Wrapper(eventTarget, event);\n}\n\n/**\n * Get the stopped flag of a given event.\n * @param {Event} event The event to get.\n * @returns {boolean} The flag to stop propagation immediately.\n * @private\n */\nfunction isStopped(event) {\n return pd(event).stopped;\n}\n\n/**\n * Set the current event phase of a given event.\n * @param {Event} event The event to set current target.\n * @param {number} eventPhase New event phase.\n * @returns {void}\n * @private\n */\nfunction setEventPhase(event, eventPhase) {\n pd(event).eventPhase = eventPhase;\n}\n\n/**\n * Set the current target of a given event.\n * @param {Event} event The event to set current target.\n * @param {EventTarget|null} currentTarget New current target.\n * @returns {void}\n * @private\n */\nfunction setCurrentTarget(event, currentTarget) {\n pd(event).currentTarget = currentTarget;\n}\n\n/**\n * Set a passive listener of a given event.\n * @param {Event} event The event to set current target.\n * @param {Function|null} passiveListener New passive listener.\n * @returns {void}\n * @private\n */\nfunction setPassiveListener(event, passiveListener) {\n pd(event).passiveListener = passiveListener;\n}\n\n/**\n * @typedef {object} ListenerNode\n * @property {Function} listener\n * @property {1|2|3} listenerType\n * @property {boolean} passive\n * @property {boolean} once\n * @property {ListenerNode|null} next\n * @private\n */\n\n/**\n * @type {WeakMap<object, Map<string, ListenerNode>>}\n * @private\n */\nvar listenersMap = new WeakMap();\n\n// Listener types\nvar CAPTURE = 1;\nvar BUBBLE = 2;\nvar ATTRIBUTE = 3;\n\n/**\n * Check whether a given value is an object or not.\n * @param {any} x The value to check.\n * @returns {boolean} `true` if the value is an object.\n */\nfunction isObject(x) {\n return x !== null && (typeof x === \"undefined\" ? \"undefined\" : _typeof(x)) === \"object\"; //eslint-disable-line no-restricted-syntax\n}\n\n/**\n * Get listeners.\n * @param {EventTarget} eventTarget The event target to get.\n * @returns {Map<string, ListenerNode>} The listeners.\n * @private\n */\nfunction getListeners(eventTarget) {\n var listeners = listenersMap.get(eventTarget);\n console.assert(listeners != null, \"'this' is expected an EventTarget object\");\n return listeners || new Map();\n}\n\n/**\n * Get the property descriptor for the event attribute of a given event.\n * @param {string} eventName The event name to get property descriptor.\n * @returns {PropertyDescriptor} The property descriptor.\n * @private\n */\nfunction defineEventAttributeDescriptor(eventName) {\n return {\n get: function get() {\n var listeners = getListeners(this);\n var node = listeners.get(eventName);\n while (node != null) {\n if (node.listenerType === ATTRIBUTE) {\n return node.listener;\n }\n node = node.next;\n }\n return null;\n },\n set: function set(listener) {\n if (typeof listener !== \"function\" && !isObject(listener)) {\n listener = null; // eslint-disable-line no-param-reassign\n }\n var listeners = getListeners(this);\n\n // Traverse to the tail while removing old value.\n var prev = null;\n var node = listeners.get(eventName);\n while (node != null) {\n if (node.listenerType === ATTRIBUTE) {\n // Remove old value.\n if (prev !== null) {\n prev.next = node.next;\n } else if (node.next !== null) {\n listeners.set(eventName, node.next);\n } else {\n listeners.delete(eventName);\n }\n } else {\n prev = node;\n }\n\n node = node.next;\n }\n\n // Add new value.\n if (listener !== null) {\n var newNode = {\n listener: listener,\n listenerType: ATTRIBUTE,\n passive: false,\n once: false,\n next: null\n };\n if (prev === null) {\n listeners.set(eventName, newNode);\n } else {\n prev.next = newNode;\n }\n }\n },\n\n configurable: true,\n enumerable: true\n };\n}\n\n/**\n * Define an event attribute (e.g. `eventTarget.onclick`).\n * @param {Object} eventTargetPrototype The event target prototype to define an event attrbite.\n * @param {string} eventName The event name to define.\n * @returns {void}\n */\nfunction defineEventAttribute(eventTargetPrototype, eventName) {\n Object.defineProperty(eventTargetPrototype, \"on\" + eventName, defineEventAttributeDescriptor(eventName));\n}\n\n/**\n * Define a custom EventTarget with event attributes.\n * @param {string[]} eventNames Event names for event attributes.\n * @returns {EventTarget} The custom EventTarget.\n * @private\n */\nfunction defineCustomEventTarget(eventNames) {\n /** CustomEventTarget */\n function CustomEventTarget() {\n EventTarget.call(this);\n }\n\n CustomEventTarget.prototype = Object.create(EventTarget.prototype, {\n constructor: { value: CustomEventTarget, configurable: true, writable: true }\n });\n\n for (var i = 0; i < eventNames.length; ++i) {\n defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);\n }\n\n return CustomEventTarget;\n}\n\n/**\n * EventTarget.\n * \n * - This is constructor if no arguments.\n * - This is a function which returns a CustomEventTarget constructor if there are arguments.\n * \n * For example:\n * \n * class A extends EventTarget {}\n * class B extends EventTarget(\"message\") {}\n * class C extends EventTarget(\"message\", \"error\") {}\n * class D extends EventTarget([\"message\", \"error\"]) {}\n */\nfunction EventTarget() {\n /*eslint-disable consistent-return */\n if (this instanceof EventTarget) {\n listenersMap.set(this, new Map());\n return;\n }\n if (arguments.length === 1 && Array.isArray(arguments[0])) {\n return defineCustomEventTarget(arguments[0]);\n }\n if (arguments.length > 0) {\n var types = new Array(arguments.length);\n for (var i = 0; i < arguments.length; ++i) {\n types[i] = arguments[i];\n }\n return defineCustomEventTarget(types);\n }\n throw new TypeError(\"Cannot call a class as a function\");\n /*eslint-enable consistent-return */\n}\n\n// Should be enumerable, but class methods are not enumerable.\nEventTarget.prototype = {\n /**\n * Add a given listener to this event target.\n * @param {string} eventName The event name to add.\n * @param {Function} listener The listener to add.\n * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.\n * @returns {boolean} `true` if the listener was added actually.\n */\n addEventListener: function addEventListener(eventName, listener, options) {\n if (listener == null) {\n return false;\n }\n if (typeof listener !== \"function\" && !isObject(listener)) {\n throw new TypeError(\"'listener' should be a function or an object.\");\n }\n\n var listeners = getListeners(this);\n var optionsIsObj = isObject(options);\n var capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);\n var listenerType = capture ? CAPTURE : BUBBLE;\n var newNode = {\n listener: listener,\n listenerType: listenerType,\n passive: optionsIsObj && Boolean(options.passive),\n once: optionsIsObj && Boolean(options.once),\n next: null\n };\n\n // Set it as the first node if the first node is null.\n var node = listeners.get(eventName);\n if (node === undefined) {\n listeners.set(eventName, newNode);\n return true;\n }\n\n // Traverse to the tail while checking duplication..\n var prev = null;\n while (node != null) {\n if (node.listener === listener && node.listenerType === listenerType) {\n // Should ignore duplication.\n return false;\n }\n prev = node;\n node = node.next;\n }\n\n // Add it.\n prev.next = newNode;\n return true;\n },\n\n\n /**\n * Remove a given listener from this event target.\n * @param {string} eventName The event name to remove.\n * @param {Function} listener The listener to remove.\n * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.\n * @returns {boolean} `true` if the listener was removed actually.\n */\n removeEventListener: function removeEventListener(eventName, listener, options) {\n if (listener == null) {\n return false;\n }\n\n var listeners = getListeners(this);\n var capture = isObject(options) ? Boolean(options.capture) : Boolean(options);\n var listenerType = capture ? CAPTURE : BUBBLE;\n\n var prev = null;\n var node = listeners.get(eventName);\n while (node != null) {\n if (node.listener === listener && node.listenerType === listenerType) {\n if (prev !== null) {\n prev.next = node.next;\n } else if (node.next !== null) {\n listeners.set(eventName, node.next);\n } else {\n listeners.delete(eventName);\n }\n return true;\n }\n\n prev = node;\n node = node.next;\n }\n\n return false;\n },\n\n\n /**\n * Dispatch a given event.\n * @param {Event|{type:string}} event The event to dispatch.\n * @returns {boolean} `false` if canceled.\n */\n dispatchEvent: function dispatchEvent(event) {\n if (event == null || typeof event.type !== \"string\") {\n throw new TypeError(\"\\\"event.type\\\" should be a string.\");\n }\n\n // If listeners aren't registered, terminate.\n var listeners = getListeners(this);\n var eventName = event.type;\n var node = listeners.get(eventName);\n if (node == null) {\n return true;\n }\n\n // Since we cannot rewrite several properties, so wrap object.\n var wrappedEvent = wrapEvent(this, event);\n\n // This doesn't process capturing phase and bubbling phase.\n // This isn't participating in a tree.\n var prev = null;\n while (node != null) {\n // Remove this listener if it's once\n if (node.once) {\n if (prev !== null) {\n prev.next = node.next;\n } else if (node.next !== null) {\n listeners.set(eventName, node.next);\n } else {\n listeners.delete(eventName);\n }\n } else {\n prev = node;\n }\n\n // Call this listener\n setPassiveListener(wrappedEvent, node.passive ? node.listener : null);\n if (typeof node.listener === \"function\") {\n node.listener.call(this, wrappedEvent);\n } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === \"function\") {\n node.listener.handleEvent(wrappedEvent);\n }\n\n // Break if `event.stopImmediatePropagation` was called.\n if (isStopped(wrappedEvent)) {\n break;\n }\n\n node = node.next;\n }\n setPassiveListener(wrappedEvent, null);\n setEventPhase(wrappedEvent, 0);\n setCurrentTarget(wrappedEvent, null);\n\n return !wrappedEvent.defaultPrevented;\n }\n};\n\n// `constructor` is not enumerable.\nObject.defineProperty(EventTarget.prototype, \"constructor\", { value: EventTarget, configurable: true, writable: true });\n\n// Ensure `eventTarget instanceof window.EventTarget` is `true`.\nif (typeof window !== \"undefined\" && typeof window.EventTarget !== \"undefined\") {\n Object.setPrototypeOf(EventTarget.prototype, window.EventTarget.prototype);\n}\n\nmodule.exports = EventTarget;\nmodule.exports.EventTarget = module.exports[\"default\"] = EventTarget;\nmodule.exports.defineEventAttribute = defineEventAttribute;\n\n\n},{}],5:[function(require,module,exports){\n\"use strict\";\n\nfunction InvalidStateError() {\n\ttry {\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.responseType = \"blob\";\n\t} catch (e) {\n\t\treturn e;\n\t}\n}\n\nmodule.exports = InvalidStateError;\n\n},{}],6:[function(require,module,exports){\n'use strict';\n\nvar WebRTCProxy = require('./WebRTCProxy.js');\nvar MediaStream = require('./MediaStream.js');\nvar MediaStreamTrack = require('./MediaStreamTrack.js');\nvar EventTarget = require('./EventTarget.js').EventTarget;\nvar defineEventAttribute = require('./EventTarget.js').defineEventAttribute;\n\n/*\n\tinterface MediaDevices : EventTarget {\n\t\tattribute EventHandler ondevicechange;\n\t\tPromise<sequence<MediaDeviceInfo>> enumerateDevices();\n\t}\n\n\tpartial interface MediaDevices {\n\t\tMediaTrackSupportedConstraints getSupportedConstraints();\n\t\tPromise<MediaStream> getUserMedia(optional MediaStreamConstraints constraints);\n\t}\n*/\nvar MediaDevices = function MediaDevices() {\n //Init event targetr\n EventTarget.call(this);\n};\n\n//Inherit from Event Target\nMediaDevices.prototype = Object.create(EventTarget.prototype, {\n constructor: {\n value: MediaDevices,\n configurable: true,\n writable: true\n }\n});\n\n// Define Event Handlers\ndefineEventAttribute(MediaDevices.prototype, 'devicechange');\n\nMediaDevices.prototype.enumerateDevices = function () {\n return new Promise(function (resolve, reject) {\n resolve([]);\n });\n};\n\nMediaDevices.prototype.getSupportedConstraints = function () {\n throw 'Not supported yet';\n};\n\nMediaDevices.prototype.getUserMedia = function (constraints) {\n return new Promise(function (resolve, reject) {\n var stream = new MediaStream();\n //If we are being requested audio\n if (constraints.audio) {\n var options = {};\n //Get new track\n var track = WebRTCProxy.createLocalAudioTrack(options);\n //Add it to the stream\n stream.addTrack(new MediaStreamTrack(track));\n }\n //If we are being requested video\n if (constraints.video) {\n var options = {};\n //Get new track\n var track = WebRTCProxy.createLocalVideoTrack(options);\n //Add it to the stream\n stream.addTrack(new MediaStreamTrack(track));\n }\n //Done\n resolve(stream);\n });\n};\n\nObject.defineProperty(MediaDevices, 'name', {\n enumerable: false,\n configurable: true,\n writable: false,\n value: 'MediaDevices'\n});\nObject.defineProperty(MediaDevices, 'prototype', { writable: false });\nmodule.exports = MediaDevices;\n\n},{\"./EventTarget.js\":4,\"./MediaStream.js\":7,\"./MediaStreamTrack.js\":8,\"./WebRTCProxy.js\":17}],7:[function(require,module,exports){\n'use strict';\n\nvar MediaStreamTrack = require('./MediaStreamTrack');\nvar EventTarget = require('./EventTarget.js').EventTarget;\nvar defineEventAttribute = require('./EventTarget.js').defineEventAttribute;\n/*\n[Exposed=Window,\n Constructor,\n Constructor(MediaStream stream),\n Constructor(sequence<MediaStreamTrack> tracks)]\ninterface MediaStream : EventTarget {\n readonly attribute DOMString id;\n sequence<MediaStreamTrack> getAudioTracks();\n sequence<MediaStreamTrack> getVideoTracks();\n sequence<MediaStreamTrack> getTracks();\n MediaStreamTrack? getTrackById(DOMString trackId);\n void addTrack(MediaStreamTrack track);\n void removeTrack(MediaStreamTrack track);\n MediaStream clone();\n readonly attribute boolean active;\n attribute EventHandler onaddtrack;\n attribute EventHandler onremovetrack;\n}; \n */\nvar count = 0;\n\nvar MediaStream = function MediaStream(tracks, label) {\n //Init event target\n EventTarget.call(this);\n\n //Private vars\n this.priv = {\n tracks: {}\n };\n\n //Actual WebRTC MediaStream supports MediaStream or array of MediaTracks as constructor input.\n //Because of time constraints we implementing the support for array of tracks only.\n if (tracks) {\n if (!(tracks instanceof Array)) {\n throw new Error('tracks should be an array of MediaStreamTrack');\n }\n\n for (var i = 0; i < tracks.length; ++i) {\n if (!(tracks[i] instanceof MediaStreamTrack)) {\n throw new Error('Each item in tracks array should be an instance of MediaStreamTrack');\n }\n this.priv.tracks[tracks[i].id] = tracks[i];\n }\n }\n\n var id = label || 'stream-' + count++;\n\n Object.defineProperty(this, 'id', { enumerable: true, configurable: false, writable: false, value: id });\n Object.defineProperty(this, 'active', { enumerable: true, configurable: false, writable: false, value: true });\n\n return this;\n};\n\n//Inherit from Event Target\nMediaStream.prototype = Object.create(EventTarget.prototype, {\n constructor: {\n value: MediaStream,\n configurable: true,\n writable: true\n }\n});\nMediaStream.__proto__ = EventTarget;\n\n// Define Event Handlers\ndefineEventAttribute(MediaStream.prototype, 'addtrack');\ndefineEventAttribute(MediaStream.prototype, 'removetrack');\n\nMediaStream.prototype.getAudioTracks = function () {\n var arr = [];\n for (var id in this.priv.tracks) {\n if (this.priv.tracks[id].kind === 'audio') {\n arr.push(this.priv.tracks[id]);\n }\n }return arr;\n};\n\nMediaStream.prototype.getVideoTracks = function () {\n var arr = [];\n for (var id in this.priv.tracks) {\n if (this.priv.tracks[id].kind === 'video') {\n arr.push(this.priv.tracks[id]);\n }\n }return arr;\n};\n\nMediaStream.prototype.getTracks = function () {\n var arr = [];\n for (var id in this.priv.tracks) {\n arr.push(this.priv.tracks[id]);\n }\n return arr;\n};\n\nMediaStream.prototype.getTrackById = function (id) {\n return this.priv.tracks[id];\n};\n\nMediaStream.prototype.addTrack = function (track) {\n //Check if already present\n if (this.priv.tracks.hasOwnProperty(track.id)) return;\n //Add to track\n this.priv.tracks[track.id] = track;\n\n if (typeof this.priv.tracks[track.id].enabled !== 'boolean') {\n this.priv.tracks[track.id].enabled = true;\n }\n\n //Create event\n var event = document.createEvent('Event');\n event.initEvent('addtrack', false, false);\n event.track = track;\n //Fire it\n this.dispatchEvent(event);\n};\n\nMediaStream.prototype.removeTrack = function (track) {\n //Check if it is not already present\n if (!this.priv.tracks.hasOwnProperty(track.id)) return;\n //Add to track\n delete this.priv.tracks[track.id];\n //Create event\n var event = document.createEvent('Event');\n event.initEvent('removetrack', false, false);\n event.track = track;\n //Fire it\n this.dispatchEvent(event);\n};\n\nMediaStream.prototype.clone = function () {\n return new MediaStream(this.getTracks());\n};\n\nObject.defineProperty(MediaStream, 'name', {\n enumerable: false,\n configurable: true,\n writable: false,\n value: 'MediaStream'\n});\nObject.defineProperty(MediaStream, 'prototype', { writable: false });\nmodule.exports = MediaStream;\n\n},{\"./EventTarget.js\":4,\"./MediaStreamTrack\":8}],8:[function(require,module,exports){\n'use strict';\n\nvar EventTarget = require('./EventTarget.js').EventTarget;\nvar defineEventAttribute = require('./EventTarget.js').defineEventAttribute;\n/*\n[Exposed=Window]\ninterface MediaStreamTrack : EventTarget {\n readonly attribute DOMString kind;\n readonly attribute DOMString id;\n readonly attribute DOMString label;\n attribute boolean enabled;\n readonly attribute boolean muted;\n attribute EventHandler onmute;\n attribute EventHandler onunmute;\n readonly attribute MediaStreamTrackState readyState;\n attribute EventHandler onended;\n MediaStreamTrack clone();\n void stop();\n MediaTrackCapabilities getCapabilities();\n MediaTrackConstraints getConstraints();\n MediaTrackSettings getSettings();\n Promise<void> applyConstraints(optional MediaTrackConstraints constraints);\n attribute EventHandler onoverconstrained;\n};\n\npartial interface MediaStreamTrack {\n readonly attribute boolean isolated;\n attribute EventHandler onisolationchange;\n};\n*/\nvar MediaStreamTrack = function MediaStreamTrack(track) {\n //Init event targetr\n EventTarget.call(this);\n\n //Private vars\n var priv = this.priv = {\n track: track,\n muted: false,\n enabled: true\n };\n\n Object.defineProperty(this, 'kind', {\n enumerable: true, configurable: false, get: function get() {\n return priv.track.kind;\n }\n });\n Object.defineProperty(this, 'id', {\n enumerable: true, configurable: false, get: function get() {\n return priv.track.id;\n }\n });\n Object.defineProperty(this, 'label', {\n enumerable: true, configurable: false, get: function get() {\n return priv.track.id;\n }\n });\n Object.defineProperty(this, 'enabled', {\n enumerable: true, configurable: false, get: function get() {\n return priv.enabled;\n }, set: function set(enabled) {\n priv.enabled = !!enabled;\n }\n });\n Object.defineProperty(this, 'muted', {\n enumerable: true, configurable: false, get: function get() {\n return priv.muted;\n }\n });\n Object.defineProperty(this, 'readyState', {\n enumerable: true, configurable: false, get: function get() {\n return priv.track.state;\n }\n });\n Object.defineProperty(this, 'isolated', {\n enumerable: true, configurable: false, get: function get() {\n return false;\n }\n });\n\n return this;\n};\n\n//Inherit from Event Target\nMediaStreamTrack.prototype = Object.create(EventTarget.prototype, {\n constructor: {\n value: MediaStreamTrack,\n configurable: true,\n writable: false\n }\n});\n\nMediaStreamTrack.__proto__ = EventTarget;\n\n// Define Event Handlers\n//TODO: fire them somehow\ndefineEventAttribute(MediaStreamTrack.prototype, 'mute');\ndefineEventAttribute(MediaStreamTrack.prototype, 'unmute');\ndefineEventAttribute(MediaStreamTrack.prototype, 'ended');\ndefineEventAttribute(MediaStreamTrack.prototype, 'isolationchange');\n\nMediaStreamTrack.prototype.clone = function () {\n return null;\n};\n\nMediaStreamTrack.prototype.stop = function () {\n this.priv.track.stop();\n};\n\nMediaStreamTrack.prototype.getCapabilities = function () {};\n\nMediaStreamTrack.prototype.getConstraints = function () {};\n\nMediaStreamTrack.prototype.getSettings = function () {};\n\nMediaStreamTrack.prototype.applyConstraints = function () {};\n\nObject.defineProperty(MediaStreamTrack, 'name', {\n enumerable: false,\n configurable: true,\n writable: false,\n value: 'MediaStreamTrack'\n});\nmodule.exports = MediaStreamTrack;\n\n},{\"./EventTarget.js\":4}],9:[function(require,module,exports){\n\"use strict\";\n\nvar EventTarget = require(\"./EventTarget.js\").EventTarget;\nvar defineEventAttribute = require(\"./EventTarget.js\").defineEventAttribute;\nvar InvalidStateError = require(\"./InvalidStateError.js\");\n\n/*\n [Exposed=Window]\n interface RTCRTCDataChannel : EventTarget {\n readonly attribute USVString label;\n readonly attribute boolean ordered;\n readonly attribute unsigned short? maxPacketLifeTime;\n readonly attribute unsigned short? maxRetransmits;\n readonly attribute USVString protocol;\n readonly attribute boolean negotiated;\n readonly attribute unsigned short? id;\n readonly attribute RTCPriorityType priority;\n readonly attribute RTCRTCDataChannelState readyState;\n readonly attribute unsigned long bufferedAmount;\n attribute unsigned long bufferedAmountLowThreshold;\n attribute EventHandler onopen;\n attribute EventHandler onbufferedamountlow;\n attribute EventHandler onerror;\n attribute EventHandler onclose;\n void close();\n attribute EventHandler onmessage;\n attribute DOMString binaryType;\n void send(USVString data);\n void send(Blob data);\n void send(ArrayBuffer data);\n void send(ArrayBufferView data);\n};\n */\nvar RTCDataChannel = function RTCDataChannel(dataChannel) {\n\t//Init event targetr\n\tEventTarget.call(this);\n\n\t//Private vars\n\tvar self = this;\n\tvar priv = this.priv = {\n\t\tbinaryType: \"blob\",\n\t\tdataChannel: dataChannel\n\t};\n\n\t//Read only properties\n\tObject.defineProperty(this, 'label', { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.dataChannel.label;\n\t\t} });\n\tObject.defineProperty(this, 'ordered', { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.dataChannel.ordered;\n\t\t} });\n\tObject.defineProperty(this, 'maxPacketLifeTime', { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.dataChannel.maxPacketLifeTime;\n\t\t} });\n\tObject.defineProperty(this, 'protocol', { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.dataChannel.protocol;\n\t\t} });\n\tObject.defineProperty(this, 'negotiated', { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.dataChannel.negotiated;\n\t\t} });\n\tObject.defineProperty(this, 'id', { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.dataChannel.id;\n\t\t} });\n\tObject.defineProperty(this, 'priority', { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.dataChannel.priority;\n\t\t} });\n\tObject.defineProperty(this, 'readyState', { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.dataChannel.readyState;\n\t\t} });\n\tObject.defineProperty(this, 'bufferedAmount', { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.dataChannel.bufferedAmount;\n\t\t} });\n\t//Read & write\n\tObject.defineProperty(this, 'bufferedAmountLowThreshold', { enumerable: true, configurable: false,\n\t\tget: function get() {\n\t\t\treturn priv.dataChannel.bufferedAmountLowThreshold;\n\t\t},\n\t\tset: function set(bufferedAmountLowThreshold) {\n\t\t\treturn priv.dataChannel.bufferedAmountLowThreshold = bufferedAmountLowThreshold;\n\t\t}\n\t});\n\tObject.defineProperty(this, 'binaryType', { enumerable: true, configurable: false,\n\t\tget: function get() {\n\t\t\treturn priv.dataChannel.bufferedAmount;\n\t\t},\n\t\tset: function set(binaryType) {\n\t\t\tif (binaryType !== \"blob\" && binaryType !== \"arraybuffer\") throw new SyntaxError();\n\t\t\treturn priv.binaryType = binaryType;\n\t\t}\n\t});\n\n\tfunction createEvent(name) {\n\t\tvar e = document.createEvent(\"Event\");\n\t\te.initEvent(name, false, false);\n\t\treturn e;\n\t}\n\n\tfunction fire(name) {\n\t\tself.dispatchEvent(createEvent(name));\n\t}\n\n\t//Set event\n\tpriv.dataChannel.onopen = function () {\n\t\tfire(\"open\");\n\t};\n\tpriv.dataChannel.onbufferedamountlow = function () {\n\t\tfire(\"bufferedamountlow\");\n\t};\n\tpriv.dataChannel.onerror = function () {\n\t\tfire(\"error\");\n\t};\n\tpriv.dataChannel.onclose = function () {\n\t\tfire(\"close\");\n\t};\n\tpriv.dataChannel.onmessage = function (message) {\n\t\t//Create event\n\t\tvar event = createEvent(\"message\");\n\n\t\t//Check if message is binary\n\t\tif (typeof message !== \"string\") {\n\t\t\t//Create uint array\n\t\t\tvar array = new Uint8Array(message);\n\t\t\t//Check binary type\n\t\t\tif (priv.binaryType === \"blob\") {\n\t\t\t\t//Create blob builder\n\t\t\t\tvar builder = new MSBlobBuilder();\n\t\t\t\t//Append message\n\t\t\t\tbuilder.append(array);\n\t\t\t\t//Get blob\n\t\t\t\tevent.data = builder.getBlob();\n\t\t\t} else if (priv.binaryType === \"arraybuffer\") {\n\t\t\t\t//Get array buffer\n\t\t\t\tevent.data = array.buffer;\n\t\t\t} else return;\n\t\t} else {\n\t\t\t//It is a string\n\t\t\tevent.data = message;\n\t\t}\n\n\t\t//Check if \n\t\tself.dispatchEvent(event);\n\t};\n\n\t//Done\n\treturn this;\n};\n\n//Inherit from Event Target\nRTCDataChannel.prototype = Object.create(EventTarget.prototype, {\n\tconstructor: {\n\t\tvalue: RTCDataChannel,\n\t\tconfigurable: true,\n\t\twritable: true\n\t}\n});\nRTCDataChannel.__proto__ = EventTarget;\n\n// Define Event Handlers\ndefineEventAttribute(RTCDataChannel.prototype, \"open\");\ndefineEventAttribute(RTCDataChannel.prototype, \"bufferedamountlow\");\ndefineEventAttribute(RTCDataChannel.prototype, \"error\");\ndefineEventAttribute(RTCDataChannel.prototype, \"close\");\ndefineEventAttribute(RTCDataChannel.prototype, \"message\");\n\nRTCDataChannel.prototype.send = function (data) {\n\tvar self = this;\n\t//Check state\n\tif (this.readyState !== \"open\") throw new InvalidStateError();\n\n\ttry {\n\t\t//Check type\n\t\tif (data instanceof Blob) {\n\t\t\tvar reader = new FileReader();\n\t\t\treader.onloadend = function () {\n\t\t\t\t//Create array from buffer\n\t\t\t\tvar array = new Uint8Array(reader.result);\n\t\t\t\t//Send it\n\t\t\t\tself.priv.dataChannel.send(array);\n\t\t\t};\n\t\t\t//Read data as array\n\t\t\treader.readAsArrayBuffer(data);\n\t\t} else if (data instanceof ArrayBuffer) {\n\t\t\t//Send it\n\t\t\tthis.priv.dataChannel.send(array);\n\t\t} else if (typeof data === \"string\") {\n\t\t\t//Send it\n\t\t\tthis.priv.dataChannel.send(data);\n\t\t} else {\n\t\t\tthrow new TypeError();\n\t\t}\n\t} catch (e) {\n\t\tthrow InvalidStateError();\n\t}\n};\n\nRTCDataChannel.prototype.close = function () {\n\tthis.priv.dataChannel.close();\n};\n\nObject.defineProperty(RTCDataChannel, 'name', { enumerable: false, configurable: true, writable: false, value: \"RTCDataChannel\" });\nObject.defineProperty(RTCDataChannel, 'prototype', { writable: false });\nmodule.exports = RTCDataChannel;\n\n},{\"./EventTarget.js\":4,\"./InvalidStateError.js\":5}],10:[function(require,module,exports){\n\"use strict\";\n\nvar WebRTCProxy = require(\"./WebRTCProxy.js\");\n/*\ninterface RTCIceCandidate {\n readonly attribute DOMString candidate;\n readonly attribute DOMString? sdpMid;\n readonly attribute unsigned short? sdpMLineIndex;\n readonly attribute DOMString? foundation;\n readonly attribute RTCIceComponent? component;\n readonly attribute unsigned long? priority;\n readonly attribute DOMString? ip;\n readonly attribute RTCIceProtocol? protocol;\n readonly attribute unsigned short? port;\n readonly attribute RTCIceCandidateType? type;\n readonly attribute RTCIceTcpCandidateType? tcpType;\n readonly attribute DOMString? relatedAddress;\n readonly attribute unsigned short? relatedPort;\n readonly attribute DOMString? usernameFragment;\n RTCIceCandidateInit toJSON();\n};\n */\nvar RTCIceCandidate = function RTCIceCandidate(iceCandidateInit) {\n\tif (!iceCandidateInit) throw new TypeError();\n\n\t//Get values from dictionary\n\tvar candidate = iceCandidateInit.candidate;\n\tvar sdpMid = iceCandidateInit.sdpMid;\n\tvar sdpMLineIndex = iceCandidateInit.sdpMLineIndex;\n\tvar usernameFragment = iceCandidateInit.usernameFragment;\n\t//Not set yet\n\tvar foundation;\n\tvar component;\n\tvar priority;\n\tvar ip;\n\tvar protocol;\n\tvar port;\n\tvar type;\n\tvar tcpType;\n\tvar relatedAddress;\n\tvar relatedPort;\n\n\t//Extended attributes to avoid parsing it twice\n\tif (iceCandidateInit.ext) {\n\t\tfoundation = iceCandidateInit.ext.foundation;\n\t\tcomponent = iceCandidateInit.ext.component;\n\t\tpriority = iceCandidateInit.ext.priority;\n\t\tip = iceCandidateInit.ext.ip;\n\t\tprotocol = iceCandidateInit.ext.protocol;\n\t\tport = iceCandidateInit.ext.port;\n\t\ttype = iceCandidateInit.ext.type;\n\t\ttcpType = iceCandidateInit.ext.tcpType;\n\t\trelatedAddress = iceCandidateInit.ext.relatedAddress;\n\t\trelatedPort = iceCandidateInit.ext.relatedPort;\n\t} else {\n\t\ttry {\n\t\t\t//Parse candidate\n\t\t\tvar parsed = WebRTCProxy.parseIceCandidate(candidate);\n\t\t} catch (e) {\n\t\t\tthrow new TypeError();\n\t\t}\n\t\t//Set parsed properties\n\t\tfoundation = parsed[0];\n\t\tcomponent = parsed[1];\n\t\tpriority = parsed[2];\n\t\tip = parsed[3];\n\t\tprotocol = parsed[4];\n\t\tport = parsed[5];\n\t\ttype = parsed[6];\n\t\ttcpType = parsed[7];\n\t\trelatedAddress = parsed[8];\n\t\trelatedPort = parsed[9];\n\t\tif (!usernameFragment) usernameFragment = parsed[10];\n\t}\n\n\t//Direct attributes from init\n\tObject.defineProperty(this, \"candidate\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn candidate;\n\t\t} });\n\tObject.defineProperty(this, \"sdpMid\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn sdpMid;\n\t\t} });\n\tObject.defineProperty(this, \"sdpMLineIndex\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn sdpMLineIndex;\n\t\t} });\n\tObject.defineProperty(this, \"foundation\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn foundation;\n\t\t} });\n\tObject.defineProperty(this, \"component\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn component;\n\t\t} });\n\tObject.defineProperty(this, \"priority\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priority;\n\t\t} });\n\tObject.defineProperty(this, \"ip\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn ip;\n\t\t} });\n\tObject.defineProperty(this, \"protocol\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn protocol;\n\t\t} });\n\tObject.defineProperty(this, \"port\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn port;\n\t\t} });\n\tObject.defineProperty(this, \"type\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn type;\n\t\t} });\n\tObject.defineProperty(this, \"tcpType\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn tcpType;\n\t\t} });\n\tObject.defineProperty(this, \"relatedAddress\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn relatedAddress;\n\t\t} });\n\tObject.defineProperty(this, \"relatedPort\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn relatedPort;\n\t\t} });\n\tObject.defineProperty(this, \"usernameFragment\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn usernameFragment;\n\t\t} });\n\n\treturn this;\n};\n\nRTCIceCandidate.prototype.toJSON = function () {\n\treturn {\n\t\tcandidate: this.candidate,\n\t\tsdpMid: this.sdpMid,\n\t\tsdpMLineIndex: this.sdpMLineIndex,\n\t\tusernameFragment: this.usernameFragment\n\t};\n};\n\nObject.defineProperty(RTCIceCandidate, 'name', { enumerable: false, configurable: true, writable: false, value: \"RTCIceCandidate\" });\nObject.defineProperty(RTCIceCandidate, 'prototype', { writable: false });\nmodule.exports = RTCIceCandidate;\n\n},{\"./WebRTCProxy.js\":17}],11:[function(require,module,exports){\n'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar WebRTCProxy = require('./WebRTCProxy.js');\nvar MediaStreamTrack = require('./MediaStreamTrack.js');\nvar RTCSessionDescription = require('./RTCSessionDescription.js');\nvar RTCIceCandidate = require('./RTCIceCandidate.js');\nvar RTCRtpSender = require('./RTCRtpSender.js');\nvar RTCRtpReceiver = require('./RTCRtpReceiver.js');\nvar RTCRtpTransceiver = require('./RTCRtpTransceiver.js');\nvar DataChannel = require('./RTCDataChannel.js');\nvar InvalidStateError = require('./InvalidStateError.js');\nvar EventTarget = require('./EventTarget.js').EventTarget;\nvar defineEventAttribute = require('./EventTarget.js').defineEventAttribute;\n\n/*\n[Constructor(optional RTCConfiguration configuration),Exposed=Window]\ninterface RTCPeerConnection : EventTarget {\n Promise<RTCSessionDescriptionInit> createOffer(optional RTCOfferOptions options);\n Promise<RTCSessionDescriptionInit> createAnswer(optional RTCAnswerOptions options);\n Promise<void> setLocalDescription(RTCSessionDescriptionInit description);\n\n readonly attribute RTCSessionDescription? localDescription;\n readonly attribute RTCSessionDescription? currentLocalDescription;\n readonly attribute RTCSessionDescription? pendingLocalDescription;\n\n Promise<void> setRemoteDescription(RTCSessionDescriptionInit description);\n\n readonly attribute RTCSessionDescription? remoteDescription;\n readonly attribute RTCSessionDescription? currentRemoteDescription;\n readonly attribute RTCSessionDescription? pendingRemoteDescription;\n\n Promise<void> addIceCandidate((RTCIceCandidateInit or RTCIceCandidate) candidate);\n\n readonly attribute RTCSignalingState signalingState;\n readonly attribute RTCIceGatheringState iceGatheringState;\n readonly attribute RTCIceConnectionState iceConnectionState;\n readonly attribute RTCPeerConnectionState connectionState;\n readonly attribute boolean? canTrickleIceCandidates;\n static sequence<RTCIceServer> getDefaultIceServers();\n RTCConfiguration getConfiguration();\n void setConfiguration(RTCConfiguration configuration);\n void close();\n\n\tattribute EventHandler onnegotiationneeded;\n\tattribute EventHandler onicecandidate;\n\tattribute EventHandler onicecandidateerror;\n\tattribute EventHandler onsignalingstatechange;\n\tattribute EventHandler oniceconnectionstatechange;\n\tattribute EventHandler onicegatheringstatechange;\n\tattribute EventHandler onconnectionstatechange;\n};\n*/\n\nvar RTCIceTransportPolicy = ['relay', 'all'];\nvar RTCBundlePolicy = ['balanced', 'max-compat', 'max-bundle'];\nvar RTCRtcpMuxPolicy = ['negotiate', 'require'];\nvar RTCIceCredentialType = ['password', 'oauth'];\n\n//Check if a value is valid in an enum\nfunction check(value, valid) {\n for (var i = 0; i < valid.length; ++i) {\n if (valid[i] === value) return;\n }throw new TypeError(value + ' not in ' + JSON.stringify(valid));\n}\n\nfunction checkRange(value, min, max) {\n if (value < min || value > max) throw new TypeError(value + ' not in [' + min + ',' + max + ']');\n}\n\nfunction checkNotNull(value) {\n if (value === null) throw new TypeError('Null not allowed');\n}\n\nfunction checkArray(value) {\n if (!Array.isArray(value)) throw new TypeError('Must be an array');\n}\n\nfunction createRTCConfiguration(configuration) {\n /*\n *\n dictionary RTCConfiguration {\n sequence<RTCIceServer> iceServers;\n RTCIceTransportPolicy iceTransportPolicy = \"all\";\n RTCBundlePolicy bundlePolicy = \"balanced\";\n RTCRtcpMuxPolicy rtcpMuxPolicy = \"require\";\n DOMString peerIdentity;\n sequence<RTCCertificate> certificates;\n [EnforceRange]\n octet iceCandidatePoolSize = 0;\n };\n */\n //Set configuration with default values\n var sanitized = _extends({\n iceServers: undefined,\n iceTransportPolicy: 'all',\n bundlePolicy: 'balanced',\n rtcpMuxPolicy: 'require',\n iceCandidatePoolSize: 0,\n certificates: undefined\n },\n //Remove undefined objects\n configuration ? JSON.parse(JSON.stringify(configuration)) : {});\n //Check valid values\n checkNotNull(sanitized.iceServers);\n\n //Check array\n if (Array.isArray(sanitized.iceServers)) {\n //Check each one\n for (var i = 0; i < sanitized.iceServers.length; ++i) {\n /*\n *\n dictionary RTCIceServer {\n required (DOMString or sequence<DOMString>) urls;\n DOMString username;\n (DOMString or RTCOAuthCredential) credential;\n RTCIceCredentialType credentialType = \"password\";\n };\n */\n //Set defautls\n var iceServer = sanitized.iceServers[i] = _extends({\n credentialType: 'password'\n }, sanitized.iceServers[i]);\n //Check it is not null\n checkNotNull(iceServer.urls);\n //If it is a sring fallback\n if (typeof iceServer.urls === 'string')\n //Arraify\n iceServer.urls = [iceServer.urls];\n checkArray(iceServer.urls);\n }\n }\n //Check the others\n check(sanitized.iceTransportPolicy, RTCIceTransportPolicy);\n check(sanitized.bundlePolicy, RTCBundlePolicy);\n check(sanitized.rtcpMuxPolicy, RTCRtcpMuxPolicy);\n checkRange(sanitized.iceCandidatePoolSize, 0, 255);\n //Done\n return sanitized;\n}\n\nvar RTCPeerConnection = function RTCPeerConnection() {\n var self = this;\n //Init event targetr\n EventTarget.call(this);\n\n //Create private args\n var priv = this.priv = {};\n\n //Set configuration with default values\n priv.configuration = createRTCConfiguration(arguments.length ? JSON.parse(JSON.stringify(arguments[0])) : {});\n\n //Other internal data\n priv.senders = {};\n priv.remoteStreams = {};\n priv.lastOffer = null;\n priv.lastAnswer = null;\n priv.isClosed = false;\n\n var signalingState = 'stable';\n var iceGatheringState = 'new';\n var iceConnectionState = 'new';\n var connectionState = 'new';\n\n //TODO: Implement this\n var canTrickleIceCandidates = null;\n\n function toSessionDescription(sdp) {\n return typeof sdp === 'unknown' ? new RTCSessionDescription(sdp.toArray()) : null;\n }\n\n //Define read only properties for each attribute\n //The localDescription attribute must return pendingLocalDescription if it is not null and otherwise it must return currentLocalDescription .\n Object.defineProperty(this, 'localDescription', {\n enumerable: true, configurable: false, get: function get() {\n return toSessionDescription(priv.pc.localDescription);\n }\n });\n Object.defineProperty(this, 'currentLocalDescription', {\n enumerable: true, configurable: false, get: function get() {\n return toSessionDescription(priv.pc.currentLocalDescription);\n }\n });\n Object.defineProperty(this, 'pendingLocalDescription', {\n enumerable: true, configurable: false, get: function get() {\n return toSessionDescription(priv.pc.pendingLocalDescription);\n }\n });\n\n Object.defineProperty(this, 'remoteDescription', {\n enumerable: true, configurable: false, get: function get() {\n return toSessionDescription(priv.pc.remoteDescription);\n }\n });\n Object.defineProperty(this, 'currentRemoteDescription', {\n enumerable: true, configurable: false, get: function get() {\n return toSessionDescription(priv.pc.currentRemoteDescription);\n }\n });\n Object.defineProperty(this, 'pendingRemoteDescription', {\n enumerable: true, configurable: false, get: function get() {\n return toSessionDescription(priv.pc.pendingRemoteDescription);\n }\n });\n\n Object.defineProperty(this, 'signalingState', {\n enumerable: true, configurable: false, get: function get() {\n return signalingState;\n }\n });\n Object.defineProperty(this, 'iceGatheringState', {\n enumerable: true, configurable: false, get: function get() {\n return iceGatheringState;\n }\n });\n Object.defineProperty(this, 'iceConnectionState', {\n enumerable: true, configurable: false, get: function get() {\n return iceConnectionState;\n }\n });\n Object.defineProperty(this, 'connectionState', {\n enumerable: true, configurable: false, get: function get() {\n return connectionState;\n }\n });\n\n Object.defineProperty(this, 'canTrickleIceCandidates', {\n enumerable: true, configurable: false, get: function get() {\n return canTrickleIceCandidates;\n }\n });\n\n function createEvent(name) {\n var e = document.createEvent('Event');\n e.initEvent(name, false, false);\n return e;\n }\n\n function fire(name) {\n self.dispatchEvent(createEvent(name));\n }\n\n // Create new native pc\n priv.pc = WebRTCProxy.createPeerConnection(priv.configuration);\n\n //Event handlers\n priv.pc.onnegotiationneeded = function () {\n fire('negotiationneeded');\n };\n priv.pc.onicecandidate = function (candidate, sdpMid, sdpMLineIndex, foundation, component, priority, ip, protocol, port, type, tcpType, relatedAddress, relatedPort, usernameFragment, url) {\n var e = createEvent('icecandidate');\n if (candidate) e.candidate = new RTCIceCandidate({\n candidate: candidate,\n sdpMid: sdpMid,\n sdpMLineIndex: sdpMLineIndex,\n ext: {\n foundation: foundation,\n component: component,\n priority: priority,\n ip: ip,\n protocol: protocol,\n port: port,\n type: type,\n tcpType: tcpType,\n relatedAddress: relatedAddress,\n relatedPort: relatedPort\n },\n usernameFragment: usernameFragment\n });else e.candidate = null;\n e.url = url;\n self.dispatchEvent(e);\n };\n priv.pc.onicecandidateerror = function () {\n fire('icecandidateerror');\n };\n priv.pc.onsignalingstatechange = function (state) {\n signalingState = state;\n fire('signalingstatechange');\n if ('closed' === state) {\n priv.isClosed = true;\n delete priv.pc;\n }\n };\n priv.pc.oniceconnectionstatechange = function (state) {\n iceConnectionState = state;\n fire('iceconnectionstatechange');\n };\n priv.pc.onicegatheringstatechange = function (state) {\n iceGatheringState = state;\n fire('icegatheringstatechange');\n };\n priv.pc.onconnectionstatechange = function (state) {\n connectionState = state;\n fire('connectionState');\n };\n priv.pc.onaddstream = function (label) {\n //Create new stream\n var stream = new MediaStream(null, label);\n\n //Get remote stream tracks\n priv.pc.getRemoteStreamTracks(label, function () {\n //Parse arguments\n var tracks = Array.prototype.slice.call(arguments, 0);\n\n //For each track\n for (var i = 0; i < tracks.length; ++i) {\n //Create a wrapper\n stream.addTrack(new MediaStreamTrack(tracks[i]));\n } //Get all tracks\n var mediaStreamTracks = stream.getTracks();\n\n //For each track in stream\n for (var i = 0; i < mediaStreamTracks.length; ++i) {\n //Create evnet\n var event = createEvent('track');\n //Add data\n event.track = mediaStreamTracks[i];\n event.receiver = { track: mediaStreamTracks[i] };\n event.transceiver = { receiver: event.receiver };\n event.streams = [stream];\n //Fire it\n self.dispatchEvent(event);\n }\n });\n };\n\n priv.pc.onremovestream = function (label) {\n //Delete from remote stream list\n delete priv.remotes[label];\n };\n\n priv.pc.ondatachannel = function (dataChannel) {\n //Create event\n var event = createEvent('datachannel');\n //Create datachannel\n event.channel = new DataChannel(dataChannel);\n //Fire event\n self.dispatchEvent(event);\n };\n};\n\n//Inherit from Event Target\nRTCPeerConnection.prototype = Object.create(EventTarget.prototype, {\n constructor: {\n value: RTCPeerConnection,\n configurable: true,\n writable: true\n }\n});\nRTCPeerConnection.__proto__ = EventTarget;\n\n// Define Event Handlers\ndefineEventAttribute(RTCPeerConnection.prototype, 'negotiationneeded');\ndefineEventAttribute(RTCPeerConnection.prototype, 'icecandidate');\ndefineEventAttribute(RTCPeerConnection.prototype, 'icecandidateerror');\ndefineEventAttribute(RTCPeerConnection.prototype, 'signalingstatechange');\ndefineEventAttribute(RTCPeerConnection.prototype, 'iceconnectionstatechange');\ndefineEventAttribute(RTCPeerConnection.prototype, 'icegatheringstatechange');\ndefineEventAttribute(RTCPeerConnection.prototype, 'connectionstatechange');\ndefineEventAttribute(RTCPeerConnection.prototype, 'addtrack');\n\nRTCPeerConnection.prototype.getConfiguration = function () {\n return this.priv.configuration;\n};\n\nRTCPeerConnection.prototype.setConfiguration = function (configuration) {\n var priv = this.priv;\n if (!priv.pc || priv.isClosed) throw new InvalidStateError();\n\n //Get configuration object from input\n var sanitized = createRTCConfiguration(configuration);\n\n try {\n //Try to set it\n priv.pc.setConfiguration(sanitized);\n } catch (error) {\n //Launch InvalidModificationError\n var operationError = new Error(error);\n operationError.name = 'InvalidModificationError';\n operationError.code = 13;\n throw operationError;\n }\n //Store new configuration\n priv.configuration = sanitized;\n};\n\nRTCPeerConnection.getDefaultIceServers = function () {\n return [];\n};\n\nRTCPeerConnection.prototype.createOffer = function (options) {\n var priv = this.priv;\n\n return new Promise(function (resolve, reject) {\n if (!priv.pc || priv.isClosed) throw new InvalidStateError();\n priv.pc.createOffer(function (type, sdp) {\n priv.lastOffer = sdp;\n resolve({\n type: type,\n sdp: sdp\n });\n }, function () {\n reject(new InvalidStateError());\n }, options);\n });\n};\n\nRTCPeerConnection.prototype.createAnswer = function (options) {\n var self = this;\n var priv = this.priv;\n\n return new Promise(function (resolve, reject) {\n if (!priv.pc || priv.isClosed) throw new InvalidStateError();\n if (self.remoteDescription === null) throw new InvalidStateError();\n priv.pc.createAnswer(function (type, sdp) {\n priv.lastAnswer = sdp;\n resolve({\n type: type,\n sdp: sdp\n });\n }, function () {\n reject(new InvalidStateError());\n }, options);\n });\n};\n\nRTCPeerConnection.prototype.setLocalDescription = function (description) {\n var priv = this.priv;\n\n //If description.sdp is the empty string and description.type is \"answer\" or \"pranswer\", set description.sdp to lastAnswer.\n if (!description.sdp && ('answer' === description.type || 'pranser' === description.type)) description.sdp = priv.lastAnswer;\n\n //If description.sdp is the empty string and description.type is \"offer\", set description.sdp to lastOffer.\n if (!description.sdp && 'offer' === description.type) description.sdp = priv.lastOffer;\n\n return new Promise(function (resolve, reject) {\n if (!priv.pc || priv.isClosed) throw new InvalidStateError();\n priv.pc.setLocalDescription(resolve, function () {\n reject(new InvalidStateError());\n }, description);\n });\n};\n\nRTCPeerConnection.prototype.setRemoteDescription = function (description) {\n var priv = this.priv;\n\n return new Promise(function (resolve, reject) {\n if (!priv.pc || priv.isClosed) throw new InvalidStateError();\n priv.pc.setRemoteDescription(resolve, function () {\n reject(new InvalidStateError());\n }, description);\n });\n};\n\nRTCPeerConnection.prototype.addIceCandidate = function (candidate) {\n var self = this;\n var priv = this.priv;\n //1. Let candidate be the method's argument.\n //2. Let connection be the ``[`RTCPeerConnection`](#dom-rtcpeerconnection)`` object on which the method was invoked.\n //3. If both sdpMid and sdpMLineIndex are `null`, return a promise [rejected](#dfn-rejected) with a newly [created](https://www.w3.org/TR/2016/REC-WebIDL-1-20161215/#dfn-create-exception) `TypeError`.\n if (!candidate || typeof candidate.sdpMid !== 'string' && typeof candidate.sdpMLineIndex !== 'number') return Promise.reject(new TypeError());\n\n //4. Return the result of [enqueuing](#enqueue-an-operation) the following steps to connection's operation queue:\n return new Promise(function (resolve, reject) {\n //1. If ``[`remoteDescription`](#dom-rtcpeerconnection-remotedescription)`` is `null` return a promise [rejected](#dfn-rejected) with a newly [created](https://www.w3.org/TR/2016/REC-WebIDL-1-20161215/#dfn-create-exception) `InvalidStateError`.\n if (self.remoteDescription === null) throw new InvalidStateError();\n\n /*\n 2. Let p be a new promise.\n 3. If candidate.sdpMid is not null, run the following steps:\n 1. If candidate.sdpMid is not equal to the mid of any media description in ``[`remoteDescription`](#dom-rtcpeerconnection-remotedescription)`` , [reject](#dfn-rejected) p with a newly [created](https://www.w3.org/TR/2016/REC-WebIDL-1-20161215/#dfn-create-exception) `OperationError` and abort these steps.\n 4. Else, if candidate.sdpMLineIndex is not null, run the following steps:\n 1. If candidate.sdpMLineIndex is equal to or larger than the number of media descriptions in ``[`remoteDescription`](#dom-rtcpeerconnection-remotedescription)`` , [reject](#dfn-rejected) p with a newly [created](https://www.w3.org/TR/2016/REC-WebIDL-1-20161215/#dfn-create-exception) `OperationError` and abort these steps.\n 5. If `candidate.usernameFragment` is neither `undefined` nor `null`, and is not equal to any username fragment present in the corresponding [media description](#dfn-media-description) of an applied remote description, [reject](#dfn-rejected) p with a newly [created](https://www.w3.org/TR/2016/REC-WebIDL-1-20161215/#dfn-create-exception) `OperationError` and abort these steps.\n 6. In parallel, add the ICE candidate candidate as described in \\[[JSEP](#bib-JSEP)\\] ([section 4.1.17.](https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-20#section-4.1.17)). Use `candidate.usernameFragment` to identify the ICE [generation](#dfn-generation); if `usernameFragment` is null, process the candidate for the most recent ICE [generation](#dfn-generation). If `candidate.candidate` is an empty string, process candidate as an end-of-candidates indication for the corresponding [media description](#dfn-media-description) and ICE candidate [generation](#dfn-generation).\n 1. If candidate could not be successfully added the user agent _MUST_ queue a task that runs the following steps:\n 1. If connection's [\\[\\[IsClosed\\]\\]](#dfn-x%5B%5Bisclosed%5D%5D) slot is `true`, then abort these steps.\n 2. [Reject](#dfn-rejected) p with a `DOMException` object whose `name` attribute has the value `OperationError` and abort these steps.\n 2. If candidate is applied successfully, the user agent _MUST_ queue a task that runs the following steps:\n 1. If connection's [\\[\\[IsClosed\\]\\]](#dfn-x%5B%5Bisclosed%5D%5D) slot is `true`, then abort these steps.\n 2. If ``connection.[`pendingRemoteDescription`](#dom-rtcpeerconnection-pendingremotedescription)`` is non-null, and represents the ICE [generation](#dfn-generation) for which candidate was processed, add candidate to ``connection.[`pendingRemoteDescription`](#dom-rtcpeerconnection-pendingremotedescription)`` .\n 3. If ``connection.[`currentRemoteDescription`](#dom-rtcpeerconnection-currentremotedescription)`` is non-null, and represents the ICE [generation](#dfn-generation) for which candidate was processed, add candidate to ``connection.[`currentRemoteDescription`](#dom-rtcpeerconnection-currentremotedescription)`` .\n 4. [Resolve](#dfn-resolved) p with `undefined`.\n 7. Return p.\n */\n try {\n //Add ICE candidate nativelly\n priv.pc.addIceCandidate(resolve, function () {\n reject(new InvalidStateError());\n }, candidate);\n } catch (error) {\n //Launch operation error\n var operationError = new Error(error);\n operationError.name = 'OperationError';\n operationError.code = 0;\n throw operationError;\n }\n });\n};\n\nRTCPeerConnection.prototype.close = function () {\n\n var priv = this.priv;\n if (!priv.pc || priv.isClosed) throw new InvalidStateError();\n //Close it\n priv.pc.close();\n //We are closed now, we can wait until callback\n priv.isClosed = true;\n};\n\n/*\npartial interface RTCPeerConnection {\n sequence<RTCRtpSender> getSenders();\n sequence<RTCRtpReceiver> getReceivers();\n sequence<RTCRtpTransceiver> getTransceivers();\n RTCRtpSender addTrack(MediaStreamTrack track, MediaStream... streams);\n void removeTrack(RTCRtpSender sender);\n RTCRtpTransceiver addTransceiver((MediaStreamTrack or DOMString) trackOrKind, optional RTCRtpTransceiverInit init);\n attribute EventHandler ontrack;\n};\n*/\nRTCPeerConnection.prototype.getSenders = function () {\n throw 'Not implemented';\n};\n\nRTCPeerConnection.prototype.getReceivers = function () {\n throw 'Not implemented';\n};\n\nRTCPeerConnection.prototype.getTransceivers = function () {\n throw 'Not implemented';\n};\n\nRTCPeerConnection.prototype.addTrack = function () {\n var priv = this.priv;\n\n if (!priv.pc || priv.isClosed) throw new InvalidStateError();\n\n //Parse arguments\n var track = arguments[0];\n var streams = Array.prototype.slice.call(arguments, 1);\n\n //Ensure that we are attaching to at most 1, as it is not supported in libwebrtc\n if (streams.length > 1) throw new Error('Adding track to more than one stream is not currently supported');\n\n //Get stream label, as it is the only param needed by libwebrtc\n var label = streams.length ? streams[0].id : '';\n\n //Add native track to native object it only needs the stream label not the stream\n var sender = priv.pc.addTrack(track.priv.track, label);\n\n //Check result\n if (!sender) return null;\n\n //Create sender\n var rtpSender = new RTCRtpSender(sender);\n\n //Get native sender id\n var senderId = rtpSender.priv.id;\n\n //Add to senders\n priv.senders[senderId] = rtpSender;\n\n return rtpSender;\n};\n\nRTCPeerConnection.prototype.addTransceiver = function (trackOrKind, init) {\n //TODO: Implement!\n //Not really implemented just for passing tests\n var sender = new RTCRtpSender(null, null);\n var track = new MediaStreamTrack(null);\n var receiver = new RTCRtpReceiver(track);\n //Return dummy object for now\n return new RTCRtpTransceiver(sender, receiver);\n};\n\nRTCPeerConnection.prototype.getStats = function () {\n return Promise.resolve({});\n};\n\n/*\n * Legacy stream apis\n */\nRTCPeerConnection.prototype.addStream = function (stream) {\n var tracks = stream.getTracks();\n for (var i = 0; i < tracks.length; ++i) {\n this.addTrack(tracks[i], stream);\n }\n};\n\nRTCPeerConnection.prototype.removeTrack = function (rtpSender) {\n var priv = this.priv;\n\n if (!priv.pc || priv.isClosed) throw new InvalidStateError();\n\n //Check if sender is invalid\n if (!rtpSender || !rtpSender.priv.sender || !rtpSender.priv.track) throw new InvalidStateError();\n\n //Get native sender id\n var senderId = rtpSender.priv.id;\n\n //Check if senders is from this pc\n if (!priv.senders.hasOwnProperty(senderId)) throw new InvalidStateError();\n\n //Pass the nateive object\n priv.pc.removeTrack(rtpSender.priv.sender);\n\n //Set sender track to null\n rtpSender.priv.track = null;\n\n //Remove from senders\n delete priv.senders[senderId];\n};\n\ndefineEventAttribute(RTCPeerConnection.prototype, 'track');\n\n/*\npartial interface RTCPeerConnection {\n readonly attribute RTCSctpTransport? sctp;\n RTCDataChannel createDataChannel(USVString label,\n optional RTCDataChannelInit dataChannelDict);\n attribute EventHandler ondatachannel;\n};\n*/\nRTCPeerConnection.prototype.createDataChannel = function (label, dataChannelDict) {\n var priv = this.priv;\n\n if (!priv.pc || priv.isClosed) throw new InvalidStateError();\n\n //Check if we have a string label (can be empty)\n if (typeof label !== 'string') return new TypeError();\n\n //Create native datachannel\n var dataChannel = priv.pc.createDataChannel(label, dataChannelDict);\n\n //Check\n if (!dataChannel) return null;\n\n //Return wrapper\n return new DataChannel(dataChannel);\n};\n\ndefineEventAttribute(RTCPeerConnection.prototype, 'datachannel');\n\nObject.defineProperty(RTCPeerConnection, 'RTCPeerConnection', {\n enumerable: false,\n configurable: true,\n writable: false,\n value: 'RTCPeerConnection'\n});\nObject.defineProperty(RTCPeerConnection, 'prototype', { writable: false });\nmodule.exports = RTCPeerConnection;\n\n},{\"./EventTarget.js\":4,\"./InvalidStateError.js\":5,\"./MediaStreamTrack.js\":8,\"./RTCDataChannel.js\":9,\"./RTCIceCandidate.js\":10,\"./RTCRtpReceiver.js\":12,\"./RTCRtpSender.js\":13,\"./RTCRtpTransceiver.js\":14,\"./RTCSessionDescription.js\":15,\"./WebRTCProxy.js\":17}],12:[function(require,module,exports){\n'use strict';\n\n/*\n[Exposed=Window]\ninterface RTCRtpReceiver {\n readonly attribute MediaStreamTrack track;\n readonly attribute RTCDtlsTransport? transport;\n readonly attribute RTCDtlsTransport? rtcpTransport;\n // Feature at risk\n static RTCRtpCapabilities getCapabilities(DOMString kind);\n RTCRtpParameters getParameters();\n sequence<RTCRtpContributingSource> getContributingSources();\n sequence<RTCRtpSynchronizationSource> getSynchronizationSources();\n Promise<RTCStatsReport> getStats();\n};\n\n */\n\nvar RTCRtpReceiver = function RTCRtpReceiver(track) {\n var priv = {\n track: track\n };\n\n //Read only\n Object.defineProperty(this, 'track', {\n enumerable: true, configurable: false, get: function get() {\n return priv.track;\n }\n });\n //Not implemented\n Object.defineProperty(this, 'transport', {\n enumerable: true, configurable: false, get: function get() {\n return null;\n }\n });\n Object.defineProperty(this, 'rtcpTransport', {\n enumerable: true, configurable: false, get: function get() {\n return null;\n }\n });\n};\n\nRTCRtpReceiver.getCapabilities = function (kind) {\n throw 'Not implemented yet';\n};\n\nRTCRtpReceiver.getParameters = function () {\n throw 'Not implemented yet';\n};\n\nRTCRtpReceiver.getContributingSources = function () {\n throw 'Not implemented yet';\n};\nRTCRtpReceiver.getSynchronizationSources = function () {\n throw 'Not implemented yet';\n};\nRTCRtpReceiver.getStats = function () {\n return Promise.reject(new Error('Not implemented yet'));\n};\n\nObject.defineProperty(RTCRtpReceiver, 'name', {\n enumerable: false,\n configurable: true,\n writable: false,\n value: 'RTCRtpReceiver'\n});\nObject.defineProperty(RTCRtpReceiver, 'prototype', { writable: false });\nmodule.exports = RTCRtpReceiver;\n\n},{}],13:[function(require,module,exports){\n'use strict';\n\n/*\n[Exposed=Window]\ninterface RTCRtpSender {\n readonly attribute MediaStreamTrack? track;\n readonly attribute RTCDtlsTransport? transport;\n readonly attribute RTCDtlsTransport? rtcpTransport;\n // Feature at risk\n static RTCRtpCapabilities getCapabilities(DOMString kind);\n Promise<void> setParameters(optional RTCRtpParameters parameters);\n RTCRtpParameters getParameters();\n Promise<void> replaceTrack(MediaStreamTrack? withTrack);\n Promise<RTCStatsReport> getStats();\n};\n*/\nvar RTCRtpSender = function RTCRtpSender(sender, track) {\n\t//Add to map\n\tthis.priv = {\n\t\tsender: sender,\n\t\ttrack: track\n\t};\n\n\tObject.defineProperty(this, 'track', { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.track;\n\t\t} });\n\tObject.defineProperty(this, 'transport', { enumerable: true, configurable: false, get: function get() {\n\t\t\tnew Error(\"Not supported yet\");\n\t\t} });\n\tObject.defineProperty(this, 'rtcpTransport', { enumerable: true, configurable: false, get: function get() {\n\t\t\tnew Error(\"Not supported yet\");\n\t\t} });\n\n\treturn this;\n};\n\nRTCRtpSender.prototype.getCapabilities = function () {\n\tthrow new Error(\"Not supported yet\");\n};\n\nRTCRtpSender.prototype.setParameters = function () {\n\tthrow new Error(\"Not supported yet\");\n};\n\nRTCRtpSender.prototype.getParameters = function () {\n\tthrow new Error(\"Not supported yet\");\n};\n\nRTCRtpSender.prototype.replaceTrack = function () {\n\tthrow new Error(\"Not supported yet\");\n};\n\nRTCRtpSender.prototype.getStats = function () {\n\tthrow new Error(\"Not supported yet\");\n};\n\nObject.defineProperty(RTCRtpSender, 'name', { enumerable: false, configurable: true, writable: false, value: \"RTCRtpSender\" });\nObject.defineProperty(RTCRtpSender, 'prototype', { writable: false });\nmodule.exports = RTCRtpSender;\n\n},{}],14:[function(require,module,exports){\n\"use strict\";\n\n/*\n [Exposed=Window]\n interface RTCRtpTransceiver {\n readonly attribute DOMString? mid;\n [SameObject]\n readonly attribute RTCRtpSender sender;\n [SameObject]\n readonly attribute RTCRtpReceiver receiver;\n readonly attribute boolean stopped;\n attribute RTCRtpTransceiverDirection direction;\n readonly attribute RTCRtpTransceiverDirection? currentDirection;\n void stop();\n void setCodecPreferences(sequence<RTCRtpCodecCapability> codecs);\n};\n\n */\nvar RTPRtcTransceiver = function RTPRtcTransceiver(sender, receiver) {\n\n\t//Private attributes\n\tvar priv = this.priv = {\n\t\tmid: null,\n\t\tsender: sender,\n\t\treceiver: receiver,\n\t\tstopped: false,\n\t\tdirection: \"sendrecv\",\n\t\tcurrentDirection: \"sendrecv\"\n\t};\n\n\t//Read only\n\tObject.defineProperty(this, \"mid\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.mid;\n\t\t} });\n\tObject.defineProperty(this, \"sender\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.sender;\n\t\t} });\n\tObject.defineProperty(this, \"receiver\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.receiver;\n\t\t} });\n\tObject.defineProperty(this, \"stopped\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.stopped;\n\t\t} });\n\tObject.defineProperty(this, \"currentDirection\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn priv.currentDirection;\n\t\t} });\n\n\t//REad and write\n\tObject.defineProperty(this, \"currentDirection\", { enumerable: true, configurable: false,\n\t\tget: function get() {\n\t\t\treturn priv.direction;\n\t\t},\n\t\tset: function set(direction) {\n\t\t\tpriv.direction = direction;\n\t\t\tpriv.currentDirection = direction;\n\t\t\treturn direction;\n\t\t}\n\t});\n};\n\nRTPRtcTransceiver.prototype.stop = function () {\n\tthrow \"Not implemented\";\n};\n\nObject.defineProperty(RTPRtcTransceiver, 'name', { enumerable: false, configurable: true, writable: false, value: \"RTPRtcTransceiver\" });\nObject.defineProperty(RTPRtcTransceiver, 'prototype', { writable: false });\nmodule.exports = RTPRtcTransceiver;\n\n},{}],15:[function(require,module,exports){\n\"use strict\";\n\n/*\n [Constructor(RTCSessionDescriptionInit descriptionInitDict),\n Exposed=Window]\ninterface RTCSessionDescription {\n readonly attribute RTCSdpType type;\n readonly attribute DOMString sdp;\n [Default] object toJSON();\n}; \n \n dictionary RTCSessionDescriptionInit {\n required RTCSdpType type;\n DOMString sdp = \"\";\n};\n\n */\n\nfunction RTCSessionDescription(descriptionInitDict) {\n\t//Get values from dictionary\n\t// we support custom constructor to pass array instead of object as \"dictionary\" from activexobject\n\tvar type = Array.isArray(descriptionInitDict) ? descriptionInitDict[0] : descriptionInitDict.type;\n\tvar sdp = Array.isArray(descriptionInitDict) ? descriptionInitDict[1] : descriptionInitDict.sdp;\n\n\t//Direct attributes from init\n\tObject.defineProperty(this, \"type\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn type;\n\t\t} });\n\tObject.defineProperty(this, \"sdp\", { enumerable: true, configurable: false, get: function get() {\n\t\t\treturn sdp;\n\t\t} });\n\n\treturn this;\n};\n\nRTCSessionDescription.prototype.toJSON = function () {\n\treturn {\n\t\ttype: this.type,\n\t\tsdp: this.sdp\n\t};\n};\n\nObject.defineProperty(RTCSessionDescription, 'name', { enumerable: false, configurable: true, writable: false, value: \"RTCSessionDescription\" });\nObject.defineProperty(RTCSessionDescription, 'prototype', { writable: false });\nmodule.exports = RTCSessionDescription;\n\n},{}],16:[function(require,module,exports){\n\"use strict\";\n\n// This obvserver checks when a video element has been set a srcObj\nvar videoObserver = new MutationObserver(function (mutations) {\n\tfor (var i = 0, numMutations = mutations.length; i < numMutations; i++) {\n\t\tvar mutation = mutations[i];\n\t\t// HTML video element.\n\t\tif (mutation.target.videoRenderer) mutation.target.videoRenderer.mutate(mutation);\n\t}\n});\n\nvar CLASSID = \"CLSID:B8E874D9-72BA-4E54-B59B-3513081DF516\";\n\nfunction VideoRenderer(video) {\n\tvar srcObject;\n\tvar self = this;\n\t//Store video element\n\tthis.video = video;\n\n\t//Create a new video renderer object\n\tvar object = this.object = document.createElement(\"object\");\n\t//Set csid\n\tthis.object.classid = CLASSID;\n\t//Apped it hidden\n\tvideo.appendChild(this.object);\n\n\t// Add .src observer to the video element.\n\tvideoObserver.observe(video, {\n\t\t// Set to true if additions and removals of the target node's child elements (including text\n\t\t// nodes) are to be observed.\n\t\tchildList: false,\n\t\t// Set to true if mutations to target's attributes are to be observed.\n\t\tattributes: true,\n\t\t// Set to true if mutations to target's data are to be observed.\n\t\tcharacterData: false,\n\t\t// Set to true if mutations to not just target, but also target's descendants are to be observed.\n\t\tsubtree: false,\n\t\t// Set to true if attributes is set to true and target's attribute value before the mutation\n\t\t// needs to be recorded.\n\t\tattributeOldValue: true,\n\t\t// Set to true if characterData is set to true and target's data before the mutation needs to be\n\t\t// recorded.\n\t\tcharacterDataOldValue: false\n\t\t// Set to an array of attribute local names (without namespace) if not all attribute mutations\n\t\t// need to be observed.\n\t\t//attributeFilter: [ 'srcObject']\n\t});\n\t// Define srcObject properties\n\tObject.defineProperty(video, 'srcObject', {\n\t\tenumerable: true,\n\t\tconfigurable: true,\n\t\tget: function get() {\n\t\t\treturn srcObject;\n\t\t},\n\t\tset: function set(stream) {\n\t\t\t//We need to fire metadata event when we get first resize\n\t\t\tvar needsmetadata = true;\n\t\t\t//Attach resize event\n\t\t\tobject.onresize = function () {\n\t\t\t\t//Create event\n\t\t\t\tvar event = document.createEvent(\"Event\");\n\t\t\t\t//Init metadata or resize event\n\t\t\t\tevent.initEvent(needsmetadata ? \"loadedmetadata\" : \"resize\", false, false);\n\t\t\t\t//Dispatch it\n\t\t\t\tvideo.dispatchEvent(event);\n\t\t\t\t//No more medatada event\n\t\t\t\tneedsmetadata = false;\n\t\t\t};\n\t\t\t//Get stream track video stream\n\t\t\tvar videoTracks = stream.getVideoTracks();\n\t\t\t//If found any\n\t\t\tif (videoTracks.length)\n\t\t\t\t//Set native video track on video renderer object\n\t\t\t\tobject.setTrack(videoTracks[0].priv.track);\n\t\t\t//Store it\n\t\t\tsrcObject = stream;\n\t\t\t//Show renderer\n\t\t\tself.show();\n\t\t}\n\t});\n\n\t// Override properties\n\tObject.defineProperty(video, 'videoWidth', { enumerable: true, configurable: true, get: function get() {\n\t\t\treturn object.videoWidth;\n\t\t} });\n\tObject.defineProperty(video, 'videoHeight', { enumerable: true, configurable: true, get: function get() {\n\t\t\treturn object.videoHeight;\n\t\t} });\n\t//TODO: clone attributes\n}\n\nVideoRenderer.prototype.mutate = function (mutation) {\n\t//Get mutation type\n\t//TODO: clone attributes\n};\n\nVideoRenderer.prototype.close = function () {\n\t//Hide video object\n\tthis.hide();\n\t//Unobserver video element\n\tvideoObserver.disconnect();\n\t//Remove srcObject property\n\tObject.defineProperty(this.video, 'srcObject', {});\n\tObject.defineProperty(this.video, 'videoWidth', {});\n\tObject.defineProperty(this.video, 'videoHeigth', {});\n\t//delete object, IE only method\n\tthis.object.removeNode(false);\n\tdelete this.object;\n};\n\nVideoRenderer.handle = function (video) {\n\tif (!video.videoRenderer) video.videoRenderer = new VideoRenderer(video);\n};\n\nVideoRenderer.unhandle = function (video) {\n\tif (video.videoRenderer) {\n\t\tvideo.videoRenderer.close();\n\t\tdelete video.videoRenderer;\n\t}\n};\n\nVideoRenderer.prototype.show = function () {\n\t//Check object is not shown\n\tif (this.video !== this.object.parentElement)\n\t\t//Nothing\n\t\treturn;\n\t//Swap them\n\tthis.video.parentNode.replaceChild(this.object, this.video);\n\tthis.object.appendChild(this.video);\n};\n\nVideoRenderer.prototype.hide = function () {\n\t//Check object is not shown\n\tif (this.object !== this.video.parentElement)\n\t\t//Nothing\n\t\treturn;\n\t//Swap them\n\tthis.object.parentNode.replaceChild(this.video, this.object);\n\tthis.video.appendChild(this.object);\n};\n\nmodule.exports = VideoRenderer;\n\n},{}],17:[function(require,module,exports){\n'use strict';\n\nvar browser = require('detect-browser').detect();\n\nvar WebRTCProxy = null;\n\n//If it is internet explorer\nif (browser.name === 'ie') {\n // Create singleton\n try {\n WebRTCProxy = new ActiveXObject('Cosmo.WebRTCProxy.1');\n } catch (e) {\n console.error('TechSee WebRTC Plugin for IE is not installed');\n }\n}\n\nmodule.exports = WebRTCProxy;\n\n},{\"detect-browser\":18}],18:[function(require,module,exports){\n(function (process){\n/**\n # detect-browser\n\n This is a package that attempts to detect a browser vendor and version (in\n a semver compatible format) using a navigator useragent in a browser or\n `process.version` in node.\n\n ## NOTE: Version 2.x release\n\n Release 2.0 introduces a breaking API change (hence the major release)\n which requires invocation of a `detect` function rather than just inclusion of\n the module. PR [#46](https://github.com/DamonOehlman/detect-browser/pull/46)\n provides more context as to why this change has been made.\n\n ## Example Usage\n\n <<< examples/simple.js\n\n Or you can use a switch statement:\n\n <<< examples/switch.js\n\n ## Adding additional browser support\n\n The current list of browsers that can be detected by `detect-browser` is\n not exhaustive. If you have a browser that you would like to add support for\n then please submit a pull request with the implementation.\n\n Creating an acceptable implementation requires two things:\n\n 1. A test demonstrating that the regular expression you have defined identifies\n your new browser correctly. Examples of this can be found in the \n `test/logic.js` file.\n\n 2. Write the actual regex to the `lib/detectBrowser.js` file. In most cases adding\n the regex to the list of existing regexes will be suitable (if usage of `detect-brower`\n returns `undefined` for instance), but in some cases you might have to add it before\n an existing regex. This would be true for a case where you have a browser that\n is a specialised variant of an existing browser but is identified as the\n non-specialised case.\n\n When writing the regular expression remember that you would write it containing a\n single [capturing group](https://regexone.com/lesson/capturing_groups) which\n captures the version number of the browser.\n\n**/\n\nfunction detect() {\n var nodeVersion = getNodeVersion();\n if (nodeVersion) {\n return nodeVersion;\n } else if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n\n return null;\n}\n\nfunction detectOS(userAgentString) {\n var rules = getOperatingSystemRules();\n var detected = rules.filter(function (os) {\n return os.rule && os.rule.test(userAgentString);\n })[0];\n\n return detected ? detected.name : null;\n}\n\nfunction getNodeVersion() {\n var isNode = typeof navigator === 'undefined' && typeof process !== 'undefined';\n return isNode ? {\n name: 'node',\n version: process.version.slice(1),\n os: require('os').type().toLowerCase()\n } : null;\n}\n\nfunction parseUserAgent(userAgentString) {\n var browsers = getBrowserRules();\n if (!userAgentString) {\n return null;\n }\n\n var detected = browsers.map(function(browser) {\n var match = browser.rule.exec(userAgentString);\n var version = match && match[1].split(/[._]/).slice(0,3);\n\n if (version && version.length < 3) {\n version = version.concat(version.length == 1 ? [0, 0] : [0]);\n }\n\n return match && {\n name: browser.name,\n version: version.join('.')\n };\n }).filter(Boolean)[0] || null;\n\n if (detected) {\n detected.os = detectOS(userAgentString);\n }\n\n return detected;\n}\n\nfunction getBrowserRules() {\n return buildRules([\n [ 'edge', /Edge\\/([0-9\\._]+)/ ],\n [ 'yandexbrowser', /YaBrowser\\/([0-9\\._]+)/ ],\n [ 'vivaldi', /Vivaldi\\/([0-9\\.]+)/ ],\n [ 'kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/ ],\n [ 'chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/ ],\n [ 'phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/ ],\n [ 'crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/ ],\n [ 'firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/ ],\n [ 'fxios', /FxiOS\\/([0-9\\.]+)/ ],\n [ 'opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/ ],\n [ 'opera', /OPR\\/([0-9\\.]+)(:?\\s|$)$/ ],\n [ 'ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/ ],\n [ 'ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/ ],\n [ 'ie', /MSIE\\s(7\\.0)/ ],\n [ 'bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/ ],\n [ 'android', /Android\\s([0-9\\.]+)/ ],\n [ 'ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/ ],\n [ 'safari', /Version\\/([0-9\\._]+).*Safari/ ]\n ]);\n}\n\nfunction getOperatingSystemRules() {\n return buildRules([\n [ 'iOS', /iP(hone|od|ad)/ ],\n [ 'Android OS', /Android/ ],\n [ 'BlackBerry OS', /BlackBerry|BB10/ ],\n [ 'Windows Mobile', /IEMobile/ ],\n [ 'Amazon OS', /Kindle/ ],\n [ 'Windows 3.11', /Win16/ ],\n [ 'Windows 95', /(Windows 95)|(Win95)|(Windows_95)/ ],\n [ 'Windows 98', /(Windows 98)|(Win98)/ ],\n [ 'Windows 2000', /(Windows NT 5.0)|(Windows 2000)/ ],\n [ 'Windows XP', /(Windows NT 5.1)|(Windows XP)/ ],\n [ 'Windows Server 2003', /(Windows NT 5.2)/ ],\n [ 'Windows Vista', /(Windows NT 6.0)/ ],\n [ 'Windows 7', /(Windows NT 6.1)/ ],\n [ 'Windows 8', /(Windows NT 6.2)/ ],\n [ 'Windows 8.1', /(Windows NT 6.3)/ ],\n [ 'Windows 10', /(Windows NT 10.0)/ ],\n [ 'Windows ME', /Windows ME/ ],\n [ 'Open BSD', /OpenBSD/ ],\n [ 'Sun OS', /SunOS/ ],\n [ 'Linux', /(Linux)|(X11)/ ],\n [ 'Mac OS', /(Mac_PowerPC)|(Macintosh)/ ],\n [ 'QNX', /QNX/ ],\n [ 'BeOS', /BeOS/ ],\n [ 'OS/2', /OS\\/2/ ],\n [ 'Search Bot', /(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves\\/Teoma)|(ia_archiver)/ ]\n ]);\n}\n\nfunction buildRules(ruleTuples) {\n return ruleTuples.map(function(tuple) {\n return {\n name: tuple[0],\n rule: tuple[1]\n };\n });\n}\n\nmodule.exports = {\n detect: detect,\n detectOS: detectOS,\n getNodeVersion: getNodeVersion,\n parseUserAgent: parseUserAgent\n};\n\n}).call(this,require('_process'))\n},{\"_process\":2,\"os\":1}]},{},[3])(3)\n});\n"]}
|