@bigbinary/neeto-media-recorder 2.7.5 → 2.7.6
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/core.js +45 -52
- package/core.js.map +1 -1
- package/package.json +1 -1
package/core.js
CHANGED
|
@@ -1040,6 +1040,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1040
1040
|
}
|
|
1041
1041
|
});
|
|
1042
1042
|
_defineProperty(this, "completeUploadNotifyServer", function (parts, sessionLogs) {
|
|
1043
|
+
var _classPrivateFieldGet2;
|
|
1043
1044
|
return completeUploadApi.create({
|
|
1044
1045
|
recordingId: _classPrivateFieldGet(_this, _recordingId),
|
|
1045
1046
|
payload: {
|
|
@@ -1049,7 +1050,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1049
1050
|
logs: sessionLogs
|
|
1050
1051
|
},
|
|
1051
1052
|
config: {
|
|
1052
|
-
signal: _classPrivateFieldGet(_this, _abortController).signal
|
|
1053
|
+
signal: (_classPrivateFieldGet2 = _classPrivateFieldGet(_this, _abortController)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.signal
|
|
1053
1054
|
}
|
|
1054
1055
|
});
|
|
1055
1056
|
});
|
|
@@ -1233,22 +1234,22 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1233
1234
|
_classPrivateFieldSet(_this, _status2, "");
|
|
1234
1235
|
});
|
|
1235
1236
|
_defineProperty(this, "addCallback", function (event, callback) {
|
|
1236
|
-
var
|
|
1237
|
-
var existingCallbacks = (
|
|
1237
|
+
var _classPrivateFieldGet3;
|
|
1238
|
+
var existingCallbacks = (_classPrivateFieldGet3 = _classPrivateFieldGet(_this, _callbacks$1)[event]) !== null && _classPrivateFieldGet3 !== void 0 ? _classPrivateFieldGet3 : [];
|
|
1238
1239
|
_classPrivateFieldSet(_this, _callbacks$1, _objectSpread$2(_objectSpread$2({}, _classPrivateFieldGet(_this, _callbacks$1)), {}, _defineProperty({}, event, [].concat(_toConsumableArray(existingCallbacks), [callback]))));
|
|
1239
1240
|
});
|
|
1240
1241
|
_defineProperty(this, "removeCallback", function (event, callback) {
|
|
1241
|
-
var
|
|
1242
|
-
var registeredCallbacks = (
|
|
1242
|
+
var _classPrivateFieldGet4;
|
|
1243
|
+
var registeredCallbacks = (_classPrivateFieldGet4 = _classPrivateFieldGet(_this, _callbacks$1)[event]) !== null && _classPrivateFieldGet4 !== void 0 ? _classPrivateFieldGet4 : [];
|
|
1243
1244
|
var updatedCallbacks = registeredCallbacks.filter(isNot(callback));
|
|
1244
1245
|
_classPrivateFieldSet(_this, _callbacks$1, _objectSpread$2(_objectSpread$2({}, _classPrivateFieldGet(_this, _callbacks$1)), {}, _defineProperty({}, event, updatedCallbacks)));
|
|
1245
1246
|
});
|
|
1246
1247
|
_classPrivateFieldInitSpec$1(this, _fireCallbacks$1, {
|
|
1247
1248
|
writable: true,
|
|
1248
1249
|
value: function value(event) {
|
|
1249
|
-
var
|
|
1250
|
+
var _classPrivateFieldGet5;
|
|
1250
1251
|
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
1251
|
-
(
|
|
1252
|
+
(_classPrivateFieldGet5 = _classPrivateFieldGet(_this, _callbacks$1)[event]) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.forEach(function (callback) {
|
|
1252
1253
|
callback.apply(void 0, _toConsumableArray(args));
|
|
1253
1254
|
});
|
|
1254
1255
|
}
|
|
@@ -1267,40 +1268,28 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1267
1268
|
}
|
|
1268
1269
|
}
|
|
1269
1270
|
});
|
|
1270
|
-
_defineProperty(this, "generatePreSignedUrl",
|
|
1271
|
-
var
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
}
|
|
1285
|
-
}));
|
|
1286
|
-
case 1:
|
|
1287
|
-
case "end":
|
|
1288
|
-
return _context3.stop();
|
|
1289
|
-
}
|
|
1290
|
-
}, _callee3);
|
|
1291
|
-
}));
|
|
1292
|
-
return function (_x2) {
|
|
1293
|
-
return _ref3.apply(this, arguments);
|
|
1294
|
-
};
|
|
1295
|
-
}());
|
|
1271
|
+
_defineProperty(this, "generatePreSignedUrl", function (partNumber) {
|
|
1272
|
+
var _classPrivateFieldGet6;
|
|
1273
|
+
return partPresignedUrlApi.create({
|
|
1274
|
+
recordingId: _classPrivateFieldGet(_this, _recordingId),
|
|
1275
|
+
payload: {
|
|
1276
|
+
partNumber: partNumber,
|
|
1277
|
+
uploadId: _classPrivateFieldGet(_this, _uploadId),
|
|
1278
|
+
isMp4: _classPrivateFieldGet(_this, _mimeType$1).includes(MIME_TYPE.mp4)
|
|
1279
|
+
},
|
|
1280
|
+
config: {
|
|
1281
|
+
signal: (_classPrivateFieldGet6 = _classPrivateFieldGet(_this, _abortController)) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.signal
|
|
1282
|
+
}
|
|
1283
|
+
});
|
|
1284
|
+
});
|
|
1296
1285
|
_classPrivateFieldInitSpec$1(this, _uploadChunkToS, {
|
|
1297
1286
|
writable: true,
|
|
1298
1287
|
value: function () {
|
|
1299
|
-
var _value = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
1288
|
+
var _value = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(chunks) {
|
|
1300
1289
|
var _this$partNumber;
|
|
1301
|
-
var partNumber, _yield$_this$generate, presignedUrl, s3PartUploadPromise;
|
|
1302
|
-
return _regeneratorRuntime.wrap(function
|
|
1303
|
-
while (1) switch (
|
|
1290
|
+
var partNumber, _classPrivateFieldGet7, _yield$_this$generate, presignedUrl, s3PartUploadPromise;
|
|
1291
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
1292
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1304
1293
|
case 0:
|
|
1305
1294
|
_classPrivateFieldGet(_this, _logger$1).info("Part ready to be uploaded: ", _classPrivateFieldGet(_this, _partNumber));
|
|
1306
1295
|
partNumber = _classPrivateFieldGet(_this, _partNumber);
|
|
@@ -1311,11 +1300,11 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1311
1300
|
type: _classPrivateFieldGet(_this, _mimeType$1)
|
|
1312
1301
|
}).size
|
|
1313
1302
|
};
|
|
1314
|
-
|
|
1315
|
-
|
|
1303
|
+
_context3.prev = 4;
|
|
1304
|
+
_context3.next = 7;
|
|
1316
1305
|
return _this.generatePreSignedUrl(partNumber);
|
|
1317
1306
|
case 7:
|
|
1318
|
-
_yield$_this$generate =
|
|
1307
|
+
_yield$_this$generate = _context3.sent;
|
|
1319
1308
|
presignedUrl = _yield$_this$generate.presignedUrl;
|
|
1320
1309
|
_classPrivateFieldGet(_this, _logger$1).info("Presigned url created for partNumber:", partNumber);
|
|
1321
1310
|
s3PartUploadPromise = s3Api.presignedUpload({
|
|
@@ -1328,7 +1317,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1328
1317
|
"Content-Type": _classPrivateFieldGet(_this, _mimeType$1)
|
|
1329
1318
|
},
|
|
1330
1319
|
includeMetadataInResponse: true,
|
|
1331
|
-
signal: _classPrivateFieldGet(_this, _abortController).signal,
|
|
1320
|
+
signal: (_classPrivateFieldGet7 = _classPrivateFieldGet(_this, _abortController)) === null || _classPrivateFieldGet7 === void 0 ? void 0 : _classPrivateFieldGet7.signal,
|
|
1332
1321
|
onUploadProgress: function onUploadProgress(e) {
|
|
1333
1322
|
_classPrivateFieldGet(_this, _uploadProgress)[partNumber] = {
|
|
1334
1323
|
uploaded: e.loaded,
|
|
@@ -1341,23 +1330,25 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1341
1330
|
}
|
|
1342
1331
|
}
|
|
1343
1332
|
}
|
|
1344
|
-
})
|
|
1333
|
+
})
|
|
1334
|
+
// eslint-disable-next-line promise/prefer-await-to-then
|
|
1335
|
+
["catch"](function (error) {
|
|
1345
1336
|
_classPrivateFieldGet(_this, _handleChunkUploadError).call(_this, error, partNumber);
|
|
1346
1337
|
});
|
|
1347
1338
|
_classPrivateFieldGet(_this, _s3PartUploadPromises).push(s3PartUploadPromise);
|
|
1348
|
-
|
|
1339
|
+
_context3.next = 17;
|
|
1349
1340
|
break;
|
|
1350
1341
|
case 14:
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
_classPrivateFieldGet(_this, _handleChunkUploadError).call(_this,
|
|
1342
|
+
_context3.prev = 14;
|
|
1343
|
+
_context3.t0 = _context3["catch"](4);
|
|
1344
|
+
_classPrivateFieldGet(_this, _handleChunkUploadError).call(_this, _context3.t0, partNumber);
|
|
1354
1345
|
case 17:
|
|
1355
1346
|
case "end":
|
|
1356
|
-
return
|
|
1347
|
+
return _context3.stop();
|
|
1357
1348
|
}
|
|
1358
|
-
},
|
|
1349
|
+
}, _callee3, null, [[4, 14]]);
|
|
1359
1350
|
}));
|
|
1360
|
-
function value(
|
|
1351
|
+
function value(_x2) {
|
|
1361
1352
|
return _value.apply(this, arguments);
|
|
1362
1353
|
}
|
|
1363
1354
|
return value;
|
|
@@ -1388,6 +1379,8 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1388
1379
|
get: function get() {
|
|
1389
1380
|
return isNotEmpty(_classPrivateFieldGet(this, _unUploadedChunks)) || isNotEmpty(_classPrivateFieldGet(this, _pendingS3ChunkUploads)) || isNotEmpty(_classPrivateFieldGet(this, _s3PartUploadPromises));
|
|
1390
1381
|
}
|
|
1382
|
+
|
|
1383
|
+
// eslint-disable-next-line default-param-last
|
|
1391
1384
|
}]);
|
|
1392
1385
|
return MultipartS3Uploader;
|
|
1393
1386
|
}();
|
|
@@ -1400,9 +1393,9 @@ function _get_isRecordingNotSet() {
|
|
|
1400
1393
|
}
|
|
1401
1394
|
var multipartS3Uploader = new MultipartS3Uploader();
|
|
1402
1395
|
var getMultipartS3Uploader = function getMultipartS3Uploader() {
|
|
1403
|
-
var
|
|
1404
|
-
|
|
1405
|
-
initialize =
|
|
1396
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1397
|
+
_ref3$initialize = _ref3.initialize,
|
|
1398
|
+
initialize = _ref3$initialize === void 0 ? false : _ref3$initialize;
|
|
1406
1399
|
if (!multipartS3Uploader || initialize) {
|
|
1407
1400
|
multipartS3Uploader = new MultipartS3Uploader();
|
|
1408
1401
|
useMultipartS3UploadStatus$1.triggerStatusChange();
|
package/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sources":["node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArray.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","node_modules/@babel/runtime/helpers/esm/classCallCheck.js","node_modules/@babel/runtime/helpers/esm/typeof.js","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/createClass.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/helpers/regeneratorRuntime.js","node_modules/@babel/runtime/regenerator/index.js","node_modules/uuid/dist/esm-browser/stringify.js","node_modules/uuid/dist/esm-browser/rng.js","node_modules/uuid/dist/esm-browser/native.js","node_modules/uuid/dist/esm-browser/v4.js","node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/inherits.js","node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","node_modules/@babel/runtime/helpers/esm/construct.js","node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","src/constants.js","src/utils/index.js","src/utils/buildRetryableApi.js","src/apis/abort_upload.js","src/apis/complete_upload.js","src/apis/part_presigned_url.js","src/core/screenRecorder/utils.js","src/apis/s3.js","src/components/MediaRecorder/utils.js","src/utils/createPrefixedLogger.js","src/core/multipartS3Uploader/utils.js","src/core/multipartS3Uploader/index.js","node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","node_modules/@babel/runtime/helpers/esm/slicedToArray.js","src/core/screenRecorder/constants.js","src/core/screenRecorder/stores/index.js","src/core/screenRecorder/index.js","src/components/MediaRecorder/hooks/useMultipartS3UploadStatus.js"],"sourcesContent":["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _classApplyDescriptorSet(e, t, l) {\n if (t.set) t.set.call(e, l);else {\n if (!t.writable) throw new TypeError(\"attempted to set read only private field\");\n t.value = l;\n }\n}\nexport { _classApplyDescriptorSet as default };","function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}\nexport { _assertClassBrand as default };","import assertClassBrand from \"./assertClassBrand.js\";\nfunction _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}\nexport { _classPrivateFieldGet2 as default };","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classPrivateFieldGet2 from \"./classPrivateFieldGet2.js\";\nfunction _classPrivateFieldSet(e, t, r) {\n var s = classPrivateFieldGet2(t, e);\n return classApplyDescriptorSet(e, s, r), r;\n}\nexport { _classPrivateFieldSet as default };","function _classApplyDescriptorGet(e, t) {\n return t.get ? t.get.call(e) : t.value;\n}\nexport { _classApplyDescriptorGet as default };","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classPrivateFieldGet2 from \"./classPrivateFieldGet2.js\";\nfunction _classPrivateFieldGet(e, t) {\n var r = classPrivateFieldGet2(t, e);\n return classApplyDescriptorGet(e, r);\n}\nexport { _classPrivateFieldGet as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFNckMsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDO0FBRS9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFNekQsT0FBTyxDQUNMLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixHQUFHO1FBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsR0FBRztRQUNILFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUM1QixDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxHQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFDNUMsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQU8xQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDcEIsTUFBTSxTQUFTLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsZUFBZSxTQUFTLENBQUMifQ==","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm5nLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm5nLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsSUFBSSxlQUEwRCxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxPQUFPLFVBQVUsR0FBRztJQUV6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwwR0FBMEcsQ0FDM0csQ0FBQztRQUNKLENBQUM7UUFFRCxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMifQ==","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmF0aXZlLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBQ2QsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdkYsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDIn0=","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random || (options.rng || rng)();\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUMzQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsU0FBUyxFQUFFLENBQUMsT0FBeUIsRUFBRSxHQUFnQixFQUFFLE1BQWU7SUFDdEUsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUMsT0FBTyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBRXhCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFHdEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBR2xDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUVyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxlQUFlLEVBQUUsQ0FBQyJ9","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRYABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\nexport const HALF_A_SECOND_IN_MILLISECONDS = 500;\nexport const TWO_HUNDRED_MILLISECONDS = 200;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\nexport const ONE_HOUR_IN_MILLISECONDS = 60 * ONE_MINUTE_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = {\n onComplete: \"onComplete\",\n onError: \"onError\",\n onProgress: \"onProgress\",\n};\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n insufficient_data: \"insufficient_data\",\n error: \"error\",\n};\n\nexport const SCREEN_RECORDER_STATUS = {\n media_aborted: \"media_aborted\",\n permission_denied: \"permission_denied\",\n no_specified_media_found: \"no_specified_media_found\",\n media_in_use: \"media_in_use\",\n invalid_media_constraints: \"invalid_media_constraints\",\n no_chrome_flags_set: \"no_chrome_flags_set\",\n recorder_error: \"recorder_error\",\n idle: \"idle\",\n acquiring_media: \"acquiring_media\",\n media_acquired: \"media_acquired\",\n restarting: \"restarting\",\n recording: \"recording\",\n stopping: \"stopping\",\n stopped: \"stopped\",\n paused: \"paused\",\n};\n\nexport const SCREEN_RECORDER_ERROR = {\n MicPermissionDenied: \"mic_permission_denied\",\n AbortError: \"media_aborted\",\n NotAllowedError: \"permission_denied\",\n NotFoundError: \"no_specified_media_found\",\n NotReadableError: \"media_in_use\",\n OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n FailedToStart: \"failed_to_start\",\n};\n\nexport const SCREEN_RECORDER_EVENT = {\n onStart: \"onStart\",\n onStop: \"onStop\",\n onDiscard: \"onDiscard\",\n onDataAvailable: \"onDataAvailable\",\n onDiscardDuringCountdown: \"onDiscardDuringCountdown\",\n onRestart: \"onRestart\",\n onReUpload: \"onReUpload\",\n onReUploadFromDisk: \"onReUploadFromDisk\",\n onPause: \"onPause\",\n onResume: \"onResume\",\n onCountdownStart: \"onCountdownStart\",\n onCountdown: \"onCountDown\",\n onCountdownEnd: \"onCountdownEnd\",\n};\n\nexport const TOTAL_RETRIES = 15;\nexport const INITIAL_RETRY_DELAY = 4000;\nexport const MAX_RETRY_DELAY = 16000;\n\nexport const DEFAULT_RETRY_CONFIG = {\n retries: TOTAL_RETRIES,\n retryDelay: INITIAL_RETRY_DELAY,\n retryableStatuses: [],\n};\n\n// No need to localize this since it will only be used in the code\n// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\nexport const NETWORK_ERROR = \"Network Error\";\nexport const TIMEOUT_ERROR = \"ECONNABORTED\";\n\nexport const HAS_CHROME_NAMESPACE = typeof chrome === \"object\";\n\nexport const IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);\n\nexport const IS_SAFARI = platform.name === \"Safari\";\n\nexport const IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;\n\nexport const PERMISSIONS_HELP_DOC =\n \"https://neetorecordhelp.neetokb.com/p/a-10efcfd7\";\n\nexport const MIME_TYPE = {\n mp4: \"video/mp4\",\n webmH264: \"video/webm;codecs=h264\",\n};\n\nexport const START_RECORDING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3\";\n\nexport const STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-end-sound.mp3\";\n\nexport const RECORDING_LIMIT_REACHED_WARNING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-warning-sound.mp3\";\n\nexport const RECORDING_TIME_LIMIT_FREE_PLAN = 15 * ONE_MINUTE_IN_MILLISECONDS; // 15 minutes\nexport const RECORDING_TIME_LIMIT_PRO_PLAN = 2 * ONE_HOUR_IN_MILLISECONDS; // 2 hours\n","export const sleep = delay =>\n new Promise(resolve => setTimeout(resolve, delay));\n\nexport const generatePublicUrl = (\n recordingId,\n baseURL = window.location.origin\n) => `${baseURL}/watch/${recordingId}`;\n","import { min } from \"ramda\";\n\nimport {\n DEFAULT_RETRY_CONFIG,\n INITIAL_RETRY_DELAY,\n MAX_RETRY_DELAY,\n TOTAL_RETRIES,\n} from \"src/constants\";\nimport { sleep } from \"utils\";\n\nclass RetryError extends Error {\n constructor(message) {\n super(message);\n }\n}\n\nconst buildRetryableApi =\n (\n apiConnector,\n {\n retries = TOTAL_RETRIES,\n retryDelay = INITIAL_RETRY_DELAY,\n } = DEFAULT_RETRY_CONFIG\n ) =>\n async apiConnectorArgs => {\n const { config = null } = apiConnectorArgs;\n\n let remainingAttempts = retries + 1;\n let shouldCancelRetries = false;\n\n config?.signal?.addEventListener(\"abort\", () => {\n shouldCancelRetries = true;\n });\n\n while (remainingAttempts-- && !shouldCancelRetries) {\n try {\n return await apiConnector(apiConnectorArgs);\n } catch (error) {\n logger.error(\n \"buildRetryableApi -> Failed to connect, remainingAttempts:\",\n error?.config?.url,\n error.response?.status,\n remainingAttempts\n );\n\n if (error.response?.status !== 401 && remainingAttempts > 0) {\n logger.info(\n \"buildRetryableApi -> Failed to connect -> retry in:\",\n retryDelay\n );\n await sleep(retryDelay);\n retryDelay = min(retryDelay * 2, MAX_RETRY_DELAY);\n } else {\n throw error;\n }\n }\n }\n\n throw new RetryError(\"Request cancelled or request retries exhausted\");\n };\n\nexport default buildRetryableApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/abort_upload`, {\n abortUpload: payload,\n });\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst abortUploadApi = { create: retryableCreate };\n\nexport default abortUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload, config }) =>\n axios.post(\n `/api/v1/recordings/${recordingId}/complete_upload`,\n { completeUpload: payload },\n config\n );\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst completeUploadApi = { create: retryableCreate };\n\nexport default completeUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload, config }) =>\n axios.post(\n `/api/v1/recordings/${recordingId}/part_presigned_url`,\n { partPresignedUrl: payload },\n config\n );\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst partPresignedUrlApi = { create: retryableCreate };\n\nexport default partPresignedUrlApi;\n","import { existsBy, isNotEmpty } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nimport { MIME_TYPE } from \"src/constants\";\n\nconst getUnSupportedConstraints = mediaType => {\n const supportedMediaConstraints =\n navigator.mediaDevices.getSupportedConstraints();\n\n return Object.keys(mediaType).filter(\n constraint => !supportedMediaConstraints[constraint]\n );\n};\n\nexport const checkConstraints = (...mediaTypes) => {\n if (isNil(navigator.mediaDevices)) {\n return;\n }\n\n const unSupportedConstraints = mediaTypes\n .filter(mediaType => typeof mediaType === \"object\")\n .map(getUnSupportedConstraints)\n .flat();\n\n if (isNotEmpty(unSupportedConstraints)) {\n // eslint-disable-next-line no-console\n console.error(\n `The constraints ${unSupportedConstraints.join(\n \",\"\n )} doesn't support on this browser.`\n );\n }\n};\n\nexport const isStreamEnded = mediaStream =>\n existsBy({ readyState: \"ended\" }, mediaStream.getTracks());\n\nexport function getChromiumVersion() {\n const userAgent = navigator.userAgent;\n const match = userAgent.match(/Chrom(e|ium)\\/(([0-9][.]?)+)/);\n if (match) {\n return match[2];\n }\n\n return null;\n}\n\nexport function compareChromiumVersions(version1, version2) {\n const v1Parts = version1.split(\".\").map(Number);\n const v2Parts = version2.split(\".\").map(Number);\n\n for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {\n const v1Part = v1Parts[i] || 0;\n const v2Part = v2Parts[i] || 0;\n\n if (v1Part > v2Part) return 1;\n\n if (v1Part < v2Part) return -1;\n }\n\n return 0;\n}\n\nexport const getSupportedMimeType = () => MIME_TYPE.webmH264;\n\n// TODO: Uncomment this when mp4 is stable\n// export const getSupportedMimeType = fallback => {\n// const isWindows = platform.os?.family?.includes(\"Windows\");\n\n// if (MediaRecorder.isTypeSupported(MIME_TYPE.mp4) && !isWindows) {\n// if (platform.name === \"Safari\") {\n// return MIME_TYPE.mp4;\n// }\n\n// const chromiumVersion = getChromiumVersion();\n\n// if (isNil(chromiumVersion)) {\n// return MIME_TYPE.webmH264;\n// }\n\n// const isChromiumVersionSupported =\n// compareChromiumVersions(\n// chromiumVersion,\n// MINIMUM_CHROMIUM_VERSION_FOR_MP4\n// ) >= 0;\n\n// if (isChromiumVersionSupported) {\n// return MIME_TYPE.mp4;\n// }\n\n// return MIME_TYPE.webmH264;\n// } else if (MediaRecorder.isTypeSupported(MIME_TYPE.webmH264)) {\n// return MIME_TYPE.webmH264;\n// }\n\n// return fallback;\n// };\n\nexport const getMediaRecorderOptions = () => {\n const mimeType = getSupportedMimeType();\n\n if (!mimeType) return {};\n\n return { mimeType };\n};\n\nexport const addGainNode = (audioStream, gain = 1.5) => {\n const audioContext = new AudioContext();\n const audioStreamSource = audioContext.createMediaStreamSource(audioStream);\n\n const destinationStream = audioContext.createMediaStreamDestination();\n\n const gainNode = audioContext.createGain();\n gainNode.gain.value = gain;\n\n audioStreamSource.connect(gainNode);\n gainNode.connect(destinationStream);\n\n return destinationStream.stream;\n};\n","import axios from \"axios\";\nimport { identity } from \"ramda\";\n\nimport { getSupportedMimeType } from \"src/core/screenRecorder/utils\";\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst s3AxiosInstance = axios.create({\n headers: { \"Content-Type\": getSupportedMimeType() },\n});\n\ns3AxiosInstance.interceptors.response.use(\n identity,\n error => !axios.isCancel(error) && Promise.reject(error)\n);\n\nconst presignedUpload = ({ presignedUrl, blob, config }) =>\n s3AxiosInstance.put(presignedUrl, blob, config);\n\nconst retryablePresignedUpload = buildRetryableApi(presignedUpload);\n\nconst s3Api = { presignedUpload: retryablePresignedUpload };\n\nexport default s3Api;\n","import {\n IS_EXTENSION,\n MIME_TYPE,\n ONE_MINUTE_IN_MILLISECONDS,\n ONE_SECOND_IN_MILLISECONDS,\n SCREEN_RECORDER_STATUS,\n UPLOAD_STATUS,\n} from \"neetomediarecorder/constants\";\nimport { screenRecorder } from \"neetomediarecorder/core\";\nimport platform from \"platform\";\n\nimport { ONE_HOUR_IN_MILLISECONDS } from \"src/constants\";\nimport { getSupportedMimeType } from \"src/core/screenRecorder/utils\";\n\nconst formatTime = time => Math.floor(time).toString().padStart(2, \"0\");\n\nexport const getTimeString = date => {\n const hours = formatTime(Math.floor(date / ONE_HOUR_IN_MILLISECONDS));\n const minutes = formatTime(\n (date % ONE_HOUR_IN_MILLISECONDS) / ONE_MINUTE_IN_MILLISECONDS\n );\n\n const seconds = formatTime(\n (date % ONE_MINUTE_IN_MILLISECONDS) / ONE_SECOND_IN_MILLISECONDS\n );\n\n if (hours > 0) {\n return `${hours}:${minutes}:${seconds}`;\n }\n\n return `${minutes}:${seconds}`;\n};\n\nexport const downloadRecordingBlob = (blob, name) => {\n const blobUrl = URL.createObjectURL(blob);\n\n const linkElement = document.createElement(\"a\");\n\n linkElement.href = blobUrl;\n linkElement.download = name;\n\n document.body.appendChild(linkElement);\n\n // Dispatch click event on the link\n // This is necessary as link.click() does not work on the latest firefox\n linkElement.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n view: window,\n })\n );\n\n document.body.removeChild(linkElement);\n URL.revokeObjectURL(blobUrl);\n};\n\nexport const hasRecordingDiscarded = ({ recorderStatus, uploadStatus }) =>\n recorderStatus === SCREEN_RECORDER_STATUS.stopped &&\n uploadStatus === UPLOAD_STATUS.aborting;\n\nexport const getRecorderTimeLimitInHumanFormat = timeInMs => {\n const minutes = Math.floor(timeInMs / (1000 * 60));\n const hours = Math.floor(minutes / 60);\n\n if (hours < 1) {\n if (minutes < 1) {\n return `${Math.floor(timeInMs / ONE_SECOND_IN_MILLISECONDS)} seconds`;\n }\n\n return `${minutes} minutes`;\n }\n\n return `${hours} hours`;\n};\n\nexport const getDeviceInfo = async (mimeType = getSupportedMimeType()) => {\n const isCameraEnabled = IS_EXTENSION\n ? (await chrome.storage.local.get(\"isCameraOn\"))?.isCameraOn\n : false;\n\n return {\n os: platform.os?.toString(),\n app: IS_EXTENSION\n ? `chrome extension v${chrome.runtime.getManifest().version}`\n : \"web\",\n browser: `${platform.name} v${platform.version}`,\n isCameraEnabled,\n isMicEnabled: !!screenRecorder.audioConfiguration,\n displaySurface: screenRecorder.displaySurface,\n mimeType,\n };\n};\n\nexport const isMp4Supported = (mimeType = getSupportedMimeType()) =>\n mimeType.includes(MIME_TYPE.mp4);\n","const createPrefixedLogger = prefix => ({\n info: (...args) => logger.info(prefix, ...args),\n error: (...args) => logger.error(prefix, ...args),\n warn: (...args) => logger.warn(prefix, ...args),\n debug: (...args) => logger.debug(prefix, ...args),\n});\n\nexport default createPrefixedLogger;\n","/**\n * Due to the custom axios interceptor for s3Api,\n * it'll return false for cancelled requests instead of a cancelled error object.\n */\nexport const isNotCancelledRequest = resolvedResponse =>\n typeof resolvedResponse !== \"boolean\";\n\nexport const calculateUploadProgress = uploadProgress => {\n const total = Object.values(uploadProgress).reduce(\n (sum, part) => sum + part.total,\n 0\n );\n\n const uploaded = Object.values(uploadProgress).reduce(\n (sum, part) => sum + part.uploaded,\n 0\n );\n\n return Math.round((uploaded * 100) / total);\n};\n","// Axios is required here to waive off the CancelledError which occurs when\n// using AbortController on an axios request.\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\nimport { isNot, isNotEmpty } from \"neetocist\";\nimport { UPLOAD_EVENT, UPLOAD_STATUS } from \"neetomediarecorder/constants\";\nimport { useMultipartS3UploadStatus } from \"neetomediarecorder/core\";\nimport { isEmpty } from \"ramda\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport abortUploadApi from \"src/apis/abort_upload\";\nimport completeUploadApi from \"src/apis/complete_upload\";\nimport partPresignedUrlApi from \"src/apis/part_presigned_url\";\nimport s3Api from \"src/apis/s3\";\nimport { isMp4Supported } from \"src/components/MediaRecorder/utils\";\nimport { MIME_TYPE } from \"src/constants\";\nimport createPrefixedLogger from \"utils/createPrefixedLogger\";\n\nimport { isNotCancelledRequest, calculateUploadProgress } from \"./utils\";\n\nimport { getSupportedMimeType } from \"../screenRecorder/utils\";\n\nclass MultipartS3Uploader {\n MIN_UPLOAD_CHUNK_SIZE = 5 * 1024 * 1024;\n\n #recordingId = \"\";\n #uploadId = \"\";\n #unUploadedChunks = [];\n #partNumber = 1;\n #s3PartUploadPromises = [];\n #callbacks = {};\n #abortController;\n #pendingS3ChunkUploads = [];\n #completeUploadPromise;\n #failedUpload = [];\n #uploadProgress = {};\n\n #_status = \"\";\n #id = uuidv4();\n #logger = createPrefixedLogger(`[${this.#id}]`);\n #mimeType = getSupportedMimeType();\n\n constructor() {\n this.#logger.info(\"Uploader initialized\");\n }\n\n get status() {\n return this.#_status;\n }\n\n get mimeType() {\n return this.#mimeType;\n }\n\n set #status(status) {\n this.#_status = status;\n useMultipartS3UploadStatus.triggerStatusChange();\n }\n\n get hasSufficientData() {\n return (\n isNotEmpty(this.#unUploadedChunks) ||\n isNotEmpty(this.#pendingS3ChunkUploads) ||\n isNotEmpty(this.#s3PartUploadPromises)\n );\n }\n\n setMimeType = mimeType => (this.#mimeType = mimeType);\n\n setRecording = (recordingId, uploadId) => {\n this.#recordingId = recordingId;\n this.#uploadId = uploadId;\n this.#abortController = new AbortController();\n };\n\n push = data => {\n if (data.size > 0) {\n this.#unUploadedChunks.push(data);\n }\n\n this.#logger.info(\n \"Current unuploaded data size is \",\n this.#getCurrentUnUploadedBlob().size / 1024 / 1024,\n \"MB\"\n );\n\n if (this.#isRecordingNotSet) return;\n\n if (this.#getCurrentUnUploadedBlob().size > this.MIN_UPLOAD_CHUNK_SIZE) {\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n this.#unUploadedChunks = [];\n }\n };\n\n completeUploadNotifyServer = (parts, sessionLogs) =>\n completeUploadApi.create({\n recordingId: this.#recordingId,\n payload: {\n parts,\n uploadId: this.#uploadId,\n isMp4: isMp4Supported(this.#mimeType),\n logs: sessionLogs,\n },\n config: { signal: this.#abortController.signal },\n });\n\n completeUpload = async sessionLogs => {\n try {\n this.#status = UPLOAD_STATUS.uploading;\n\n if (this.#isRecordingNotSet) {\n this.#logger.error(\"completeUpload -> not initialized\");\n\n return;\n }\n\n // Upload last chunk; only if last chunk has data\n if (this.#getCurrentUnUploadedBlob().size > 0) {\n this.#logger.info(\"completeUpload -> need to upload last chunk\");\n\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n }\n\n /**\n * Wait for all the pending uploadToS3Promises.\n * Else we encounter a race condition where a new request is made for presignedUrl\n * but at the same time we reach the resolvedS3PartUploadPromises line and await\n * the s3PartUploadPromises. And the s3PartUploadPromises is resolved before\n * adding the new presignedUrl part upload to s3PartUploadPromises.\n * This results in incorrect partNumbers.\n */\n this.#logger.info(\n \"completeUpload -> uploading all pending chunks...\",\n this.#pendingS3ChunkUploads.length\n );\n await Promise.all(this.#pendingS3ChunkUploads);\n\n this.#logger.info(\"completeUpload -> finishing part uploads...\");\n\n const resolvedS3PartUploadPromises = await Promise.all(\n this.#s3PartUploadPromises\n );\n\n if (isNotEmpty(this.#failedUpload)) {\n this.#logger.info(\n \"completeUpload -> chunks with these partNumbers failed:\",\n this.#failedUpload\n );\n this.#status = UPLOAD_STATUS.error;\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n\n return;\n }\n\n if (resolvedS3PartUploadPromises.length === 0) {\n this.#logger.info(\"completeUpload -> insufficient data\");\n this.#status = UPLOAD_STATUS.insufficient_data;\n\n return;\n }\n\n const parts = resolvedS3PartUploadPromises\n .filter(isNotCancelledRequest)\n .map(resolvedResponse => ({\n etag: resolvedResponse.headers.etag,\n partNumber: new URL(\n resolvedResponse.request.responseURL\n ).searchParams.get(\"partNumber\"),\n }))\n .toSorted((a, b) => Number(a.partNumber) - Number(b.partNumber));\n\n this.#logger.info(\"completeUpload -> uploaded parts: \", parts);\n this.#completeUploadPromise = this.completeUploadNotifyServer(\n parts,\n sessionLogs\n );\n\n this.#logger.info(\"completeUpload -> completing upload... \");\n await this.#completeUploadPromise;\n this.#logger.info(\"completeUpload -> upload completed\");\n\n if (this.status === UPLOAD_STATUS.aborting) {\n this.#logger.info(\"completeUpload -> upload was marked as aborted\");\n\n return;\n }\n\n this.#status = UPLOAD_STATUS.completed;\n\n this.#fireCallbacks(UPLOAD_EVENT.onComplete);\n } catch (error) {\n // ignore if aborted\n if (!axios.isCancel(error)) {\n this.#status = UPLOAD_STATUS.error;\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n this.#logger.error(error);\n }\n } finally {\n this.#completeUploadPromise = null;\n }\n };\n\n abortUpload = async (forceAbort = false, sessionLogs) => {\n try {\n if (this.status === UPLOAD_STATUS.aborting && !forceAbort) {\n this.#logger.info(\"abortUpload -> already aborting\");\n\n return;\n }\n this.#status = UPLOAD_STATUS.aborting;\n\n if (this.#isRecordingNotSet) {\n this.#logger.info(\"abortUpload -> not initialized\");\n\n return;\n }\n const recordingId = this.#recordingId;\n const uploadId = this.#uploadId;\n\n await this.#completeUploadPromise;\n this.#abortController.abort();\n\n await abortUploadApi.create({\n recordingId,\n payload: {\n uploadId,\n isMp4: isMp4Supported(this.#mimeType),\n logs: sessionLogs,\n },\n });\n this.#logger.info(\"abortUpload -> abort successful\");\n\n this.#fireCallbacks(UPLOAD_EVENT.onAbort);\n\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#status = \"\";\n this.#abortController = null;\n } catch (error) {\n this.#logger.error(error);\n }\n };\n\n resetState = () => {\n this.#recordingId = \"\";\n this.#uploadId = \"\";\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#pendingS3ChunkUploads = [];\n this.#callbacks = {};\n this.#failedUpload = [];\n this.#uploadProgress = {};\n this.#status = \"\";\n };\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #handleChunkUploadError = (error, partNumber) => {\n // ignore if aborted\n if (axios.isCancel(error)) return;\n this.#logger.error(\"Failed to upload partNumber:\", partNumber);\n if (this.status === UPLOAD_STATUS.uploading) {\n this.#status = UPLOAD_STATUS.error;\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n } else {\n this.#failedUpload.push(partNumber); // if user is still recording\n }\n };\n\n generatePreSignedUrl = async partNumber =>\n partPresignedUrlApi.create({\n recordingId: this.#recordingId,\n payload: {\n partNumber,\n uploadId: this.#uploadId,\n isMp4: this.#mimeType.includes(MIME_TYPE.mp4),\n },\n config: { signal: this.#abortController.signal },\n });\n\n #uploadChunkToS3 = async chunks => {\n this.#logger.info(\"Part ready to be uploaded: \", this.#partNumber);\n const partNumber = this.#partNumber;\n this.#partNumber++;\n this.#uploadProgress[partNumber] = {\n uploaded: 0,\n total: new Blob(chunks, { type: this.#mimeType }).size,\n };\n try {\n const { presignedUrl } = await this.generatePreSignedUrl(partNumber);\n this.#logger.info(\"Presigned url created for partNumber:\", partNumber);\n\n const s3PartUploadPromise = s3Api\n .presignedUpload({\n presignedUrl,\n blob: new Blob(chunks, { type: this.#mimeType }),\n config: {\n headers: { \"Content-Type\": this.#mimeType },\n includeMetadataInResponse: true,\n signal: this.#abortController.signal,\n onUploadProgress: e => {\n this.#uploadProgress[partNumber] = {\n uploaded: e.loaded,\n total: e.total,\n };\n if (this.status === UPLOAD_STATUS.uploading) {\n const percentCompleted = calculateUploadProgress(\n this.#uploadProgress\n );\n\n this.#logger.info(`Upload Progress: ${percentCompleted}%`);\n this.#fireCallbacks(UPLOAD_EVENT.onProgress, [\n percentCompleted,\n ]);\n }\n },\n },\n })\n .catch(error => {\n this.#handleChunkUploadError(error, partNumber);\n });\n this.#s3PartUploadPromises.push(s3PartUploadPromise);\n } catch (error) {\n this.#handleChunkUploadError(error, partNumber);\n }\n };\n\n #getCurrentUnUploadedBlob = () =>\n new Blob(this.#unUploadedChunks, { type: this.#mimeType });\n\n get #isRecordingNotSet() {\n return isEmpty(this.#uploadId + this.#recordingId);\n }\n}\n\nlet multipartS3Uploader = new MultipartS3Uploader();\n\nexport const getMultipartS3Uploader = ({ initialize = false } = {}) => {\n if (!multipartS3Uploader || initialize) {\n multipartS3Uploader = new MultipartS3Uploader();\n useMultipartS3UploadStatus.triggerStatusChange();\n }\n\n return multipartS3Uploader;\n};\n","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","// https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype\nexport const DISPLAY_SURFACE = {\n monitor: \"monitor\",\n window: \"window\",\n browser: \"browser\",\n};\n\nexport const RECORDING_TIME_LIMIT = 900_000; // 15 minutes\nexport const RECORDING_TIME_LIMIT_WARNING_TIME = 840_000; // 14 minutes\nexport const MINIMUM_CHROMIUM_VERSION_FOR_MP4 = \"128.0.6613.85\";\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { SCREEN_RECORDER_STATUS } from \"neetomediarecorder/constants\";\nimport { create } from \"zustand\";\n\nexport const initialState = {\n status: SCREEN_RECORDER_STATUS.idle,\n error: \"\",\n elapsedTime: 0,\n countdownTimeLeft: 3,\n showTimeLimitWarning: false,\n};\n\nconst prepareStore = () =>\n create(\n withImmutableActions(set => ({\n ...initialState,\n resetState: () => set(initialState),\n }))\n );\n\nexport default prepareStore;\n","import { isNotEmpty, isNot, noop } from \"neetocist\";\nimport {\n HALF_A_SECOND_IN_MILLISECONDS,\n ONE_SECOND,\n ONE_SECOND_IN_MILLISECONDS,\n RECORDING_LIMIT_REACHED_WARNING_SOUND,\n SCREEN_RECORDER_STATUS,\n SCREEN_RECORDER_EVENT,\n SCREEN_RECORDER_ERROR,\n START_RECORDING_SOUND,\n STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND,\n TWO_HUNDRED_MILLISECONDS,\n ONE_MINUTE_IN_MILLISECONDS,\n RECORDING_TIME_LIMIT_FREE_PLAN,\n IS_EXTENSION,\n} from \"neetomediarecorder/constants\";\nimport { equals, not, pick } from \"ramda\";\n\nimport { MIME_TYPE } from \"src/constants\";\nimport createPrefixedLogger from \"utils/createPrefixedLogger\";\n\nimport { DISPLAY_SURFACE } from \"./constants\";\nimport prepareStore, { initialState as initialStoreState } from \"./stores\";\nimport {\n checkConstraints,\n getMediaRecorderOptions,\n getSupportedMimeType,\n isStreamEnded,\n addGainNode,\n} from \"./utils\";\n\nclass ScreenRecorder {\n #audio;\n #video;\n #videoStream;\n #mediaRecorder;\n #mediaStream;\n #store;\n #logger = createPrefixedLogger(\"[ScreenRecorder]\");\n #mediaChunks = [];\n #callbacks = {};\n #lastTimerUpdatedAt = 0;\n #timerId;\n #countdownTimerId;\n #startRecordingAudio = new Audio(START_RECORDING_SOUND);\n #recordingLimitWarningAudio = new Audio(\n RECORDING_LIMIT_REACHED_WARNING_SOUND\n );\n #stopRecordingDueToLimitReachedAudio = new Audio(\n STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND\n );\n #stream;\n #audioStream;\n #micAudioStream;\n #timeLimit = RECORDING_TIME_LIMIT_FREE_PLAN;\n #startRecordingTimeoutID;\n #enableNoiseCancellation = false;\n #showCountdown = true;\n #mimeType = getSupportedMimeType();\n\n constructor(audio, video) {\n this.#audio = audio;\n this.#video = video;\n\n this.#store = prepareStore();\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.idle });\n this.#checkCompatibility();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useRecorderStore() {\n return this.#store;\n }\n\n get timeLimit() {\n return this.#timeLimit;\n }\n\n get displaySurface() {\n const [videoTrack] = this.#mediaStream?.getVideoTracks() ?? [];\n\n return videoTrack?.getSettings().displaySurface;\n }\n\n get audioConfiguration() {\n return this.#audio;\n }\n\n set videoStream(value) {\n this.#videoStream = value;\n }\n\n setEnableNoiseCancellation = value => (this.#enableNoiseCancellation = value);\n\n setMimeType = mimeType => (this.#mimeType = mimeType);\n\n setAudioConfiguration = audio => (this.#audio = audio);\n\n setShowCountdown = showCountdown => (this.#showCountdown = showCountdown);\n\n setTimeLimit = (timeLimit = RECORDING_TIME_LIMIT_FREE_PLAN) =>\n (this.#timeLimit = timeLimit);\n\n getWebmMediaBlob = () =>\n new Blob(this.#mediaChunks, { type: this.#mimeType });\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n removeAllCallbacksByEvent = event => {\n delete this.#callbacks[event];\n };\n\n startRecording = async () => {\n this.#store.setState(pick([\"error\"], initialStoreState));\n\n if (!this.#mediaStream) {\n this.#logger.info(\"acquiring media stream\");\n await this.#acquireMediaStream();\n }\n\n if (this.#mediaStream && isStreamEnded(this.#mediaStream)) {\n this.#logger.info(\"media stream ended, acquiring media stream again\");\n await this.#acquireMediaStream();\n }\n\n if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) return;\n\n const options = getMediaRecorderOptions();\n\n this.#mediaChunks = [];\n this.#mediaRecorder = new MediaRecorder(this.#mediaStream, options);\n this.#mediaRecorder.ondataavailable = this.#onRecordingActive;\n this.#mediaRecorder.onstart = this.#onRecordingStart;\n this.#mediaRecorder.onstop = this.#onRecordingStop;\n this.#mediaRecorder.onerror = () => {\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.NoRecorder,\n });\n };\n if (this.#showCountdown) {\n this.#startCountdown();\n } else {\n this.#startMediaRecorder();\n }\n };\n\n stopRecording = () => {\n if (this.#mediaRecorder === undefined) {\n /**\n * If the permission is denied and \"Stop sharing\" overlay is clicked\n */\n this.#stopAllStreams();\n\n return;\n }\n\n if (this.#mediaRecorder?.state === \"inactive\") {\n // When recording is stopped from the 'Stop Sharing' overlay\n // before it even starts, i.e during the countdown.\n // Or if the recording is stopped before startRecordingTimeoutID timeout executes\n this.removeCallback(SCREEN_RECORDER_EVENT.onStop);\n\n clearTimeout(this.#startRecordingTimeoutID);\n clearInterval(this.#countdownTimerId);\n\n this.#stopAllStreams();\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscardDuringCountdown);\n\n return;\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.#mediaRecorder.stop();\n this.#stopAllStreams();\n\n this.#stopTimer();\n };\n\n pauseRecording = () => {\n if (this.#mediaRecorder?.state === \"recording\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.paused });\n this.#mediaRecorder.pause();\n }\n\n this.#stopTimer();\n };\n\n resumeRecording = () => {\n if (this.#mediaRecorder?.state === \"paused\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n this.#mediaRecorder.resume();\n }\n\n this.#startTimer();\n };\n\n discardRecording = () => {\n if (this.#mediaRecorder?.state === \"inactive\") return;\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n this.#stopAllStreams();\n\n clearInterval(this.#timerId);\n this.#store.setState(pick([\"elapsedTime\"], initialStoreState));\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscard);\n };\n\n restartRecording = () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n\n clearInterval(this.#timerId);\n this.#store.setState(\n pick([\"elapsedTime\", \"countdownTimeLeft\"], initialStoreState)\n );\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onRestart);\n\n this.startRecording();\n };\n\n resetState = () => {\n this.#mediaChunks = [];\n this.#callbacks = {};\n clearInterval(this.#timerId);\n clearInterval(this.#countdownTimerId);\n this.#store.getState().resetState();\n this.#checkCompatibility();\n };\n\n revokePermissions = () => {\n if (!this.#mediaRecorder) return;\n\n this.#mediaRecorder.onstop = null;\n this.#stopAllStreams();\n };\n\n #stopAllStreams = () => {\n this.#mediaStream &&\n this.#mediaStream?.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n this.#audioStream?.getAudioTracks()?.forEach(track => track.stop());\n this.#micAudioStream?.getAudioTracks()?.forEach(track => track.stop());\n };\n\n #checkCompatibility = () => {\n if (\n !navigator.mediaDevices?.getDisplayMedia ||\n !MediaRecorder?.isTypeSupported(MIME_TYPE.webmH264)\n ) {\n this.#store.setState({ error: SCREEN_RECORDER_ERROR.UnSupportedBrowser });\n }\n\n checkConstraints(this.#audio, this.#video);\n };\n\n #acquireMediaStream = async () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.acquiring_media });\n let stream;\n try {\n if (this.#audio) {\n this.#micAudioStream = await window.navigator.mediaDevices.getUserMedia(\n {\n audio: this.#audio\n ? { echoCancellation: false, ...this.#audio }\n : false,\n }\n );\n\n const audioStream = addGainNode(this.#micAudioStream, 1.75); // Increase volume by 50%\n this.#audioStream = audioStream;\n\n if (this.#enableNoiseCancellation) {\n try {\n const workletUrl = IS_EXTENSION\n ? // eslint-disable-next-line no-undef\n chrome.runtime.getURL(\"public/NoiseSuppressorWorklet.js\")\n : \"NoiseSuppressorWorklet.js\";\n\n const audioContext = new AudioContext();\n await audioContext.audioWorklet.addModule(workletUrl);\n\n const audioStreamSource =\n audioContext.createMediaStreamSource(audioStream);\n\n const destinationStream =\n audioContext.createMediaStreamDestination();\n\n const noiseSuppressorNode = new AudioWorkletNode(\n audioContext,\n \"nn-suppressor-processor\"\n );\n\n audioStreamSource.connect(noiseSuppressorNode);\n noiseSuppressorNode.connect(destinationStream);\n\n this.#audioStream = destinationStream.stream;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to load audio worklet:\", error);\n }\n }\n }\n\n if (this.#videoStream) {\n stream = this.#videoStream;\n } else {\n stream = await window.navigator.mediaDevices.getDisplayMedia({\n video: this.#video || true,\n audio: true,\n });\n }\n\n // Event triggered when the user clicks on the stop sharing overlay button\n stream.getVideoTracks()[0].addEventListener(\"ended\", () => {\n this.stopRecording();\n });\n\n const finalStream = new MediaStream();\n\n if (this.#audio && this.#audioStream) {\n if (isNotEmpty(stream.getAudioTracks())) {\n const audioContext = new AudioContext();\n\n const desktopAudio = audioContext.createMediaStreamSource(stream);\n const microphoneAudio = audioContext.createMediaStreamSource(\n this.#audioStream\n );\n\n const combinedAudio = audioContext.createMediaStreamDestination();\n\n desktopAudio.connect(combinedAudio);\n microphoneAudio.connect(combinedAudio);\n\n combinedAudio.stream\n .getAudioTracks()\n .forEach(track => finalStream.addTrack(track));\n } else {\n this.#audioStream\n .getAudioTracks()\n .forEach(track => finalStream.addTrack(track));\n }\n }\n stream.getVideoTracks().forEach(track => finalStream.addTrack(track));\n\n this.#mediaStream = finalStream;\n this.#stream = stream;\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.media_acquired });\n } catch (error) {\n if (this.#audio && !this.#audioStream) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR.MicPermissionDenied,\n status: SCREEN_RECORDER_STATUS.idle,\n });\n } else if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR[error.name],\n status: SCREEN_RECORDER_STATUS.idle,\n });\n }\n }\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #onRecordingStart = () => {\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStart);\n };\n\n #onRecordingActive = ({ data }) => {\n this.#logger.info(\"received data in onRecordingActive\");\n if (data.size <= 0) return;\n\n this.#mediaChunks.push(data);\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDataAvailable, [data]);\n };\n\n #onRecordingStop = () => {\n this.#logger.info(\"stopping recording in onRecordingStop\");\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopped });\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStop);\n\n // If mediaStream is active after stopping mediaRecorder, then that means that\n // we are restarting and not stopping.\n if (this.#mediaStream.active) {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.restarting });\n }\n };\n\n #startMediaRecorder = () => {\n this.#startRecordingTimeoutID = setTimeout(() => {\n try {\n this.#logger.info(\"starting mediaRecorder\");\n\n if (!this.#mediaRecorder) {\n this.#logger.info(\"mediaRecorder is not defined\");\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.FailedToStart,\n });\n\n return;\n }\n\n if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) {\n this.#logger.info(\"media stream ended, not starting mediaRecorder\");\n\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.FailedToStart,\n });\n\n return;\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n\n this.#mediaRecorder.start(5000);\n this.#logger.info(\"started mediaRecorder\");\n this.#startTimer();\n } catch (error) {\n this.#logger.info(\"Failed to start mediaRecorder\", error);\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.FailedToStart,\n });\n\n // To prevent triggering #onRecordingStop when the mediaRecorder is failed to start.\n if (this.#mediaRecorder) {\n this.#mediaRecorder.onstop = noop;\n }\n\n if (this.#mediaStream) {\n this.#stopAllStreams();\n this.#mediaStream = null;\n }\n this.#stream = null;\n this.#audioStream = null;\n this.#micAudioStream = null;\n this.#mediaRecorder = null;\n\n throw error;\n }\n }, HALF_A_SECOND_IN_MILLISECONDS);\n };\n\n #startCountdown = () => {\n if (this.#countdownTimerId) return;\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onCountdownStart);\n\n this.#countdownTimerId = setInterval(() => {\n this.#store.setState(({ countdownTimeLeft }) => {\n if (equals(countdownTimeLeft, ONE_SECOND) && !this.#videoStream) {\n this.#startRecordingAudio.play();\n }\n\n if (countdownTimeLeft - ONE_SECOND > 0) {\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onCountdown, [\n countdownTimeLeft - ONE_SECOND,\n ]);\n\n return { countdownTimeLeft: countdownTimeLeft - ONE_SECOND };\n }\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onCountdown, [0]);\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onCountdownEnd);\n clearInterval(this.#countdownTimerId);\n this.#countdownTimerId = null;\n this.#startMediaRecorder();\n\n return { countdownTimeLeft: 0 };\n });\n }, ONE_SECOND_IN_MILLISECONDS);\n };\n\n #startTimer = () => {\n this.#lastTimerUpdatedAt = Date.now();\n this.#timerId = setInterval(() => {\n this.#store.setState(({ elapsedTime }) => {\n const now = Date.now();\n const newElapsedTime = elapsedTime + (now - this.#lastTimerUpdatedAt);\n this.#lastTimerUpdatedAt = now;\n\n this.#checkIfTimeLimitReached(newElapsedTime);\n\n return { elapsedTime: newElapsedTime };\n });\n }, TWO_HUNDRED_MILLISECONDS);\n };\n\n #stopTimer = () => {\n clearInterval(this.#timerId);\n\n const newElapsedTime =\n this.#store.getState().elapsedTime +\n (Date.now() - this.#lastTimerUpdatedAt);\n\n this.#store.setState({ elapsedTime: newElapsedTime });\n };\n\n #checkIfTimeLimitReached = elapsedTime => {\n const oneMinuteBeforeTimeLimit =\n this.#timeLimit - ONE_MINUTE_IN_MILLISECONDS;\n\n if (elapsedTime <= oneMinuteBeforeTimeLimit) return;\n\n if (\n elapsedTime < this.#timeLimit &&\n elapsedTime > oneMinuteBeforeTimeLimit\n ) {\n not(this.#store.getState().showTimeLimitWarning) &&\n this.#recordingLimitWarningAudio.play();\n this.#store.setState({ showTimeLimitWarning: true });\n\n return;\n }\n\n this.#stopRecordingDueToLimitReachedAudio.play();\n this.stopRecording();\n };\n}\n\nconst screenRecorder = new ScreenRecorder(true, {\n displaySurface: DISPLAY_SURFACE.monitor,\n});\n\nexport default screenRecorder;\n","import { useSyncExternalStore } from \"react\";\n\nimport { getMultipartS3Uploader } from \"neetomediarecorder/core\";\n\nconst listeners = new Set();\n\nconst subscribe = listener => {\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n};\n\nconst triggerStatusChange = () => {\n listeners.forEach(listener => listener());\n};\n\nconst getSnapshot = () => getMultipartS3Uploader().status;\n\nconst useMultipartS3UploadStatus = () => {\n const status = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n return { status, isStatus: (...statuses) => statuses.includes(status) };\n};\n\nuseMultipartS3UploadStatus.triggerStatusChange = triggerStatusChange;\n\nexport default useMultipartS3UploadStatus;\n"],"names":["arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_typeof","assertClassBrand","classPrivateFieldGet2","classApplyDescriptorSet","classApplyDescriptorGet","require$$0","setPrototypeOf","assertThisInitialized","_isNativeReflectConstruct","isNativeReflectConstruct","isNativeFunction","construct","getPrototypeOf","TOTAL_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","HAS_CHROME_NAMESPACE","chrome","isNotNil","extension","platform","name","MIME_TYPE","mp4","webmH264","sleep","delay","Promise","resolve","setTimeout","RetryError","_Error","_inherits","_super","_createSuper","message","_classCallCheck","call","_createClass","_wrapNativeSuper","Error","buildRetryableApi","apiConnector","_ref","arguments","length","undefined","_ref$retries","_ref$retryDelay","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","apiConnectorArgs","_config$signal","_apiConnectorArgs$con","config","remainingAttempts","shouldCancelRetries","_error$config","_error$response","_error$response2","wrap","_callee$","_context","prev","next","signal","addEventListener","abrupt","sent","t0","logger","error","url","response","status","info","min","stop","_x","apply","create","recordingId","payload","axios","post","concat","abortUpload","retryableCreate","abortUploadApi","completeUpload","completeUploadApi","partPresignedUrl","partPresignedUrlApi","getUnSupportedConstraints","mediaType","supportedMediaConstraints","navigator","mediaDevices","getSupportedConstraints","Object","keys","filter","constraint","checkConstraints","isNil","_len","mediaTypes","Array","_key","unSupportedConstraints","map","flat","isNotEmpty","console","join","isStreamEnded","mediaStream","existsBy","readyState","getTracks","getSupportedMimeType","getMediaRecorderOptions","mimeType","addGainNode","audioStream","gain","audioContext","AudioContext","audioStreamSource","createMediaStreamSource","destinationStream","createMediaStreamDestination","gainNode","createGain","value","connect","stream","s3AxiosInstance","headers","interceptors","use","identity","isCancel","reject","presignedUpload","presignedUrl","blob","put","retryablePresignedUpload","s3Api","isMp4Supported","includes","createPrefixedLogger","prefix","_logger","args","_logger2","_len2","_key2","warn","_logger3","_len3","_key3","debug","_logger4","_len4","_key4","isNotCancelledRequest","resolvedResponse","calculateUploadProgress","uploadProgress","total","values","reduce","sum","part","uploaded","Math","round","_recordingId","WeakMap","_uploadId","_unUploadedChunks","_partNumber","_s3PartUploadPromises","_callbacks","_abortController","_pendingS3ChunkUploads","_completeUploadPromise","_failedUpload","_uploadProgress","_status","_id","_mimeType","_status2","_fireCallbacks","_handleChunkUploadError","_uploadChunkToS","_getCurrentUnUploadedBlob","_isRecordingNotSet","MultipartS3Uploader","_this","_classPrivateFieldInitSpec","get","_get_isRecordingNotSet","set","_set_status","_defineProperty","writable","uuidv4","_classPrivateFieldGet","_classPrivateFieldSet","uploadId","AbortController","data","size","push","MIN_UPLOAD_CHUNK_SIZE","uploadChunkToS3Promise","parts","sessionLogs","isMp4","logs","resolvedS3PartUploadPromises","UPLOAD_STATUS","uploading","all","UPLOAD_EVENT","onError","insufficient_data","etag","partNumber","URL","request","responseURL","searchParams","toSorted","a","b","Number","completeUploadNotifyServer","aborting","completed","onComplete","finish","_callee2","forceAbort","_args2","_callee2$","_context2","abort","onAbort","event","callback","_classPrivateFieldGet2","existingCallbacks","_objectSpread","_toConsumableArray","_classPrivateFieldGet3","registeredCallbacks","updatedCallbacks","isNot","_classPrivateFieldGet4","forEach","_ref3","_callee3","_callee3$","_context3","_x2","_value","_callee4","chunks","_this$partNumber","_yield$_this$generate","s3PartUploadPromise","_callee4$","_context4","Blob","type","generatePreSignedUrl","includeMetadataInResponse","onUploadProgress","e","loaded","percentCompleted","onProgress","_x3","key","useMultipartS3UploadStatus","triggerStatusChange","isEmpty","multipartS3Uploader","getMultipartS3Uploader","_ref4","_ref4$initialize","initialize","arrayWithHoles","iterableToArrayLimit","nonIterableRest","DISPLAY_SURFACE","monitor","window","browser","initialState","SCREEN_RECORDER_STATUS","idle","elapsedTime","countdownTimeLeft","showTimeLimitWarning","prepareStore","withImmutableActions","resetState","_audio","_video","_videoStream","_mediaRecorder","_mediaStream","_store","_mediaChunks","_lastTimerUpdatedAt","_timerId","_countdownTimerId","_startRecordingAudio","_recordingLimitWarningAudio","_stopRecordingDueToLimitReachedAudio","_stream","_audioStream","_micAudioStream","_timeLimit","_startRecordingTimeoutID","_enableNoiseCancellation","_showCountdown","_stopAllStreams","_checkCompatibility","_acquireMediaStream","_onRecordingStart","_onRecordingActive","_onRecordingStop","_startMediaRecorder","_startCountdown","_startTimer","_stopTimer","_checkIfTimeLimitReached","ScreenRecorder","audio","video","Audio","START_RECORDING_SOUND","RECORDING_LIMIT_REACHED_WARNING_SOUND","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND","RECORDING_TIME_LIMIT_FREE_PLAN","showCountdown","timeLimit","options","setState","pick","initialStoreState","MediaRecorder","ondataavailable","onstart","onstop","onerror","SCREEN_RECORDER_ERROR","NoRecorder","state","removeCallback","SCREEN_RECORDER_EVENT","onStop","clearTimeout","clearInterval","onDiscardDuringCountdown","stopping","_classPrivateFieldGet5","paused","pause","_classPrivateFieldGet6","recording","resume","_classPrivateFieldGet7","removeAllCallbacksByEvent","onDiscard","onRestart","startRecording","getState","_classPrivateFieldGet8","_classPrivateFieldGet9","_classPrivateFieldGet10","_classPrivateFieldGet11","_classPrivateFieldGet12","_classPrivateFieldGet13","track","getAudioTracks","_navigator$mediaDevic","_MediaRecorder","getDisplayMedia","isTypeSupported","UnSupportedBrowser","workletUrl","noiseSuppressorNode","finalStream","_audioContext","desktopAudio","microphoneAudio","combinedAudio","acquiring_media","t1","t2","getUserMedia","echoCancellation","t3","IS_EXTENSION","runtime","getURL","audioWorklet","addModule","AudioWorkletNode","t4","getVideoTracks","stopRecording","MediaStream","addTrack","media_acquired","t5","MicPermissionDenied","_classPrivateFieldGet14","onStart","onDataAvailable","stopped","active","restarting","FailedToStart","start","noop","HALF_A_SECOND_IN_MILLISECONDS","onCountdownStart","setInterval","equals","ONE_SECOND","play","onCountdown","onCountdownEnd","ONE_SECOND_IN_MILLISECONDS","Date","now","newElapsedTime","TWO_HUNDRED_MILLISECONDS","oneMinuteBeforeTimeLimit","ONE_MINUTE_IN_MILLISECONDS","not","_classPrivateFieldGet15","_classPrivateFieldGet16","_ref5","_ref6","_slicedToArray","videoTrack","getSettings","displaySurface","screenRecorder","listeners","Set","subscribe","listener","add","getSnapshot","useSyncExternalStore","isStatus","statuses"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,47,48,49,50]}
|
|
1
|
+
{"version":3,"file":"core.js","sources":["node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArray.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","node_modules/@babel/runtime/helpers/esm/classCallCheck.js","node_modules/@babel/runtime/helpers/esm/typeof.js","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/createClass.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/helpers/regeneratorRuntime.js","node_modules/@babel/runtime/regenerator/index.js","node_modules/uuid/dist/esm-browser/stringify.js","node_modules/uuid/dist/esm-browser/rng.js","node_modules/uuid/dist/esm-browser/native.js","node_modules/uuid/dist/esm-browser/v4.js","node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/inherits.js","node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","node_modules/@babel/runtime/helpers/esm/construct.js","node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","src/constants.js","src/utils/index.js","src/utils/buildRetryableApi.js","src/apis/abort_upload.js","src/apis/complete_upload.js","src/apis/part_presigned_url.js","src/core/screenRecorder/utils.js","src/apis/s3.js","src/components/MediaRecorder/utils.js","src/utils/createPrefixedLogger.js","src/core/multipartS3Uploader/utils.js","src/core/multipartS3Uploader/index.js","node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","node_modules/@babel/runtime/helpers/esm/slicedToArray.js","src/core/screenRecorder/constants.js","src/core/screenRecorder/stores/index.js","src/core/screenRecorder/index.js","src/components/MediaRecorder/hooks/useMultipartS3UploadStatus.js"],"sourcesContent":["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _classApplyDescriptorSet(e, t, l) {\n if (t.set) t.set.call(e, l);else {\n if (!t.writable) throw new TypeError(\"attempted to set read only private field\");\n t.value = l;\n }\n}\nexport { _classApplyDescriptorSet as default };","function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}\nexport { _assertClassBrand as default };","import assertClassBrand from \"./assertClassBrand.js\";\nfunction _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}\nexport { _classPrivateFieldGet2 as default };","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classPrivateFieldGet2 from \"./classPrivateFieldGet2.js\";\nfunction _classPrivateFieldSet(e, t, r) {\n var s = classPrivateFieldGet2(t, e);\n return classApplyDescriptorSet(e, s, r), r;\n}\nexport { _classPrivateFieldSet as default };","function _classApplyDescriptorGet(e, t) {\n return t.get ? t.get.call(e) : t.value;\n}\nexport { _classApplyDescriptorGet as default };","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classPrivateFieldGet2 from \"./classPrivateFieldGet2.js\";\nfunction _classPrivateFieldGet(e, t) {\n var r = classPrivateFieldGet2(t, e);\n return classApplyDescriptorGet(e, r);\n}\nexport { _classPrivateFieldGet as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFNckMsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDO0FBRS9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFNekQsT0FBTyxDQUNMLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixHQUFHO1FBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsR0FBRztRQUNILFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUM1QixDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxHQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFDNUMsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQU8xQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDcEIsTUFBTSxTQUFTLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsZUFBZSxTQUFTLENBQUMifQ==","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm5nLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm5nLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsSUFBSSxlQUEwRCxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxPQUFPLFVBQVUsR0FBRztJQUV6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwwR0FBMEcsQ0FDM0csQ0FBQztRQUNKLENBQUM7UUFFRCxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMifQ==","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmF0aXZlLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBQ2QsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdkYsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDIn0=","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random || (options.rng || rng)();\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUMzQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsU0FBUyxFQUFFLENBQUMsT0FBeUIsRUFBRSxHQUFnQixFQUFFLE1BQWU7SUFDdEUsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUMsT0FBTyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBRXhCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFHdEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBR2xDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUVyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxlQUFlLEVBQUUsQ0FBQyJ9","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRYABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\nexport const HALF_A_SECOND_IN_MILLISECONDS = 500;\nexport const TWO_HUNDRED_MILLISECONDS = 200;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\nexport const ONE_HOUR_IN_MILLISECONDS = 60 * ONE_MINUTE_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = {\n onComplete: \"onComplete\",\n onError: \"onError\",\n onProgress: \"onProgress\",\n};\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n insufficient_data: \"insufficient_data\",\n error: \"error\",\n};\n\nexport const SCREEN_RECORDER_STATUS = {\n media_aborted: \"media_aborted\",\n permission_denied: \"permission_denied\",\n no_specified_media_found: \"no_specified_media_found\",\n media_in_use: \"media_in_use\",\n invalid_media_constraints: \"invalid_media_constraints\",\n no_chrome_flags_set: \"no_chrome_flags_set\",\n recorder_error: \"recorder_error\",\n idle: \"idle\",\n acquiring_media: \"acquiring_media\",\n media_acquired: \"media_acquired\",\n restarting: \"restarting\",\n recording: \"recording\",\n stopping: \"stopping\",\n stopped: \"stopped\",\n paused: \"paused\",\n};\n\nexport const SCREEN_RECORDER_ERROR = {\n MicPermissionDenied: \"mic_permission_denied\",\n AbortError: \"media_aborted\",\n NotAllowedError: \"permission_denied\",\n NotFoundError: \"no_specified_media_found\",\n NotReadableError: \"media_in_use\",\n OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n FailedToStart: \"failed_to_start\",\n};\n\nexport const SCREEN_RECORDER_EVENT = {\n onStart: \"onStart\",\n onStop: \"onStop\",\n onDiscard: \"onDiscard\",\n onDataAvailable: \"onDataAvailable\",\n onDiscardDuringCountdown: \"onDiscardDuringCountdown\",\n onRestart: \"onRestart\",\n onReUpload: \"onReUpload\",\n onReUploadFromDisk: \"onReUploadFromDisk\",\n onPause: \"onPause\",\n onResume: \"onResume\",\n onCountdownStart: \"onCountdownStart\",\n onCountdown: \"onCountDown\",\n onCountdownEnd: \"onCountdownEnd\",\n};\n\nexport const TOTAL_RETRIES = 15;\nexport const INITIAL_RETRY_DELAY = 4000;\nexport const MAX_RETRY_DELAY = 16000;\n\nexport const DEFAULT_RETRY_CONFIG = {\n retries: TOTAL_RETRIES,\n retryDelay: INITIAL_RETRY_DELAY,\n retryableStatuses: [],\n};\n\n// No need to localize this since it will only be used in the code\n// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\nexport const NETWORK_ERROR = \"Network Error\";\nexport const TIMEOUT_ERROR = \"ECONNABORTED\";\n\nexport const HAS_CHROME_NAMESPACE = typeof chrome === \"object\";\n\nexport const IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);\n\nexport const IS_SAFARI = platform.name === \"Safari\";\n\nexport const IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;\n\nexport const PERMISSIONS_HELP_DOC =\n \"https://neetorecordhelp.neetokb.com/p/a-10efcfd7\";\n\nexport const MIME_TYPE = {\n mp4: \"video/mp4\",\n webmH264: \"video/webm;codecs=h264\",\n};\n\nexport const START_RECORDING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3\";\n\nexport const STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-end-sound.mp3\";\n\nexport const RECORDING_LIMIT_REACHED_WARNING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-warning-sound.mp3\";\n\nexport const RECORDING_TIME_LIMIT_FREE_PLAN = 15 * ONE_MINUTE_IN_MILLISECONDS; // 15 minutes\nexport const RECORDING_TIME_LIMIT_PRO_PLAN = 2 * ONE_HOUR_IN_MILLISECONDS; // 2 hours\n","export const sleep = delay =>\n new Promise(resolve => setTimeout(resolve, delay));\n\nexport const generatePublicUrl = (\n recordingId,\n baseURL = window.location.origin\n) => `${baseURL}/watch/${recordingId}`;\n","import { min } from \"ramda\";\n\nimport {\n DEFAULT_RETRY_CONFIG,\n INITIAL_RETRY_DELAY,\n MAX_RETRY_DELAY,\n TOTAL_RETRIES,\n} from \"src/constants\";\nimport { sleep } from \"utils\";\n\nclass RetryError extends Error {\n constructor(message) {\n super(message);\n }\n}\n\nconst buildRetryableApi =\n (\n apiConnector,\n {\n retries = TOTAL_RETRIES,\n retryDelay = INITIAL_RETRY_DELAY,\n } = DEFAULT_RETRY_CONFIG\n ) =>\n async apiConnectorArgs => {\n const { config = null } = apiConnectorArgs;\n\n let remainingAttempts = retries + 1;\n let shouldCancelRetries = false;\n\n config?.signal?.addEventListener(\"abort\", () => {\n shouldCancelRetries = true;\n });\n\n while (remainingAttempts-- && !shouldCancelRetries) {\n try {\n return await apiConnector(apiConnectorArgs);\n } catch (error) {\n logger.error(\n \"buildRetryableApi -> Failed to connect, remainingAttempts:\",\n error?.config?.url,\n error.response?.status,\n remainingAttempts\n );\n\n if (error.response?.status !== 401 && remainingAttempts > 0) {\n logger.info(\n \"buildRetryableApi -> Failed to connect -> retry in:\",\n retryDelay\n );\n await sleep(retryDelay);\n retryDelay = min(retryDelay * 2, MAX_RETRY_DELAY);\n } else {\n throw error;\n }\n }\n }\n\n throw new RetryError(\"Request cancelled or request retries exhausted\");\n };\n\nexport default buildRetryableApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/abort_upload`, {\n abortUpload: payload,\n });\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst abortUploadApi = { create: retryableCreate };\n\nexport default abortUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload, config }) =>\n axios.post(\n `/api/v1/recordings/${recordingId}/complete_upload`,\n { completeUpload: payload },\n config\n );\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst completeUploadApi = { create: retryableCreate };\n\nexport default completeUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload, config }) =>\n axios.post(\n `/api/v1/recordings/${recordingId}/part_presigned_url`,\n { partPresignedUrl: payload },\n config\n );\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst partPresignedUrlApi = { create: retryableCreate };\n\nexport default partPresignedUrlApi;\n","import { existsBy, isNotEmpty } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nimport { MIME_TYPE } from \"src/constants\";\n\nconst getUnSupportedConstraints = mediaType => {\n const supportedMediaConstraints =\n navigator.mediaDevices.getSupportedConstraints();\n\n return Object.keys(mediaType).filter(\n constraint => !supportedMediaConstraints[constraint]\n );\n};\n\nexport const checkConstraints = (...mediaTypes) => {\n if (isNil(navigator.mediaDevices)) {\n return;\n }\n\n const unSupportedConstraints = mediaTypes\n .filter(mediaType => typeof mediaType === \"object\")\n .map(getUnSupportedConstraints)\n .flat();\n\n if (isNotEmpty(unSupportedConstraints)) {\n // eslint-disable-next-line no-console\n console.error(\n `The constraints ${unSupportedConstraints.join(\n \",\"\n )} doesn't support on this browser.`\n );\n }\n};\n\nexport const isStreamEnded = mediaStream =>\n existsBy({ readyState: \"ended\" }, mediaStream.getTracks());\n\nexport function getChromiumVersion() {\n const userAgent = navigator.userAgent;\n const match = userAgent.match(/Chrom(e|ium)\\/(([0-9][.]?)+)/);\n if (match) {\n return match[2];\n }\n\n return null;\n}\n\nexport function compareChromiumVersions(version1, version2) {\n const v1Parts = version1.split(\".\").map(Number);\n const v2Parts = version2.split(\".\").map(Number);\n\n for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {\n const v1Part = v1Parts[i] || 0;\n const v2Part = v2Parts[i] || 0;\n\n if (v1Part > v2Part) return 1;\n\n if (v1Part < v2Part) return -1;\n }\n\n return 0;\n}\n\nexport const getSupportedMimeType = () => MIME_TYPE.webmH264;\n\n// TODO: Uncomment this when mp4 is stable\n// export const getSupportedMimeType = fallback => {\n// const isWindows = platform.os?.family?.includes(\"Windows\");\n\n// if (MediaRecorder.isTypeSupported(MIME_TYPE.mp4) && !isWindows) {\n// if (platform.name === \"Safari\") {\n// return MIME_TYPE.mp4;\n// }\n\n// const chromiumVersion = getChromiumVersion();\n\n// if (isNil(chromiumVersion)) {\n// return MIME_TYPE.webmH264;\n// }\n\n// const isChromiumVersionSupported =\n// compareChromiumVersions(\n// chromiumVersion,\n// MINIMUM_CHROMIUM_VERSION_FOR_MP4\n// ) >= 0;\n\n// if (isChromiumVersionSupported) {\n// return MIME_TYPE.mp4;\n// }\n\n// return MIME_TYPE.webmH264;\n// } else if (MediaRecorder.isTypeSupported(MIME_TYPE.webmH264)) {\n// return MIME_TYPE.webmH264;\n// }\n\n// return fallback;\n// };\n\nexport const getMediaRecorderOptions = () => {\n const mimeType = getSupportedMimeType();\n\n if (!mimeType) return {};\n\n return { mimeType };\n};\n\nexport const addGainNode = (audioStream, gain = 1.5) => {\n const audioContext = new AudioContext();\n const audioStreamSource = audioContext.createMediaStreamSource(audioStream);\n\n const destinationStream = audioContext.createMediaStreamDestination();\n\n const gainNode = audioContext.createGain();\n gainNode.gain.value = gain;\n\n audioStreamSource.connect(gainNode);\n gainNode.connect(destinationStream);\n\n return destinationStream.stream;\n};\n","import axios from \"axios\";\nimport { identity } from \"ramda\";\n\nimport { getSupportedMimeType } from \"src/core/screenRecorder/utils\";\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst s3AxiosInstance = axios.create({\n headers: { \"Content-Type\": getSupportedMimeType() },\n});\n\ns3AxiosInstance.interceptors.response.use(\n identity,\n error => !axios.isCancel(error) && Promise.reject(error)\n);\n\nconst presignedUpload = ({ presignedUrl, blob, config }) =>\n s3AxiosInstance.put(presignedUrl, blob, config);\n\nconst retryablePresignedUpload = buildRetryableApi(presignedUpload);\n\nconst s3Api = { presignedUpload: retryablePresignedUpload };\n\nexport default s3Api;\n","import {\n IS_EXTENSION,\n MIME_TYPE,\n ONE_MINUTE_IN_MILLISECONDS,\n ONE_SECOND_IN_MILLISECONDS,\n SCREEN_RECORDER_STATUS,\n UPLOAD_STATUS,\n} from \"neetomediarecorder/constants\";\nimport { screenRecorder } from \"neetomediarecorder/core\";\nimport platform from \"platform\";\n\nimport { ONE_HOUR_IN_MILLISECONDS } from \"src/constants\";\nimport { getSupportedMimeType } from \"src/core/screenRecorder/utils\";\n\nconst formatTime = time => Math.floor(time).toString().padStart(2, \"0\");\n\nexport const getTimeString = date => {\n const hours = formatTime(Math.floor(date / ONE_HOUR_IN_MILLISECONDS));\n const minutes = formatTime(\n (date % ONE_HOUR_IN_MILLISECONDS) / ONE_MINUTE_IN_MILLISECONDS\n );\n\n const seconds = formatTime(\n (date % ONE_MINUTE_IN_MILLISECONDS) / ONE_SECOND_IN_MILLISECONDS\n );\n\n if (hours > 0) {\n return `${hours}:${minutes}:${seconds}`;\n }\n\n return `${minutes}:${seconds}`;\n};\n\nexport const downloadRecordingBlob = (blob, name) => {\n const blobUrl = URL.createObjectURL(blob);\n\n const linkElement = document.createElement(\"a\");\n\n linkElement.href = blobUrl;\n linkElement.download = name;\n\n document.body.appendChild(linkElement);\n\n // Dispatch click event on the link\n // This is necessary as link.click() does not work on the latest firefox\n linkElement.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n view: window,\n })\n );\n\n document.body.removeChild(linkElement);\n URL.revokeObjectURL(blobUrl);\n};\n\nexport const hasRecordingDiscarded = ({ recorderStatus, uploadStatus }) =>\n recorderStatus === SCREEN_RECORDER_STATUS.stopped &&\n uploadStatus === UPLOAD_STATUS.aborting;\n\nexport const getRecorderTimeLimitInHumanFormat = timeInMs => {\n const minutes = Math.floor(timeInMs / (1000 * 60));\n const hours = Math.floor(minutes / 60);\n\n if (hours < 1) {\n if (minutes < 1) {\n return `${Math.floor(timeInMs / ONE_SECOND_IN_MILLISECONDS)} seconds`;\n }\n\n return `${minutes} minutes`;\n }\n\n return `${hours} hours`;\n};\n\nexport const getDeviceInfo = async (mimeType = getSupportedMimeType()) => {\n const isCameraEnabled = IS_EXTENSION\n ? (await chrome.storage.local.get(\"isCameraOn\"))?.isCameraOn\n : false;\n\n return {\n os: platform.os?.toString(),\n app: IS_EXTENSION\n ? `chrome extension v${chrome.runtime.getManifest().version}`\n : \"web\",\n browser: `${platform.name} v${platform.version}`,\n isCameraEnabled,\n isMicEnabled: !!screenRecorder.audioConfiguration,\n displaySurface: screenRecorder.displaySurface,\n mimeType,\n };\n};\n\nexport const isMp4Supported = (mimeType = getSupportedMimeType()) =>\n mimeType.includes(MIME_TYPE.mp4);\n","const createPrefixedLogger = prefix => ({\n info: (...args) => logger.info(prefix, ...args),\n error: (...args) => logger.error(prefix, ...args),\n warn: (...args) => logger.warn(prefix, ...args),\n debug: (...args) => logger.debug(prefix, ...args),\n});\n\nexport default createPrefixedLogger;\n","/**\n * Due to the custom axios interceptor for s3Api,\n * it'll return false for cancelled requests instead of a cancelled error object.\n */\nexport const isNotCancelledRequest = resolvedResponse =>\n typeof resolvedResponse !== \"boolean\";\n\nexport const calculateUploadProgress = uploadProgress => {\n const total = Object.values(uploadProgress).reduce(\n (sum, part) => sum + part.total,\n 0\n );\n\n const uploaded = Object.values(uploadProgress).reduce(\n (sum, part) => sum + part.uploaded,\n 0\n );\n\n return Math.round((uploaded * 100) / total);\n};\n","// Axios is required here to waive off the CancelledError which occurs when\n// using AbortController on an axios request.\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\nimport { isNot, isNotEmpty } from \"neetocist\";\nimport { UPLOAD_EVENT, UPLOAD_STATUS } from \"neetomediarecorder/constants\";\nimport { useMultipartS3UploadStatus } from \"neetomediarecorder/core\";\nimport { isEmpty } from \"ramda\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport abortUploadApi from \"src/apis/abort_upload\";\nimport completeUploadApi from \"src/apis/complete_upload\";\nimport partPresignedUrlApi from \"src/apis/part_presigned_url\";\nimport s3Api from \"src/apis/s3\";\nimport { isMp4Supported } from \"src/components/MediaRecorder/utils\";\nimport { MIME_TYPE } from \"src/constants\";\nimport createPrefixedLogger from \"utils/createPrefixedLogger\";\n\nimport { isNotCancelledRequest, calculateUploadProgress } from \"./utils\";\n\nimport { getSupportedMimeType } from \"../screenRecorder/utils\";\n\nclass MultipartS3Uploader {\n MIN_UPLOAD_CHUNK_SIZE = 5 * 1024 * 1024;\n\n #recordingId = \"\";\n #uploadId = \"\";\n #unUploadedChunks = [];\n #partNumber = 1;\n #s3PartUploadPromises = [];\n #callbacks = {};\n #abortController;\n #pendingS3ChunkUploads = [];\n #completeUploadPromise;\n #failedUpload = [];\n #uploadProgress = {};\n\n #_status = \"\";\n #id = uuidv4();\n #logger = createPrefixedLogger(`[${this.#id}]`);\n #mimeType = getSupportedMimeType();\n\n constructor() {\n this.#logger.info(\"Uploader initialized\");\n }\n\n get status() {\n return this.#_status;\n }\n\n get mimeType() {\n return this.#mimeType;\n }\n\n set #status(status) {\n this.#_status = status;\n useMultipartS3UploadStatus.triggerStatusChange();\n }\n\n get hasSufficientData() {\n return (\n isNotEmpty(this.#unUploadedChunks) ||\n isNotEmpty(this.#pendingS3ChunkUploads) ||\n isNotEmpty(this.#s3PartUploadPromises)\n );\n }\n\n setMimeType = mimeType => (this.#mimeType = mimeType);\n\n setRecording = (recordingId, uploadId) => {\n this.#recordingId = recordingId;\n this.#uploadId = uploadId;\n this.#abortController = new AbortController();\n };\n\n push = data => {\n if (data.size > 0) {\n this.#unUploadedChunks.push(data);\n }\n\n this.#logger.info(\n \"Current unuploaded data size is \",\n this.#getCurrentUnUploadedBlob().size / 1024 / 1024,\n \"MB\"\n );\n\n if (this.#isRecordingNotSet) return;\n\n if (this.#getCurrentUnUploadedBlob().size > this.MIN_UPLOAD_CHUNK_SIZE) {\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n this.#unUploadedChunks = [];\n }\n };\n\n completeUploadNotifyServer = (parts, sessionLogs) =>\n completeUploadApi.create({\n recordingId: this.#recordingId,\n payload: {\n parts,\n uploadId: this.#uploadId,\n isMp4: isMp4Supported(this.#mimeType),\n logs: sessionLogs,\n },\n config: { signal: this.#abortController?.signal },\n });\n\n completeUpload = async sessionLogs => {\n try {\n this.#status = UPLOAD_STATUS.uploading;\n\n if (this.#isRecordingNotSet) {\n this.#logger.error(\"completeUpload -> not initialized\");\n\n return;\n }\n\n // Upload last chunk; only if last chunk has data\n if (this.#getCurrentUnUploadedBlob().size > 0) {\n this.#logger.info(\"completeUpload -> need to upload last chunk\");\n\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n }\n\n /**\n * Wait for all the pending uploadToS3Promises.\n * Else we encounter a race condition where a new request is made for presignedUrl\n * but at the same time we reach the resolvedS3PartUploadPromises line and await\n * the s3PartUploadPromises. And the s3PartUploadPromises is resolved before\n * adding the new presignedUrl part upload to s3PartUploadPromises.\n * This results in incorrect partNumbers.\n */\n this.#logger.info(\n \"completeUpload -> uploading all pending chunks...\",\n this.#pendingS3ChunkUploads.length\n );\n await Promise.all(this.#pendingS3ChunkUploads);\n\n this.#logger.info(\"completeUpload -> finishing part uploads...\");\n\n const resolvedS3PartUploadPromises = await Promise.all(\n this.#s3PartUploadPromises\n );\n\n if (isNotEmpty(this.#failedUpload)) {\n this.#logger.info(\n \"completeUpload -> chunks with these partNumbers failed:\",\n this.#failedUpload\n );\n this.#status = UPLOAD_STATUS.error;\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n\n return;\n }\n\n if (resolvedS3PartUploadPromises.length === 0) {\n this.#logger.info(\"completeUpload -> insufficient data\");\n this.#status = UPLOAD_STATUS.insufficient_data;\n\n return;\n }\n\n const parts = resolvedS3PartUploadPromises\n .filter(isNotCancelledRequest)\n .map(resolvedResponse => ({\n etag: resolvedResponse.headers.etag,\n partNumber: new URL(\n resolvedResponse.request.responseURL\n ).searchParams.get(\"partNumber\"),\n }))\n .toSorted((a, b) => Number(a.partNumber) - Number(b.partNumber));\n\n this.#logger.info(\"completeUpload -> uploaded parts: \", parts);\n this.#completeUploadPromise = this.completeUploadNotifyServer(\n parts,\n sessionLogs\n );\n\n this.#logger.info(\"completeUpload -> completing upload... \");\n await this.#completeUploadPromise;\n this.#logger.info(\"completeUpload -> upload completed\");\n\n if (this.status === UPLOAD_STATUS.aborting) {\n this.#logger.info(\"completeUpload -> upload was marked as aborted\");\n\n return;\n }\n\n this.#status = UPLOAD_STATUS.completed;\n\n this.#fireCallbacks(UPLOAD_EVENT.onComplete);\n } catch (error) {\n // ignore if aborted\n if (!axios.isCancel(error)) {\n this.#status = UPLOAD_STATUS.error;\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n this.#logger.error(error);\n }\n } finally {\n this.#completeUploadPromise = null;\n }\n };\n\n // eslint-disable-next-line default-param-last\n abortUpload = async (forceAbort = false, sessionLogs) => {\n try {\n if (this.status === UPLOAD_STATUS.aborting && !forceAbort) {\n this.#logger.info(\"abortUpload -> already aborting\");\n\n return;\n }\n this.#status = UPLOAD_STATUS.aborting;\n\n if (this.#isRecordingNotSet) {\n this.#logger.info(\"abortUpload -> not initialized\");\n\n return;\n }\n const recordingId = this.#recordingId;\n const uploadId = this.#uploadId;\n\n await this.#completeUploadPromise;\n this.#abortController.abort();\n\n await abortUploadApi.create({\n recordingId,\n payload: {\n uploadId,\n isMp4: isMp4Supported(this.#mimeType),\n logs: sessionLogs,\n },\n });\n this.#logger.info(\"abortUpload -> abort successful\");\n\n this.#fireCallbacks(UPLOAD_EVENT.onAbort);\n\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#status = \"\";\n this.#abortController = null;\n } catch (error) {\n this.#logger.error(error);\n }\n };\n\n resetState = () => {\n this.#recordingId = \"\";\n this.#uploadId = \"\";\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#pendingS3ChunkUploads = [];\n this.#callbacks = {};\n this.#failedUpload = [];\n this.#uploadProgress = {};\n this.#status = \"\";\n };\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #handleChunkUploadError = (error, partNumber) => {\n // ignore if aborted\n if (axios.isCancel(error)) return;\n this.#logger.error(\"Failed to upload partNumber:\", partNumber);\n if (this.status === UPLOAD_STATUS.uploading) {\n this.#status = UPLOAD_STATUS.error;\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n } else {\n this.#failedUpload.push(partNumber); // if user is still recording\n }\n };\n\n generatePreSignedUrl = partNumber =>\n partPresignedUrlApi.create({\n recordingId: this.#recordingId,\n payload: {\n partNumber,\n uploadId: this.#uploadId,\n isMp4: this.#mimeType.includes(MIME_TYPE.mp4),\n },\n config: { signal: this.#abortController?.signal },\n });\n\n #uploadChunkToS3 = async chunks => {\n this.#logger.info(\"Part ready to be uploaded: \", this.#partNumber);\n const partNumber = this.#partNumber;\n this.#partNumber++;\n this.#uploadProgress[partNumber] = {\n uploaded: 0,\n total: new Blob(chunks, { type: this.#mimeType }).size,\n };\n try {\n const { presignedUrl } = await this.generatePreSignedUrl(partNumber);\n this.#logger.info(\"Presigned url created for partNumber:\", partNumber);\n\n const s3PartUploadPromise = s3Api\n .presignedUpload({\n presignedUrl,\n blob: new Blob(chunks, { type: this.#mimeType }),\n config: {\n headers: { \"Content-Type\": this.#mimeType },\n includeMetadataInResponse: true,\n signal: this.#abortController?.signal,\n onUploadProgress: e => {\n this.#uploadProgress[partNumber] = {\n uploaded: e.loaded,\n total: e.total,\n };\n if (this.status === UPLOAD_STATUS.uploading) {\n const percentCompleted = calculateUploadProgress(\n this.#uploadProgress\n );\n\n this.#logger.info(`Upload Progress: ${percentCompleted}%`);\n this.#fireCallbacks(UPLOAD_EVENT.onProgress, [\n percentCompleted,\n ]);\n }\n },\n },\n })\n // eslint-disable-next-line promise/prefer-await-to-then\n .catch(error => {\n this.#handleChunkUploadError(error, partNumber);\n });\n this.#s3PartUploadPromises.push(s3PartUploadPromise);\n } catch (error) {\n this.#handleChunkUploadError(error, partNumber);\n }\n };\n\n #getCurrentUnUploadedBlob = () =>\n new Blob(this.#unUploadedChunks, { type: this.#mimeType });\n\n get #isRecordingNotSet() {\n return isEmpty(this.#uploadId + this.#recordingId);\n }\n}\n\nlet multipartS3Uploader = new MultipartS3Uploader();\n\nexport const getMultipartS3Uploader = ({ initialize = false } = {}) => {\n if (!multipartS3Uploader || initialize) {\n multipartS3Uploader = new MultipartS3Uploader();\n useMultipartS3UploadStatus.triggerStatusChange();\n }\n\n return multipartS3Uploader;\n};\n","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","// https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype\nexport const DISPLAY_SURFACE = {\n monitor: \"monitor\",\n window: \"window\",\n browser: \"browser\",\n};\n\nexport const RECORDING_TIME_LIMIT = 900_000; // 15 minutes\nexport const RECORDING_TIME_LIMIT_WARNING_TIME = 840_000; // 14 minutes\nexport const MINIMUM_CHROMIUM_VERSION_FOR_MP4 = \"128.0.6613.85\";\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { SCREEN_RECORDER_STATUS } from \"neetomediarecorder/constants\";\nimport { create } from \"zustand\";\n\nexport const initialState = {\n status: SCREEN_RECORDER_STATUS.idle,\n error: \"\",\n elapsedTime: 0,\n countdownTimeLeft: 3,\n showTimeLimitWarning: false,\n};\n\nconst prepareStore = () =>\n create(\n withImmutableActions(set => ({\n ...initialState,\n resetState: () => set(initialState),\n }))\n );\n\nexport default prepareStore;\n","import { isNotEmpty, isNot, noop } from \"neetocist\";\nimport {\n HALF_A_SECOND_IN_MILLISECONDS,\n ONE_SECOND,\n ONE_SECOND_IN_MILLISECONDS,\n RECORDING_LIMIT_REACHED_WARNING_SOUND,\n SCREEN_RECORDER_STATUS,\n SCREEN_RECORDER_EVENT,\n SCREEN_RECORDER_ERROR,\n START_RECORDING_SOUND,\n STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND,\n TWO_HUNDRED_MILLISECONDS,\n ONE_MINUTE_IN_MILLISECONDS,\n RECORDING_TIME_LIMIT_FREE_PLAN,\n IS_EXTENSION,\n} from \"neetomediarecorder/constants\";\nimport { equals, not, pick } from \"ramda\";\n\nimport { MIME_TYPE } from \"src/constants\";\nimport createPrefixedLogger from \"utils/createPrefixedLogger\";\n\nimport { DISPLAY_SURFACE } from \"./constants\";\nimport prepareStore, { initialState as initialStoreState } from \"./stores\";\nimport {\n checkConstraints,\n getMediaRecorderOptions,\n getSupportedMimeType,\n isStreamEnded,\n addGainNode,\n} from \"./utils\";\n\nclass ScreenRecorder {\n #audio;\n #video;\n #videoStream;\n #mediaRecorder;\n #mediaStream;\n #store;\n #logger = createPrefixedLogger(\"[ScreenRecorder]\");\n #mediaChunks = [];\n #callbacks = {};\n #lastTimerUpdatedAt = 0;\n #timerId;\n #countdownTimerId;\n #startRecordingAudio = new Audio(START_RECORDING_SOUND);\n #recordingLimitWarningAudio = new Audio(\n RECORDING_LIMIT_REACHED_WARNING_SOUND\n );\n #stopRecordingDueToLimitReachedAudio = new Audio(\n STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND\n );\n #stream;\n #audioStream;\n #micAudioStream;\n #timeLimit = RECORDING_TIME_LIMIT_FREE_PLAN;\n #startRecordingTimeoutID;\n #enableNoiseCancellation = false;\n #showCountdown = true;\n #mimeType = getSupportedMimeType();\n\n constructor(audio, video) {\n this.#audio = audio;\n this.#video = video;\n\n this.#store = prepareStore();\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.idle });\n this.#checkCompatibility();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useRecorderStore() {\n return this.#store;\n }\n\n get timeLimit() {\n return this.#timeLimit;\n }\n\n get displaySurface() {\n const [videoTrack] = this.#mediaStream?.getVideoTracks() ?? [];\n\n return videoTrack?.getSettings().displaySurface;\n }\n\n get audioConfiguration() {\n return this.#audio;\n }\n\n set videoStream(value) {\n this.#videoStream = value;\n }\n\n setEnableNoiseCancellation = value => (this.#enableNoiseCancellation = value);\n\n setMimeType = mimeType => (this.#mimeType = mimeType);\n\n setAudioConfiguration = audio => (this.#audio = audio);\n\n setShowCountdown = showCountdown => (this.#showCountdown = showCountdown);\n\n setTimeLimit = (timeLimit = RECORDING_TIME_LIMIT_FREE_PLAN) =>\n (this.#timeLimit = timeLimit);\n\n getWebmMediaBlob = () =>\n new Blob(this.#mediaChunks, { type: this.#mimeType });\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n removeAllCallbacksByEvent = event => {\n delete this.#callbacks[event];\n };\n\n startRecording = async () => {\n this.#store.setState(pick([\"error\"], initialStoreState));\n\n if (!this.#mediaStream) {\n this.#logger.info(\"acquiring media stream\");\n await this.#acquireMediaStream();\n }\n\n if (this.#mediaStream && isStreamEnded(this.#mediaStream)) {\n this.#logger.info(\"media stream ended, acquiring media stream again\");\n await this.#acquireMediaStream();\n }\n\n if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) return;\n\n const options = getMediaRecorderOptions();\n\n this.#mediaChunks = [];\n this.#mediaRecorder = new MediaRecorder(this.#mediaStream, options);\n this.#mediaRecorder.ondataavailable = this.#onRecordingActive;\n this.#mediaRecorder.onstart = this.#onRecordingStart;\n this.#mediaRecorder.onstop = this.#onRecordingStop;\n this.#mediaRecorder.onerror = () => {\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.NoRecorder,\n });\n };\n if (this.#showCountdown) {\n this.#startCountdown();\n } else {\n this.#startMediaRecorder();\n }\n };\n\n stopRecording = () => {\n if (this.#mediaRecorder === undefined) {\n /**\n * If the permission is denied and \"Stop sharing\" overlay is clicked\n */\n this.#stopAllStreams();\n\n return;\n }\n\n if (this.#mediaRecorder?.state === \"inactive\") {\n // When recording is stopped from the 'Stop Sharing' overlay\n // before it even starts, i.e during the countdown.\n // Or if the recording is stopped before startRecordingTimeoutID timeout executes\n this.removeCallback(SCREEN_RECORDER_EVENT.onStop);\n\n clearTimeout(this.#startRecordingTimeoutID);\n clearInterval(this.#countdownTimerId);\n\n this.#stopAllStreams();\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscardDuringCountdown);\n\n return;\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.#mediaRecorder.stop();\n this.#stopAllStreams();\n\n this.#stopTimer();\n };\n\n pauseRecording = () => {\n if (this.#mediaRecorder?.state === \"recording\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.paused });\n this.#mediaRecorder.pause();\n }\n\n this.#stopTimer();\n };\n\n resumeRecording = () => {\n if (this.#mediaRecorder?.state === \"paused\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n this.#mediaRecorder.resume();\n }\n\n this.#startTimer();\n };\n\n discardRecording = () => {\n if (this.#mediaRecorder?.state === \"inactive\") return;\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n this.#stopAllStreams();\n\n clearInterval(this.#timerId);\n this.#store.setState(pick([\"elapsedTime\"], initialStoreState));\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscard);\n };\n\n restartRecording = () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n\n clearInterval(this.#timerId);\n this.#store.setState(\n pick([\"elapsedTime\", \"countdownTimeLeft\"], initialStoreState)\n );\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onRestart);\n\n this.startRecording();\n };\n\n resetState = () => {\n this.#mediaChunks = [];\n this.#callbacks = {};\n clearInterval(this.#timerId);\n clearInterval(this.#countdownTimerId);\n this.#store.getState().resetState();\n this.#checkCompatibility();\n };\n\n revokePermissions = () => {\n if (!this.#mediaRecorder) return;\n\n this.#mediaRecorder.onstop = null;\n this.#stopAllStreams();\n };\n\n #stopAllStreams = () => {\n this.#mediaStream &&\n this.#mediaStream?.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n this.#audioStream?.getAudioTracks()?.forEach(track => track.stop());\n this.#micAudioStream?.getAudioTracks()?.forEach(track => track.stop());\n };\n\n #checkCompatibility = () => {\n if (\n !navigator.mediaDevices?.getDisplayMedia ||\n !MediaRecorder?.isTypeSupported(MIME_TYPE.webmH264)\n ) {\n this.#store.setState({ error: SCREEN_RECORDER_ERROR.UnSupportedBrowser });\n }\n\n checkConstraints(this.#audio, this.#video);\n };\n\n #acquireMediaStream = async () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.acquiring_media });\n let stream;\n try {\n if (this.#audio) {\n this.#micAudioStream = await window.navigator.mediaDevices.getUserMedia(\n {\n audio: this.#audio\n ? { echoCancellation: false, ...this.#audio }\n : false,\n }\n );\n\n const audioStream = addGainNode(this.#micAudioStream, 1.75); // Increase volume by 50%\n this.#audioStream = audioStream;\n\n if (this.#enableNoiseCancellation) {\n try {\n const workletUrl = IS_EXTENSION\n ? // eslint-disable-next-line no-undef\n chrome.runtime.getURL(\"public/NoiseSuppressorWorklet.js\")\n : \"NoiseSuppressorWorklet.js\";\n\n const audioContext = new AudioContext();\n await audioContext.audioWorklet.addModule(workletUrl);\n\n const audioStreamSource =\n audioContext.createMediaStreamSource(audioStream);\n\n const destinationStream =\n audioContext.createMediaStreamDestination();\n\n const noiseSuppressorNode = new AudioWorkletNode(\n audioContext,\n \"nn-suppressor-processor\"\n );\n\n audioStreamSource.connect(noiseSuppressorNode);\n noiseSuppressorNode.connect(destinationStream);\n\n this.#audioStream = destinationStream.stream;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to load audio worklet:\", error);\n }\n }\n }\n\n if (this.#videoStream) {\n stream = this.#videoStream;\n } else {\n stream = await window.navigator.mediaDevices.getDisplayMedia({\n video: this.#video || true,\n audio: true,\n });\n }\n\n // Event triggered when the user clicks on the stop sharing overlay button\n stream.getVideoTracks()[0].addEventListener(\"ended\", () => {\n this.stopRecording();\n });\n\n const finalStream = new MediaStream();\n\n if (this.#audio && this.#audioStream) {\n if (isNotEmpty(stream.getAudioTracks())) {\n const audioContext = new AudioContext();\n\n const desktopAudio = audioContext.createMediaStreamSource(stream);\n const microphoneAudio = audioContext.createMediaStreamSource(\n this.#audioStream\n );\n\n const combinedAudio = audioContext.createMediaStreamDestination();\n\n desktopAudio.connect(combinedAudio);\n microphoneAudio.connect(combinedAudio);\n\n combinedAudio.stream\n .getAudioTracks()\n .forEach(track => finalStream.addTrack(track));\n } else {\n this.#audioStream\n .getAudioTracks()\n .forEach(track => finalStream.addTrack(track));\n }\n }\n stream.getVideoTracks().forEach(track => finalStream.addTrack(track));\n\n this.#mediaStream = finalStream;\n this.#stream = stream;\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.media_acquired });\n } catch (error) {\n if (this.#audio && !this.#audioStream) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR.MicPermissionDenied,\n status: SCREEN_RECORDER_STATUS.idle,\n });\n } else if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR[error.name],\n status: SCREEN_RECORDER_STATUS.idle,\n });\n }\n }\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #onRecordingStart = () => {\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStart);\n };\n\n #onRecordingActive = ({ data }) => {\n this.#logger.info(\"received data in onRecordingActive\");\n if (data.size <= 0) return;\n\n this.#mediaChunks.push(data);\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDataAvailable, [data]);\n };\n\n #onRecordingStop = () => {\n this.#logger.info(\"stopping recording in onRecordingStop\");\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopped });\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStop);\n\n // If mediaStream is active after stopping mediaRecorder, then that means that\n // we are restarting and not stopping.\n if (this.#mediaStream.active) {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.restarting });\n }\n };\n\n #startMediaRecorder = () => {\n this.#startRecordingTimeoutID = setTimeout(() => {\n try {\n this.#logger.info(\"starting mediaRecorder\");\n\n if (!this.#mediaRecorder) {\n this.#logger.info(\"mediaRecorder is not defined\");\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.FailedToStart,\n });\n\n return;\n }\n\n if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) {\n this.#logger.info(\"media stream ended, not starting mediaRecorder\");\n\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.FailedToStart,\n });\n\n return;\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n\n this.#mediaRecorder.start(5000);\n this.#logger.info(\"started mediaRecorder\");\n this.#startTimer();\n } catch (error) {\n this.#logger.info(\"Failed to start mediaRecorder\", error);\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.FailedToStart,\n });\n\n // To prevent triggering #onRecordingStop when the mediaRecorder is failed to start.\n if (this.#mediaRecorder) {\n this.#mediaRecorder.onstop = noop;\n }\n\n if (this.#mediaStream) {\n this.#stopAllStreams();\n this.#mediaStream = null;\n }\n this.#stream = null;\n this.#audioStream = null;\n this.#micAudioStream = null;\n this.#mediaRecorder = null;\n\n throw error;\n }\n }, HALF_A_SECOND_IN_MILLISECONDS);\n };\n\n #startCountdown = () => {\n if (this.#countdownTimerId) return;\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onCountdownStart);\n\n this.#countdownTimerId = setInterval(() => {\n this.#store.setState(({ countdownTimeLeft }) => {\n if (equals(countdownTimeLeft, ONE_SECOND) && !this.#videoStream) {\n this.#startRecordingAudio.play();\n }\n\n if (countdownTimeLeft - ONE_SECOND > 0) {\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onCountdown, [\n countdownTimeLeft - ONE_SECOND,\n ]);\n\n return { countdownTimeLeft: countdownTimeLeft - ONE_SECOND };\n }\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onCountdown, [0]);\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onCountdownEnd);\n clearInterval(this.#countdownTimerId);\n this.#countdownTimerId = null;\n this.#startMediaRecorder();\n\n return { countdownTimeLeft: 0 };\n });\n }, ONE_SECOND_IN_MILLISECONDS);\n };\n\n #startTimer = () => {\n this.#lastTimerUpdatedAt = Date.now();\n this.#timerId = setInterval(() => {\n this.#store.setState(({ elapsedTime }) => {\n const now = Date.now();\n const newElapsedTime = elapsedTime + (now - this.#lastTimerUpdatedAt);\n this.#lastTimerUpdatedAt = now;\n\n this.#checkIfTimeLimitReached(newElapsedTime);\n\n return { elapsedTime: newElapsedTime };\n });\n }, TWO_HUNDRED_MILLISECONDS);\n };\n\n #stopTimer = () => {\n clearInterval(this.#timerId);\n\n const newElapsedTime =\n this.#store.getState().elapsedTime +\n (Date.now() - this.#lastTimerUpdatedAt);\n\n this.#store.setState({ elapsedTime: newElapsedTime });\n };\n\n #checkIfTimeLimitReached = elapsedTime => {\n const oneMinuteBeforeTimeLimit =\n this.#timeLimit - ONE_MINUTE_IN_MILLISECONDS;\n\n if (elapsedTime <= oneMinuteBeforeTimeLimit) return;\n\n if (\n elapsedTime < this.#timeLimit &&\n elapsedTime > oneMinuteBeforeTimeLimit\n ) {\n not(this.#store.getState().showTimeLimitWarning) &&\n this.#recordingLimitWarningAudio.play();\n this.#store.setState({ showTimeLimitWarning: true });\n\n return;\n }\n\n this.#stopRecordingDueToLimitReachedAudio.play();\n this.stopRecording();\n };\n}\n\nconst screenRecorder = new ScreenRecorder(true, {\n displaySurface: DISPLAY_SURFACE.monitor,\n});\n\nexport default screenRecorder;\n","import { useSyncExternalStore } from \"react\";\n\nimport { getMultipartS3Uploader } from \"neetomediarecorder/core\";\n\nconst listeners = new Set();\n\nconst subscribe = listener => {\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n};\n\nconst triggerStatusChange = () => {\n listeners.forEach(listener => listener());\n};\n\nconst getSnapshot = () => getMultipartS3Uploader().status;\n\nconst useMultipartS3UploadStatus = () => {\n const status = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n return { status, isStatus: (...statuses) => statuses.includes(status) };\n};\n\nuseMultipartS3UploadStatus.triggerStatusChange = triggerStatusChange;\n\nexport default useMultipartS3UploadStatus;\n"],"names":["arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_typeof","assertClassBrand","classPrivateFieldGet2","classApplyDescriptorSet","classApplyDescriptorGet","require$$0","setPrototypeOf","assertThisInitialized","_isNativeReflectConstruct","isNativeReflectConstruct","isNativeFunction","construct","getPrototypeOf","TOTAL_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","HAS_CHROME_NAMESPACE","chrome","isNotNil","extension","platform","name","MIME_TYPE","mp4","webmH264","sleep","delay","Promise","resolve","setTimeout","RetryError","_Error","_inherits","_super","_createSuper","message","_classCallCheck","call","_createClass","_wrapNativeSuper","Error","buildRetryableApi","apiConnector","_ref","arguments","length","undefined","_ref$retries","_ref$retryDelay","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","apiConnectorArgs","_config$signal","_apiConnectorArgs$con","config","remainingAttempts","shouldCancelRetries","_error$config","_error$response","_error$response2","wrap","_callee$","_context","prev","next","signal","addEventListener","abrupt","sent","t0","logger","error","url","response","status","info","min","stop","_x","apply","create","recordingId","payload","axios","post","concat","abortUpload","retryableCreate","abortUploadApi","completeUpload","completeUploadApi","partPresignedUrl","partPresignedUrlApi","getUnSupportedConstraints","mediaType","supportedMediaConstraints","navigator","mediaDevices","getSupportedConstraints","Object","keys","filter","constraint","checkConstraints","isNil","_len","mediaTypes","Array","_key","unSupportedConstraints","map","flat","isNotEmpty","console","join","isStreamEnded","mediaStream","existsBy","readyState","getTracks","getSupportedMimeType","getMediaRecorderOptions","mimeType","addGainNode","audioStream","gain","audioContext","AudioContext","audioStreamSource","createMediaStreamSource","destinationStream","createMediaStreamDestination","gainNode","createGain","value","connect","stream","s3AxiosInstance","headers","interceptors","use","identity","isCancel","reject","presignedUpload","presignedUrl","blob","put","retryablePresignedUpload","s3Api","isMp4Supported","includes","createPrefixedLogger","prefix","_logger","args","_logger2","_len2","_key2","warn","_logger3","_len3","_key3","debug","_logger4","_len4","_key4","isNotCancelledRequest","resolvedResponse","calculateUploadProgress","uploadProgress","total","values","reduce","sum","part","uploaded","Math","round","_recordingId","WeakMap","_uploadId","_unUploadedChunks","_partNumber","_s3PartUploadPromises","_callbacks","_abortController","_pendingS3ChunkUploads","_completeUploadPromise","_failedUpload","_uploadProgress","_status","_id","_mimeType","_status2","_fireCallbacks","_handleChunkUploadError","_uploadChunkToS","_getCurrentUnUploadedBlob","_isRecordingNotSet","MultipartS3Uploader","_this","_classPrivateFieldInitSpec","get","_get_isRecordingNotSet","set","_set_status","_defineProperty","writable","uuidv4","_classPrivateFieldGet","_classPrivateFieldSet","uploadId","AbortController","data","size","push","MIN_UPLOAD_CHUNK_SIZE","uploadChunkToS3Promise","parts","sessionLogs","_classPrivateFieldGet2","isMp4","logs","resolvedS3PartUploadPromises","UPLOAD_STATUS","uploading","all","UPLOAD_EVENT","onError","insufficient_data","etag","partNumber","URL","request","responseURL","searchParams","toSorted","a","b","Number","completeUploadNotifyServer","aborting","completed","onComplete","finish","_callee2","forceAbort","_args2","_callee2$","_context2","abort","onAbort","event","callback","_classPrivateFieldGet3","existingCallbacks","_objectSpread","_toConsumableArray","_classPrivateFieldGet4","registeredCallbacks","updatedCallbacks","isNot","_classPrivateFieldGet5","forEach","_classPrivateFieldGet6","_value","_callee3","chunks","_this$partNumber","_classPrivateFieldGet7","_yield$_this$generate","s3PartUploadPromise","_callee3$","_context3","Blob","type","generatePreSignedUrl","includeMetadataInResponse","onUploadProgress","e","loaded","percentCompleted","onProgress","_x2","key","useMultipartS3UploadStatus","triggerStatusChange","isEmpty","multipartS3Uploader","getMultipartS3Uploader","_ref3","_ref3$initialize","initialize","arrayWithHoles","iterableToArrayLimit","nonIterableRest","DISPLAY_SURFACE","monitor","window","browser","initialState","SCREEN_RECORDER_STATUS","idle","elapsedTime","countdownTimeLeft","showTimeLimitWarning","prepareStore","withImmutableActions","resetState","_audio","_video","_videoStream","_mediaRecorder","_mediaStream","_store","_mediaChunks","_lastTimerUpdatedAt","_timerId","_countdownTimerId","_startRecordingAudio","_recordingLimitWarningAudio","_stopRecordingDueToLimitReachedAudio","_stream","_audioStream","_micAudioStream","_timeLimit","_startRecordingTimeoutID","_enableNoiseCancellation","_showCountdown","_stopAllStreams","_checkCompatibility","_acquireMediaStream","_onRecordingStart","_onRecordingActive","_onRecordingStop","_startMediaRecorder","_startCountdown","_startTimer","_stopTimer","_checkIfTimeLimitReached","ScreenRecorder","audio","video","Audio","START_RECORDING_SOUND","RECORDING_LIMIT_REACHED_WARNING_SOUND","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND","RECORDING_TIME_LIMIT_FREE_PLAN","showCountdown","timeLimit","options","setState","pick","initialStoreState","MediaRecorder","ondataavailable","onstart","onstop","onerror","SCREEN_RECORDER_ERROR","NoRecorder","state","removeCallback","SCREEN_RECORDER_EVENT","onStop","clearTimeout","clearInterval","onDiscardDuringCountdown","stopping","paused","pause","recording","resume","removeAllCallbacksByEvent","onDiscard","onRestart","startRecording","getState","_classPrivateFieldGet8","_classPrivateFieldGet9","_classPrivateFieldGet10","_classPrivateFieldGet11","_classPrivateFieldGet12","_classPrivateFieldGet13","track","getAudioTracks","_navigator$mediaDevic","_MediaRecorder","getDisplayMedia","isTypeSupported","UnSupportedBrowser","workletUrl","noiseSuppressorNode","finalStream","_audioContext","desktopAudio","microphoneAudio","combinedAudio","acquiring_media","t1","t2","getUserMedia","echoCancellation","t3","IS_EXTENSION","runtime","getURL","audioWorklet","addModule","AudioWorkletNode","t4","getVideoTracks","stopRecording","MediaStream","addTrack","media_acquired","t5","MicPermissionDenied","_classPrivateFieldGet14","onStart","onDataAvailable","stopped","active","restarting","FailedToStart","start","noop","HALF_A_SECOND_IN_MILLISECONDS","onCountdownStart","setInterval","equals","ONE_SECOND","play","onCountdown","onCountdownEnd","ONE_SECOND_IN_MILLISECONDS","Date","now","_ref4","newElapsedTime","TWO_HUNDRED_MILLISECONDS","oneMinuteBeforeTimeLimit","ONE_MINUTE_IN_MILLISECONDS","not","_classPrivateFieldGet15","_classPrivateFieldGet16","_ref5","_ref6","_slicedToArray","videoTrack","getSettings","displaySurface","screenRecorder","listeners","Set","subscribe","listener","add","getSnapshot","useSyncExternalStore","isStatus","statuses"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,47,48,49,50]}
|
package/package.json
CHANGED