text: // If there is no WebSocket, try MozWebSocket (support for some old browsers)
  try {
    module.exports = WebSocket;
  } catch(err) {
    module.exports = MozWebSocket;
  }
  
  // Some versions of Safari Mac 5 and Safari iOS 4 seem to support websockets,
  // but can't communicate with websocketpp, which is what rippled uses.
  //
  // Note that we check for both the WebSocket protocol version the browser seems
  // to implement as well as the user agent etc. The reason is that we want to err
  // on the side of trying to connect since we don't want to accidentally disable
  // a browser that would normally work fine.
  var match, versionRegexp = /Version\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//;
  if (
    // Is browser
    "object" === typeof navigator &&
    "string" === typeof navigator.userAgent &&
    // Is Safari
    (match = versionRegexp.exec(navigator.userAgent)) &&
    // And uses the old websocket protocol
    2 === window.WebSocket.CLOSED
  ) {
    // Is iOS
    if (/iP(hone|od|ad)/.test(navigator.platform)) {
      // Below version 5 is broken
      if (+match[1] < 5) {
        module.exports = void(0);
      }
    // Is any other Mac OS
    // If you want to refactor this code, be careful, iOS user agents contain the
    // string "like Mac OS X".
    } else if (navigator.appVersion.indexOf("Mac") !== -1) {
      // Below version 6 is broken
      if (+match[1] < 6) {
        module.exports = void(0);
      }
    }
  }
  