easy-drag-and-drop 1.3.182 → 1.3.184
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/example.js +12 -2
- package/lib/mixins/drag.js +12 -2
- package/package.json +1 -1
- package/src/mixins/drag.js +15 -0
package/lib/mixins/drag.js
CHANGED
|
@@ -35,17 +35,22 @@ Object.assign(globalThis, {
|
|
|
35
35
|
});
|
|
36
36
|
resetDragElement();
|
|
37
37
|
function enableDrag() {
|
|
38
|
-
var timeout = null, topOffset = null, leftOffset = null, startMouseTop = null, startMouseLeft = null;
|
|
38
|
+
var timeout = null, topOffset = null, leftOffset = null, dragEnabled = true, startMouseTop = null, startMouseLeft = null;
|
|
39
39
|
this.onMouseDown(mouseDownHandler, this);
|
|
40
40
|
this.updateState({
|
|
41
41
|
timeout: timeout,
|
|
42
42
|
topOffset: topOffset,
|
|
43
43
|
leftOffset: leftOffset,
|
|
44
|
+
dragEnabled: dragEnabled,
|
|
44
45
|
startMouseTop: startMouseTop,
|
|
45
46
|
startMouseLeft: startMouseLeft
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
function disableDrag() {
|
|
50
|
+
var dragEnabled = false;
|
|
51
|
+
this.updateState({
|
|
52
|
+
dragEnabled: dragEnabled
|
|
53
|
+
});
|
|
49
54
|
this.offMouseDown(mouseDownHandler, this);
|
|
50
55
|
}
|
|
51
56
|
function onCustomDrag(dragCustomHandler, element) {
|
|
@@ -72,6 +77,10 @@ function offCustomStartDrag(startDragCustomHandler, element) {
|
|
|
72
77
|
var customEventType = _customEventTypes.START_DRAG_CUSTOM_EVENT_TYPE, customHandler = startDragCustomHandler; ///
|
|
73
78
|
this.offCustomEvent(customEventType, customHandler, element);
|
|
74
79
|
}
|
|
80
|
+
function isDragEnabled() {
|
|
81
|
+
var _this_getState = this.getState(), _this_getState_dragEnabled = _this_getState.dragEnabled, dragEnabled = _this_getState_dragEnabled === void 0 ? false : _this_getState_dragEnabled;
|
|
82
|
+
return dragEnabled;
|
|
83
|
+
}
|
|
75
84
|
function isDragging() {
|
|
76
85
|
var dragging = this.hasClass("dragging");
|
|
77
86
|
return dragging;
|
|
@@ -199,6 +208,7 @@ var _default = {
|
|
|
199
208
|
offCustomStopDrag: offCustomStopDrag,
|
|
200
209
|
onCustomStartDrag: onCustomStartDrag,
|
|
201
210
|
offCustomStartDrag: offCustomStartDrag,
|
|
211
|
+
isDragEnabled: isDragEnabled,
|
|
202
212
|
isDragging: isDragging,
|
|
203
213
|
startDrag: startDrag,
|
|
204
214
|
stopDrag: stopDrag,
|
|
@@ -253,4 +263,4 @@ function mouseMoveHandler(event, element) {
|
|
|
253
263
|
event.stopPropagation();
|
|
254
264
|
}
|
|
255
265
|
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJhZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsga2V5Q29kZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCIgO1xuaW1wb3J0IHsgd2luZG93LCBldmVudFR5cGVzLCBtb3VzZUJ1dHRvbnMgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgeyBTVEFSVF9EUkFHR0lOR19ERUxBWSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGNoZWNrRHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3JlZmVyZW5jZVwiO1xuaW1wb3J0IHsgbW91c2VUb3BGcm9tRXZlbnQsIG1vdXNlTGVmdEZyb21FdmVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZXZlbnRcIjtcbmltcG9ydCB7IERSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsIFNUT1BfRFJBR19DVVNUT01fRVZFTlRfVFlQRSwgU1RBUlRfRFJBR19DVVNUT01fRVZFTlRfVFlQRSB9IGZyb20gXCIuLi9jdXN0b21FdmVudFR5cGVzXCI7XG5cbmNvbnN0IHsgRVNDQVBFX0tFWV9DT0RFIH0gPSBrZXlDb2RlcyxcbiAgICAgIHsgQkxVUl9FVkVOVF9UWVBFIH0gPSBldmVudFR5cGVzLFxuICAgICAgeyBMRUZUX01PVVNFX0JVVFRPTiB9ID0gbW91c2VCdXR0b25zO1xuXG5mdW5jdGlvbiBnZXREcmFnRWxlbWVudCgpIHtcbiAgY29uc3QgeyBkcmFnRWxlbWVudCB9ID0gZ2xvYmFsVGhpcztcblxuICByZXR1cm4gZHJhZ0VsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIHNldERyYWdFbGVtZW50KGRyYWdFbGVtZW50KSB7XG4gIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgIGRyYWdFbGVtZW50XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZXNldERyYWdFbGVtZW50KCkge1xuICBjb25zdCBkcmFnRWxlbWVudCA9IG51bGw7XG5cbiAgc2V0RHJhZ0VsZW1lbnQoZHJhZ0VsZW1lbnQpO1xufVxuXG5PYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgZ2V0RHJhZ0VsZW1lbnQsXG4gIHNldERyYWdFbGVtZW50LFxuICByZXNldERyYWdFbGVtZW50XG59KTtcblxucmVzZXREcmFnRWxlbWVudCgpO1xuXG5mdW5jdGlvbiBlbmFibGVEcmFnKCkge1xuICBjb25zdCB0aW1lb3V0ID0gbnVsbCxcbiAgICAgICAgdG9wT2Zmc2V0ID0gbnVsbCxcbiAgICAgICAgbGVmdE9mZnNldCA9IG51bGwsXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSBudWxsLFxuICAgICAgICBzdGFydE1vdXNlTGVmdCA9IG51bGw7XG5cbiAgdGhpcy5vbk1vdXNlRG93bihtb3VzZURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICB0aW1lb3V0LFxuICAgIHRvcE9mZnNldCxcbiAgICBsZWZ0T2Zmc2V0LFxuICAgIHN0YXJ0TW91c2VUb3AsXG4gICAgc3RhcnRNb3VzZUxlZnRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVEcmFnKCkge1xuICB0aGlzLm9mZk1vdXNlRG93bihtb3VzZURvd25IYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gb25DdXN0b21EcmFnKGRyYWdDdXN0b21IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IERSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsXG4gICAgICAgIGN1c3RvbUhhbmRsZXIgPSBkcmFnQ3VzdG9tSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMub25DdXN0b21FdmVudChjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZDdXN0b21EcmFnKGRyYWdDdXN0b21IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IERSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsXG4gICAgICAgIGN1c3RvbUhhbmRsZXIgPSBkcmFnQ3VzdG9tSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMub2ZmQ3VzdG9tRXZlbnQoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25DdXN0b21TdG9wRHJhZyhzdG9wRHJhZ0N1c3RvbUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gU1RPUF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFLFxuICAgICAgICBjdXN0b21IYW5kbGVyID0gc3RvcERyYWdDdXN0b21IYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5vbkN1c3RvbUV2ZW50KGN1c3RvbUV2ZW50VHlwZSwgY3VzdG9tSGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZkN1c3RvbVN0b3BEcmFnKHN0b3BEcmFnQ3VzdG9tSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBTVE9QX0RSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsXG4gICAgICAgIGN1c3RvbUhhbmRsZXIgPSBzdG9wRHJhZ0N1c3RvbUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLm9mZkN1c3RvbUV2ZW50KGN1c3RvbUV2ZW50VHlwZSwgY3VzdG9tSGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uQ3VzdG9tU3RhcnREcmFnKHN0YXJ0RHJhZ0N1c3RvbUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gU1RBUlRfRFJBR19DVVNUT01fRVZFTlRfVFlQRSxcbiAgICAgICAgY3VzdG9tSGFuZGxlciA9IHN0YXJ0RHJhZ0N1c3RvbUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLm9uQ3VzdG9tRXZlbnQoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmQ3VzdG9tU3RhcnREcmFnKHN0YXJ0RHJhZ0N1c3RvbUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gU1RBUlRfRFJBR19DVVNUT01fRVZFTlRfVFlQRSxcbiAgICAgICAgY3VzdG9tSGFuZGxlciA9IHN0YXJ0RHJhZ0N1c3RvbUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLm9mZkN1c3RvbUV2ZW50KGN1c3RvbUV2ZW50VHlwZSwgY3VzdG9tSGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIGlzRHJhZ2dpbmcoKSB7XG4gIGNvbnN0IGRyYWdnaW5nID0gdGhpcy5oYXNDbGFzcyhcImRyYWdnaW5nXCIpO1xuXG4gIHJldHVybiBkcmFnZ2luZztcbn1cblxuZnVuY3Rpb24gc3RhcnREcmFnKGV2ZW50LCBlbGVtZW50LCBtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0Qm91bmRzKCksXG4gICAgICAgIGJvdW5kc1RvcCA9IGJvdW5kcy5nZXRUb3AoKSxcbiAgICAgICAgYm91bmRzTGVmdCA9IGJvdW5kcy5nZXRMZWZ0KCksXG4gICAgICAgIGJvdW5kc1JpZ2h0ID0gYm91bmRzLmdldFJpZ2h0KCksXG4gICAgICAgIGJvdW5kc0JvdHRvbSA9IGJvdW5kcy5nZXRCb3R0b20oKSxcbiAgICAgICAgYm91bmRzV2lkdGggPSBib3VuZHNSaWdodCAtIGJvdW5kc0xlZnQsXG4gICAgICAgIGJvdW5kc0hlaWdodCA9IGJvdW5kc0JvdHRvbSAtIGJvdW5kc1RvcCxcbiAgICAgICAgdG9wT2Zmc2V0ID0gTWF0aC5mbG9vcihib3VuZHNIZWlnaHQgLyAyKSxcbiAgICAgICAgbGVmdE9mZnNldCA9IE1hdGguZmxvb3IoYm91bmRzV2lkdGggLyAyKSxcbiAgICAgICAgZHJhZ0VsZW1lbnQgPSB0aGlzLCAvLy9cbiAgICAgICAgc3RhcnRNb3VzZVRvcCA9IG1vdXNlVG9wLCAvLy9cbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSBtb3VzZUxlZnQsIC8vL1xuICAgICAgICBjdXN0b21FdmVudFR5cGUgPSBTVEFSVF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFO1xuXG4gIHdpbmRvdy5vbktleURvd24oa2V5RG93bkhhbmRsZXIsIHRoaXMpO1xuXG4gIHdpbmRvdy5vbk1vdXNlTW92ZShtb3VzZU1vdmVIYW5kbGVyLCB0aGlzKTtcblxuICB0aGlzLmFkZENsYXNzKFwiZHJhZ2dpbmdcIik7XG5cbiAgc2V0RHJhZ0VsZW1lbnQoZHJhZ0VsZW1lbnQpO1xuXG4gIHRoaXMuc2V0VG9wT2Zmc2V0KHRvcE9mZnNldCk7XG5cbiAgdGhpcy5zZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpO1xuXG4gIHRoaXMuc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKTtcblxuICB0aGlzLnNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KTtcblxuICB0aGlzLmNhbGxDdXN0b21IYW5kbGVycyhjdXN0b21FdmVudFR5cGUsIGV2ZW50LCBlbGVtZW50KTtcblxuICB0aGlzLmRyYWcoZXZlbnQsIGVsZW1lbnQsIG1vdXNlVG9wLCBtb3VzZUxlZnQpO1xufVxuXG5mdW5jdGlvbiBzdG9wRHJhZyhldmVudCwgZWxlbWVudCwgYWJvcnRlZCkge1xuICBjb25zdCBkcm9wRWxlbWVudCA9IGdldERyb3BFbGVtZW50KCksXG4gICAgICAgIGN1c3RvbUV2ZW50VHlwZSA9IFNUT1BfRFJBR19DVVNUT01fRVZFTlRfVFlQRTtcblxuICB3aW5kb3cub2ZmS2V5RG93bihrZXlEb3duSGFuZGxlciwgdGhpcyk7XG5cbiAgd2luZG93Lm9mZk1vdXNlTW92ZShtb3VzZU1vdmVIYW5kbGVyLCB0aGlzKTtcblxuICBjb25zdCBkb25lID0gKCkgPT4ge1xuICAgIHRoaXMuY2FsbEN1c3RvbUhhbmRsZXJzQXN5bmMoY3VzdG9tRXZlbnRUeXBlLCBldmVudCwgZWxlbWVudCwgZHJvcEVsZW1lbnQsIGFib3J0ZWQsICgpID0+IHtcbiAgICAgIHJlc2V0RHJhZ0VsZW1lbnQoKTtcblxuICAgICAgdGhpcy5yZW1vdmVDbGFzcyhcImRyYWdnaW5nXCIpO1xuICAgIH0pO1xuICB9XG5cbiAgaWYgKGRyb3BFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgbGV0IGRyYWdFbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBjb25zdCBkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCA9IGNoZWNrRHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQoZHJhZ0VsZW1lbnQsIGRyb3BFbGVtZW50KTtcblxuICAgIGlmIChkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCkge1xuICAgICAgZHJhZ0VsZW1lbnQgPSBudWxsO1xuICAgIH1cblxuICAgIGRyb3BFbGVtZW50LmRyb3AoZXZlbnQsIGVsZW1lbnQsIGRyYWdFbGVtZW50LCBhYm9ydGVkLCBkb25lKTtcbiAgfSBlbHNlIHtcbiAgICBkb25lKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZHJhZyhldmVudCwgZWxlbWVudCwgbW91c2VUb3AsIG1vdXNlTGVmdCkge1xuICBjb25zdCBzY3JvbGxUb3AgPSB3aW5kb3cuZ2V0U2Nyb2xsVG9wKCksXG4gICAgICAgIHNjcm9sbExlZnQgPSB3aW5kb3cuZ2V0U2Nyb2xsTGVmdCgpLFxuICAgICAgICB0b3BPZmZzZXQgPSB0aGlzLmdldFRvcE9mZnNldCgpLFxuICAgICAgICBsZWZ0T2Zmc2V0ID0gdGhpcy5nZXRMZWZ0T2Zmc2V0KCksXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSB0aGlzLmdldFN0YXJ0TW91c2VUb3AoKSxcbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSB0aGlzLmdldFN0YXJ0TW91c2VMZWZ0KCksXG4gICAgICAgIGN1c3RvbUV2ZW50VHlwZSA9IERSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsXG4gICAgICAgIHJlbGF0aXZlTW91c2VUb3AgPSBtb3VzZVRvcCAtIHN0YXJ0TW91c2VUb3AsXG4gICAgICAgIHJlbGF0aXZlTW91c2VMZWZ0ID0gbW91c2VMZWZ0IC0gc3RhcnRNb3VzZUxlZnQ7XG5cbiAgbGV0IHRvcCA9IHN0YXJ0TW91c2VUb3AgKyByZWxhdGl2ZU1vdXNlVG9wIC0gdG9wT2Zmc2V0IC0gc2Nyb2xsVG9wLFxuICAgICAgbGVmdCA9IHN0YXJ0TW91c2VMZWZ0ICsgcmVsYXRpdmVNb3VzZUxlZnQgLSBsZWZ0T2Zmc2V0IC0gc2Nyb2xsTGVmdDtcblxuICB0b3AgPSBgJHt0b3B9cHhgOyAvLy9cbiAgbGVmdCA9IGAke2xlZnR9cHhgOyAvLy9cblxuICBjb25zdCBjc3MgPSB7XG4gICAgdG9wLFxuICAgIGxlZnRcbiAgfTtcblxuICB0aGlzLmNzcyhjc3MpO1xuXG4gIHRoaXMuY2FsbEN1c3RvbUhhbmRsZXJzKGN1c3RvbUV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQsIHJlbGF0aXZlTW91c2VUb3AsIHJlbGF0aXZlTW91c2VMZWZ0KTtcbn1cblxuZnVuY3Rpb24gc3RhcnRXYWl0aW5nVG9EcmFnKGV2ZW50LCBlbGVtZW50LCBtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGxldCB0aW1lb3V0ID0gdGhpcy5nZXRUaW1lb3V0KCk7XG5cbiAgaWYgKHRpbWVvdXQgPT09IG51bGwpIHtcbiAgICB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0VGltZW91dCgpO1xuXG4gICAgICB0aGlzLnN0YXJ0RHJhZyhldmVudCwgZWxlbWVudCwgbW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gICAgfSwgU1RBUlRfRFJBR0dJTkdfREVMQVkpO1xuXG4gICAgdGhpcy51cGRhdGVUaW1lb3V0KHRpbWVvdXQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0b3BXYWl0aW5nVG9EcmFnKCkge1xuICBjb25zdCB0aW1lb3V0ID0gdGhpcy5nZXRUaW1lb3V0KCk7XG5cbiAgaWYgKHRpbWVvdXQgIT09IG51bGwpIHtcbiAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG5cbiAgICB0aGlzLnJlc2V0VGltZW91dCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHsgdGltZW91dCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiB0aW1lb3V0O1xufVxuXG5mdW5jdGlvbiByZXNldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHRpbWVvdXQgPSBudWxsO1xuXG4gIHRoaXMudXBkYXRlVGltZW91dCh0aW1lb3V0KTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVGltZW91dCh0aW1lb3V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHRpbWVvdXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFRvcE9mZnNldCgpIHtcbiAgY29uc3QgeyB0b3BPZmZzZXQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gdG9wT2Zmc2V0O1xufVxuXG5mdW5jdGlvbiBnZXRMZWZ0T2Zmc2V0KCkge1xuICBjb25zdCB7IGxlZnRPZmZzZXQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gbGVmdE9mZnNldDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhcnRNb3VzZVRvcCgpIHtcbiAgY29uc3QgeyBzdGFydE1vdXNlVG9wIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIHN0YXJ0TW91c2VUb3A7XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW91c2VMZWZ0KCkge1xuICBjb25zdCB7IHN0YXJ0TW91c2VMZWZ0IH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIHN0YXJ0TW91c2VMZWZ0O1xufVxuXG5mdW5jdGlvbiBzZXRUb3BPZmZzZXQodG9wT2Zmc2V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHRvcE9mZnNldFxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0TGVmdE9mZnNldChsZWZ0T2Zmc2V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIGxlZnRPZmZzZXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldFN0YXJ0TW91c2VUb3Aoc3RhcnRNb3VzZVRvcCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICBzdGFydE1vdXNlVG9wXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRTdGFydE1vdXNlTGVmdChzdGFydE1vdXNlTGVmdCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICBzdGFydE1vdXNlTGVmdFxuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBlbmFibGVEcmFnLFxuICBkaXNhYmxlRHJhZyxcbiAgb25DdXN0b21EcmFnLFxuICBvZmZDdXN0b21EcmFnLFxuICBvbkN1c3RvbVN0b3BEcmFnLFxuICBvZmZDdXN0b21TdG9wRHJhZyxcbiAgb25DdXN0b21TdGFydERyYWcsXG4gIG9mZkN1c3RvbVN0YXJ0RHJhZyxcbiAgaXNEcmFnZ2luZyxcbiAgc3RhcnREcmFnLFxuICBzdG9wRHJhZyxcbiAgZHJhZyxcbiAgc3RhcnRXYWl0aW5nVG9EcmFnLFxuICBzdG9wV2FpdGluZ1RvRHJhZyxcbiAgZ2V0VGltZW91dCxcbiAgcmVzZXRUaW1lb3V0LFxuICB1cGRhdGVUaW1lb3V0LFxuICBnZXRUb3BPZmZzZXQsXG4gIGdldExlZnRPZmZzZXQsXG4gIGdldFN0YXJ0TW91c2VUb3AsXG4gIGdldFN0YXJ0TW91c2VMZWZ0LFxuICBzZXRUb3BPZmZzZXQsXG4gIHNldExlZnRPZmZzZXQsXG4gIHNldFN0YXJ0TW91c2VUb3AsXG4gIHNldFN0YXJ0TW91c2VMZWZ0XG59O1xuXG5mdW5jdGlvbiBrZXlEb3duSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCB7IGtleUNvZGUgfSA9IGV2ZW50LFxuICAgICAgICBlc2NhcGVLZXkgPSAoa2V5Q29kZSA9PT0gRVNDQVBFX0tFWV9DT0RFKSxcbiAgICAgICAgYWJvcnRlZCA9IHRydWU7XG5cbiAgaWYgKGVzY2FwZUtleSkge1xuICAgIHRoaXMuc3RvcERyYWcoZXZlbnQsIGVsZW1lbnQsIGFib3J0ZWQpO1xuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91c2VVcEhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKSxcbiAgICAgICAgYWJvcnRlZCA9IGZhbHNlO1xuXG4gIGRyYWdnaW5nID9cbiAgICB0aGlzLnN0b3BEcmFnKGV2ZW50LCBlbGVtZW50LCBhYm9ydGVkKSA6XG4gICAgICB0aGlzLnN0b3BXYWl0aW5nVG9EcmFnKCk7XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgd2luZG93Lm9mZkV2ZW50KEJMVVJfRVZFTlRfVFlQRSwgbW91c2VVcEhhbmRsZXIsIHRoaXMpOyAgLy8vXG5cbiAgd2luZG93Lm9mZk1vdXNlVXAobW91c2VVcEhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBtb3VzZURvd25IYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHsgYnV0dG9uIH0gPSBldmVudDtcblxuICBpZiAoYnV0dG9uID09PSBMRUZUX01PVVNFX0JVVFRPTikge1xuICAgIGNvbnN0IGRyYWdnaW5nID0gdGhpcy5pc0RyYWdnaW5nKCk7XG5cbiAgICBpZiAoIWRyYWdnaW5nKSB7XG4gICAgICBjb25zdCBtb3VzZVRvcCA9IG1vdXNlVG9wRnJvbUV2ZW50KGV2ZW50KSxcbiAgICAgICAgICAgIG1vdXNlTGVmdCA9IG1vdXNlTGVmdEZyb21FdmVudChldmVudCk7XG5cbiAgICAgIHRoaXMuc3RhcnRXYWl0aW5nVG9EcmFnKGV2ZW50LCBlbGVtZW50LCBtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbiAgICB9XG4gIH1cblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICB3aW5kb3cub25FdmVudChCTFVSX0VWRU5UX1RZUEUsIG1vdXNlVXBIYW5kbGVyLCB0aGlzKTsgLy8vXG5cbiAgd2luZG93Lm9uTW91c2VVcChtb3VzZVVwSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlTW92ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKTtcblxuICBpZiAoZHJhZ2dpbmcpIHtcbiAgICBjb25zdCBtb3VzZVRvcCA9IG1vdXNlVG9wRnJvbUV2ZW50KGV2ZW50KSxcbiAgICAgICAgICBtb3VzZUxlZnQgPSBtb3VzZUxlZnRGcm9tRXZlbnQoZXZlbnQpO1xuXG4gICAgdGhpcy5kcmFnKGV2ZW50LCBlbGVtZW50LCBtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbiAgfVxuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xufVxuIl0sIm5hbWVzIjpbIkVTQ0FQRV9LRVlfQ09ERSIsImtleUNvZGVzIiwiQkxVUl9FVkVOVF9UWVBFIiwiZXZlbnRUeXBlcyIsIkxFRlRfTU9VU0VfQlVUVE9OIiwibW91c2VCdXR0b25zIiwiZ2V0RHJhZ0VsZW1lbnQiLCJkcmFnRWxlbWVudCIsImdsb2JhbFRoaXMiLCJzZXREcmFnRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInJlc2V0RHJhZ0VsZW1lbnQiLCJlbmFibGVEcmFnIiwidGltZW91dCIsInRvcE9mZnNldCIsImxlZnRPZmZzZXQiLCJzdGFydE1vdXNlVG9wIiwic3RhcnRNb3VzZUxlZnQiLCJvbk1vdXNlRG93biIsIm1vdXNlRG93bkhhbmRsZXIiLCJ1cGRhdGVTdGF0ZSIsImRpc2FibGVEcmFnIiwib2ZmTW91c2VEb3duIiwib25DdXN0b21EcmFnIiwiZHJhZ0N1c3RvbUhhbmRsZXIiLCJlbGVtZW50IiwiY3VzdG9tRXZlbnRUeXBlIiwiRFJBR19DVVNUT01fRVZFTlRfVFlQRSIsImN1c3RvbUhhbmRsZXIiLCJvbkN1c3RvbUV2ZW50Iiwib2ZmQ3VzdG9tRHJhZyIsIm9mZkN1c3RvbUV2ZW50Iiwib25DdXN0b21TdG9wRHJhZyIsInN0b3BEcmFnQ3VzdG9tSGFuZGxlciIsIlNUT1BfRFJBR19DVVNUT01fRVZFTlRfVFlQRSIsIm9mZkN1c3RvbVN0b3BEcmFnIiwib25DdXN0b21TdGFydERyYWciLCJzdGFydERyYWdDdXN0b21IYW5kbGVyIiwiU1RBUlRfRFJBR19DVVNUT01fRVZFTlRfVFlQRSIsIm9mZkN1c3RvbVN0YXJ0RHJhZyIsImlzRHJhZ2dpbmciLCJkcmFnZ2luZyIsImhhc0NsYXNzIiwic3RhcnREcmFnIiwiZXZlbnQiLCJtb3VzZVRvcCIsIm1vdXNlTGVmdCIsImJvdW5kcyIsImdldEJvdW5kcyIsImJvdW5kc1RvcCIsImdldFRvcCIsImJvdW5kc0xlZnQiLCJnZXRMZWZ0IiwiYm91bmRzUmlnaHQiLCJnZXRSaWdodCIsImJvdW5kc0JvdHRvbSIsImdldEJvdHRvbSIsImJvdW5kc1dpZHRoIiwiYm91bmRzSGVpZ2h0IiwiTWF0aCIsImZsb29yIiwid2luZG93Iiwib25LZXlEb3duIiwia2V5RG93bkhhbmRsZXIiLCJvbk1vdXNlTW92ZSIsIm1vdXNlTW92ZUhhbmRsZXIiLCJhZGRDbGFzcyIsInNldFRvcE9mZnNldCIsInNldExlZnRPZmZzZXQiLCJzZXRTdGFydE1vdXNlVG9wIiwic2V0U3RhcnRNb3VzZUxlZnQiLCJjYWxsQ3VzdG9tSGFuZGxlcnMiLCJkcmFnIiwic3RvcERyYWciLCJhYm9ydGVkIiwiZHJvcEVsZW1lbnQiLCJnZXREcm9wRWxlbWVudCIsIm9mZktleURvd24iLCJvZmZNb3VzZU1vdmUiLCJkb25lIiwiY2FsbEN1c3RvbUhhbmRsZXJzQXN5bmMiLCJyZW1vdmVDbGFzcyIsImRyYWdFbGVtZW50SWdub3Jlc0Ryb3BFbGVtZW50IiwiY2hlY2tEcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCIsImRyb3AiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCIsImdldFRvcE9mZnNldCIsImdldExlZnRPZmZzZXQiLCJnZXRTdGFydE1vdXNlVG9wIiwiZ2V0U3RhcnRNb3VzZUxlZnQiLCJyZWxhdGl2ZU1vdXNlVG9wIiwicmVsYXRpdmVNb3VzZUxlZnQiLCJ0b3AiLCJsZWZ0IiwiY3NzIiwic3RhcnRXYWl0aW5nVG9EcmFnIiwiZ2V0VGltZW91dCIsInNldFRpbWVvdXQiLCJyZXNldFRpbWVvdXQiLCJTVEFSVF9EUkFHR0lOR19ERUxBWSIsInVwZGF0ZVRpbWVvdXQiLCJzdG9wV2FpdGluZ1RvRHJhZyIsImNsZWFyVGltZW91dCIsImdldFN0YXRlIiwia2V5Q29kZSIsImVzY2FwZUtleSIsInN0b3BQcm9wYWdhdGlvbiIsIm1vdXNlVXBIYW5kbGVyIiwib2ZmRXZlbnQiLCJvZmZNb3VzZVVwIiwiYnV0dG9uIiwibW91c2VUb3BGcm9tRXZlbnQiLCJtb3VzZUxlZnRGcm9tRXZlbnQiLCJvbkV2ZW50Iiwib25Nb3VzZVVwIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzU0E7OztlQUFBOzs7eUJBcFN5QjtvQkFDd0I7eUJBRVo7eUJBQ2M7cUJBQ0c7Z0NBQzRDO0FBRWxHLElBQU0sQUFBRUEsa0JBQW9CQyxtQkFBUSxDQUE1QkQsaUJBQ0YsQUFBRUUsa0JBQW9CQyxnQkFBVSxDQUE5QkQsaUJBQ0YsQUFBRUUsb0JBQXNCQyxrQkFBWSxDQUFsQ0Q7QUFFUixTQUFTRTtJQUNQLElBQU0sQUFBRUMsY0FBZ0JDLFdBQWhCRDtJQUVSLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTRSxlQUFlRixXQUFXO0lBQ2pDRyxPQUFPQyxNQUFNLENBQUNILFlBQVk7UUFDeEJELGFBQUFBO0lBQ0Y7QUFDRjtBQUVBLFNBQVNLO0lBQ1AsSUFBTUwsY0FBYztJQUVwQkUsZUFBZUY7QUFDakI7QUFFQUcsT0FBT0MsTUFBTSxDQUFDSCxZQUFZO0lBQ3hCRixnQkFBQUE7SUFDQUcsZ0JBQUFBO0lBQ0FHLGtCQUFBQTtBQUNGO0FBRUFBO0FBRUEsU0FBU0M7SUFDUCxJQUFNQyxVQUFVLE1BQ1ZDLFlBQVksTUFDWkMsYUFBYSxNQUNiQyxnQkFBZ0IsTUFDaEJDLGlCQUFpQjtJQUV2QixJQUFJLENBQUNDLFdBQVcsQ0FBQ0Msa0JBQWtCLElBQUk7SUFFdkMsSUFBSSxDQUFDQyxXQUFXLENBQUM7UUFDZlAsU0FBQUE7UUFDQUMsV0FBQUE7UUFDQUMsWUFBQUE7UUFDQUMsZUFBQUE7UUFDQUMsZ0JBQUFBO0lBQ0Y7QUFDRjtBQUVBLFNBQVNJO0lBQ1AsSUFBSSxDQUFDQyxZQUFZLENBQUNI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
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJhZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsga2V5Q29kZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCIgO1xuaW1wb3J0IHsgd2luZG93LCBldmVudFR5cGVzLCBtb3VzZUJ1dHRvbnMgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgeyBTVEFSVF9EUkFHR0lOR19ERUxBWSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGNoZWNrRHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3JlZmVyZW5jZVwiO1xuaW1wb3J0IHsgbW91c2VUb3BGcm9tRXZlbnQsIG1vdXNlTGVmdEZyb21FdmVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZXZlbnRcIjtcbmltcG9ydCB7IERSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsIFNUT1BfRFJBR19DVVNUT01fRVZFTlRfVFlQRSwgU1RBUlRfRFJBR19DVVNUT01fRVZFTlRfVFlQRSB9IGZyb20gXCIuLi9jdXN0b21FdmVudFR5cGVzXCI7XG5cbmNvbnN0IHsgRVNDQVBFX0tFWV9DT0RFIH0gPSBrZXlDb2RlcyxcbiAgICAgIHsgQkxVUl9FVkVOVF9UWVBFIH0gPSBldmVudFR5cGVzLFxuICAgICAgeyBMRUZUX01PVVNFX0JVVFRPTiB9ID0gbW91c2VCdXR0b25zO1xuXG5mdW5jdGlvbiBnZXREcmFnRWxlbWVudCgpIHtcbiAgY29uc3QgeyBkcmFnRWxlbWVudCB9ID0gZ2xvYmFsVGhpcztcblxuICByZXR1cm4gZHJhZ0VsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIHNldERyYWdFbGVtZW50KGRyYWdFbGVtZW50KSB7XG4gIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgIGRyYWdFbGVtZW50XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZXNldERyYWdFbGVtZW50KCkge1xuICBjb25zdCBkcmFnRWxlbWVudCA9IG51bGw7XG5cbiAgc2V0RHJhZ0VsZW1lbnQoZHJhZ0VsZW1lbnQpO1xufVxuXG5PYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgZ2V0RHJhZ0VsZW1lbnQsXG4gIHNldERyYWdFbGVtZW50LFxuICByZXNldERyYWdFbGVtZW50XG59KTtcblxucmVzZXREcmFnRWxlbWVudCgpO1xuXG5mdW5jdGlvbiBlbmFibGVEcmFnKCkge1xuICBjb25zdCB0aW1lb3V0ID0gbnVsbCxcbiAgICAgICAgdG9wT2Zmc2V0ID0gbnVsbCxcbiAgICAgICAgbGVmdE9mZnNldCA9IG51bGwsXG4gICAgICAgIGRyYWdFbmFibGVkID0gdHJ1ZSxcbiAgICAgICAgc3RhcnRNb3VzZVRvcCA9IG51bGwsXG4gICAgICAgIHN0YXJ0TW91c2VMZWZ0ID0gbnVsbDtcblxuICB0aGlzLm9uTW91c2VEb3duKG1vdXNlRG93bkhhbmRsZXIsIHRoaXMpO1xuXG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHRpbWVvdXQsXG4gICAgdG9wT2Zmc2V0LFxuICAgIGxlZnRPZmZzZXQsXG4gICAgZHJhZ0VuYWJsZWQsXG4gICAgc3RhcnRNb3VzZVRvcCxcbiAgICBzdGFydE1vdXNlTGVmdFxuICB9KTtcbn1cblxuZnVuY3Rpb24gZGlzYWJsZURyYWcoKSB7XG4gIGNvbnN0IGRyYWdFbmFibGVkID0gZmFsc2U7XG5cbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgZHJhZ0VuYWJsZWRcbiAgfSk7XG5cbiAgdGhpcy5vZmZNb3VzZURvd24obW91c2VEb3duSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG9uQ3VzdG9tRHJhZyhkcmFnQ3VzdG9tSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBEUkFHX0NVU1RPTV9FVkVOVF9UWVBFLFxuICAgICAgICBjdXN0b21IYW5kbGVyID0gZHJhZ0N1c3RvbUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLm9uQ3VzdG9tRXZlbnQoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmQ3VzdG9tRHJhZyhkcmFnQ3VzdG9tSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBEUkFHX0NVU1RPTV9FVkVOVF9UWVBFLFxuICAgICAgICBjdXN0b21IYW5kbGVyID0gZHJhZ0N1c3RvbUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLm9mZkN1c3RvbUV2ZW50KGN1c3RvbUV2ZW50VHlwZSwgY3VzdG9tSGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uQ3VzdG9tU3RvcERyYWcoc3RvcERyYWdDdXN0b21IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IFNUT1BfRFJBR19DVVNUT01fRVZFTlRfVFlQRSxcbiAgICAgICAgY3VzdG9tSGFuZGxlciA9IHN0b3BEcmFnQ3VzdG9tSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMub25DdXN0b21FdmVudChjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZDdXN0b21TdG9wRHJhZyhzdG9wRHJhZ0N1c3RvbUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gU1RPUF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFLFxuICAgICAgICBjdXN0b21IYW5kbGVyID0gc3RvcERyYWdDdXN0b21IYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5vZmZDdXN0b21FdmVudChjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvbkN1c3RvbVN0YXJ0RHJhZyhzdGFydERyYWdDdXN0b21IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IFNUQVJUX0RSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsXG4gICAgICAgIGN1c3RvbUhhbmRsZXIgPSBzdGFydERyYWdDdXN0b21IYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5vbkN1c3RvbUV2ZW50KGN1c3RvbUV2ZW50VHlwZSwgY3VzdG9tSGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZkN1c3RvbVN0YXJ0RHJhZyhzdGFydERyYWdDdXN0b21IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IFNUQVJUX0RSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsXG4gICAgICAgIGN1c3RvbUhhbmRsZXIgPSBzdGFydERyYWdDdXN0b21IYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5vZmZDdXN0b21FdmVudChjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBpc0RyYWdFbmFibGVkKCkge1xuICBjb25zdCB7IGRyYWdFbmFibGVkID0gZmFsc2UgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gZHJhZ0VuYWJsZWQ7XG59XG5cbmZ1bmN0aW9uIGlzRHJhZ2dpbmcoKSB7XG4gIGNvbnN0IGRyYWdnaW5nID0gdGhpcy5oYXNDbGFzcyhcImRyYWdnaW5nXCIpO1xuXG4gIHJldHVybiBkcmFnZ2luZztcbn1cblxuZnVuY3Rpb24gc3RhcnREcmFnKGV2ZW50LCBlbGVtZW50LCBtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0Qm91bmRzKCksXG4gICAgICAgIGJvdW5kc1RvcCA9IGJvdW5kcy5nZXRUb3AoKSxcbiAgICAgICAgYm91bmRzTGVmdCA9IGJvdW5kcy5nZXRMZWZ0KCksXG4gICAgICAgIGJvdW5kc1JpZ2h0ID0gYm91bmRzLmdldFJpZ2h0KCksXG4gICAgICAgIGJvdW5kc0JvdHRvbSA9IGJvdW5kcy5nZXRCb3R0b20oKSxcbiAgICAgICAgYm91bmRzV2lkdGggPSBib3VuZHNSaWdodCAtIGJvdW5kc0xlZnQsXG4gICAgICAgIGJvdW5kc0hlaWdodCA9IGJvdW5kc0JvdHRvbSAtIGJvdW5kc1RvcCxcbiAgICAgICAgdG9wT2Zmc2V0ID0gTWF0aC5mbG9vcihib3VuZHNIZWlnaHQgLyAyKSxcbiAgICAgICAgbGVmdE9mZnNldCA9IE1hdGguZmxvb3IoYm91bmRzV2lkdGggLyAyKSxcbiAgICAgICAgZHJhZ0VsZW1lbnQgPSB0aGlzLCAvLy9cbiAgICAgICAgc3RhcnRNb3VzZVRvcCA9IG1vdXNlVG9wLCAvLy9cbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSBtb3VzZUxlZnQsIC8vL1xuICAgICAgICBjdXN0b21FdmVudFR5cGUgPSBTVEFSVF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFO1xuXG4gIHdpbmRvdy5vbktleURvd24oa2V5RG93bkhhbmRsZXIsIHRoaXMpO1xuXG4gIHdpbmRvdy5vbk1vdXNlTW92ZShtb3VzZU1vdmVIYW5kbGVyLCB0aGlzKTtcblxuICB0aGlzLmFkZENsYXNzKFwiZHJhZ2dpbmdcIik7XG5cbiAgc2V0RHJhZ0VsZW1lbnQoZHJhZ0VsZW1lbnQpO1xuXG4gIHRoaXMuc2V0VG9wT2Zmc2V0KHRvcE9mZnNldCk7XG5cbiAgdGhpcy5zZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpO1xuXG4gIHRoaXMuc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKTtcblxuICB0aGlzLnNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KTtcblxuICB0aGlzLmNhbGxDdXN0b21IYW5kbGVycyhjdXN0b21FdmVudFR5cGUsIGV2ZW50LCBlbGVtZW50KTtcblxuICB0aGlzLmRyYWcoZXZlbnQsIGVsZW1lbnQsIG1vdXNlVG9wLCBtb3VzZUxlZnQpO1xufVxuXG5mdW5jdGlvbiBzdG9wRHJhZyhldmVudCwgZWxlbWVudCwgYWJvcnRlZCkge1xuICBjb25zdCBkcm9wRWxlbWVudCA9IGdldERyb3BFbGVtZW50KCksXG4gICAgICAgIGN1c3RvbUV2ZW50VHlwZSA9IFNUT1BfRFJBR19DVVNUT01fRVZFTlRfVFlQRTtcblxuICB3aW5kb3cub2ZmS2V5RG93bihrZXlEb3duSGFuZGxlciwgdGhpcyk7XG5cbiAgd2luZG93Lm9mZk1vdXNlTW92ZShtb3VzZU1vdmVIYW5kbGVyLCB0aGlzKTtcblxuICBjb25zdCBkb25lID0gKCkgPT4ge1xuICAgIHRoaXMuY2FsbEN1c3RvbUhhbmRsZXJzQXN5bmMoY3VzdG9tRXZlbnRUeXBlLCBldmVudCwgZWxlbWVudCwgZHJvcEVsZW1lbnQsIGFib3J0ZWQsICgpID0+IHtcbiAgICAgIHJlc2V0RHJhZ0VsZW1lbnQoKTtcblxuICAgICAgdGhpcy5yZW1vdmVDbGFzcyhcImRyYWdnaW5nXCIpO1xuICAgIH0pO1xuICB9XG5cbiAgaWYgKGRyb3BFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgbGV0IGRyYWdFbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBjb25zdCBkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCA9IGNoZWNrRHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQoZHJhZ0VsZW1lbnQsIGRyb3BFbGVtZW50KTtcblxuICAgIGlmIChkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCkge1xuICAgICAgZHJhZ0VsZW1lbnQgPSBudWxsO1xuICAgIH1cblxuICAgIGRyb3BFbGVtZW50LmRyb3AoZXZlbnQsIGVsZW1lbnQsIGRyYWdFbGVtZW50LCBhYm9ydGVkLCBkb25lKTtcbiAgfSBlbHNlIHtcbiAgICBkb25lKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZHJhZyhldmVudCwgZWxlbWVudCwgbW91c2VUb3AsIG1vdXNlTGVmdCkge1xuICBjb25zdCBzY3JvbGxUb3AgPSB3aW5kb3cuZ2V0U2Nyb2xsVG9wKCksXG4gICAgICAgIHNjcm9sbExlZnQgPSB3aW5kb3cuZ2V0U2Nyb2xsTGVmdCgpLFxuICAgICAgICB0b3BPZmZzZXQgPSB0aGlzLmdldFRvcE9mZnNldCgpLFxuICAgICAgICBsZWZ0T2Zmc2V0ID0gdGhpcy5nZXRMZWZ0T2Zmc2V0KCksXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSB0aGlzLmdldFN0YXJ0TW91c2VUb3AoKSxcbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSB0aGlzLmdldFN0YXJ0TW91c2VMZWZ0KCksXG4gICAgICAgIGN1c3RvbUV2ZW50VHlwZSA9IERSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsXG4gICAgICAgIHJlbGF0aXZlTW91c2VUb3AgPSBtb3VzZVRvcCAtIHN0YXJ0TW91c2VUb3AsXG4gICAgICAgIHJlbGF0aXZlTW91c2VMZWZ0ID0gbW91c2VMZWZ0IC0gc3RhcnRNb3VzZUxlZnQ7XG5cbiAgbGV0IHRvcCA9IHN0YXJ0TW91c2VUb3AgKyByZWxhdGl2ZU1vdXNlVG9wIC0gdG9wT2Zmc2V0IC0gc2Nyb2xsVG9wLFxuICAgICAgbGVmdCA9IHN0YXJ0TW91c2VMZWZ0ICsgcmVsYXRpdmVNb3VzZUxlZnQgLSBsZWZ0T2Zmc2V0IC0gc2Nyb2xsTGVmdDtcblxuICB0b3AgPSBgJHt0b3B9cHhgOyAvLy9cbiAgbGVmdCA9IGAke2xlZnR9cHhgOyAvLy9cblxuICBjb25zdCBjc3MgPSB7XG4gICAgdG9wLFxuICAgIGxlZnRcbiAgfTtcblxuICB0aGlzLmNzcyhjc3MpO1xuXG4gIHRoaXMuY2FsbEN1c3RvbUhhbmRsZXJzKGN1c3RvbUV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQsIHJlbGF0aXZlTW91c2VUb3AsIHJlbGF0aXZlTW91c2VMZWZ0KTtcbn1cblxuZnVuY3Rpb24gc3RhcnRXYWl0aW5nVG9EcmFnKGV2ZW50LCBlbGVtZW50LCBtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGxldCB0aW1lb3V0ID0gdGhpcy5nZXRUaW1lb3V0KCk7XG5cbiAgaWYgKHRpbWVvdXQgPT09IG51bGwpIHtcbiAgICB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0VGltZW91dCgpO1xuXG4gICAgICB0aGlzLnN0YXJ0RHJhZyhldmVudCwgZWxlbWVudCwgbW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gICAgfSwgU1RBUlRfRFJBR0dJTkdfREVMQVkpO1xuXG4gICAgdGhpcy51cGRhdGVUaW1lb3V0KHRpbWVvdXQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0b3BXYWl0aW5nVG9EcmFnKCkge1xuICBjb25zdCB0aW1lb3V0ID0gdGhpcy5nZXRUaW1lb3V0KCk7XG5cbiAgaWYgKHRpbWVvdXQgIT09IG51bGwpIHtcbiAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG5cbiAgICB0aGlzLnJlc2V0VGltZW91dCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHsgdGltZW91dCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiB0aW1lb3V0O1xufVxuXG5mdW5jdGlvbiByZXNldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHRpbWVvdXQgPSBudWxsO1xuXG4gIHRoaXMudXBkYXRlVGltZW91dCh0aW1lb3V0KTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVGltZW91dCh0aW1lb3V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHRpbWVvdXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFRvcE9mZnNldCgpIHtcbiAgY29uc3QgeyB0b3BPZmZzZXQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gdG9wT2Zmc2V0O1xufVxuXG5mdW5jdGlvbiBnZXRMZWZ0T2Zmc2V0KCkge1xuICBjb25zdCB7IGxlZnRPZmZzZXQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gbGVmdE9mZnNldDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhcnRNb3VzZVRvcCgpIHtcbiAgY29uc3QgeyBzdGFydE1vdXNlVG9wIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIHN0YXJ0TW91c2VUb3A7XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW91c2VMZWZ0KCkge1xuICBjb25zdCB7IHN0YXJ0TW91c2VMZWZ0IH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIHN0YXJ0TW91c2VMZWZ0O1xufVxuXG5mdW5jdGlvbiBzZXRUb3BPZmZzZXQodG9wT2Zmc2V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHRvcE9mZnNldFxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0TGVmdE9mZnNldChsZWZ0T2Zmc2V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIGxlZnRPZmZzZXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldFN0YXJ0TW91c2VUb3Aoc3RhcnRNb3VzZVRvcCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICBzdGFydE1vdXNlVG9wXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRTdGFydE1vdXNlTGVmdChzdGFydE1vdXNlTGVmdCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICBzdGFydE1vdXNlTGVmdFxuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBlbmFibGVEcmFnLFxuICBkaXNhYmxlRHJhZyxcbiAgb25DdXN0b21EcmFnLFxuICBvZmZDdXN0b21EcmFnLFxuICBvbkN1c3RvbVN0b3BEcmFnLFxuICBvZmZDdXN0b21TdG9wRHJhZyxcbiAgb25DdXN0b21TdGFydERyYWcsXG4gIG9mZkN1c3RvbVN0YXJ0RHJhZyxcbiAgaXNEcmFnRW5hYmxlZCxcbiAgaXNEcmFnZ2luZyxcbiAgc3RhcnREcmFnLFxuICBzdG9wRHJhZyxcbiAgZHJhZyxcbiAgc3RhcnRXYWl0aW5nVG9EcmFnLFxuICBzdG9wV2FpdGluZ1RvRHJhZyxcbiAgZ2V0VGltZW91dCxcbiAgcmVzZXRUaW1lb3V0LFxuICB1cGRhdGVUaW1lb3V0LFxuICBnZXRUb3BPZmZzZXQsXG4gIGdldExlZnRPZmZzZXQsXG4gIGdldFN0YXJ0TW91c2VUb3AsXG4gIGdldFN0YXJ0TW91c2VMZWZ0LFxuICBzZXRUb3BPZmZzZXQsXG4gIHNldExlZnRPZmZzZXQsXG4gIHNldFN0YXJ0TW91c2VUb3AsXG4gIHNldFN0YXJ0TW91c2VMZWZ0XG59O1xuXG5mdW5jdGlvbiBrZXlEb3duSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCB7IGtleUNvZGUgfSA9IGV2ZW50LFxuICAgICAgICBlc2NhcGVLZXkgPSAoa2V5Q29kZSA9PT0gRVNDQVBFX0tFWV9DT0RFKSxcbiAgICAgICAgYWJvcnRlZCA9IHRydWU7XG5cbiAgaWYgKGVzY2FwZUtleSkge1xuICAgIHRoaXMuc3RvcERyYWcoZXZlbnQsIGVsZW1lbnQsIGFib3J0ZWQpO1xuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91c2VVcEhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKSxcbiAgICAgICAgYWJvcnRlZCA9IGZhbHNlO1xuXG4gIGRyYWdnaW5nID9cbiAgICB0aGlzLnN0b3BEcmFnKGV2ZW50LCBlbGVtZW50LCBhYm9ydGVkKSA6XG4gICAgICB0aGlzLnN0b3BXYWl0aW5nVG9EcmFnKCk7XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgd2luZG93Lm9mZkV2ZW50KEJMVVJfRVZFTlRfVFlQRSwgbW91c2VVcEhhbmRsZXIsIHRoaXMpOyAgLy8vXG5cbiAgd2luZG93Lm9mZk1vdXNlVXAobW91c2VVcEhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBtb3VzZURvd25IYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHsgYnV0dG9uIH0gPSBldmVudDtcblxuICBpZiAoYnV0dG9uID09PSBMRUZUX01PVVNFX0JVVFRPTikge1xuICAgIGNvbnN0IGRyYWdnaW5nID0gdGhpcy5pc0RyYWdnaW5nKCk7XG5cbiAgICBpZiAoIWRyYWdnaW5nKSB7XG4gICAgICBjb25zdCBtb3VzZVRvcCA9IG1vdXNlVG9wRnJvbUV2ZW50KGV2ZW50KSxcbiAgICAgICAgICAgIG1vdXNlTGVmdCA9IG1vdXNlTGVmdEZyb21FdmVudChldmVudCk7XG5cbiAgICAgIHRoaXMuc3RhcnRXYWl0aW5nVG9EcmFnKGV2ZW50LCBlbGVtZW50LCBtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbiAgICB9XG4gIH1cblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICB3aW5kb3cub25FdmVudChCTFVSX0VWRU5UX1RZUEUsIG1vdXNlVXBIYW5kbGVyLCB0aGlzKTsgLy8vXG5cbiAgd2luZG93Lm9uTW91c2VVcChtb3VzZVVwSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlTW92ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKTtcblxuICBpZiAoZHJhZ2dpbmcpIHtcbiAgICBjb25zdCBtb3VzZVRvcCA9IG1vdXNlVG9wRnJvbUV2ZW50KGV2ZW50KSxcbiAgICAgICAgICBtb3VzZUxlZnQgPSBtb3VzZUxlZnRGcm9tRXZlbnQoZXZlbnQpO1xuXG4gICAgdGhpcy5kcmFnKGV2ZW50LCBlbGVtZW50LCBtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbiAgfVxuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xufVxuIl0sIm5hbWVzIjpbIkVTQ0FQRV9LRVlfQ09ERSIsImtleUNvZGVzIiwiQkxVUl9FVkVOVF9UWVBFIiwiZXZlbnRUeXBlcyIsIkxFRlRfTU9VU0VfQlVUVE9OIiwibW91c2VCdXR0b25zIiwiZ2V0RHJhZ0VsZW1lbnQiLCJkcmFnRWxlbWVudCIsImdsb2JhbFRoaXMiLCJzZXREcmFnRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInJlc2V0RHJhZ0VsZW1lbnQiLCJlbmFibGVEcmFnIiwidGltZW91dCIsInRvcE9mZnNldCIsImxlZnRPZmZzZXQiLCJkcmFnRW5hYmxlZCIsInN0YXJ0TW91c2VUb3AiLCJzdGFydE1vdXNlTGVmdCIsIm9uTW91c2VEb3duIiwibW91c2VEb3duSGFuZGxlciIsInVwZGF0ZVN0YXRlIiwiZGlzYWJsZURyYWciLCJvZmZNb3VzZURvd24iLCJvbkN1c3RvbURyYWciLCJkcmFnQ3VzdG9tSGFuZGxlciIsImVsZW1lbnQiLCJjdXN0b21FdmVudFR5cGUiLCJEUkFHX0NVU1RPTV9FVkVOVF9UWVBFIiwiY3VzdG9tSGFuZGxlciIsIm9uQ3VzdG9tRXZlbnQiLCJvZmZDdXN0b21EcmFnIiwib2ZmQ3VzdG9tRXZlbnQiLCJvbkN1c3RvbVN0b3BEcmFnIiwic3RvcERyYWdDdXN0b21IYW5kbGVyIiwiU1RPUF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFIiwib2ZmQ3VzdG9tU3RvcERyYWciLCJvbkN1c3RvbVN0YXJ0RHJhZyIsInN0YXJ0RHJhZ0N1c3RvbUhhbmRsZXIiLCJTVEFSVF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFIiwib2ZmQ3VzdG9tU3RhcnREcmFnIiwiaXNEcmFnRW5hYmxlZCIsImdldFN0YXRlIiwiaXNEcmFnZ2luZyIsImRyYWdnaW5nIiwiaGFzQ2xhc3MiLCJzdGFydERyYWciLCJldmVudCIsIm1vdXNlVG9wIiwibW91c2VMZWZ0IiwiYm91bmRzIiwiZ2V0Qm91bmRzIiwiYm91bmRzVG9wIiwiZ2V0VG9wIiwiYm91bmRzTGVmdCIsImdldExlZnQiLCJib3VuZHNSaWdodCIsImdldFJpZ2h0IiwiYm91bmRzQm90dG9tIiwiZ2V0Qm90dG9tIiwiYm91bmRzV2lkdGgiLCJib3VuZHNIZWlnaHQiLCJNYXRoIiwiZmxvb3IiLCJ3aW5kb3ciLCJvbktleURvd24iLCJrZXlEb3duSGFuZGxlciIsIm9uTW91c2VNb3ZlIiwibW91c2VNb3ZlSGFuZGxlciIsImFkZENsYXNzIiwic2V0VG9wT2Zmc2V0Iiwic2V0TGVmdE9mZnNldCIsInNldFN0YXJ0TW91c2VUb3AiLCJzZXRTdGFydE1vdXNlTGVmdCIsImNhbGxDdXN0b21IYW5kbGVycyIsImRyYWciLCJzdG9wRHJhZyIsImFib3J0ZWQiLCJkcm9wRWxlbWVudCIsImdldERyb3BFbGVtZW50Iiwib2ZmS2V5RG93biIsIm9mZk1vdXNlTW92ZSIsImRvbmUiLCJjYWxsQ3VzdG9tSGFuZGxlcnNBc3luYyIsInJlbW92ZUNsYXNzIiwiZHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQiLCJjaGVja0RyYWdFbGVtZW50SWdub3Jlc0Ryb3BFbGVtZW50IiwiZHJvcCIsInNjcm9sbFRvcCIsImdldFNjcm9sbFRvcCIsInNjcm9sbExlZnQiLCJnZXRTY3JvbGxMZWZ0IiwiZ2V0VG9wT2Zmc2V0IiwiZ2V0TGVmdE9mZnNldCIsImdldFN0YXJ0TW91c2VUb3AiLCJnZXRTdGFydE1vdXNlTGVmdCIsInJlbGF0aXZlTW91c2VUb3AiLCJyZWxhdGl2ZU1vdXNlTGVmdCIsInRvcCIsImxlZnQiLCJjc3MiLCJzdGFydFdhaXRpbmdUb0RyYWciLCJnZXRUaW1lb3V0Iiwic2V0VGltZW91dCIsInJlc2V0VGltZW91dCIsIlNUQVJUX0RSQUdHSU5HX0RFTEFZIiwidXBkYXRlVGltZW91dCIsInN0b3BXYWl0aW5nVG9EcmFnIiwiY2xlYXJUaW1lb3V0Iiwia2V5Q29kZSIsImVzY2FwZUtleSIsInN0b3BQcm9wYWdhdGlvbiIsIm1vdXNlVXBIYW5kbGVyIiwib2ZmRXZlbnQiLCJvZmZNb3VzZVVwIiwiYnV0dG9uIiwibW91c2VUb3BGcm9tRXZlbnQiLCJtb3VzZUxlZnRGcm9tRXZlbnQiLCJvbkV2ZW50Iiwib25Nb3VzZVVwIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvVEE7OztlQUFBOzs7eUJBbFR5QjtvQkFDd0I7eUJBRVo7eUJBQ2M7cUJBQ0c7Z0NBQzRDO0FBRWxHLElBQU0sQUFBRUEsa0JBQW9CQyxtQkFBUSxDQUE1QkQsaUJBQ0YsQUFBRUUsa0JBQW9CQyxnQkFBVSxDQUE5QkQsaUJBQ0YsQUFBRUUsb0JBQXNCQyxrQkFBWSxDQUFsQ0Q7QUFFUixTQUFTRTtJQUNQLElBQU0sQUFBRUMsY0FBZ0JDLFdBQWhCRDtJQUVSLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTRSxlQUFlRixXQUFXO0lBQ2pDRyxPQUFPQyxNQUFNLENBQUNILFlBQVk7UUFDeEJELGFBQUFBO0lBQ0Y7QUFDRjtBQUVBLFNBQVNLO0lBQ1AsSUFBTUwsY0FBYztJQUVwQkUsZUFBZUY7QUFDakI7QUFFQUcsT0FBT0MsTUFBTSxDQUFDSCxZQUFZO0lBQ3hCRixnQkFBQUE7SUFD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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "easy-drag-and-drop",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.184",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/easy-drag-and-drop",
|
|
7
7
|
"description": "Drag and drop functionality for Easy elements.",
|
package/src/mixins/drag.js
CHANGED
|
@@ -42,6 +42,7 @@ function enableDrag() {
|
|
|
42
42
|
const timeout = null,
|
|
43
43
|
topOffset = null,
|
|
44
44
|
leftOffset = null,
|
|
45
|
+
dragEnabled = true,
|
|
45
46
|
startMouseTop = null,
|
|
46
47
|
startMouseLeft = null;
|
|
47
48
|
|
|
@@ -51,12 +52,19 @@ function enableDrag() {
|
|
|
51
52
|
timeout,
|
|
52
53
|
topOffset,
|
|
53
54
|
leftOffset,
|
|
55
|
+
dragEnabled,
|
|
54
56
|
startMouseTop,
|
|
55
57
|
startMouseLeft
|
|
56
58
|
});
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
function disableDrag() {
|
|
62
|
+
const dragEnabled = false;
|
|
63
|
+
|
|
64
|
+
this.updateState({
|
|
65
|
+
dragEnabled
|
|
66
|
+
});
|
|
67
|
+
|
|
60
68
|
this.offMouseDown(mouseDownHandler, this);
|
|
61
69
|
}
|
|
62
70
|
|
|
@@ -102,6 +110,12 @@ function offCustomStartDrag(startDragCustomHandler, element) {
|
|
|
102
110
|
this.offCustomEvent(customEventType, customHandler, element);
|
|
103
111
|
}
|
|
104
112
|
|
|
113
|
+
function isDragEnabled() {
|
|
114
|
+
const { dragEnabled = false } = this.getState();
|
|
115
|
+
|
|
116
|
+
return dragEnabled;
|
|
117
|
+
}
|
|
118
|
+
|
|
105
119
|
function isDragging() {
|
|
106
120
|
const dragging = this.hasClass("dragging");
|
|
107
121
|
|
|
@@ -301,6 +315,7 @@ export default {
|
|
|
301
315
|
offCustomStopDrag,
|
|
302
316
|
onCustomStartDrag,
|
|
303
317
|
offCustomStartDrag,
|
|
318
|
+
isDragEnabled,
|
|
304
319
|
isDragging,
|
|
305
320
|
startDrag,
|
|
306
321
|
stopDrag,
|