botframework-directlinejs 0.15.2-master.8f2b9c8 → 0.15.2
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/dist/directline.js +1 -1
- package/dist/stats.json +30 -30
- package/lib/directLine.js +1 -1
- package/lib/directLineStreaming.js +22 -12
- package/package.json +3 -3
package/dist/stats.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"hash": "
|
|
3
|
-
"version": "5.
|
|
2
|
+
"hash": "1c74b921c4ab1dfcf678",
|
|
3
|
+
"version": "5.76.2",
|
|
4
4
|
"time": null,
|
|
5
5
|
"publicPath": "auto",
|
|
6
6
|
"outputPath": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/dist",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
{
|
|
14
14
|
"type": "asset",
|
|
15
15
|
"name": "directline.js",
|
|
16
|
-
"size":
|
|
16
|
+
"size": 301828,
|
|
17
17
|
"emitted": false,
|
|
18
18
|
"comparedForEmit": false,
|
|
19
19
|
"cached": true,
|
|
@@ -65,9 +65,9 @@
|
|
|
65
65
|
"initial": true,
|
|
66
66
|
"entry": true,
|
|
67
67
|
"recorded": false,
|
|
68
|
-
"size":
|
|
68
|
+
"size": 1047961,
|
|
69
69
|
"sizes": {
|
|
70
|
-
"javascript":
|
|
70
|
+
"javascript": 1047045,
|
|
71
71
|
"runtime": 916
|
|
72
72
|
},
|
|
73
73
|
"names": [
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"directline.js"
|
|
82
82
|
],
|
|
83
83
|
"auxiliaryFiles": [],
|
|
84
|
-
"hash": "
|
|
84
|
+
"hash": "19a60fc0ecadb2f28bb6",
|
|
85
85
|
"childrenByOrder": {},
|
|
86
86
|
"id": 884,
|
|
87
87
|
"siblings": [],
|
|
@@ -160,9 +160,9 @@
|
|
|
160
160
|
"type": "module",
|
|
161
161
|
"moduleType": "javascript/auto",
|
|
162
162
|
"layer": null,
|
|
163
|
-
"size":
|
|
163
|
+
"size": 117717,
|
|
164
164
|
"sizes": {
|
|
165
|
-
"javascript":
|
|
165
|
+
"javascript": 117717
|
|
166
166
|
},
|
|
167
167
|
"built": true,
|
|
168
168
|
"codeGenerated": true,
|
|
@@ -251,9 +251,9 @@
|
|
|
251
251
|
"type": "module",
|
|
252
252
|
"moduleType": "javascript/auto",
|
|
253
253
|
"layer": null,
|
|
254
|
-
"size":
|
|
254
|
+
"size": 63580,
|
|
255
255
|
"sizes": {
|
|
256
|
-
"javascript":
|
|
256
|
+
"javascript": 63580
|
|
257
257
|
},
|
|
258
258
|
"built": true,
|
|
259
259
|
"codeGenerated": true,
|
|
@@ -3182,9 +3182,9 @@
|
|
|
3182
3182
|
"type": "module",
|
|
3183
3183
|
"moduleType": "javascript/auto",
|
|
3184
3184
|
"layer": null,
|
|
3185
|
-
"size":
|
|
3185
|
+
"size": 429614,
|
|
3186
3186
|
"sizes": {
|
|
3187
|
-
"javascript":
|
|
3187
|
+
"javascript": 429614
|
|
3188
3188
|
},
|
|
3189
3189
|
"built": true,
|
|
3190
3190
|
"codeGenerated": true,
|
|
@@ -12850,8 +12850,8 @@
|
|
|
12850
12850
|
"optional": false,
|
|
12851
12851
|
"orphan": false,
|
|
12852
12852
|
"dependent": true,
|
|
12853
|
-
"issuer": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/node_modules/core-js/internals/object-
|
|
12854
|
-
"issuerName": "./node_modules/core-js/internals/object-
|
|
12853
|
+
"issuer": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/node_modules/core-js/internals/object-create.js",
|
|
12854
|
+
"issuerName": "./node_modules/core-js/internals/object-create.js",
|
|
12855
12855
|
"issuerPath": [
|
|
12856
12856
|
{
|
|
12857
12857
|
"identifier": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/lib/directLine.js",
|
|
@@ -12874,16 +12874,16 @@
|
|
|
12874
12874
|
"id": 9170
|
|
12875
12875
|
},
|
|
12876
12876
|
{
|
|
12877
|
-
"identifier": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/node_modules/core-js/internals/object-
|
|
12878
|
-
"name": "./node_modules/core-js/internals/object-
|
|
12879
|
-
"id":
|
|
12877
|
+
"identifier": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/node_modules/core-js/internals/object-create.js",
|
|
12878
|
+
"name": "./node_modules/core-js/internals/object-create.js",
|
|
12879
|
+
"id": 30
|
|
12880
12880
|
}
|
|
12881
12881
|
],
|
|
12882
12882
|
"failed": false,
|
|
12883
12883
|
"errors": 0,
|
|
12884
12884
|
"warnings": 0,
|
|
12885
12885
|
"id": 6200,
|
|
12886
|
-
"issuerId":
|
|
12886
|
+
"issuerId": 30,
|
|
12887
12887
|
"chunks": [
|
|
12888
12888
|
884
|
|
12889
12889
|
],
|
|
@@ -26183,9 +26183,9 @@
|
|
|
26183
26183
|
"type": "module",
|
|
26184
26184
|
"moduleType": "javascript/auto",
|
|
26185
26185
|
"layer": null,
|
|
26186
|
-
"size":
|
|
26186
|
+
"size": 117717,
|
|
26187
26187
|
"sizes": {
|
|
26188
|
-
"javascript":
|
|
26188
|
+
"javascript": 117717
|
|
26189
26189
|
},
|
|
26190
26190
|
"built": true,
|
|
26191
26191
|
"codeGenerated": true,
|
|
@@ -29293,9 +29293,9 @@
|
|
|
29293
29293
|
"type": "module",
|
|
29294
29294
|
"moduleType": "javascript/auto",
|
|
29295
29295
|
"layer": null,
|
|
29296
|
-
"size":
|
|
29296
|
+
"size": 63580,
|
|
29297
29297
|
"sizes": {
|
|
29298
|
-
"javascript":
|
|
29298
|
+
"javascript": 63580
|
|
29299
29299
|
},
|
|
29300
29300
|
"built": true,
|
|
29301
29301
|
"codeGenerated": true,
|
|
@@ -32413,9 +32413,9 @@
|
|
|
32413
32413
|
"type": "module",
|
|
32414
32414
|
"moduleType": "javascript/auto",
|
|
32415
32415
|
"layer": null,
|
|
32416
|
-
"size":
|
|
32416
|
+
"size": 429614,
|
|
32417
32417
|
"sizes": {
|
|
32418
|
-
"javascript":
|
|
32418
|
+
"javascript": 429614
|
|
32419
32419
|
},
|
|
32420
32420
|
"built": true,
|
|
32421
32421
|
"codeGenerated": true,
|
|
@@ -48014,8 +48014,8 @@
|
|
|
48014
48014
|
"cacheable": true,
|
|
48015
48015
|
"optional": false,
|
|
48016
48016
|
"orphan": false,
|
|
48017
|
-
"issuer": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/node_modules/core-js/internals/object-
|
|
48018
|
-
"issuerName": "./node_modules/core-js/internals/object-
|
|
48017
|
+
"issuer": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/node_modules/core-js/internals/object-create.js",
|
|
48018
|
+
"issuerName": "./node_modules/core-js/internals/object-create.js",
|
|
48019
48019
|
"issuerPath": [
|
|
48020
48020
|
{
|
|
48021
48021
|
"identifier": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/lib/directLine.js",
|
|
@@ -48038,16 +48038,16 @@
|
|
|
48038
48038
|
"id": 9170
|
|
48039
48039
|
},
|
|
48040
48040
|
{
|
|
48041
|
-
"identifier": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/node_modules/core-js/internals/object-
|
|
48042
|
-
"name": "./node_modules/core-js/internals/object-
|
|
48043
|
-
"id":
|
|
48041
|
+
"identifier": "/home/runner/work/BotFramework-DirectLineJS/BotFramework-DirectLineJS/node_modules/core-js/internals/object-create.js",
|
|
48042
|
+
"name": "./node_modules/core-js/internals/object-create.js",
|
|
48043
|
+
"id": 30
|
|
48044
48044
|
}
|
|
48045
48045
|
],
|
|
48046
48046
|
"failed": false,
|
|
48047
48047
|
"errors": 0,
|
|
48048
48048
|
"warnings": 0,
|
|
48049
48049
|
"id": 6200,
|
|
48050
|
-
"issuerId":
|
|
48050
|
+
"issuerId": 30,
|
|
48051
48051
|
"chunks": [
|
|
48052
48052
|
884
|
|
48053
48053
|
],
|
package/lib/directLine.js
CHANGED
|
@@ -757,7 +757,7 @@ var DirectLine = /*#__PURE__*/function () {
|
|
|
757
757
|
clientAgent += "; ".concat(customAgent);
|
|
758
758
|
}
|
|
759
759
|
|
|
760
|
-
return "".concat(DIRECT_LINE_VERSION, " (").concat(clientAgent, " ").concat("0.15.2
|
|
760
|
+
return "".concat(DIRECT_LINE_VERSION, " (").concat(clientAgent, " ").concat("0.15.2", ")");
|
|
761
761
|
}
|
|
762
762
|
}, {
|
|
763
763
|
key: "setUserId",
|
|
@@ -724,7 +724,7 @@ var DirectLineStreaming = /*#__PURE__*/function () {
|
|
|
724
724
|
|
|
725
725
|
case 1:
|
|
726
726
|
if (!(numRetries > 0)) {
|
|
727
|
-
_context10.next =
|
|
727
|
+
_context10.next = 26;
|
|
728
728
|
break;
|
|
729
729
|
}
|
|
730
730
|
|
|
@@ -737,10 +737,20 @@ var DirectLineStreaming = /*#__PURE__*/function () {
|
|
|
737
737
|
|
|
738
738
|
case 8:
|
|
739
739
|
res = _context10.sent;
|
|
740
|
+
|
|
741
|
+
if (!(this.connectionStatus$.getValue() === _directLine.ConnectionStatus.Ended)) {
|
|
742
|
+
_context10.next = 12;
|
|
743
|
+
break;
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
console.warn('Connection end');
|
|
747
|
+
return _context10.abrupt("break", 26);
|
|
748
|
+
|
|
749
|
+
case 12:
|
|
740
750
|
console.warn("Retrying connection ".concat(res));
|
|
741
751
|
|
|
742
752
|
if (!(60000 < Date.now() - start)) {
|
|
743
|
-
_context10.next =
|
|
753
|
+
_context10.next = 16;
|
|
744
754
|
break;
|
|
745
755
|
}
|
|
746
756
|
|
|
@@ -749,32 +759,32 @@ var DirectLineStreaming = /*#__PURE__*/function () {
|
|
|
749
759
|
numRetries = MAX_RETRY_COUNT;
|
|
750
760
|
return _context10.abrupt("continue", 1);
|
|
751
761
|
|
|
752
|
-
case
|
|
753
|
-
_context10.next =
|
|
762
|
+
case 16:
|
|
763
|
+
_context10.next = 22;
|
|
754
764
|
break;
|
|
755
765
|
|
|
756
|
-
case
|
|
757
|
-
_context10.prev =
|
|
766
|
+
case 18:
|
|
767
|
+
_context10.prev = 18;
|
|
758
768
|
_context10.t0 = _context10["catch"](4);
|
|
759
769
|
console.error("Failed to connect ".concat(_context10.t0));
|
|
760
770
|
throw _context10.t0;
|
|
761
771
|
|
|
762
|
-
case
|
|
763
|
-
_context10.next =
|
|
772
|
+
case 22:
|
|
773
|
+
_context10.next = 24;
|
|
764
774
|
return new Promise(function (r) {
|
|
765
775
|
return setTimeout(r, _this7.getRetryDelay());
|
|
766
776
|
});
|
|
767
777
|
|
|
768
|
-
case
|
|
778
|
+
case 24:
|
|
769
779
|
_context10.next = 1;
|
|
770
780
|
break;
|
|
771
781
|
|
|
772
|
-
case
|
|
782
|
+
case 26:
|
|
773
783
|
case "end":
|
|
774
784
|
return _context10.stop();
|
|
775
785
|
}
|
|
776
786
|
}
|
|
777
|
-
}, _callee10, this, [[4,
|
|
787
|
+
}, _callee10, this, [[4, 18]]);
|
|
778
788
|
}));
|
|
779
789
|
|
|
780
790
|
function connectWithRetryAsync() {
|
|
@@ -794,4 +804,4 @@ var DirectLineStreaming = /*#__PURE__*/function () {
|
|
|
794
804
|
}();
|
|
795
805
|
|
|
796
806
|
exports.DirectLineStreaming = DirectLineStreaming;
|
|
797
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RMaW5lU3RyZWFtaW5nLnRzIl0sIm5hbWVzIjpbIkRJUkVDVF9MSU5FX1ZFUlNJT04iLCJNQVhfUkVUUllfQ09VTlQiLCJyZWZyZXNoVG9rZW5MaWZldGltZSIsInRpbWVvdXQiLCJyZWZyZXNoVG9rZW5JbnRlcnZhbCIsIlN0cmVhbUhhbmRsZXIiLCJzIiwiYyQiLCJzcSIsInN1YnNjcmliZXIiLCJjb25uZWN0aW9uU3RhdHVzJCIsInNob3VsZFF1ZXVlIiwicmVxdWVzdCIsImxvZ2dlciIsInN0cmVhbXMiLCJzdHJlYW0wIiwic2hpZnQiLCJyZWFkQXNTdHJpbmciLCJhY3Rpdml0eVNldEpzb24iLCJhY3Rpdml0eVNldCIsIkpTT04iLCJwYXJzZSIsImFjdGl2aXRpZXMiLCJsZW5ndGgiLCJlcnJvciIsIkVycm9yIiwiQkZTRSIsIlN0cmVhbWluZ1Jlc3BvbnNlIiwiY3JlYXRlIiwiYWN0aXZpdHkiLCJhdHRhY2htZW50cyIsInN0cmVhbSIsImF0dGFjaG1lbnQiLCJkYXRhVXJpIiwicHVzaCIsImNvbnRlbnRUeXBlIiwiY29udGVudFVybCIsImFjdGl2aXR5UXVldWUiLCJuZXh0Iiwic3Vic2NyaWJlIiwiY3MiLCJmb3JFYWNoIiwiYSIsIkRpcmVjdExpbmVTdHJlYW1pbmciLCJvcHRpb25zIiwiQmVoYXZpb3JTdWJqZWN0IiwiQ29ubmVjdGlvblN0YXR1cyIsIlVuaW5pdGlhbGl6ZWQiLCJ0b2tlbiIsInJlZnJlc2hUb2tlbiIsImRvbWFpbiIsImNvbnZlcnNhdGlvbklkIiwiX2JvdEFnZW50IiwiZ2V0Qm90QWdlbnQiLCJib3RBZ2VudCIsInF1ZXVlQWN0aXZpdGllcyIsImFjdGl2aXR5JCIsIk9ic2VydmFibGUiLCJhY3Rpdml0eVN1YnNjcmliZXIiLCJ0aGVTdHJlYW1IYW5kbGVyIiwiY29ubmVjdFdpdGhSZXRyeUFzeW5jIiwic2hhcmUiLCJjb25uZWN0QXN5bmMiLCJFbmRlZCIsInN0cmVhbUNvbm5lY3Rpb24iLCJkaXNjb25uZWN0IiwiY3VzdG9tQWdlbnQiLCJjbGllbnRBZ2VudCIsImZpcnN0Q2FsbCIsInJldHJ5Q291bnQiLCJ3YWl0VW50aWxPbmxpbmUiLCJudW1iZXJPZkF0dGVtcHRzIiwiUHJvbWlzZSIsInIiLCJzZXRUaW1lb3V0IiwibWV0aG9kIiwiaGVhZGVycyIsImNvbW1vbkhlYWRlcnMiLCJyZXMiLCJvayIsImpzb24iLCJzdGF0dXMiLCJjb25zb2xlIiwic3RhdHVzVGV4dCIsIndhcm4iLCJ0eXBlIiwicG9zdE1lc3NhZ2VXaXRoQXR0YWNobWVudHMiLCJyZXNwJCIsIlN0cmVhbWluZ1JlcXVlc3QiLCJzZXRCb2R5Iiwic3RyaW5naWZ5Iiwic2VuZCIsInJlc3AiLCJzdGF0dXNDb2RlIiwibnVtYmVyT2ZTdHJlYW1zIiwiaWRTdHJpbmciLCJpZCIsIklkIiwibWVzc2FnZSIsIm1lc3NhZ2VXaXRob3V0QXR0YWNobWVudHMiLCJodHRwQ29udGVudExpc3QiLCJhbGwiLCJtYXAiLCJtZWRpYSIsImFycmF5QnVmZmVyIiwiYXJyYXlCdWZmZXJzIiwiYnVmZmVyIiwiQnVmZmVyIiwiZnJvbSIsImxvZyIsIlN1YnNjcmliYWJsZVN0cmVhbSIsIndyaXRlIiwiaHR0cENvbnRlbnQiLCJIdHRwQ29udGVudCIsImNvbnRlbnRMZW5ndGgiLCJ1cmwiLCJhY3Rpdml0eVN0cmVhbSIsImFkZFN0cmVhbSIsImUiLCJyZWFkQXNKc29uIiwicmVzb2x2ZSIsInJlamVjdCIsIk9ubGluZSIsInJlIiwiUmVnRXhwIiwidGVzdCIsInBhcmFtcyIsInVybFNlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsInRvU3RyaW5nIiwid3NVcmwiLCJyZXBsYWNlIiwiV2ViU29ja2V0Q2xpZW50IiwicmVxdWVzdEhhbmRsZXIiLCJkaXNjb25uZWN0aW9uSGFuZGxlciIsImNvbm5lY3QiLCJyZXNwb25zZSIsInJlc3BvbnNlU3RyaW5nIiwiY29udmVyc2F0aW9uIiwiZmx1c2giLCJudW1SZXRyaWVzIiwic3RhcnQiLCJEYXRlIiwi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QUFHSUEsZ0JBQUFBLFVBQVU7QUFDSkMsZ0JBQUFBLEtBSlYsR0FJa0JDLElBQUksQ0FBQ0MsR0FBTCxFQUpsQjtBQUFBO0FBTU0scUJBQUtySSxpQkFBTCxDQUF1QjRCLElBQXZCLENBQTRCUSw2QkFBaUJrRyxVQUE3QztBQU5OO0FBQUEsdUJBT3dCLEtBQUtsRixZQUFMLEVBUHhCOztBQUFBO0FBT1lnQixnQkFBQUEsR0FQWjtBQVFNSSxnQkFBQUEsT0FBTyxDQUFDRSxJQUFSLCtCQUFvQ04sR0FBcEM7O0FBUk4sc0JBU1UsUUFBUWdFLElBQUksQ0FBQ0MsR0FBTCxLQUFhRixLQVQvQjtBQUFBO0FBQUE7QUFBQTs7QUFVUTtBQUNBO0FBQ0FELGdCQUFBQSxVQUFVLEdBQUczSSxlQUFiO0FBWlI7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQWdCTWlGLGdCQUFBQSxPQUFPLENBQUMxRCxLQUFSO0FBaEJOOztBQUFBO0FBQUE7QUFBQSx1QkFvQlUsSUFBSWdELE9BQUosQ0FBWSxVQUFBQyxDQUFDO0FBQUEseUJBQUlDLFVBQVUsQ0FBQ0QsQ0FBRCxFQUFJLE1BQUksQ0FBQ3dFLGFBQUwsRUFBSixDQUFkO0FBQUEsaUJBQWIsQ0FwQlY7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE87Ozs7Ozs7UUF3QkE7Ozs7V0FDQSx5QkFBd0I7QUFDdEIsYUFBT0MsSUFBSSxDQUFDQyxLQUFMLENBQVcsT0FBT0QsSUFBSSxDQUFDRSxNQUFMLEtBQWdCLEtBQWxDLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEluIG9yZGVyIHRvIGtlZXAgZmlsZSBzaXplIGRvd24sIG9ubHkgaW1wb3J0IHRoZSBwYXJ0cyBvZiByeGpzIHRoYXQgd2UgdXNlXG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMvQmVoYXZpb3JTdWJqZWN0JztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICdyeGpzL1N1YnNjcmliZXInO1xuaW1wb3J0ICogYXMgQkZTRSBmcm9tICdib3RmcmFtZXdvcmstc3RyZWFtaW5nJztcbmltcG9ydCBmZXRjaCBmcm9tICdjcm9zcy1mZXRjaCc7XG5cbmltcG9ydCB7XG4gIEFjdGl2aXR5LFxuICBDb25uZWN0aW9uU3RhdHVzLFxuICBDb252ZXJzYXRpb24sXG4gIElCb3RDb25uZWN0aW9uLFxuICBNZWRpYSxcbiAgTWVzc2FnZVxufSBmcm9tICcuL2RpcmVjdExpbmUnO1xuXG5jb25zdCBESVJFQ1RfTElORV9WRVJTSU9OID0gJ0RpcmVjdExpbmUvMy4wJztcbmNvbnN0IE1BWF9SRVRSWV9DT1VOVCA9IDM7XG5jb25zdCByZWZyZXNoVG9rZW5MaWZldGltZSA9IDMwICogNjAgKiAxMDAwO1xuLy9jb25zdCByZWZyZXNoVG9rZW5MaWZldGltZSA9IDUwMDA7XG5jb25zdCB0aW1lb3V0ID0gMjAgKiAxMDAwO1xuY29uc3QgcmVmcmVzaFRva2VuSW50ZXJ2YWwgPSByZWZyZXNoVG9rZW5MaWZldGltZSAvIDI7XG5cbmludGVyZmFjZSBEaXJlY3RMaW5lU3RyZWFtaW5nT3B0aW9ucyB7XG4gIHRva2VuOiBzdHJpbmcsXG4gIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nLFxuICBkb21haW46IHN0cmluZyxcbiAgLy8gQXR0YWNoZWQgdG8gYWxsIHJlcXVlc3RzIHRvIGlkZW50aWZ5IHJlcXVlc3RpbmcgYWdlbnQuXG4gIGJvdEFnZW50Pzogc3RyaW5nXG59XG5cbmNsYXNzIFN0cmVhbUhhbmRsZXIgaW1wbGVtZW50cyBCRlNFLlJlcXVlc3RIYW5kbGVyIHtcbiAgcHJpdmF0ZSBjb25uZWN0aW9uU3RhdHVzJDtcbiAgcHJpdmF0ZSBzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPEFjdGl2aXR5PjtcbiAgcHJpdmF0ZSBzaG91bGRRdWV1ZTogKCkgPT4gYm9vbGVhbjtcbiAgcHJpdmF0ZSBhY3Rpdml0eVF1ZXVlOiBBcnJheTxBY3Rpdml0eT4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihzOiBTdWJzY3JpYmVyPEFjdGl2aXR5PiwgYyQ6IE9ic2VydmFibGU8Q29ubmVjdGlvblN0YXR1cz4sIHNxOiAoKSA9PiBib29sZWFuKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVyID0gcztcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkID0gYyQ7XG4gICAgdGhpcy5zaG91bGRRdWV1ZSA9IHNxO1xuICB9XG5cbiAgcHVibGljIHNldFN1YnNjcmliZXIoczogU3Vic2NyaWJlcjxBY3Rpdml0eT4pIHtcbiAgICB0aGlzLnN1YnNjcmliZXIgPSBzO1xuICB9XG5cbiAgYXN5bmMgcHJvY2Vzc1JlcXVlc3QocmVxdWVzdDogQkZTRS5JUmVjZWl2ZVJlcXVlc3QsIGxvZ2dlcj86IGFueSk6IFByb21pc2U8QkZTRS5TdHJlYW1pbmdSZXNwb25zZT4ge1xuICAgIGNvbnN0IHN0cmVhbXMgPSBbLi4ucmVxdWVzdC5zdHJlYW1zXTtcbiAgICBjb25zdCBzdHJlYW0wID0gc3RyZWFtcy5zaGlmdCgpO1xuICAgIGNvbnN0IGFjdGl2aXR5U2V0SnNvbiA9IGF3YWl0IHN0cmVhbTAucmVhZEFzU3RyaW5nKCk7XG4gICAgY29uc3QgYWN0aXZpdHlTZXQgPSBKU09OLnBhcnNlKGFjdGl2aXR5U2V0SnNvbik7XG5cbiAgICBpZiAoYWN0aXZpdHlTZXQuYWN0aXZpdGllcy5sZW5ndGggIT09IDEpIHtcbiAgICAgIC8vIE9ubHkgb25lIGFjdGl2aXR5IGlzIGV4cGVjdGVkIGluIGEgc2V0IGluIHN0cmVhbWluZ1xuICAgICAgdGhpcy5zdWJzY3JpYmVyLmVycm9yKG5ldyBFcnJvcigndGhlcmUgc2hvdWxkIGJlIGV4YWN0bHkgb25lIGFjdGl2aXR5JykpO1xuICAgICAgcmV0dXJuIEJGU0UuU3RyZWFtaW5nUmVzcG9uc2UuY3JlYXRlKDUwMCk7XG4gICAgfVxuXG4gICAgY29uc3QgYWN0aXZpdHkgPSBhY3Rpdml0eVNldC5hY3Rpdml0aWVzWzBdO1xuXG4gICAgaWYgKHN0cmVhbXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgYXR0YWNobWVudHMgPSBbLi4uYWN0aXZpdHkuYXR0YWNobWVudHNdO1xuXG4gICAgICBsZXQgc3RyZWFtOiBCRlNFLkNvbnRlbnRTdHJlYW07XG4gICAgICB3aGlsZSAoc3RyZWFtID0gc3RyZWFtcy5zaGlmdCgpKSB7XG4gICAgICAgIGNvbnN0IGF0dGFjaG1lbnQgPSBhd2FpdCBzdHJlYW0ucmVhZEFzU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IGRhdGFVcmkgPSBcImRhdGE6dGV4dC9wbGFpbjtiYXNlNjQsXCIgKyBhdHRhY2htZW50O1xuICAgICAgICBhdHRhY2htZW50cy5wdXNoKHsgY29udGVudFR5cGU6IHN0cmVhbS5jb250ZW50VHlwZSwgY29udGVudFVybDogZGF0YVVyaSB9KTtcbiAgICAgIH1cblxuICAgICAgYWN0aXZpdHkuYXR0YWNobWVudHMgPSBhdHRhY2htZW50cztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaG91bGRRdWV1ZSgpKSB7XG4gICAgICB0aGlzLmFjdGl2aXR5UXVldWUucHVzaChhY3Rpdml0eSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlci5uZXh0KGFjdGl2aXR5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gQkZTRS5TdHJlYW1pbmdSZXNwb25zZS5jcmVhdGUoMjAwKTtcbiAgfVxuXG4gIHB1YmxpYyBmbHVzaCgpIHtcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLnN1YnNjcmliZShjcyA9PiB7IH0pXG4gICAgdGhpcy5hY3Rpdml0eVF1ZXVlLmZvckVhY2goKGEpID0+IHRoaXMuc3Vic2NyaWJlci5uZXh0KGEpKTtcbiAgICB0aGlzLmFjdGl2aXR5UXVldWUgPSBbXTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGlyZWN0TGluZVN0cmVhbWluZyBpbXBsZW1lbnRzIElCb3RDb25uZWN0aW9uIHtcbiAgcHVibGljIGNvbm5lY3Rpb25TdGF0dXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChDb25uZWN0aW9uU3RhdHVzLlVuaW5pdGlhbGl6ZWQpO1xuICBwdWJsaWMgYWN0aXZpdHkkOiBPYnNlcnZhYmxlPEFjdGl2aXR5PjtcblxuICBwcml2YXRlIGFjdGl2aXR5U3Vic2NyaWJlcjogU3Vic2NyaWJlcjxBY3Rpdml0eT47XG4gIHByaXZhdGUgdGhlU3RyZWFtSGFuZGxlcjogU3RyZWFtSGFuZGxlcjtcblxuICBwcml2YXRlIGRvbWFpbjogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29udmVyc2F0aW9uSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSB0b2tlbjogc3RyaW5nO1xuICBwcml2YXRlIHN0cmVhbUNvbm5lY3Rpb246IEJGU0UuV2ViU29ja2V0Q2xpZW50O1xuICBwcml2YXRlIHF1ZXVlQWN0aXZpdGllczogYm9vbGVhbjtcblxuICBwcml2YXRlIF9ib3RBZ2VudCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IERpcmVjdExpbmVTdHJlYW1pbmdPcHRpb25zKSB7XG4gICAgdGhpcy50b2tlbiA9IG9wdGlvbnMudG9rZW47XG5cbiAgICB0aGlzLnJlZnJlc2hUb2tlbigpO1xuXG4gICAgdGhpcy5kb21haW4gPSBvcHRpb25zLmRvbWFpbjtcblxuICAgIGlmIChvcHRpb25zLmNvbnZlcnNhdGlvbklkKSB7XG4gICAgICB0aGlzLmNvbnZlcnNhdGlvbklkID0gb3B0aW9ucy5jb252ZXJzYXRpb25JZDtcbiAgICB9XG5cbiAgICB0aGlzLl9ib3RBZ2VudCA9IHRoaXMuZ2V0Qm90QWdlbnQob3B0aW9ucy5ib3RBZ2VudCk7XG5cbiAgICB0aGlzLnF1ZXVlQWN0aXZpdGllcyA9IHRydWU7XG4gICAgdGhpcy5hY3Rpdml0eSQgPSBPYnNlcnZhYmxlLmNyZWF0ZShhc3luYyAoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxBY3Rpdml0eT4pID0+IHtcbiAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpYmVyID0gc3Vic2NyaWJlcjtcbiAgICAgIHRoaXMudGhlU3RyZWFtSGFuZGxlciA9IG5ldyBTdHJlYW1IYW5kbGVyKHN1YnNjcmliZXIsIHRoaXMuY29ubmVjdGlvblN0YXR1cyQsICgpID0+IHRoaXMucXVldWVBY3Rpdml0aWVzKTtcbiAgICAgIHRoaXMuY29ubmVjdFdpdGhSZXRyeUFzeW5jKCk7XG4gICAgfSkuc2hhcmUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWNvbm5lY3QoeyBjb252ZXJzYXRpb25JZCwgdG9rZW4gfSA6IENvbnZlcnNhdGlvbikge1xuICAgIHRoaXMuY29udmVyc2F0aW9uSWQgPSBjb252ZXJzYXRpb25JZDtcbiAgICB0aGlzLnRva2VuID0gdG9rZW47XG4gICAgdGhpcy5jb25uZWN0QXN5bmMoKTtcbiAgfVxuXG4gIGVuZCgpIHtcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5FbmRlZCk7XG4gICAgdGhpcy5zdHJlYW1Db25uZWN0aW9uLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgY29tbW9uSGVhZGVycygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJBdXRob3JpemF0aW9uXCI6IGBCZWFyZXIgJHt0aGlzLnRva2VufWAsXG4gICAgICBcIngtbXMtYm90LWFnZW50XCI6IHRoaXMuX2JvdEFnZW50XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Qm90QWdlbnQoY3VzdG9tQWdlbnQ6IHN0cmluZyA9ICcnKTogc3RyaW5nIHtcbiAgICBsZXQgY2xpZW50QWdlbnQgPSAnZGlyZWN0bGluZVN0cmVhbWluZydcblxuICAgIGlmIChjdXN0b21BZ2VudCkge1xuICAgICAgY2xpZW50QWdlbnQgKz0gYDsgJHtjdXN0b21BZ2VudH1gXG4gICAgfVxuXG4gICAgcmV0dXJuIGAke0RJUkVDVF9MSU5FX1ZFUlNJT059ICgke2NsaWVudEFnZW50fSlgO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWZyZXNoVG9rZW4oZmlyc3RDYWxsID0gdHJ1ZSwgcmV0cnlDb3VudCA9IDApIHtcbiAgICBhd2FpdCB0aGlzLndhaXRVbnRpbE9ubGluZSgpO1xuXG4gICAgbGV0IG51bWJlck9mQXR0ZW1wdHMgPSAwO1xuICAgIHdoaWxlKG51bWJlck9mQXR0ZW1wdHMgPCBNQVhfUkVUUllfQ09VTlQpIHtcbiAgICAgIG51bWJlck9mQXR0ZW1wdHMrKztcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCByZWZyZXNoVG9rZW5JbnRlcnZhbCkpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7dGhpcy5kb21haW59L3Rva2Vucy9yZWZyZXNoYCwge21ldGhvZDogXCJQT1NUXCIsIGhlYWRlcnM6IHRoaXMuY29tbW9uSGVhZGVycygpfSk7XG4gICAgICAgIGlmIChyZXMub2spIHtcbiAgICAgICAgICBudW1iZXJPZkF0dGVtcHRzID0gMDtcbiAgICAgICAgICBjb25zdCB7dG9rZW59ID0gYXdhaXQgcmVzLmpzb24oKTtcbiAgICAgICAgICB0aGlzLnRva2VuID0gdG9rZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDQwMyB8fCByZXMuc3RhdHVzID09PSA0MDMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhdGFsIGVycm9yIHdoaWxlIHJlZnJlc2hpbmcgdGhlIHRva2VuOiAke3Jlcy5zdGF0dXN9ICR7cmVzLnN0YXR1c1RleHR9YCk7XG4gICAgICAgICAgICB0aGlzLnN0cmVhbUNvbm5lY3Rpb24uZGlzY29ubmVjdCgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFJlZnJlc2ggYXR0ZW1wdCAjJHtudW1iZXJPZkF0dGVtcHRzfSBmYWlsZWQ6ICR7cmVzLnN0YXR1c30gJHtyZXMuc3RhdHVzVGV4dH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2goZSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFJlZnJlc2ggYXR0ZW1wdCAjJHtudW1iZXJPZkF0dGVtcHRzfSB0aHJldyBhbiBleGNlcHRpb246ICR7ZX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zb2xlLmVycm9yKFwiUmV0cmllcyBleGhhdXN0ZWRcIik7XG4gICAgdGhpcy5zdHJlYW1Db25uZWN0aW9uLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHBvc3RBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpIHtcbiAgICBpZiAoYWN0aXZpdHkudHlwZSA9PT0gXCJtZXNzYWdlXCIgJiYgYWN0aXZpdHkuYXR0YWNobWVudHMgJiYgYWN0aXZpdHkuYXR0YWNobWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMucG9zdE1lc3NhZ2VXaXRoQXR0YWNobWVudHMoYWN0aXZpdHkpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3AkID0gT2JzZXJ2YWJsZS5jcmVhdGUoYXN5bmMgc3Vic2NyaWJlciA9PiB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gQkZTRS5TdHJlYW1pbmdSZXF1ZXN0LmNyZWF0ZSgnUE9TVCcsICcvdjMvZGlyZWN0bGluZS9jb252ZXJzYXRpb25zLycgKyB0aGlzLmNvbnZlcnNhdGlvbklkICsgJy9hY3Rpdml0aWVzJyk7XG4gICAgICByZXF1ZXN0LnNldEJvZHkoSlNPTi5zdHJpbmdpZnkoYWN0aXZpdHkpKTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCB0aGlzLnN0cmVhbUNvbm5lY3Rpb24uc2VuZChyZXF1ZXN0KTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKHJlc3Auc3RhdHVzQ29kZSAhPT0gMjAwKSB0aHJvdyBuZXcgRXJyb3IoXCJQb3N0QWN0aXZpdHkgcmV0dXJuZWQgXCIgKyByZXNwLnN0YXR1c0NvZGUpO1xuICAgICAgICBjb25zdCBudW1iZXJPZlN0cmVhbXMgPSByZXNwLnN0cmVhbXMubGVuZ3RoO1xuICAgICAgICBpZiAobnVtYmVyT2ZTdHJlYW1zICE9PSAxKSB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBvbmUgc3RyZWFtIGJ1dCBnb3QgXCIgKyBudW1iZXJPZlN0cmVhbXMpXG4gICAgICAgIGNvbnN0IGlkU3RyaW5nID0gYXdhaXQgcmVzcC5zdHJlYW1zWzBdLnJlYWRBc1N0cmluZygpO1xuICAgICAgICBjb25zdCB7SWQgOiBpZH0gPSBKU09OLnBhcnNlKGlkU3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHN1YnNjcmliZXIubmV4dChpZCk7XG4gICAgICB9IGNhdGNoKGUpIHtcbiAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIG5ldHdvcmsgaXNzdWUgdGhlbiBpdHMgaGFuZGxlZCBieVxuICAgICAgICAgIC8vIHRoZSBkaXNjb25uZWN0aW9uSGFuZGxlci4gRXZlcnl0aGluZyBlbHNlIGNhblxuICAgICAgICAgIC8vIGJlIHJldHJpZWRcbiAgICAgICAgICBjb25zb2xlLndhcm4oZSk7XG4gICAgICAgICAgdGhpcy5zdHJlYW1Db25uZWN0aW9uLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICByZXR1cm4gc3Vic2NyaWJlci5lcnJvcihlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzcCQ7XG4gIH1cblxuICBwcml2YXRlIHBvc3RNZXNzYWdlV2l0aEF0dGFjaG1lbnRzKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcbiAgICBjb25zdCB7IGF0dGFjaG1lbnRzLCAuLi5tZXNzYWdlV2l0aG91dEF0dGFjaG1lbnRzIH0gPSBtZXNzYWdlO1xuXG4gICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKCBzdWJzY3JpYmVyID0+IHtcbiAgICAgIGNvbnN0IGh0dHBDb250ZW50TGlzdCA9IFtdO1xuICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBhcnJheUJ1ZmZlcnMgPSBhd2FpdCBQcm9taXNlLmFsbChhdHRhY2htZW50cy5tYXAoYXN5bmMgYXR0YWNobWVudCA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZWRpYSA9IGF0dGFjaG1lbnQgYXMgTWVkaWE7XG4gICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChtZWRpYS5jb250ZW50VXJsKTtcbiAgICAgICAgICAgIGlmIChyZXMub2spIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgYXJyYXlCdWZmZXI6IGF3YWl0IHJlcy5hcnJheUJ1ZmZlcigpLCBtZWRpYSB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCcuLi4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICBhcnJheUJ1ZmZlcnMuZm9yRWFjaCgoeyBhcnJheUJ1ZmZlciwgbWVkaWEgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmZyb20oYXJyYXlCdWZmZXIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYnVmZmVyKTtcbiAgICAgICAgICAgIGNvbnN0IHN0cmVhbSA9IG5ldyBCRlNFLlN1YnNjcmliYWJsZVN0cmVhbSgpO1xuICAgICAgICAgICAgc3RyZWFtLndyaXRlKGJ1ZmZlcik7XG4gICAgICAgICAgICBjb25zdCBodHRwQ29udGVudCA9IG5ldyBCRlNFLkh0dHBDb250ZW50KHsgdHlwZTogbWVkaWEuY29udGVudFR5cGUsIGNvbnRlbnRMZW5ndGg6IGJ1ZmZlci5sZW5ndGggfSwgc3RyZWFtKTtcbiAgICAgICAgICAgIGh0dHBDb250ZW50TGlzdC5wdXNoKGh0dHBDb250ZW50KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IHVybCA9IGAvdjMvZGlyZWN0bGluZS9jb252ZXJzYXRpb25zLyR7dGhpcy5jb252ZXJzYXRpb25JZH0vdXNlcnMvJHttZXNzYWdlV2l0aG91dEF0dGFjaG1lbnRzLmZyb20uaWR9L3VwbG9hZGA7XG4gICAgICAgICAgY29uc3QgcmVxdWVzdCA9IEJGU0UuU3RyZWFtaW5nUmVxdWVzdC5jcmVhdGUoJ1BVVCcsIHVybCk7XG4gICAgICAgICAgY29uc3QgYWN0aXZpdHlTdHJlYW0gPSBuZXcgQkZTRS5TdWJzY3JpYmFibGVTdHJlYW0oKTtcbiAgICAgICAgICBhY3Rpdml0eVN0cmVhbS53cml0ZShKU09OLnN0cmluZ2lmeShtZXNzYWdlV2l0aG91dEF0dGFjaG1lbnRzKSwgJ3V0Zi04Jyk7XG4gICAgICAgICAgcmVxdWVzdC5hZGRTdHJlYW0obmV3IEJGU0UuSHR0cENvbnRlbnQoeyB0eXBlOiBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuYWN0aXZpdHlcIiwgY29udGVudExlbmd0aDogYWN0aXZpdHlTdHJlYW0ubGVuZ3RoIH0sIGFjdGl2aXR5U3RyZWFtKSk7XG4gICAgICAgICAgaHR0cENvbnRlbnRMaXN0LmZvckVhY2goZSA9PiByZXF1ZXN0LmFkZFN0cmVhbShlKSk7XG5cbiAgICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgdGhpcy5zdHJlYW1Db25uZWN0aW9uLnNlbmQocmVxdWVzdCk7XG4gICAgICAgICAgaWYgKHJlc3Auc3RyZWFtcyAmJiByZXNwLnN0cmVhbXMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKG5ldyBFcnJvcihgSW52YWxpZCBzdHJlYW0gY291bnQgJHtyZXNwLnN0cmVhbXMubGVuZ3RofWApKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qge0lkOiBpZH0gPSBhd2FpdCByZXNwLnN0cmVhbXNbMF0ucmVhZEFzSnNvbigpO1xuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KGlkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2goZSkge1xuICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH0pKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHdhaXRVbnRpbE9ubGluZSgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5zdWJzY3JpYmUoKGNzKSA9PiB7XG4gICAgICAgIGlmIChjcyA9PT0gQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpIHJldHVybiByZXNvbHZlKCk7XG4gICAgICB9LFxuICAgICAgICAoZSkgPT4gcmVqZWN0KGUpKTtcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjb25uZWN0QXN5bmMoKSB7XG4gICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKCdeaHR0cChzPyknKTtcbiAgICBpZiAoIXJlLnRlc3QodGhpcy5kb21haW4pKSB0aHJvdyAoXCJEb21haW4gbXVzdCBiZWdpbiB3aXRoIGh0dHAgb3IgaHR0cHNcIik7XG4gICAgY29uc3QgcGFyYW1zID0ge3Rva2VuOiB0aGlzLnRva2VufTtcbiAgICBpZiAodGhpcy5jb252ZXJzYXRpb25JZCkgcGFyYW1zWydjb252ZXJzYXRpb25JZCddID0gdGhpcy5jb252ZXJzYXRpb25JZDtcbiAgICBjb25zdCB1cmxTZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHBhcmFtcykudG9TdHJpbmcoKTtcbiAgICBjb25zdCB3c1VybCA9IGAke3RoaXMuZG9tYWluLnJlcGxhY2UocmUsICd3cyQxJyl9L2NvbnZlcnNhdGlvbnMvY29ubmVjdD8ke3VybFNlYXJjaFBhcmFtc31gO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuc3RyZWFtQ29ubmVjdGlvbiA9IG5ldyBCRlNFLldlYlNvY2tldENsaWVudCh7XG4gICAgICAgICAgdXJsOiB3c1VybCxcbiAgICAgICAgICByZXF1ZXN0SGFuZGxlcjogdGhpcy50aGVTdHJlYW1IYW5kbGVyLFxuICAgICAgICAgIGRpc2Nvbm5lY3Rpb25IYW5kbGVyOiAoZSkgPT4gcmVzb2x2ZShlKVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnF1ZXVlQWN0aXZpdGllcyA9IHRydWU7XG4gICAgICAgIGF3YWl0IHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5jb25uZWN0KCk7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBCRlNFLlN0cmVhbWluZ1JlcXVlc3QuY3JlYXRlKCdQT1NUJywgJy92My9kaXJlY3RsaW5lL2NvbnZlcnNhdGlvbnMnKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnN0cmVhbUNvbm5lY3Rpb24uc2VuZChyZXF1ZXN0KTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgIT09IDIwMCkgdGhyb3cgbmV3IEVycm9yKFwiQ29ubmVjdGlvbiByZXNwb25zZSBjb2RlIFwiICsgcmVzcG9uc2Uuc3RhdHVzQ29kZSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdHJlYW1zLmxlbmd0aCAhPT0gMSkgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgMSBzdHJlYW0gYnV0IGdvdCBcIiArIHJlc3BvbnNlLnN0cmVhbXMubGVuZ3RoKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2VTdHJpbmcgPSBhd2FpdCByZXNwb25zZS5zdHJlYW1zWzBdLnJlYWRBc1N0cmluZygpO1xuICAgICAgICBjb25zdCBjb252ZXJzYXRpb24gPSBKU09OLnBhcnNlKHJlc3BvbnNlU3RyaW5nKTtcbiAgICAgICAgdGhpcy5jb252ZXJzYXRpb25JZCA9IGNvbnZlcnNhdGlvbi5jb252ZXJzYXRpb25JZDtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuT25saW5lKTtcblxuICAgICAgICAvLyBXYWl0IHVudGlsIERMIGNvbnN1bWVycyBoYXZlIGhhZCBhIGNoYW5jZSB0byBiZSBub3RpZmllZFxuICAgICAgICAvLyBvZiB0aGUgY29ubmVjdGlvbiBzdGF0dXMgY2hhbmdlLlxuICAgICAgICBhd2FpdCB0aGlzLndhaXRVbnRpbE9ubGluZSgpO1xuICAgICAgICB0aGlzLnRoZVN0cmVhbUhhbmRsZXIuZmx1c2goKTtcbiAgICAgICAgdGhpcy5xdWV1ZUFjdGl2aXRpZXMgPSBmYWxzZTtcbiAgICAgIH0gY2F0Y2goZSkge1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNvbm5lY3RXaXRoUmV0cnlBc3luYygpIHtcbiAgICBsZXQgbnVtUmV0cmllcyA9IE1BWF9SRVRSWV9DT1VOVDtcbiAgICB3aGlsZSAobnVtUmV0cmllcyA+IDApIHtcbiAgICAgIG51bVJldHJpZXMtLTtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpO1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmNvbm5lY3RBc3luYygpO1xuICAgICAgICBjb25zb2xlLndhcm4oYFJldHJ5aW5nIGNvbm5lY3Rpb24gJHtyZXN9YCk7XG4gICAgICAgIGlmICg2MDAwMCA8IERhdGUubm93KCkgLSBzdGFydCkge1xuICAgICAgICAgIC8vIHJlc2V0IHRoZSByZXRyeSBjb3VudGVyIGFuZCByZXRyeSBpbW1lZGlhdGVseVxuICAgICAgICAgIC8vIGlmIHRoZSBjb25uZWN0aW9uIGxhc3RlZCBmb3IgbW9yZSB0aGFuIGEgbWludXRlXG4gICAgICAgICAgbnVtUmV0cmllcyA9IE1BWF9SRVRSWV9DT1VOVDtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBjb25uZWN0ICR7ZXJyfWApO1xuICAgICAgICB0aHJvdyhlcnIpO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgdGhpcy5nZXRSZXRyeURlbGF5KCkpKTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXR1cm5zIHRoZSBkZWxheSBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHNcbiAgcHJpdmF0ZSBnZXRSZXRyeURlbGF5KCkge1xuICAgIHJldHVybiBNYXRoLmZsb29yKDMwMDAgKyBNYXRoLnJhbmRvbSgpICogMTIwMDApO1xuICB9XG59XG4iXX0=
|
|
807
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RMaW5lU3RyZWFtaW5nLnRzIl0sIm5hbWVzIjpbIkRJUkVDVF9MSU5FX1ZFUlNJT04iLCJNQVhfUkVUUllfQ09VTlQiLCJyZWZyZXNoVG9rZW5MaWZldGltZSIsInRpbWVvdXQiLCJyZWZyZXNoVG9rZW5JbnRlcnZhbCIsIlN0cmVhbUhhbmRsZXIiLCJzIiwiYyQiLCJzcSIsInN1YnNjcmliZXIiLCJjb25uZWN0aW9uU3RhdHVzJCIsInNob3VsZFF1ZXVlIiwicmVxdWVzdCIsImxvZ2dlciIsInN0cmVhbXMiLCJzdHJlYW0wIiwic2hpZnQiLCJyZWFkQXNTdHJpbmciLCJhY3Rpdml0eVNldEpzb24iLCJhY3Rpdml0eVNldCIsIkpTT04iLCJwYXJzZSIsImFjdGl2aXRpZXMiLCJsZW5ndGgiLCJlcnJvciIsIkVycm9yIiwiQkZTRSIsIlN0cmVhbWluZ1Jlc3BvbnNlIiwiY3JlYXRlIiwiYWN0aXZpdHkiLCJhdHRhY2htZW50cyIsInN0cmVhbSIsImF0dGFjaG1lbnQiLCJkYXRhVXJpIiwicHVzaCIsImNvbnRlbnRUeXBlIiwiY29udGVudFVybCIsImFjdGl2aXR5UXVldWUiLCJuZXh0Iiwic3Vic2NyaWJlIiwiY3MiLCJmb3JFYWNoIiwiYSIsIkRpcmVjdExpbmVTdHJlYW1pbmciLCJvcHRpb25zIiwiQmVoYXZpb3JTdWJqZWN0IiwiQ29ubmVjdGlvblN0YXR1cyIsIlVuaW5pdGlhbGl6ZWQiLCJ0b2tlbiIsInJlZnJlc2hUb2tlbiIsImRvbWFpbiIsImNvbnZlcnNhdGlvbklkIiwiX2JvdEFnZW50IiwiZ2V0Qm90QWdlbnQiLCJib3RBZ2VudCIsInF1ZXVlQWN0aXZpdGllcyIsImFjdGl2aXR5JCIsIk9ic2VydmFibGUiLCJhY3Rpdml0eVN1YnNjcmliZXIiLCJ0aGVTdHJlYW1IYW5kbGVyIiwiY29ubmVjdFdpdGhSZXRyeUFzeW5jIiwic2hhcmUiLCJjb25uZWN0QXN5bmMiLCJFbmRlZCIsInN0cmVhbUNvbm5lY3Rpb24iLCJkaXNjb25uZWN0IiwiY3VzdG9tQWdlbnQiLCJjbGllbnRBZ2VudCIsImZpcnN0Q2FsbCIsInJldHJ5Q291bnQiLCJ3YWl0VW50aWxPbmxpbmUiLCJudW1iZXJPZkF0dGVtcHRzIiwiUHJvbWlzZSIsInIiLCJzZXRUaW1lb3V0IiwibWV0aG9kIiwiaGVhZGVycyIsImNvbW1vbkhlYWRlcnMiLCJyZXMiLCJvayIsImpzb24iLCJzdGF0dXMiLCJjb25zb2xlIiwic3RhdHVzVGV4dCIsIndhcm4iLCJ0eXBlIiwicG9zdE1lc3NhZ2VXaXRoQXR0YWNobWVudHMiLCJyZXNwJCIsIlN0cmVhbWluZ1JlcXVlc3QiLCJzZXRCb2R5Iiwic3RyaW5naWZ5Iiwic2VuZCIsInJlc3AiLCJzdGF0dXNDb2RlIiwibnVtYmVyT2ZTdHJlYW1zIiwiaWRTdHJpbmciLCJpZCIsIklkIiwibWVzc2FnZSIsIm1lc3NhZ2VXaXRob3V0QXR0YWNobWVudHMiLCJodHRwQ29udGVudExpc3QiLCJhbGwiLCJtYXAiLCJtZWRpYSIsImFycmF5QnVmZmVyIiwiYXJyYXlCdWZmZXJzIiwiYnVmZmVyIiwiQnVmZmVyIiwiZnJvbSIsImxvZyIsIlN1YnNjcmliYWJsZVN0cmVhbSIsIndyaXRlIiwiaHR0cENvbnRlbnQiLCJIdHRwQ29udGVudCIsImNvbnRlbnRMZW5ndGgiLCJ1cmwiLCJhY3Rpdml0eVN0cmVhbSIsImFkZFN0cmVhbSIsImUiLCJyZWFkQXNKc29uIiwicmVzb2x2ZSIsInJlamVjdCIsIk9ubGluZSIsInJlIiwiUmVnRXhwIiwidGVzdCIsInBhcmFtcyIsInVybFNlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsInRvU3RyaW5nIiwid3NVcmwiLCJyZXBsYWNlIiwiV2ViU29ja2V0Q2xpZW50IiwicmVxdWVzdEhhbmRsZXIiLCJkaXNjb25uZWN0aW9uSGFuZGxlciIsImNvbm5lY3QiLCJyZXNwb25zZSIsInJlc3BvbnNlU3RyaW5nIiwiY29udmVyc2F0aW9uIiwiZmx1c2giLCJudW1SZXRyaWVzIiwic3RhcnQiLCJEYXRlIiwibm93IiwiQ29ubmVjdGluZyIsImdldFZhbHVlIiwiZ2V0UmV0cnlEZWxheSIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOzs7Ozs7OztBQVNBLElBQU1BLG1CQUFtQixHQUFHLGdCQUE1QjtBQUNBLElBQU1DLGVBQWUsR0FBRyxDQUF4QjtBQUNBLElBQU1DLG9CQUFvQixHQUFHLEtBQUssRUFBTCxHQUFVLElBQXZDLEMsQ0FDQTs7QUFDQSxJQUFNQyxPQUFPLEdBQUcsS0FBSyxJQUFyQjtBQUNBLElBQU1DLG9CQUFvQixHQUFHRixvQkFBb0IsR0FBRyxDQUFwRDs7SUFVTUcsYTtBQU1KLHlCQUFZQyxDQUFaLEVBQXFDQyxFQUFyQyxFQUF1RUMsRUFBdkUsRUFBMEY7QUFBQTtBQUFBLDREQUZqRCxFQUVpRDtBQUN4RixTQUFLQyxVQUFMLEdBQWtCSCxDQUFsQjtBQUNBLFNBQUtJLGlCQUFMLEdBQXlCSCxFQUF6QjtBQUNBLFNBQUtJLFdBQUwsR0FBbUJILEVBQW5CO0FBQ0Q7Ozs7V0FFRCx1QkFBcUJGLENBQXJCLEVBQThDO0FBQzVDLFdBQUtHLFVBQUwsR0FBa0JILENBQWxCO0FBQ0Q7Ozs7MEdBRUQsaUJBQXFCTSxPQUFyQixFQUFvREMsTUFBcEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ1FDLGdCQUFBQSxPQURSLHVDQUNzQkYsT0FBTyxDQUFDRSxPQUQ5QjtBQUVRQyxnQkFBQUEsT0FGUixHQUVrQkQsT0FBTyxDQUFDRSxLQUFSLEVBRmxCO0FBQUE7QUFBQSx1QkFHZ0NELE9BQU8sQ0FBQ0UsWUFBUixFQUhoQzs7QUFBQTtBQUdRQyxnQkFBQUEsZUFIUjtBQUlRQyxnQkFBQUEsV0FKUixHQUlzQkMsSUFBSSxDQUFDQyxLQUFMLENBQVdILGVBQVgsQ0FKdEI7O0FBQUEsc0JBTU1DLFdBQVcsQ0FBQ0csVUFBWixDQUF1QkMsTUFBdkIsS0FBa0MsQ0FOeEM7QUFB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dCB0aGUgcGFydHMgb2YgcnhqcyB0aGF0IHdlIHVzZVxuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL0JlaGF2aW9yU3ViamVjdCc7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcy9TdWJzY3JpYmVyJztcbmltcG9ydCAqIGFzIEJGU0UgZnJvbSAnYm90ZnJhbWV3b3JrLXN0cmVhbWluZyc7XG5pbXBvcnQgZmV0Y2ggZnJvbSAnY3Jvc3MtZmV0Y2gnO1xuXG5pbXBvcnQge1xuICBBY3Rpdml0eSxcbiAgQ29ubmVjdGlvblN0YXR1cyxcbiAgQ29udmVyc2F0aW9uLFxuICBJQm90Q29ubmVjdGlvbixcbiAgTWVkaWEsXG4gIE1lc3NhZ2Vcbn0gZnJvbSAnLi9kaXJlY3RMaW5lJztcblxuY29uc3QgRElSRUNUX0xJTkVfVkVSU0lPTiA9ICdEaXJlY3RMaW5lLzMuMCc7XG5jb25zdCBNQVhfUkVUUllfQ09VTlQgPSAzO1xuY29uc3QgcmVmcmVzaFRva2VuTGlmZXRpbWUgPSAzMCAqIDYwICogMTAwMDtcbi8vY29uc3QgcmVmcmVzaFRva2VuTGlmZXRpbWUgPSA1MDAwO1xuY29uc3QgdGltZW91dCA9IDIwICogMTAwMDtcbmNvbnN0IHJlZnJlc2hUb2tlbkludGVydmFsID0gcmVmcmVzaFRva2VuTGlmZXRpbWUgLyAyO1xuXG5pbnRlcmZhY2UgRGlyZWN0TGluZVN0cmVhbWluZ09wdGlvbnMge1xuICB0b2tlbjogc3RyaW5nLFxuICBjb252ZXJzYXRpb25JZD86IHN0cmluZyxcbiAgZG9tYWluOiBzdHJpbmcsXG4gIC8vIEF0dGFjaGVkIHRvIGFsbCByZXF1ZXN0cyB0byBpZGVudGlmeSByZXF1ZXN0aW5nIGFnZW50LlxuICBib3RBZ2VudD86IHN0cmluZ1xufVxuXG5jbGFzcyBTdHJlYW1IYW5kbGVyIGltcGxlbWVudHMgQkZTRS5SZXF1ZXN0SGFuZGxlciB7XG4gIHByaXZhdGUgY29ubmVjdGlvblN0YXR1cyQ7XG4gIHByaXZhdGUgc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxBY3Rpdml0eT47XG4gIHByaXZhdGUgc2hvdWxkUXVldWU6ICgpID0+IGJvb2xlYW47XG4gIHByaXZhdGUgYWN0aXZpdHlRdWV1ZTogQXJyYXk8QWN0aXZpdHk+ID0gW107XG5cbiAgY29uc3RydWN0b3IoczogU3Vic2NyaWJlcjxBY3Rpdml0eT4sIGMkOiBPYnNlcnZhYmxlPENvbm5lY3Rpb25TdGF0dXM+LCBzcTogKCkgPT4gYm9vbGVhbikge1xuICAgIHRoaXMuc3Vic2NyaWJlciA9IHM7XG4gICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJCA9IGMkO1xuICAgIHRoaXMuc2hvdWxkUXVldWUgPSBzcTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTdWJzY3JpYmVyKHM6IFN1YnNjcmliZXI8QWN0aXZpdHk+KSB7XG4gICAgdGhpcy5zdWJzY3JpYmVyID0gcztcbiAgfVxuXG4gIGFzeW5jIHByb2Nlc3NSZXF1ZXN0KHJlcXVlc3Q6IEJGU0UuSVJlY2VpdmVSZXF1ZXN0LCBsb2dnZXI/OiBhbnkpOiBQcm9taXNlPEJGU0UuU3RyZWFtaW5nUmVzcG9uc2U+IHtcbiAgICBjb25zdCBzdHJlYW1zID0gWy4uLnJlcXVlc3Quc3RyZWFtc107XG4gICAgY29uc3Qgc3RyZWFtMCA9IHN0cmVhbXMuc2hpZnQoKTtcbiAgICBjb25zdCBhY3Rpdml0eVNldEpzb24gPSBhd2FpdCBzdHJlYW0wLnJlYWRBc1N0cmluZygpO1xuICAgIGNvbnN0IGFjdGl2aXR5U2V0ID0gSlNPTi5wYXJzZShhY3Rpdml0eVNldEpzb24pO1xuXG4gICAgaWYgKGFjdGl2aXR5U2V0LmFjdGl2aXRpZXMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAvLyBPbmx5IG9uZSBhY3Rpdml0eSBpcyBleHBlY3RlZCBpbiBhIHNldCBpbiBzdHJlYW1pbmdcbiAgICAgIHRoaXMuc3Vic2NyaWJlci5lcnJvcihuZXcgRXJyb3IoJ3RoZXJlIHNob3VsZCBiZSBleGFjdGx5IG9uZSBhY3Rpdml0eScpKTtcbiAgICAgIHJldHVybiBCRlNFLlN0cmVhbWluZ1Jlc3BvbnNlLmNyZWF0ZSg1MDApO1xuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2aXR5ID0gYWN0aXZpdHlTZXQuYWN0aXZpdGllc1swXTtcblxuICAgIGlmIChzdHJlYW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGF0dGFjaG1lbnRzID0gWy4uLmFjdGl2aXR5LmF0dGFjaG1lbnRzXTtcblxuICAgICAgbGV0IHN0cmVhbTogQkZTRS5Db250ZW50U3RyZWFtO1xuICAgICAgd2hpbGUgKHN0cmVhbSA9IHN0cmVhbXMuc2hpZnQoKSkge1xuICAgICAgICBjb25zdCBhdHRhY2htZW50ID0gYXdhaXQgc3RyZWFtLnJlYWRBc1N0cmluZygpO1xuICAgICAgICBjb25zdCBkYXRhVXJpID0gXCJkYXRhOnRleHQvcGxhaW47YmFzZTY0LFwiICsgYXR0YWNobWVudDtcbiAgICAgICAgYXR0YWNobWVudHMucHVzaCh7IGNvbnRlbnRUeXBlOiBzdHJlYW0uY29udGVudFR5cGUsIGNvbnRlbnRVcmw6IGRhdGFVcmkgfSk7XG4gICAgICB9XG5cbiAgICAgIGFjdGl2aXR5LmF0dGFjaG1lbnRzID0gYXR0YWNobWVudHM7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hvdWxkUXVldWUoKSkge1xuICAgICAgdGhpcy5hY3Rpdml0eVF1ZXVlLnB1c2goYWN0aXZpdHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1YnNjcmliZXIubmV4dChhY3Rpdml0eSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIEJGU0UuU3RyZWFtaW5nUmVzcG9uc2UuY3JlYXRlKDIwMCk7XG4gIH1cblxuICBwdWJsaWMgZmx1c2goKSB7XG4gICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5zdWJzY3JpYmUoY3MgPT4geyB9KVxuICAgIHRoaXMuYWN0aXZpdHlRdWV1ZS5mb3JFYWNoKChhKSA9PiB0aGlzLnN1YnNjcmliZXIubmV4dChhKSk7XG4gICAgdGhpcy5hY3Rpdml0eVF1ZXVlID0gW107XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERpcmVjdExpbmVTdHJlYW1pbmcgaW1wbGVtZW50cyBJQm90Q29ubmVjdGlvbiB7XG4gIHB1YmxpYyBjb25uZWN0aW9uU3RhdHVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoQ29ubmVjdGlvblN0YXR1cy5VbmluaXRpYWxpemVkKTtcbiAgcHVibGljIGFjdGl2aXR5JDogT2JzZXJ2YWJsZTxBY3Rpdml0eT47XG5cbiAgcHJpdmF0ZSBhY3Rpdml0eVN1YnNjcmliZXI6IFN1YnNjcmliZXI8QWN0aXZpdHk+O1xuICBwcml2YXRlIHRoZVN0cmVhbUhhbmRsZXI6IFN0cmVhbUhhbmRsZXI7XG5cbiAgcHJpdmF0ZSBkb21haW46IHN0cmluZztcblxuICBwcml2YXRlIGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG4gIHByaXZhdGUgdG9rZW46IHN0cmluZztcbiAgcHJpdmF0ZSBzdHJlYW1Db25uZWN0aW9uOiBCRlNFLldlYlNvY2tldENsaWVudDtcbiAgcHJpdmF0ZSBxdWV1ZUFjdGl2aXRpZXM6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfYm90QWdlbnQgPSAnJztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBEaXJlY3RMaW5lU3RyZWFtaW5nT3B0aW9ucykge1xuICAgIHRoaXMudG9rZW4gPSBvcHRpb25zLnRva2VuO1xuXG4gICAgdGhpcy5yZWZyZXNoVG9rZW4oKTtcblxuICAgIHRoaXMuZG9tYWluID0gb3B0aW9ucy5kb21haW47XG5cbiAgICBpZiAob3B0aW9ucy5jb252ZXJzYXRpb25JZCkge1xuICAgICAgdGhpcy5jb252ZXJzYXRpb25JZCA9IG9wdGlvbnMuY29udmVyc2F0aW9uSWQ7XG4gICAgfVxuXG4gICAgdGhpcy5fYm90QWdlbnQgPSB0aGlzLmdldEJvdEFnZW50KG9wdGlvbnMuYm90QWdlbnQpO1xuXG4gICAgdGhpcy5xdWV1ZUFjdGl2aXRpZXMgPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZpdHkkID0gT2JzZXJ2YWJsZS5jcmVhdGUoYXN5bmMgKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8QWN0aXZpdHk+KSA9PiB7XG4gICAgICB0aGlzLmFjdGl2aXR5U3Vic2NyaWJlciA9IHN1YnNjcmliZXI7XG4gICAgICB0aGlzLnRoZVN0cmVhbUhhbmRsZXIgPSBuZXcgU3RyZWFtSGFuZGxlcihzdWJzY3JpYmVyLCB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLCAoKSA9PiB0aGlzLnF1ZXVlQWN0aXZpdGllcyk7XG4gICAgICB0aGlzLmNvbm5lY3RXaXRoUmV0cnlBc3luYygpO1xuICAgIH0pLnNoYXJlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVjb25uZWN0KHsgY29udmVyc2F0aW9uSWQsIHRva2VuIH0gOiBDb252ZXJzYXRpb24pIHtcbiAgICB0aGlzLmNvbnZlcnNhdGlvbklkID0gY29udmVyc2F0aW9uSWQ7XG4gICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgIHRoaXMuY29ubmVjdEFzeW5jKCk7XG4gIH1cblxuICBlbmQoKSB7XG4gICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRW5kZWQpO1xuICAgIHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIGNvbW1vbkhlYWRlcnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwiQXV0aG9yaXphdGlvblwiOiBgQmVhcmVyICR7dGhpcy50b2tlbn1gLFxuICAgICAgXCJ4LW1zLWJvdC1hZ2VudFwiOiB0aGlzLl9ib3RBZ2VudFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEJvdEFnZW50KGN1c3RvbUFnZW50OiBzdHJpbmcgPSAnJyk6IHN0cmluZyB7XG4gICAgbGV0IGNsaWVudEFnZW50ID0gJ2RpcmVjdGxpbmVTdHJlYW1pbmcnXG5cbiAgICBpZiAoY3VzdG9tQWdlbnQpIHtcbiAgICAgIGNsaWVudEFnZW50ICs9IGA7ICR7Y3VzdG9tQWdlbnR9YFxuICAgIH1cblxuICAgIHJldHVybiBgJHtESVJFQ1RfTElORV9WRVJTSU9OfSAoJHtjbGllbnRBZ2VudH0pYDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVmcmVzaFRva2VuKGZpcnN0Q2FsbCA9IHRydWUsIHJldHJ5Q291bnQgPSAwKSB7XG4gICAgYXdhaXQgdGhpcy53YWl0VW50aWxPbmxpbmUoKTtcblxuICAgIGxldCBudW1iZXJPZkF0dGVtcHRzID0gMDtcbiAgICB3aGlsZShudW1iZXJPZkF0dGVtcHRzIDwgTUFYX1JFVFJZX0NPVU5UKSB7XG4gICAgICBudW1iZXJPZkF0dGVtcHRzKys7XG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgcmVmcmVzaFRva2VuSW50ZXJ2YWwpKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke3RoaXMuZG9tYWlufS90b2tlbnMvcmVmcmVzaGAsIHttZXRob2Q6IFwiUE9TVFwiLCBoZWFkZXJzOiB0aGlzLmNvbW1vbkhlYWRlcnMoKX0pO1xuICAgICAgICBpZiAocmVzLm9rKSB7XG4gICAgICAgICAgbnVtYmVyT2ZBdHRlbXB0cyA9IDA7XG4gICAgICAgICAgY29uc3Qge3Rva2VufSA9IGF3YWl0IHJlcy5qc29uKCk7XG4gICAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChyZXMuc3RhdHVzID09PSA0MDMgfHwgcmVzLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBGYXRhbCBlcnJvciB3aGlsZSByZWZyZXNoaW5nIHRoZSB0b2tlbjogJHtyZXMuc3RhdHVzfSAke3Jlcy5zdGF0dXNUZXh0fWApO1xuICAgICAgICAgICAgdGhpcy5zdHJlYW1Db25uZWN0aW9uLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBSZWZyZXNoIGF0dGVtcHQgIyR7bnVtYmVyT2ZBdHRlbXB0c30gZmFpbGVkOiAke3Jlcy5zdGF0dXN9ICR7cmVzLnN0YXR1c1RleHR9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoKGUpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBSZWZyZXNoIGF0dGVtcHQgIyR7bnVtYmVyT2ZBdHRlbXB0c30gdGhyZXcgYW4gZXhjZXB0aW9uOiAke2V9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc29sZS5lcnJvcihcIlJldHJpZXMgZXhoYXVzdGVkXCIpO1xuICAgIHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwb3N0QWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KSB7XG4gICAgaWYgKGFjdGl2aXR5LnR5cGUgPT09IFwibWVzc2FnZVwiICYmIGFjdGl2aXR5LmF0dGFjaG1lbnRzICYmIGFjdGl2aXR5LmF0dGFjaG1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnBvc3RNZXNzYWdlV2l0aEF0dGFjaG1lbnRzKGFjdGl2aXR5KTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwJCA9IE9ic2VydmFibGUuY3JlYXRlKGFzeW5jIHN1YnNjcmliZXIgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IEJGU0UuU3RyZWFtaW5nUmVxdWVzdC5jcmVhdGUoJ1BPU1QnLCAnL3YzL2RpcmVjdGxpbmUvY29udmVyc2F0aW9ucy8nICsgdGhpcy5jb252ZXJzYXRpb25JZCArICcvYWN0aXZpdGllcycpO1xuICAgICAgcmVxdWVzdC5zZXRCb2R5KEpTT04uc3RyaW5naWZ5KGFjdGl2aXR5KSk7XG4gICAgICBjb25zdCByZXNwID0gYXdhaXQgdGhpcy5zdHJlYW1Db25uZWN0aW9uLnNlbmQocmVxdWVzdCk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChyZXNwLnN0YXR1c0NvZGUgIT09IDIwMCkgdGhyb3cgbmV3IEVycm9yKFwiUG9zdEFjdGl2aXR5IHJldHVybmVkIFwiICsgcmVzcC5zdGF0dXNDb2RlKTtcbiAgICAgICAgY29uc3QgbnVtYmVyT2ZTdHJlYW1zID0gcmVzcC5zdHJlYW1zLmxlbmd0aDtcbiAgICAgICAgaWYgKG51bWJlck9mU3RyZWFtcyAhPT0gMSkgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgb25lIHN0cmVhbSBidXQgZ290IFwiICsgbnVtYmVyT2ZTdHJlYW1zKVxuICAgICAgICBjb25zdCBpZFN0cmluZyA9IGF3YWl0IHJlc3Auc3RyZWFtc1swXS5yZWFkQXNTdHJpbmcoKTtcbiAgICAgICAgY29uc3Qge0lkIDogaWR9ID0gSlNPTi5wYXJzZShpZFN0cmluZyk7XG4gICAgICAgIHJldHVybiBzdWJzY3JpYmVyLm5leHQoaWQpO1xuICAgICAgfSBjYXRjaChlKSB7XG4gICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBuZXR3b3JrIGlzc3VlIHRoZW4gaXRzIGhhbmRsZWQgYnlcbiAgICAgICAgICAvLyB0aGUgZGlzY29ubmVjdGlvbkhhbmRsZXIuIEV2ZXJ5dGhpbmcgZWxzZSBjYW5cbiAgICAgICAgICAvLyBiZSByZXRyaWVkXG4gICAgICAgICAgY29uc29sZS53YXJuKGUpO1xuICAgICAgICAgIHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgcmV0dXJuIHN1YnNjcmliZXIuZXJyb3IoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3AkO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3N0TWVzc2FnZVdpdGhBdHRhY2htZW50cyhtZXNzYWdlOiBNZXNzYWdlKSB7XG4gICAgY29uc3QgeyBhdHRhY2htZW50cywgLi4ubWVzc2FnZVdpdGhvdXRBdHRhY2htZW50cyB9ID0gbWVzc2FnZTtcblxuICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSggc3Vic2NyaWJlciA9PiB7XG4gICAgICBjb25zdCBodHRwQ29udGVudExpc3QgPSBbXTtcbiAgICAgIChhc3luYyAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXJzID0gYXdhaXQgUHJvbWlzZS5hbGwoYXR0YWNobWVudHMubWFwKGFzeW5jIGF0dGFjaG1lbnQgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVkaWEgPSBhdHRhY2htZW50IGFzIE1lZGlhO1xuICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2gobWVkaWEuY29udGVudFVybCk7XG4gICAgICAgICAgICBpZiAocmVzLm9rKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7IGFycmF5QnVmZmVyOiBhd2FpdCByZXMuYXJyYXlCdWZmZXIoKSwgbWVkaWEgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignLi4uJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuXG4gICAgICAgICAgYXJyYXlCdWZmZXJzLmZvckVhY2goKHsgYXJyYXlCdWZmZXIsIG1lZGlhIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5mcm9tKGFycmF5QnVmZmVyKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGJ1ZmZlcik7XG4gICAgICAgICAgICBjb25zdCBzdHJlYW0gPSBuZXcgQkZTRS5TdWJzY3JpYmFibGVTdHJlYW0oKTtcbiAgICAgICAgICAgIHN0cmVhbS53cml0ZShidWZmZXIpO1xuICAgICAgICAgICAgY29uc3QgaHR0cENvbnRlbnQgPSBuZXcgQkZTRS5IdHRwQ29udGVudCh7IHR5cGU6IG1lZGlhLmNvbnRlbnRUeXBlLCBjb250ZW50TGVuZ3RoOiBidWZmZXIubGVuZ3RoIH0sIHN0cmVhbSk7XG4gICAgICAgICAgICBodHRwQ29udGVudExpc3QucHVzaChodHRwQ29udGVudCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjb25zdCB1cmwgPSBgL3YzL2RpcmVjdGxpbmUvY29udmVyc2F0aW9ucy8ke3RoaXMuY29udmVyc2F0aW9uSWR9L3VzZXJzLyR7bWVzc2FnZVdpdGhvdXRBdHRhY2htZW50cy5mcm9tLmlkfS91cGxvYWRgO1xuICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBCRlNFLlN0cmVhbWluZ1JlcXVlc3QuY3JlYXRlKCdQVVQnLCB1cmwpO1xuICAgICAgICAgIGNvbnN0IGFjdGl2aXR5U3RyZWFtID0gbmV3IEJGU0UuU3Vic2NyaWJhYmxlU3RyZWFtKCk7XG4gICAgICAgICAgYWN0aXZpdHlTdHJlYW0ud3JpdGUoSlNPTi5zdHJpbmdpZnkobWVzc2FnZVdpdGhvdXRBdHRhY2htZW50cyksICd1dGYtOCcpO1xuICAgICAgICAgIHJlcXVlc3QuYWRkU3RyZWFtKG5ldyBCRlNFLkh0dHBDb250ZW50KHsgdHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmFjdGl2aXR5XCIsIGNvbnRlbnRMZW5ndGg6IGFjdGl2aXR5U3RyZWFtLmxlbmd0aCB9LCBhY3Rpdml0eVN0cmVhbSkpO1xuICAgICAgICAgIGh0dHBDb250ZW50TGlzdC5mb3JFYWNoKGUgPT4gcmVxdWVzdC5hZGRTdHJlYW0oZSkpO1xuXG4gICAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5zZW5kKHJlcXVlc3QpO1xuICAgICAgICAgIGlmIChyZXNwLnN0cmVhbXMgJiYgcmVzcC5zdHJlYW1zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihuZXcgRXJyb3IoYEludmFsaWQgc3RyZWFtIGNvdW50ICR7cmVzcC5zdHJlYW1zLmxlbmd0aH1gKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHtJZDogaWR9ID0gYXdhaXQgcmVzcC5zdHJlYW1zWzBdLnJlYWRBc0pzb24oKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChpZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoKGUpIHtcbiAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICB9KSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB3YWl0VW50aWxPbmxpbmUoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQuc3Vic2NyaWJlKChjcykgPT4ge1xuICAgICAgICBpZiAoY3MgPT09IENvbm5lY3Rpb25TdGF0dXMuT25saW5lKSByZXR1cm4gcmVzb2x2ZSgpO1xuICAgICAgfSxcbiAgICAgICAgKGUpID0+IHJlamVjdChlKSk7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29ubmVjdEFzeW5jKCkge1xuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cCgnXmh0dHAocz8pJyk7XG4gICAgaWYgKCFyZS50ZXN0KHRoaXMuZG9tYWluKSkgdGhyb3cgKFwiRG9tYWluIG11c3QgYmVnaW4gd2l0aCBodHRwIG9yIGh0dHBzXCIpO1xuICAgIGNvbnN0IHBhcmFtcyA9IHt0b2tlbjogdGhpcy50b2tlbn07XG4gICAgaWYgKHRoaXMuY29udmVyc2F0aW9uSWQpIHBhcmFtc1snY29udmVyc2F0aW9uSWQnXSA9IHRoaXMuY29udmVyc2F0aW9uSWQ7XG4gICAgY29uc3QgdXJsU2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhwYXJhbXMpLnRvU3RyaW5nKCk7XG4gICAgY29uc3Qgd3NVcmwgPSBgJHt0aGlzLmRvbWFpbi5yZXBsYWNlKHJlLCAnd3MkMScpfS9jb252ZXJzYXRpb25zL2Nvbm5lY3Q/JHt1cmxTZWFyY2hQYXJhbXN9YDtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnN0cmVhbUNvbm5lY3Rpb24gPSBuZXcgQkZTRS5XZWJTb2NrZXRDbGllbnQoe1xuICAgICAgICAgIHVybDogd3NVcmwsXG4gICAgICAgICAgcmVxdWVzdEhhbmRsZXI6IHRoaXMudGhlU3RyZWFtSGFuZGxlcixcbiAgICAgICAgICBkaXNjb25uZWN0aW9uSGFuZGxlcjogKGUpID0+IHJlc29sdmUoZSlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5xdWV1ZUFjdGl2aXRpZXMgPSB0cnVlO1xuICAgICAgICBhd2FpdCB0aGlzLnN0cmVhbUNvbm5lY3Rpb24uY29ubmVjdCgpO1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gQkZTRS5TdHJlYW1pbmdSZXF1ZXN0LmNyZWF0ZSgnUE9TVCcsICcvdjMvZGlyZWN0bGluZS9jb252ZXJzYXRpb25zJyk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zdHJlYW1Db25uZWN0aW9uLnNlbmQocmVxdWVzdCk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXNDb2RlICE9PSAyMDApIHRocm93IG5ldyBFcnJvcihcIkNvbm5lY3Rpb24gcmVzcG9uc2UgY29kZSBcIiArIHJlc3BvbnNlLnN0YXR1c0NvZGUpO1xuICAgICAgICBpZiAocmVzcG9uc2Uuc3RyZWFtcy5sZW5ndGggIT09IDEpIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIDEgc3RyZWFtIGJ1dCBnb3QgXCIgKyByZXNwb25zZS5zdHJlYW1zLmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlU3RyaW5nID0gYXdhaXQgcmVzcG9uc2Uuc3RyZWFtc1swXS5yZWFkQXNTdHJpbmcoKTtcbiAgICAgICAgY29uc3QgY29udmVyc2F0aW9uID0gSlNPTi5wYXJzZShyZXNwb25zZVN0cmluZyk7XG4gICAgICAgIHRoaXMuY29udmVyc2F0aW9uSWQgPSBjb252ZXJzYXRpb24uY29udmVyc2F0aW9uSWQ7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChDb25uZWN0aW9uU3RhdHVzLk9ubGluZSk7XG5cbiAgICAgICAgLy8gV2FpdCB1bnRpbCBETCBjb25zdW1lcnMgaGF2ZSBoYWQgYSBjaGFuY2UgdG8gYmUgbm90aWZpZWRcbiAgICAgICAgLy8gb2YgdGhlIGNvbm5lY3Rpb24gc3RhdHVzIGNoYW5nZS5cbiAgICAgICAgYXdhaXQgdGhpcy53YWl0VW50aWxPbmxpbmUoKTtcbiAgICAgICAgdGhpcy50aGVTdHJlYW1IYW5kbGVyLmZsdXNoKCk7XG4gICAgICAgIHRoaXMucXVldWVBY3Rpdml0aWVzID0gZmFsc2U7XG4gICAgICB9IGNhdGNoKGUpIHtcbiAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjb25uZWN0V2l0aFJldHJ5QXN5bmMoKSB7XG4gICAgbGV0IG51bVJldHJpZXMgPSBNQVhfUkVUUllfQ09VTlQ7XG4gICAgd2hpbGUgKG51bVJldHJpZXMgPiAwKSB7XG4gICAgICBudW1SZXRyaWVzLS07XG4gICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0aW5nKTtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5jb25uZWN0QXN5bmMoKTtcbiAgICAgICAgaWYgKHRoaXMuY29ubmVjdGlvblN0YXR1cyQuZ2V0VmFsdWUoKSA9PT0gQ29ubmVjdGlvblN0YXR1cy5FbmRlZCl7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdDb25uZWN0aW9uIGVuZCcpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUud2FybihgUmV0cnlpbmcgY29ubmVjdGlvbiAke3Jlc31gKTtcbiAgICAgICAgaWYgKDYwMDAwIDwgRGF0ZS5ub3coKSAtIHN0YXJ0KSB7XG4gICAgICAgICAgLy8gcmVzZXQgdGhlIHJldHJ5IGNvdW50ZXIgYW5kIHJldHJ5IGltbWVkaWF0ZWx5XG4gICAgICAgICAgLy8gaWYgdGhlIGNvbm5lY3Rpb24gbGFzdGVkIGZvciBtb3JlIHRoYW4gYSBtaW51dGVcbiAgICAgICAgICBudW1SZXRyaWVzID0gTUFYX1JFVFJZX0NPVU5UO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNvbm5lY3QgJHtlcnJ9YCk7XG4gICAgICAgIHRocm93KGVycik7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCB0aGlzLmdldFJldHJ5RGVsYXkoKSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJldHVybnMgdGhlIGRlbGF5IGR1cmF0aW9uIGluIG1pbGxpc2Vjb25kc1xuICBwcml2YXRlIGdldFJldHJ5RGVsYXkoKSB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoMzAwMCArIE1hdGgucmFuZG9tKCkgKiAxMjAwMCk7XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "botframework-directlinejs",
|
|
3
|
-
"version": "0.15.2
|
|
3
|
+
"version": "0.15.2",
|
|
4
4
|
"description": "Client library for the Microsoft Bot Framework Direct Line 3.0 protocol",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/**/*",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"license": "MIT",
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@babel/runtime": "7.14.8",
|
|
30
|
-
"botframework-streaming": "4.
|
|
30
|
+
"botframework-streaming": "4.19.3",
|
|
31
31
|
"buffer": "6.0.3",
|
|
32
32
|
"core-js": "3.15.2",
|
|
33
33
|
"cross-fetch": "^3.1.5",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"rimraf": "^3.0.2",
|
|
67
67
|
"simple-update-in": "^2.2.0",
|
|
68
68
|
"typescript": "^4.3.5",
|
|
69
|
-
"webpack": "^5.
|
|
69
|
+
"webpack": "^5.76.2",
|
|
70
70
|
"webpack-cli": "^4.7.2",
|
|
71
71
|
"webpack-stats-plugin": "^1.0.3"
|
|
72
72
|
}
|