webp2p
Version:
The server-less signaling channel for WebRTC
1 lines • 528 kB
Source Map (JSON)
{"version":3,"file":"bundle.js","sources":["../node_modules/browserify/node_modules/browser-pack/_prelude.js","../lib/index.js","../lib/connectors/core/HandshakeConnector.js","../lib/WebP2P.js","../node_modules/browserify/node_modules/process/browser.js","../lib/managers/HandshakeManager.js","../lib/managers/PeersManager.js","../lib/packer.js","../lib/connectors/core/Connector.js","../node_modules/browserify/node_modules/events/events.js","../lib/managers/Manager.js","../lib/errors.js","../lib/connectors/PubNub.js","../lib/connectors/xRTML.js","../lib/connectors/core/DataChannel.js","../node_modules/inherits/inherits_browser.js","../node_modules/freeice/index.js","../node_modules/uuid/uuid.js","../node_modules/wrtc/lib/browser.js","../node_modules/process-events-shim/lib/process-events-shim.js","../node_modules/rpc-builder/lib/index.js","../shim/pubnub.js","../node_modules/freeice/servers.js","../node_modules/uuid/rng-browser.js","../node_modules/browserify/node_modules/buffer/index.js","../node_modules/rpc-builder/lib/Mapper.js","../node_modules/rpc-builder/lib/packers/index.js","../node_modules/rpc-builder/lib/packers/JsonRPC.js","../node_modules/rpc-builder/lib/packers/XmlRPC.js","../node_modules/ibtrealtimesjnode/index.js","../node_modules/browserify/node_modules/buffer/node_modules/ieee754/index.js","../node_modules/browserify/node_modules/buffer/node_modules/base64-js/lib/b64.js","../node_modules/ibtrealtimesjnode/IbtRealTimeSJNode.js","../node_modules/ibtrealtimesjnode/http-request.js","../node_modules/ibtrealtimesjnode/strings.js","../node_modules/ibtrealtimesjnode/object-literals.js","../node_modules/ibtrealtimesjnode/IbtRealtimeRestServices.js","../node_modules/browserify/node_modules/url/url.js","../node_modules/browserify/node_modules/path-browserify/index.js","../node_modules/ibtrealtimesjnode/math.js","../node_modules/browserify/node_modules/querystring-es3/index.js","../node_modules/browserify/node_modules/util/util.js","../node_modules/ibtrealtimesjnode/node_modules/ws/lib/browser.js","../node_modules/browserify/node_modules/punycode/punycode.js","../node_modules/browserify/node_modules/querystring-es3/encode.js","../node_modules/browserify/node_modules/util/support/isBufferBrowser.js","../node_modules/browserify/node_modules/querystring-es3/decode.js"],"names":["HandshakeConnector","require","WebP2P","module","exports","max_connections","Connector","call","this","self","undefined","Math","min","shouldConnect","connections","increaseConnections","close","inherits","prototype","Number","POSITIVE_INFINITY","noop","error","console","options","onerror","emit","Error","createPeerConnection","sessionID","callbackType","callback","pc","RTCPeerConnection","iceServers","optional","DtlsSrtpKeyAgreement","addEventListener","event","candidate","type","localDescription","sdp","signalingState","channels","_channels","peersManager","add","offer","offers","Object","defineProperty","value","forward","message","connector","dest","from","ttl","warn","pack","peer","i","_connectors","send","handshakeManager","connectionProcessed","get","log","code","MAX_TTL_DEFAULT","rpcBuilder","cancel","peerConnection","debug","onpresence","generateOffer","onoffer","request","processed","reply","answer","response","setRemoteDescription","RTCSessionDescription","createAnswer","setLocalDescription","channel","push","labels","encode","result","processAnswer","Array","forEach","c","routingLabel","concat","commonLabels","label","createDataChannel","splice","indexOf","mediaConstraints","mandatory","OfferToReceiveAudio","OfferToReceiveVideo","createOffer","initManagerEvents","manager","on","status","handshake_servers","freeice","uuid","v4","max_retries","peerID","RpcBuilder","packer","HandshakeManager","PeersManager","__defineGetter__","peers","connectTo","Function","SyntaxError","process","EventEmitter","wrtc","nextTick","canSetImmediate","window","setImmediate","canPost","postMessage","f","queue","ev","source","data","stopPropagation","length","fn","shift","setTimeout","title","browser","env","argv","addListener","once","off","removeListener","removeAllListeners","binding","cwd","chdir","createConnector","config","config_init","config_mess","connectorConstructor","handshakeConnectorConstructors","_initConnector","_messageUnpacked","method","params","handshake","configs","index","Manager","registerConnectorConstructor","constructor","Connector_PubNub","Connector_xRTML","configs_infinity","addConfigs_byObject","addConfigs","errors","configuration","addConfigs_byUri","addConfigs_byArray","json_uri","dispatchError","http_request","XMLHttpRequest","open","onload","JSON","parse","ERROR_REQUEST_EMPTY","ERROR_REQUEST_FAILURE","navigator","onLine","ERROR_NETWORK_UNKNOWN","ERROR_NETWORK_OFFLINE","Connector_DataChannel","initDataChannel","initDataChannel_listener","target","removeEventListener","_close","id","ERROR","PRESENCE","OFFER","ANSWER","stringify","unpack","ack","responseMethods","presence","_open","_message","_error","TypeError","_events","_maxListeners","isFunction","arg","isNumber","isObject","isUndefined","defaultMaxListeners","setMaxListeners","n","isNaN","er","handler","len","args","listeners","arguments","apply","slice","listener","m","newListener","warned","trace","g","fired","list","position","key","ret","listenerCount","emitter","decode","stored","incomingConnector","msg","ERROR_NO_PEERS","pubnub","PUBNUB","init","subscribe","restore","backfill","connect","disconnect","unsubscribe","publish","ortcClient","ortcNodeclient","setClusterUrl","onConnected","ortc","onSubscribed","bind","onUnsubscribed","onException","exception","application_key","authentication_token","IbtRealTimeSJNode","datachannel","create","ctor","superCtor","super_","enumerable","writable","configurable","TempCtor","opts","getServers","count","idx","out","input","servers","random","map","url","selected","stunCount","stun","turnCount","turn","s","buf","offset","ii","toLowerCase","replace","oct","_hexToByte","unparse","bth","_byteToHex","v1","b","clockseq","_clockseq","msecs","Date","getTime","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","BufferClass","rnds","rng","_rng","Buffer","toString","substr","_seedBytes","RTCIceCandidate","mozRTCIceCandidate","webkitRTCIceCandidate","mozRTCPeerConnection","webkitRTCPeerConnection","mozRTCSessionDescription","webkitRTCSessionDescription","name","processLacksEventFunctions","_ref","document","global","err","line","unifyResponseMethods","unifyTransport","transport","RpcNotification","storeResponse","timeout","responses","remove","response_timeout","set","storeProcessedResponse","processedResponses","duplicates_timeout","RpcRequest","Boolean","responseMethod","clearTimeout","message2Key","requests","pop","request_timeout","BASE_TIMEOUT","requestID","Mapper","dispatchCallback","sendRequest","pow","retried","encode_transport","retry","processRequest","idAck","processResponse","duplicatedResponse","packers","unique","NOW","rnow","build_url","url_components","url_params","join","URLBIT","each","value_str","PARAMSBIT","updater","fun","rate","last","runnit","grep","fin","l","supplant","str","values","REPL","_","match","wait","u","r","v","isArray","o","hasOwnProperty","k","path","encodeURIComponent","generate_channel_list","nopresence","search","subscribed","sort","ready","READY","READY_BUFFER","SECOND","PN_API","setup","_get_url_params","_object_to_key_list","_object_to_key_list_sorted","_get_pam_sign_input_from_params","si","validate_presence_heartbeat","heartbeat","cur_heartbeat","PRESENCE_HB_THRESHOLD","PRESENCE_HB_DEFAULT","encrypt","crypto_obj","CIPHER_KEY","decrypt","_presence_heartbeat","PRESENCE_HB_TIMEOUT","PRESENCE_HB_INTERVAL","CHANNELS","PRESENCE_HB_RUNNING","SELF","e","start_presence_heartbeat","next","NO_WAIT_FOR_PENDING","PUB_QUEUE","sending","xdr","each_channel","chan","_invoke_callback","payload","_invoke_error","_poll_online","_is_online","_reset_offline","_poll_online2","success","detect_time_detla","KEEPALIVE","SUB_RECEIVER","detect_latency","tt","adjusted_time","TIME_DRIFT","cb","time","calculate","ptime","latency","stime","SUB_WINDOWING","DEF_WINDOWING","SUB_TIMEOUT","DEF_SUB_TIMEOUT","DEF_KEEPALIVE","NOLEAVE","PUBLISH_KEY","SUBSCRIBE_KEY","AUTH_KEY","SECRET_KEY","hmac_SHA256","SSL","ORIGIN","STD_ORIGIN","nextorigin","SUB_ORIGIN","CONNECT","SUB_CALLBACK","SUB_CHANNEL","SUB_RESTORE","TIMETOKEN","RESUMED","STATE","PRESENCE_HB","COMPATIBLE_35","jsonp_cb","db","UUID","a","LEAVE","blocking","auth","origin","jsonp","PRESENCE_SUFFIX","fail","set_resumed","resumed","get_cipher_key","set_cipher_key","raw_encrypt","raw_decrypt","get_heartbeat","set_heartbeat","get_heartbeat_interval","set_heartbeat_interval","heartbeat_interval","get_version","SDK_VER","_add_param","val","history","reverse","auth_key","cipher_key","start","end","include_token","messages","decrypted_messages","new_message","replay","destination","stop","limit","post","add_msg","mode","split","CB_CALLED","action","_test_connection","disconnected","reconnect","_connect","st","sub_timeout","errcb","idlecb","connected","windowing","next_callback","decrypted_msg","noheresync","timetoken","state","settings","here","uid","timestamp","occupancy","here_now","uuids","where_now","grant","w","floor","sign_input","signature","audit","revoke","set_uuid","get_uuid","presence_heartbeat","each-channel","offline","now","SHA256","safe_add","x","y","lsw","msw","S","X","R","Ch","z","Maj","Sigma0256","Sigma1256","Gamma0256","Gamma1256","core_sha256","d","h","j","T1","T2","K","HASH","W","str2binb","bin","mask","chrsz","charCodeAt","Utf8Encode","string","utftext","String","fromCharCode","binb2hex","binarray","hex_tab","hexcase","charAt","crypto","CRYPTO","iv","hex_message","encryptedHexArray","base_64_encrypted","binary_enc","json_plain","plaintext","DEF_TIMEOUT","max","ori","failover","Nr","Nk","Decrypt","enc_utf8","unescape","dec_utf8","decodeURIComponent","escape","padBlock","byteArr","cpad","array","block2s","block","lastBlock","padding","a2h","numArr","h2a","parseInt","s2a","binary","size","newsize","randArr","num","openSSLKey","passwordArr","saltArr","rounds","md5_hash","data00","GibberishAES","Hash","MD5","rawEncrypt","expandKey","numBlocks","ceil","blocks","cipherBlocks","xorBlocks","encryptBlock","rawDecrypt","cryptArr","plainBlocks","decryptBlock","words","round","addRoundKey","subBytes","shiftRows","mixColumns","SBoxInv","SBox","temp","shiftBy","t","GEX","GBX","GDX","G9X","G2X","G3X","block1","block2","flat","subWord","rotWord","Rcon","tmp","strhex","invertArr","arr","Gxx","Gx","enc","pass","salt","pbe","saltBlock","Base64","dec","rotateLeft","lValue","iShiftBits","addUnsigned","lX","lY","lX4","lY4","lX8","lY8","lResult","funcI","ff","ac","gg","hh","convertToWordArray","lWordCount","lMessageLength","lNumberOfWords_temp1","lNumberOfWords_temp2","lNumberOfWords","lWordArray","lBytePosition","lByteCount","wordToHex","lByte","lCount","wordToHexArr","AA","BB","CC","DD","rnd","_chars","chars","broken_b64","flatArr","b64","xhr","finished","loaded","timer","responseText","done","complete","XHRTME","async","failed","abort","XDomainRequest","onabort","onloadend","onreadystatechange","readyState","PNSDK","eee","el","etype","rapfun","cancelBubble","returnValue","preventDefault","attachEvent","attr","attribute","setAttribute","getAttribute","$","getElementById","elements","getElementsByTagName","css","element","styles","style","createElement","get_hmac_SHA256","hash","CryptoJS","CREATE_PUBNUB","pnsdk","PN","prop","ch","ls","localStorage","getItem","cookie","RegExp","setItem","WS","protocols","bits","protocol","ssl","publish_key","subscribe_key","reason","wasClean","getRandomValues","_rnds8","Uint8Array","_rnds","subject","encoding","noZero","stringtrim","coerce","byteLength","_useTypedArrays","_augment","_isBuffer","_set","isArrayish","isBuffer","readUInt8","writeInt8","write","hexWrite","remaining","strLen","assert","byte","utf8Write","charsWritten","blitBuffer","utf8ToBytes","asciiWrite","asciiToBytes","binaryWrite","base64Write","base64ToBytes","utf16leWrite","utf16leToBytes","base64Slice","base64","fromByteArray","utf8Slice","res","decodeUtf8Char","asciiSlice","binarySlice","hexSlice","toHex","utf16leSlice","bytes","readUInt16","littleEndian","noAssert","readUInt32","readInt16","neg","readInt32","readFloat","ieee754","read","readDouble","writeUInt16","verifuint","writeUInt32","writeInt16","verifsint","writeInt32","writeFloat","verifIEEE754","writeDouble","trim","clamp","defaultValue","byteArray","hi","lo","toByteArray","src","dst","test","SlowBuffer","INSPECT_MAX_BYTES","poolSize","ArrayBuffer","foo","subarray","isEncoding","totalLength","pos","item","copy","compare","isFinite","swap","toJSON","_arr","equals","target_start","sliceLen","newBuf","writeUInt8","readUInt16LE","readUInt16BE","readUInt32LE","readUInt32BE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","fill","inspect","toArrayBuffer","buffer","BP","_get","toLocaleString","sources","key2","ids","keys","JsonRPC","XmlRPC","jsonrpc","version","result_defined","error_defined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","Infinity","rt","abs","LN2","lookup","elt","PLUS","SLASH","NUMBER","UPPER","LOWER","b64ToByteArray","L","placeHolders","Arr","uint8ToBase64","uint8","tripletToBase64","extraBytes","output","clusterUrl","connectionTimeout","messageMaxSize","channelMaxSize","messagesBuffer","isConnected","isConnecting","alreadyConnectedFirstTime","stopReconnecting","sockjs","userPerms","connectionMetadata","announcementSubChannel","subscribedChannels","lastKeepAlive","invalidConnection","reconnectStartedAt","connectionMetadataMaxSize","getId","setId","newId","getUrl","setUrl","newUrl","getClusterUrl","getConnectionTimeout","setConnectionTimeout","newTimeout","getIsConnected","getConnectionMetadata","setConnectionMetadata","newConnectionMetadata","getAnnouncementSubChannel","setAnnouncementSubChannel","newAnnouncementSubChannel","onDisconnected","onReconnecting","onReconnected","appKey","authToken","delegateExceptionCallback","ortcIsValidUrl","ortcIsValidInput","ortcTreatUrl","clusterConnection","createSocketConnection","reconnectTimeoutlId","reconnectSocket","subscribeOnReconnected","onMessageCallback","isSubscribing","isSubscribed","ortcIsValidBoolean","ortcIsFunction","domainChannelCharacterIndex","channelToValidate","hashPerm","substring","ortcIsString","messageParts","messageId","generateId","allowedMaxSize","messageToSend","sendMultiPartMessage","sendProxy","applicationKey","privateKey","clearReconnectInterval","disconnectSocket","saveAuthentication","isCluster","authenticationToken","authenticationTokenIsPrivate","timeToLive","permissions","connectionUrl","getServerFromCluster","clusterUri","body","IbtRealtimeRestServices","parameters","requestUrl","getServerUrl","serverUrl","getPresence","enablePresence","metadata","disablePresence","resultUrl","reconnectIntervalId","clearInterval","exec","S4","clusterTimeout","delegateReconnectingCallback","queryString","parsedUrl","urlParser","httpRequest","hostname","pathname","query","responseData","content","wsScheme","wsUrl","connid","strings","random_string","serverId","random_number_string","WebSocket","onopen","onclose","delegateDisconnectedCallback","onmessage","messageType","op","up","channelsToRemove","chnKey","ObjectLiterals","removeEntry","delegateReconnectedCallback","delegateConnectedCallback","setInterval","channelSubscribed","delegateSubscribedCallback","channelUnsubscribed","delegateUnsubscribedCallback","ex","operation","regexPattern","messageCurrentPart","messageTotalPart","lastPart","delegateMessagesCallback","fs","querystring","postData","postContent","headers","host","port","content-length","content-type","httpClient","statusCode","chunk","getData","getParameters","requestPath","user-agent","util","math","strg","ws","generateGuid","random_string_chars","p","random_number","obj","urlApi","channelPermissions","Read","Write","Presence","saveAuthenticationData","AT","PVT","AK","TTL","PK","TP","permission","saveAuthenticationRequest","enableParameters","privatekey","enablePresenceRequest","disablePresenceRequest","postOptions","headerIndex","secure","getOptions","Url","slashes","href","urlParse","parseQueryString","slashesDenoteHost","urlFormat","isString","format","urlResolve","relative","resolve","urlResolveObject","resolveObject","isNull","isNullOrUndefined","punycode","protocolPattern","portPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","javascript","javascript:","hostlessProtocol","slashedProtocol","http","https","ftp","gopher","file","http:","https:","ftp:","gopher:","file:","rest","proto","lowerProto","hostEnd","hec","atSign","lastIndexOf","parseHost","ipv6Hostname","hostparts","part","newpart","validParts","notHost","bit","unshift","domainArray","newOut","ae","esc","qm","rel","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","isAbsolute","normalizeArray","parts","allowAboveRoot","filter","xs","splitPathRe","splitPath","filename","resolvedPath","resolvedAbsolute","normalize","trailingSlash","paths","to","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","root","dir","basename","ext","extname","roundNumber","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","arrayToHash","recurseTimes","primitive","formatPrimitive","visibleKeys","getOwnPropertyNames","isError","formatError","isRegExp","isDate","base","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","simple","desc","getOwnPropertyDescriptor","numLinesEst","reduce","prev","cur","ar","isSymbol","re","objectToString","isPrimitive","pad","getHours","getMinutes","getSeconds","getDate","months","getMonth","formatRegExp","objects","deprecate","deprecated","throwDeprecation","traceDeprecation","noDeprecation","debugs","debugEnviron","debuglog","NODE_DEBUG","toUpperCase","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","null","date","regexp","uri","instance","MozWebSocket","RangeError","mapDomain","regexSeparators","ucs2decode","extra","counter","ucs2encode","stringFromCharCode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","damp","baseMinusTMin","tMax","skew","basic","oldi","baseMinusT","inputLength","initialN","bias","initialBias","maxInt","tMin","handledCPCount","basicLength","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","domain","regexPunycode","toASCII","regexNonASCII","freeExports","freeModule","freeGlobal","overflow","not-basic","invalid-input","ucs2","define","amd","nodeType","stringifyPrimitive","eq","objectKeys","ks","qs","maxKeys","kstr","vstr"],"mappings":"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