easy-drag-and-drop 1.3.78 → 1.3.81

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.
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ DRAG_CUSTOM_EVENT_TYPE: function() {
13
+ return DRAG_CUSTOM_EVENT_TYPE;
14
+ },
15
+ DRAG_OUT_CUSTOM_EVENT_TYPE: function() {
16
+ return DRAG_OUT_CUSTOM_EVENT_TYPE;
17
+ },
18
+ DRAG_OVER_CUSTOM_EVENT_TYPE: function() {
19
+ return DRAG_OVER_CUSTOM_EVENT_TYPE;
20
+ },
21
+ DROP_CUSTOM_EVENT_TYPE: function() {
22
+ return DROP_CUSTOM_EVENT_TYPE;
23
+ },
24
+ START_DRAG_CUSTOM_EVENT_TYPE: function() {
25
+ return START_DRAG_CUSTOM_EVENT_TYPE;
26
+ },
27
+ STOP_DRAG_CUSTOM_EVENT_TYPE: function() {
28
+ return STOP_DRAG_CUSTOM_EVENT_TYPE;
29
+ },
30
+ default: function() {
31
+ return _default;
32
+ }
33
+ });
34
+ var DRAG_CUSTOM_EVENT_TYPE = "drag";
35
+ var DROP_CUSTOM_EVENT_TYPE = "drop";
36
+ var DRAG_OUT_CUSTOM_EVENT_TYPE = "dragout";
37
+ var DRAG_OVER_CUSTOM_EVENT_TYPE = "dragover";
38
+ var STOP_DRAG_CUSTOM_EVENT_TYPE = "stopdrag";
39
+ var START_DRAG_CUSTOM_EVENT_TYPE = "startdrag";
40
+ var _default = {
41
+ DRAG_CUSTOM_EVENT_TYPE: DRAG_CUSTOM_EVENT_TYPE,
42
+ DROP_CUSTOM_EVENT_TYPE: DROP_CUSTOM_EVENT_TYPE,
43
+ DRAG_OUT_CUSTOM_EVENT_TYPE: DRAG_OUT_CUSTOM_EVENT_TYPE,
44
+ DRAG_OVER_CUSTOM_EVENT_TYPE: DRAG_OVER_CUSTOM_EVENT_TYPE,
45
+ STOP_DRAG_CUSTOM_EVENT_TYPE: STOP_DRAG_CUSTOM_EVENT_TYPE,
46
+ START_DRAG_CUSTOM_EVENT_TYPE: START_DRAG_CUSTOM_EVENT_TYPE
47
+ };
48
+
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jdXN0b21FdmVudFR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgRFJBR19DVVNUT01fRVZFTlRfVFlQRSA9IFwiZHJhZ1wiO1xuZXhwb3J0IGNvbnN0IERST1BfQ1VTVE9NX0VWRU5UX1RZUEUgPSBcImRyb3BcIjtcbmV4cG9ydCBjb25zdCBEUkFHX09VVF9DVVNUT01fRVZFTlRfVFlQRSA9IFwiZHJhZ291dFwiO1xuZXhwb3J0IGNvbnN0IERSQUdfT1ZFUl9DVVNUT01fRVZFTlRfVFlQRSA9IFwiZHJhZ292ZXJcIjtcbmV4cG9ydCBjb25zdCBTVE9QX0RSQUdfQ1VTVE9NX0VWRU5UX1RZUEUgPSBcInN0b3BkcmFnXCI7XG5leHBvcnQgY29uc3QgU1RBUlRfRFJBR19DVVNUT01fRVZFTlRfVFlQRSA9IFwic3RhcnRkcmFnXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgRFJBR19DVVNUT01fRVZFTlRfVFlQRSxcbiAgRFJPUF9DVVNUT01fRVZFTlRfVFlQRSxcbiAgRFJBR19PVVRfQ1VTVE9NX0VWRU5UX1RZUEUsXG4gIERSQUdfT1ZFUl9DVVNUT01fRVZFTlRfVFlQRSxcbiAgU1RPUF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFLFxuICBTVEFSVF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFXG59O1xuIl0sIm5hbWVzIjpbIkRSQUdfQ1VTVE9NX0VWRU5UX1RZUEUiLCJEUkFHX09VVF9DVVNUT01fRVZFTlRfVFlQRSIsIkRSQUdfT1ZFUl9DVVNUT01fRVZFTlRfVFlQRSIsIkRST1BfQ1VTVE9NX0VWRU5UX1RZUEUiLCJTVEFSVF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFIiwiU1RPUF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFYUEsc0JBQXNCO2VBQXRCQTs7SUFFQUMsMEJBQTBCO2VBQTFCQTs7SUFDQUMsMkJBQTJCO2VBQTNCQTs7SUFGQUMsc0JBQXNCO2VBQXRCQTs7SUFJQUMsNEJBQTRCO2VBQTVCQTs7SUFEQUMsMkJBQTJCO2VBQTNCQTs7SUFHYixPQU9FO2VBUEY7OztBQVBPLElBQU1MLHlCQUF5QjtBQUMvQixJQUFNRyx5QkFBeUI7QUFDL0IsSUFBTUYsNkJBQTZCO0FBQ25DLElBQU1DLDhCQUE4QjtBQUNwQyxJQUFNRyw4QkFBOEI7QUFDcEMsSUFBTUQsK0JBQStCO0lBRTVDLFdBQWU7SUFDYkosd0JBQUFBO0lBQ0FHLHdCQUFBQTtJQUNBRiw0QkFBQUE7SUFDQUMsNkJBQUFBO0lBQ0FHLDZCQUFBQTtJQUNBRCw4QkFBQUE7QUFDRiJ9
@@ -210,12 +210,9 @@ var DragElement = /*#__PURE__*/ function(Element) {
210
210
  return DragElement;
211
211
  }(_wrap_native_super(_easy.Element));
212
212
  _define_property(DragElement, "ignoredProperties", [
213
- "onDrag",
214
- "references",
215
- "onStartDrag",
216
- "offStartDrag"
213
+ "references"
217
214
  ]);
218
215
  Object.assign(DragElement.prototype, _drag.default);
219
216
  var _default = (0, _easywithstyle.default)(DragElement)(_templateObject());
220
217
 
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2RyYWcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcblxuaW1wb3J0IGRyYWdNaXhpbnMgZnJvbSBcIi4uL21peGlucy9kcmFnXCI7XG5cbmNsYXNzIERyYWdFbGVtZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGdldFJlZmVyZW5jZXMoKSB7XG4gICAgY29uc3QgeyByZWZlcmVuY2VzID0gW10gfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiByZWZlcmVuY2VzO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy5lbmFibGVEcmFnKCk7XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLmRpc2FibGVEcmFnKCk7XG4gIH1cblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJvbkRyYWdcIixcbiAgICBcInJlZmVyZW5jZXNcIixcbiAgICBcIm9uU3RhcnREcmFnXCIsXG4gICAgXCJvZmZTdGFydERyYWdcIlxuICBdO1xufVxuXG5PYmplY3QuYXNzaWduKERyYWdFbGVtZW50LnByb3RvdHlwZSwgZHJhZ01peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShEcmFnRWxlbWVudClgXG5cbiAgLmRyYWdnaW5nIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICBcbmA7XG4iXSwibmFtZXMiOlsiRHJhZ0VsZW1lbnQiLCJnZXRSZWZlcmVuY2VzIiwicHJvcGVydGllcyIsInJlZmVyZW5jZXMiLCJkaWRNb3VudCIsImVuYWJsZURyYWciLCJ3aWxsVW5tb3VudCIsImRpc2FibGVEcmFnIiwiRWxlbWVudCIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJhZ01peGlucyIsIndpdGhTdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUNBOzs7ZUFBQTs7O29FQS9Cc0I7b0JBRUU7MkRBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdkIsSUFBQSxBQUFNQSw0QkFBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUE0QixtQkFBQSxJQUFJLENBQUNDLFVBQVUsZ0NBQWYsaUJBQXBCQyxZQUFBQSxzREFBYSxFQUFFO2dCQUV2QixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsVUFBVTtZQUNqQjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLFdBQVc7WUFDbEI7OztXQWJJUDtxQkFBb0JRLGFBQU87QUFlL0IsaUJBZklSLGFBZUdTLHFCQUFvQjtJQUN6QjtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBR0hDLE9BQU9DLE1BQU0sQ0FBQ1gsWUFBWVksU0FBUyxFQUFFQyxhQUFVO0lBRS9DLFdBQWVDLElBQUFBLHNCQUFTLEVBQUNkIn0=
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2RyYWcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcblxuaW1wb3J0IGRyYWdNaXhpbnMgZnJvbSBcIi4uL21peGlucy9kcmFnXCI7XG5cbmNsYXNzIERyYWdFbGVtZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGdldFJlZmVyZW5jZXMoKSB7XG4gICAgY29uc3QgeyByZWZlcmVuY2VzID0gW10gfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiByZWZlcmVuY2VzO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy5lbmFibGVEcmFnKCk7XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLmRpc2FibGVEcmFnKCk7XG4gIH1cblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJyZWZlcmVuY2VzXCJcbiAgXTtcbn1cblxuT2JqZWN0LmFzc2lnbihEcmFnRWxlbWVudC5wcm90b3R5cGUsIGRyYWdNaXhpbnMpO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoRHJhZ0VsZW1lbnQpYFxuXG4gIC5kcmFnZ2luZyB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgXG5gO1xuIl0sIm5hbWVzIjpbIkRyYWdFbGVtZW50IiwiZ2V0UmVmZXJlbmNlcyIsInByb3BlcnRpZXMiLCJyZWZlcmVuY2VzIiwiZGlkTW91bnQiLCJlbmFibGVEcmFnIiwid2lsbFVubW91bnQiLCJkaXNhYmxlRHJhZyIsIkVsZW1lbnQiLCJpZ25vcmVkUHJvcGVydGllcyIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImRyYWdNaXhpbnMiLCJ3aXRoU3R5bGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQThCQTs7O2VBQUE7OztvRUE1QnNCO29CQUVFOzJEQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXZCLElBQUEsQUFBTUEsNEJBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBNEIsbUJBQUEsSUFBSSxDQUFDQyxVQUFVLGdDQUFmLGlCQUFwQkMsWUFBQUEsc0RBQWEsRUFBRTtnQkFFdkIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLFVBQVU7WUFDakI7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxXQUFXO1lBQ2xCOzs7V0FiSVA7cUJBQW9CUSxhQUFPO0FBZS9CLGlCQWZJUixhQWVHUyxxQkFBb0I7SUFDekI7Q0FDRDtBQUdIQyxPQUFPQyxNQUFNLENBQUNYLFlBQVlZLFNBQVMsRUFBRUMsYUFBVTtJQUUvQyxXQUFlQyxJQUFBQSxzQkFBUyxFQUFDZCJ9
@@ -190,11 +190,8 @@ var DropElement = /*#__PURE__*/ function(Element) {
190
190
  return DropElement;
191
191
  }(_wrap_native_super(_easy.Element));
192
192
  _define_property(DropElement, "ignoredProperties", [
193
- "onDrop",
194
- "reference",
195
- "onDragOut",
196
- "onDragOver"
193
+ "reference"
197
194
  ]);
198
195
  Object.assign(DropElement.prototype, _drop.default);
199
196
 
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Ryb3AuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgZHJvcE1peGlucyBmcm9tIFwiLi4vbWl4aW5zL2Ryb3BcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJvcEVsZW1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZ2V0UmVmZXJlbmNlKCkge1xuICAgIGNvbnN0IHsgcmVmZXJlbmNlID0gbnVsbCB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIHJlZmVyZW5jZTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIHRoaXMuZW5hYmxlRHJvcCgpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuICB9XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwib25Ecm9wXCIsXG4gICAgXCJyZWZlcmVuY2VcIixcbiAgICBcIm9uRHJhZ091dFwiLFxuICAgIFwib25EcmFnT3ZlclwiXG4gIF07XG59XG5cbk9iamVjdC5hc3NpZ24oRHJvcEVsZW1lbnQucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcbiJdLCJuYW1lcyI6WyJEcm9wRWxlbWVudCIsImdldFJlZmVyZW5jZSIsInByb3BlcnRpZXMiLCJyZWZlcmVuY2UiLCJkaWRNb3VudCIsImVuYWJsZURyb3AiLCJ3aWxsVW5tb3VudCIsImRpc2FibGVEcm9wIiwiRWxlbWVudCIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJvcE1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7b0JBSkc7MkRBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVSLElBQUEsQUFBTUEsNEJBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNuQkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQTZCLG1CQUFBLElBQUksQ0FBQ0MsVUFBVSwrQkFBZixpQkFBckJDLFdBQUFBLG9EQUFZO2dCQUVwQixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsVUFBVTtZQUNqQjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLFdBQVc7WUFDbEI7OztXQWJtQlA7cUJBQW9CUSxhQUFPO0FBZTlDLGlCQWZtQlIsYUFlWlMscUJBQW9CO0lBQ3pCO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFHSEMsT0FBT0MsTUFBTSxDQUFDWCxZQUFZWSxTQUFTLEVBQUVDLGFBQVUifQ==
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Ryb3AuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgZHJvcE1peGlucyBmcm9tIFwiLi4vbWl4aW5zL2Ryb3BcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJvcEVsZW1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZ2V0UmVmZXJlbmNlKCkge1xuICAgIGNvbnN0IHsgcmVmZXJlbmNlID0gbnVsbCB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIHJlZmVyZW5jZTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIHRoaXMuZW5hYmxlRHJvcCgpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuICB9XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwicmVmZXJlbmNlXCJcbiAgXTtcbn1cblxuT2JqZWN0LmFzc2lnbihEcm9wRWxlbWVudC5wcm90b3R5cGUsIGRyb3BNaXhpbnMpO1xuIl0sIm5hbWVzIjpbIkRyb3BFbGVtZW50IiwiZ2V0UmVmZXJlbmNlIiwicHJvcGVydGllcyIsInJlZmVyZW5jZSIsImRpZE1vdW50IiwiZW5hYmxlRHJvcCIsIndpbGxVbm1vdW50IiwiZGlzYWJsZURyb3AiLCJFbGVtZW50IiwiaWdub3JlZFByb3BlcnRpZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJkcm9wTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7OztvQkFKRzsyREFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVIsSUFBQSxBQUFNQSw0QkFBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBNkIsbUJBQUEsSUFBSSxDQUFDQyxVQUFVLCtCQUFmLGlCQUFyQkMsV0FBQUEsb0RBQVk7Z0JBRXBCLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxVQUFVO1lBQ2pCOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsV0FBVztZQUNsQjs7O1dBYm1CUDtxQkFBb0JRLGFBQU87QUFlOUMsaUJBZm1CUixhQWVaUyxxQkFBb0I7SUFDekI7Q0FDRDtBQUdIQyxPQUFPQyxNQUFNLENBQUNYLFlBQVlZLFNBQVMsRUFBRUMsYUFBVSJ9
@@ -153,13 +153,13 @@ var DragDiv = /*#__PURE__*/ function(DragElement) {
153
153
  key: "didMount",
154
154
  value: function didMount() {
155
155
  this.enableDrag();
156
- this.on(DBLCLICK_EVENT_TYPE, this.doubleClickHandler, this);
156
+ this.onEvent(DBLCLICK_EVENT_TYPE, this.doubleClickHandler, this);
157
157
  }
158
158
  },
159
159
  {
160
160
  key: "willUnmount",
161
161
  value: function willUnmount() {
162
- this.off(DBLCLICK_EVENT_TYPE, this.doubleClickHandler, this);
162
+ this.offEvent(DBLCLICK_EVENT_TYPE, this.doubleClickHandler, this);
163
163
  this.disableDrag();
164
164
  }
165
165
  },
@@ -179,4 +179,4 @@ _define_property(DragDiv, "defaultProperties", {
179
179
  Object.assign(DragDiv.prototype, _index.dragMixins);
180
180
  var _default = (0, _easywithstyle.default)(DragDiv)(_templateObject(), _style.default);
181
181
 
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2Rpdi9kcmFnLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjtcblxuaW1wb3J0IHsgZXZlbnRUeXBlcyB9IGZyb20gXCJlYXN5XCI7XG5pbXBvcnQgeyBkcmFnTWl4aW5zLCBEcmFnRWxlbWVudCB9IGZyb20gXCIuLi8uLi9pbmRleFwiOyAvLy9cblxuaW1wb3J0IHN0eWxlIGZyb20gXCIuLi9zdHlsZVwiO1xuXG5jb25zdCB7IERCTENMSUNLX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXM7XG5cbmNsYXNzIERyYWdEaXYgZXh0ZW5kcyBEcmFnRWxlbWVudCB7XG4gIGRvdWJsZUNsaWNrSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKFwiZG91YmxlIGNsaWNrIVwiKVxuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy5lbmFibGVEcmFnKCk7XG5cbiAgICB0aGlzLm9uKERCTENMSUNLX0VWRU5UX1RZUEUsIHRoaXMuZG91YmxlQ2xpY2tIYW5kbGVyLCB0aGlzKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMub2ZmKERCTENMSUNLX0VWRU5UX1RZUEUsIHRoaXMuZG91YmxlQ2xpY2tIYW5kbGVyLCB0aGlzKTtcblxuICAgIHRoaXMuZGlzYWJsZURyYWcoKTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIChcIkRSQUcgRUxFTUVOVFwiKTtcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImRyYWdcIlxuICB9O1xufVxuXG5PYmplY3QuYXNzaWduKERyYWdEaXYucHJvdG90eXBlLCBkcmFnTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKERyYWdEaXYpYFxuXG4gICR7c3R5bGV9XG4gIFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIFxuICAuZHJhZ2dpbmcge1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbmA7XG4iXSwibmFtZXMiOlsiREJMQ0xJQ0tfRVZFTlRfVFlQRSIsImV2ZW50VHlwZXMiLCJEcmFnRGl2IiwiZG91YmxlQ2xpY2tIYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwiY29uc29sZSIsImxvZyIsImRpZE1vdW50IiwiZW5hYmxlRHJhZyIsIm9uIiwid2lsbFVubW91bnQiLCJvZmYiLCJkaXNhYmxlRHJhZyIsImNoaWxkRWxlbWVudHMiLCJEcmFnRWxlbWVudCIsInRhZ05hbWUiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImRyYWdNaXhpbnMiLCJ3aXRoU3R5bGUiLCJzdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBeUNBOzs7ZUFBQTs7O29FQXZDc0I7b0JBRUs7cUJBQ2E7NERBRXRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxCLElBQU0sQUFBRUEsc0JBQXdCQyxnQkFBVSxDQUFsQ0Q7QUFFUixJQUFBLEFBQU1FLHdCQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O1FBQ0pDLGtEQUFBQSxzQkFBcUIsU0FBQ0MsT0FBT0M7WUFDM0JDLFFBQVFDLEdBQUcsQ0FBQztRQUNkOzs7a0JBSElMOztZQUtKTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxVQUFVO2dCQUVmLElBQUksQ0FBQ0MsRUFBRSxDQUFDVixxQkFBcUIsSUFBSSxDQUFDRyxrQkFBa0IsRUFBRSxJQUFJO1lBQzVEOzs7WUFFQVEsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsR0FBRyxDQUFDWixxQkFBcUIsSUFBSSxDQUFDRyxrQkFBa0IsRUFBRSxJQUFJO2dCQUUzRCxJQUFJLENBQUNVLFdBQVc7WUFDbEI7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBUTtZQUNWOzs7V0FuQklaO0VBQWdCYSxrQkFBVztBQXFCL0IsaUJBckJJYixTQXFCR2MsV0FBVTtBQUVqQixpQkF2QklkLFNBdUJHZSxxQkFBb0I7SUFDekJDLFdBQVc7QUFDYjtBQUdGQyxPQUFPQyxNQUFNLENBQUNsQixRQUFRbUIsU0FBUyxFQUFFQyxpQkFBVTtJQUUzQyxXQUFlQyxJQUFBQSxzQkFBUyxFQUFDckIsNEJBRXJCc0IsY0FBSyJ9
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2Rpdi9kcmFnLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjtcblxuaW1wb3J0IHsgZXZlbnRUeXBlcyB9IGZyb20gXCJlYXN5XCI7XG5pbXBvcnQgeyBkcmFnTWl4aW5zLCBEcmFnRWxlbWVudCB9IGZyb20gXCIuLi8uLi9pbmRleFwiOyAvLy9cblxuaW1wb3J0IHN0eWxlIGZyb20gXCIuLi9zdHlsZVwiO1xuXG5jb25zdCB7IERCTENMSUNLX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXM7XG5cbmNsYXNzIERyYWdEaXYgZXh0ZW5kcyBEcmFnRWxlbWVudCB7XG4gIGRvdWJsZUNsaWNrSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKFwiZG91YmxlIGNsaWNrIVwiKVxuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy5lbmFibGVEcmFnKCk7XG5cbiAgICB0aGlzLm9uRXZlbnQoREJMQ0xJQ0tfRVZFTlRfVFlQRSwgdGhpcy5kb3VibGVDbGlja0hhbmRsZXIsIHRoaXMpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5vZmZFdmVudChEQkxDTElDS19FVkVOVF9UWVBFLCB0aGlzLmRvdWJsZUNsaWNrSGFuZGxlciwgdGhpcyk7XG5cbiAgICB0aGlzLmRpc2FibGVEcmFnKCk7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIHJldHVybiAoXCJEUkFHIEVMRU1FTlRcIik7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJkcmFnXCJcbiAgfTtcbn1cblxuT2JqZWN0LmFzc2lnbihEcmFnRGl2LnByb3RvdHlwZSwgZHJhZ01peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShEcmFnRGl2KWBcblxuICAke3N0eWxlfVxuICBcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICBcbiAgLmRyYWdnaW5nIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG5gO1xuIl0sIm5hbWVzIjpbIkRCTENMSUNLX0VWRU5UX1RZUEUiLCJldmVudFR5cGVzIiwiRHJhZ0RpdiIsImRvdWJsZUNsaWNrSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsImNvbnNvbGUiLCJsb2ciLCJkaWRNb3VudCIsImVuYWJsZURyYWciLCJvbkV2ZW50Iiwid2lsbFVubW91bnQiLCJvZmZFdmVudCIsImRpc2FibGVEcmFnIiwiY2hpbGRFbGVtZW50cyIsIkRyYWdFbGVtZW50IiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJhZ01peGlucyIsIndpdGhTdHlsZSIsInN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF5Q0E7OztlQUFBOzs7b0VBdkNzQjtvQkFFSztxQkFDYTs0REFFdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEIsSUFBTSxBQUFFQSxzQkFBd0JDLGdCQUFVLENBQWxDRDtBQUVSLElBQUEsQUFBTUUsd0JBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7UUFDSkMsa0RBQUFBLHNCQUFxQixTQUFDQyxPQUFPQztZQUMzQkMsUUFBUUMsR0FBRyxDQUFDO1FBQ2Q7OztrQkFISUw7O1lBS0pNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLFVBQVU7Z0JBRWYsSUFBSSxDQUFDQyxPQUFPLENBQUNWLHFCQUFxQixJQUFJLENBQUNHLGtCQUFrQixFQUFFLElBQUk7WUFDakU7OztZQUVBUSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxRQUFRLENBQUNaLHFCQUFxQixJQUFJLENBQUNHLGtCQUFrQixFQUFFLElBQUk7Z0JBRWhFLElBQUksQ0FBQ1UsV0FBVztZQUNsQjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFRO1lBQ1Y7OztXQW5CSVo7RUFBZ0JhLGtCQUFXO0FBcUIvQixpQkFyQkliLFNBcUJHYyxXQUFVO0FBRWpCLGlCQXZCSWQsU0F1QkdlLHFCQUFvQjtJQUN6QkMsV0FBVztBQUNiO0FBR0ZDLE9BQU9DLE1BQU0sQ0FBQ2xCLFFBQVFtQixTQUFTLEVBQUVDLGlCQUFVO0lBRTNDLFdBQWVDLElBQUFBLHNCQUFTLEVBQUNyQiw0QkFFckJzQixjQUFLIn0=
@@ -188,16 +188,16 @@ var DropDiv = /*#__PURE__*/ function(Element) {
188
188
  _class_call_check(this, DropDiv);
189
189
  var _this;
190
190
  _this = _super.apply(this, arguments);
191
- _define_property(_assert_this_initialized(_this), "dropHandler", function(dragElement, aborted, element, done) {
191
+ _define_property(_assert_this_initialized(_this), "dropCustomHandler", function(dragElement, aborted, element, done) {
192
192
  if (dragElement !== null) {
193
193
  dragElement.remove();
194
194
  }
195
195
  done();
196
196
  });
197
- _define_property(_assert_this_initialized(_this), "dragOutHandler", function(event, element) {
197
+ _define_property(_assert_this_initialized(_this), "dragOutCustomHandler", function(event, element) {
198
198
  _this.removeClass("drag-over");
199
199
  });
200
- _define_property(_assert_this_initialized(_this), "dragOverHandler", function(event, element) {
200
+ _define_property(_assert_this_initialized(_this), "dragOverCustomHandler", function(event, element) {
201
201
  _this.addClass("drag-over");
202
202
  });
203
203
  return _this;
@@ -214,18 +214,18 @@ var DropDiv = /*#__PURE__*/ function(Element) {
214
214
  key: "didMount",
215
215
  value: function didMount() {
216
216
  this.enableDrop();
217
- this.onDrop(this.dropHandler);
218
- this.onDragOut(this.dragOutHandler);
219
- this.onDragOver(this.dragOverHandler);
217
+ this.onCustomDrop(this.dropCustomHandler);
218
+ this.onCustomDragOut(this.dragOutCustomHandler);
219
+ this.onCustomDragOver(this.dragOverCustomHandler);
220
220
  }
221
221
  },
222
222
  {
223
223
  key: "willUnmount",
224
224
  value: function willUnmount() {
225
225
  this.disableDrop();
226
- this.offDrop(this.dropHandler);
227
- this.offDragOut(this.dragOutHandler);
228
- this.offDragOver(this.dragOverHandler);
226
+ this.offCustomDrop(this.dropCustomHandler);
227
+ this.offCustomDragOut(this.dragOutCustomHandler);
228
+ this.offCustomDragOver(this.dragOverCustomHandler);
229
229
  }
230
230
  },
231
231
  {
@@ -248,4 +248,4 @@ _define_property(DropDiv, "defaultProperties", {
248
248
  Object.assign(DropDiv.prototype, _index.dropMixins);
249
249
  var _default = (0, _easywithstyle.default)(DropDiv)(_templateObject(), _style.default);
250
250
 
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2Rpdi9kcm9wLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5pbXBvcnQgeyBkcm9wTWl4aW5zIH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7IC8vL1xuXG5pbXBvcnQgc3R5bGUgZnJvbSBcIi4uL3N0eWxlXCI7XG5cbmNsYXNzIERyb3BEaXYgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZHJvcEhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGVsZW1lbnQsIGRvbmUpID0+IHtcbiAgICBpZiAoZHJhZ0VsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGRyYWdFbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGRvbmUoKTtcbiAgfVxuXG4gIGRyYWdPdXRIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5yZW1vdmVDbGFzcyhcImRyYWctb3ZlclwiKTtcbiAgfVxuXG4gIGRyYWdPdmVySGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuYWRkQ2xhc3MoXCJkcmFnLW92ZXJcIik7XG4gIH1cblxuICBnZXRSZWZlcmVuY2UoKSB7XG4gICAgY29uc3QgeyByZWZlcmVuY2UgPSBudWxsIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICByZXR1cm4gcmVmZXJlbmNlO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy5lbmFibGVEcm9wKCk7XG5cbiAgICB0aGlzLm9uRHJvcCh0aGlzLmRyb3BIYW5kbGVyKTtcbiAgICB0aGlzLm9uRHJhZ091dCh0aGlzLmRyYWdPdXRIYW5kbGVyKTtcbiAgICB0aGlzLm9uRHJhZ092ZXIodGhpcy5kcmFnT3ZlckhhbmRsZXIpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vZmZEcm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuICAgIHRoaXMub2ZmRHJhZ091dCh0aGlzLmRyYWdPdXRIYW5kbGVyKTtcbiAgICB0aGlzLm9mZkRyYWdPdmVyKHRoaXMuZHJhZ092ZXJIYW5kbGVyKTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIFwiRFJPUCBFTEVNRU5UXCI7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwicmVmZXJlbmNlXCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImRyb3BcIixcbiAgICByZWZlcmVuY2U6IFwiZHJvcC1kaXZcIlxuICB9O1xufVxuXG5PYmplY3QuYXNzaWduKERyb3BEaXYucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKERyb3BEaXYpYFxuXG4gICR7c3R5bGV9XG5cbiAgbWFyZ2luLWJvdHRvbTogMTByZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICBcbiAgLmRyYWctb3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAgfVxuICBcbmA7XG4iXSwibmFtZXMiOlsiRHJvcERpdiIsImRyb3BIYW5kbGVyIiwiZHJhZ0VsZW1lbnQiLCJhYm9ydGVkIiwiZWxlbWVudCIsImRvbmUiLCJyZW1vdmUiLCJkcmFnT3V0SGFuZGxlciIsImV2ZW50IiwicmVtb3ZlQ2xhc3MiLCJkcmFnT3ZlckhhbmRsZXIiLCJhZGRDbGFzcyIsImdldFJlZmVyZW5jZSIsInByb3BlcnRpZXMiLCJyZWZlcmVuY2UiLCJkaWRNb3VudCIsImVuYWJsZURyb3AiLCJvbkRyb3AiLCJvbkRyYWdPdXQiLCJvbkRyYWdPdmVyIiwid2lsbFVubW91bnQiLCJkaXNhYmxlRHJvcCIsIm9mZkRyb3AiLCJvZmZEcmFnT3V0Iiwib2ZmRHJhZ092ZXIiLCJjaGlsZEVsZW1lbnRzIiwiRWxlbWVudCIsInRhZ05hbWUiLCJpZ25vcmVkUHJvcGVydGllcyIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJvcE1peGlucyIsIndpdGhTdHlsZSIsInN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrRUE7OztlQUFBOzs7b0VBaEVzQjtvQkFFRTtxQkFDRzs0REFFVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEIsSUFBQSxBQUFNQSx3QkFBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztRQUNKQyxrREFBQUEsZUFBYyxTQUFDQyxhQUFhQyxTQUFTQyxTQUFTQztZQUM1QyxJQUFJSCxnQkFBZ0IsTUFBTTtnQkFDeEJBLFlBQVlJLE1BQU07WUFDcEI7WUFFQUQ7UUFDRjtRQUVBRSxrREFBQUEsa0JBQWlCLFNBQUNDLE9BQU9KO1lBQ3ZCLE1BQUtLLFdBQVcsQ0FBQztRQUNuQjtRQUVBQyxrREFBQUEsbUJBQWtCLFNBQUNGLE9BQU9KO1lBQ3hCLE1BQUtPLFFBQVEsQ0FBQztRQUNoQjs7O2tCQWZJWDs7WUFpQkpZLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUE2QixtQkFBQSxJQUFJLENBQUNDLFVBQVUsK0JBQWYsaUJBQXJCQyxXQUFBQSxvREFBWTtnQkFFcEIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLFVBQVU7Z0JBRWYsSUFBSSxDQUFDQyxNQUFNLENBQUMsSUFBSSxDQUFDaEIsV0FBVztnQkFDNUIsSUFBSSxDQUFDaUIsU0FBUyxDQUFDLElBQUksQ0FBQ1gsY0FBYztnQkFDbEMsSUFBSSxDQUFDWSxVQUFVLENBQUMsSUFBSSxDQUFDVCxlQUFlO1lBQ3RDOzs7WUFFQVUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsV0FBVztnQkFFaEIsSUFBSSxDQUFDQyxPQUFPLENBQUMsSUFBSSxDQUFDckIsV0FBVztnQkFDN0IsSUFBSSxDQUFDc0IsVUFBVSxDQUFDLElBQUksQ0FBQ2hCLGNBQWM7Z0JBQ25DLElBQUksQ0FBQ2lCLFdBQVcsQ0FBQyxJQUFJLENBQUNkLGVBQWU7WUFDdkM7OztZQUVBZSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTztZQUNUOzs7V0F6Q0l6QjtxQkFBZ0IwQixhQUFPO0FBMkMzQixpQkEzQ0kxQixTQTJDRzJCLFdBQVU7QUFFakIsaUJBN0NJM0IsU0E2Q0c0QixxQkFBb0I7SUFDekI7Q0FDRDtBQUVELGlCQWpESTVCLFNBaURHNkIscUJBQW9CO0lBQ3pCQyxXQUFXO0lBQ1hoQixXQUFXO0FBQ2I7QUFHRmlCLE9BQU9DLE1BQU0sQ0FBQ2hDLFFBQVFpQyxTQUFTLEVBQUVDLGlCQUFVO0lBRTNDLFdBQWVDLElBQUFBLHNCQUFTLEVBQUNuQyw0QkFFckJvQyxjQUFLIn0=
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2Rpdi9kcm9wLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5pbXBvcnQgeyBkcm9wTWl4aW5zIH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7IC8vL1xuXG5pbXBvcnQgc3R5bGUgZnJvbSBcIi4uL3N0eWxlXCI7XG5cbmNsYXNzIERyb3BEaXYgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZHJvcEN1c3RvbUhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGVsZW1lbnQsIGRvbmUpID0+IHtcbiAgICBpZiAoZHJhZ0VsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGRyYWdFbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGRvbmUoKTtcbiAgfVxuXG4gIGRyYWdPdXRDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5yZW1vdmVDbGFzcyhcImRyYWctb3ZlclwiKTtcbiAgfVxuXG4gIGRyYWdPdmVyQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuYWRkQ2xhc3MoXCJkcmFnLW92ZXJcIik7XG4gIH1cblxuICBnZXRSZWZlcmVuY2UoKSB7XG4gICAgY29uc3QgeyByZWZlcmVuY2UgPSBudWxsIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICByZXR1cm4gcmVmZXJlbmNlO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy5lbmFibGVEcm9wKCk7XG5cbiAgICB0aGlzLm9uQ3VzdG9tRHJvcCh0aGlzLmRyb3BDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9uQ3VzdG9tRHJhZ091dCh0aGlzLmRyYWdPdXRDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9uQ3VzdG9tRHJhZ092ZXIodGhpcy5kcmFnT3ZlckN1c3RvbUhhbmRsZXIpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vZmZDdXN0b21Ecm9wKHRoaXMuZHJvcEN1c3RvbUhhbmRsZXIpO1xuICAgIHRoaXMub2ZmQ3VzdG9tRHJhZ091dCh0aGlzLmRyYWdPdXRDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9mZkN1c3RvbURyYWdPdmVyKHRoaXMuZHJhZ092ZXJDdXN0b21IYW5kbGVyKTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIFwiRFJPUCBFTEVNRU5UXCI7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwicmVmZXJlbmNlXCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImRyb3BcIixcbiAgICByZWZlcmVuY2U6IFwiZHJvcC1kaXZcIlxuICB9O1xufVxuXG5PYmplY3QuYXNzaWduKERyb3BEaXYucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKERyb3BEaXYpYFxuXG4gICR7c3R5bGV9XG5cbiAgbWFyZ2luLWJvdHRvbTogMTByZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICBcbiAgLmRyYWctb3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAgfVxuICBcbmA7XG4iXSwibmFtZXMiOlsiRHJvcERpdiIsImRyb3BDdXN0b21IYW5kbGVyIiwiZHJhZ0VsZW1lbnQiLCJhYm9ydGVkIiwiZWxlbWVudCIsImRvbmUiLCJyZW1vdmUiLCJkcmFnT3V0Q3VzdG9tSGFuZGxlciIsImV2ZW50IiwicmVtb3ZlQ2xhc3MiLCJkcmFnT3ZlckN1c3RvbUhhbmRsZXIiLCJhZGRDbGFzcyIsImdldFJlZmVyZW5jZSIsInByb3BlcnRpZXMiLCJyZWZlcmVuY2UiLCJkaWRNb3VudCIsImVuYWJsZURyb3AiLCJvbkN1c3RvbURyb3AiLCJvbkN1c3RvbURyYWdPdXQiLCJvbkN1c3RvbURyYWdPdmVyIiwid2lsbFVubW91bnQiLCJkaXNhYmxlRHJvcCIsIm9mZkN1c3RvbURyb3AiLCJvZmZDdXN0b21EcmFnT3V0Iiwib2ZmQ3VzdG9tRHJhZ092ZXIiLCJjaGlsZEVsZW1lbnRzIiwiRWxlbWVudCIsInRhZ05hbWUiLCJpZ25vcmVkUHJvcGVydGllcyIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJvcE1peGlucyIsIndpdGhTdHlsZSIsInN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrRUE7OztlQUFBOzs7b0VBaEVzQjtvQkFFRTtxQkFDRzs0REFFVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEIsSUFBQSxBQUFNQSx3QkFBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztRQUNKQyxrREFBQUEscUJBQW9CLFNBQUNDLGFBQWFDLFNBQVNDLFNBQVNDO1lBQ2xELElBQUlILGdCQUFnQixNQUFNO2dCQUN4QkEsWUFBWUksTUFBTTtZQUNwQjtZQUVBRDtRQUNGO1FBRUFFLGtEQUFBQSx3QkFBdUIsU0FBQ0MsT0FBT0o7WUFDN0IsTUFBS0ssV0FBVyxDQUFDO1FBQ25CO1FBRUFDLGtEQUFBQSx5QkFBd0IsU0FBQ0YsT0FBT0o7WUFDOUIsTUFBS08sUUFBUSxDQUFDO1FBQ2hCOzs7a0JBZklYOztZQWlCSlksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQTZCLG1CQUFBLElBQUksQ0FBQ0MsVUFBVSwrQkFBZixpQkFBckJDLFdBQUFBLG9EQUFZO2dCQUVwQixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsVUFBVTtnQkFFZixJQUFJLENBQUNDLFlBQVksQ0FBQyxJQUFJLENBQUNoQixpQkFBaUI7Z0JBQ3hDLElBQUksQ0FBQ2lCLGVBQWUsQ0FBQyxJQUFJLENBQUNYLG9CQUFvQjtnQkFDOUMsSUFBSSxDQUFDWSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUNULHFCQUFxQjtZQUNsRDs7O1lBRUFVLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLFdBQVc7Z0JBRWhCLElBQUksQ0FBQ0MsYUFBYSxDQUFDLElBQUksQ0FBQ3JCLGlCQUFpQjtnQkFDekMsSUFBSSxDQUFDc0IsZ0JBQWdCLENBQUMsSUFBSSxDQUFDaEIsb0JBQW9CO2dCQUMvQyxJQUFJLENBQUNpQixpQkFBaUIsQ0FBQyxJQUFJLENBQUNkLHFCQUFxQjtZQUNuRDs7O1lBRUFlLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPO1lBQ1Q7OztXQXpDSXpCO3FCQUFnQjBCLGFBQU87QUEyQzNCLGlCQTNDSTFCLFNBMkNHMkIsV0FBVTtBQUVqQixpQkE3Q0kzQixTQTZDRzRCLHFCQUFvQjtJQUN6QjtDQUNEO0FBRUQsaUJBakRJNUIsU0FpREc2QixxQkFBb0I7SUFDekJDLFdBQVc7SUFDWGhCLFdBQVc7QUFDYjtBQUdGaUIsT0FBT0MsTUFBTSxDQUFDaEMsUUFBUWlDLFNBQVMsRUFBRUMsaUJBQVU7SUFFM0MsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ25DLDRCQUVyQm9DLGNBQUsifQ==
package/lib/index.js CHANGED
@@ -15,25 +15,25 @@ _export(exports, {
15
15
  DropElement: function() {
16
16
  return _drop1.default;
17
17
  },
18
+ customEventTypes: function() {
19
+ return _customEventTypes.default;
20
+ },
18
21
  dragMixins: function() {
19
22
  return _drag.default;
20
23
  },
21
24
  dropMixins: function() {
22
25
  return _drop.default;
23
- },
24
- eventTypes: function() {
25
- return _eventTypes.default;
26
26
  }
27
27
  });
28
- var _eventTypes = /*#__PURE__*/ _interop_require_default(require("./eventTypes"));
29
28
  var _drag = /*#__PURE__*/ _interop_require_default(require("./mixins/drag"));
30
29
  var _drop = /*#__PURE__*/ _interop_require_default(require("./mixins/drop"));
31
30
  var _drag1 = /*#__PURE__*/ _interop_require_default(require("./element/drag"));
32
31
  var _drop1 = /*#__PURE__*/ _interop_require_default(require("./element/drop"));
32
+ var _customEventTypes = /*#__PURE__*/ _interop_require_default(require("./customEventTypes"));
33
33
  function _interop_require_default(obj) {
34
34
  return obj && obj.__esModule ? obj : {
35
35
  default: obj
36
36
  };
37
37
  }
38
38
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBldmVudFR5cGVzIH0gZnJvbSBcIi4vZXZlbnRUeXBlc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGRyYWdNaXhpbnMgfSBmcm9tIFwiLi9taXhpbnMvZHJhZ1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkcm9wTWl4aW5zIH0gZnJvbSBcIi4vbWl4aW5zL2Ryb3BcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRHJhZ0VsZW1lbnQgfSBmcm9tIFwiLi9lbGVtZW50L2RyYWdcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRHJvcEVsZW1lbnQgfSBmcm9tIFwiLi9lbGVtZW50L2Ryb3BcIjtcbiJdLCJuYW1lcyI6WyJEcmFnRWxlbWVudCIsIkRyb3BFbGVtZW50IiwiZHJhZ01peGlucyIsImRyb3BNaXhpbnMiLCJldmVudFR5cGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFNb0JBLFdBQVc7ZUFBWEEsY0FBVzs7SUFDWEMsV0FBVztlQUFYQSxjQUFXOztJQUhYQyxVQUFVO2VBQVZBLGFBQVU7O0lBQ1ZDLFVBQVU7ZUFBVkEsYUFBVTs7SUFIVkMsVUFBVTtlQUFWQSxtQkFBVTs7O2lFQUFROzJEQUVBOzJEQUNBOzREQUNDOzREQUNBIn0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBkcmFnTWl4aW5zIH0gZnJvbSBcIi4vbWl4aW5zL2RyYWdcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZHJvcE1peGlucyB9IGZyb20gXCIuL21peGlucy9kcm9wXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERyYWdFbGVtZW50IH0gZnJvbSBcIi4vZWxlbWVudC9kcmFnXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERyb3BFbGVtZW50IH0gZnJvbSBcIi4vZWxlbWVudC9kcm9wXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGN1c3RvbUV2ZW50VHlwZXMgfSBmcm9tIFwiLi9jdXN0b21FdmVudFR5cGVzXCI7XG4iXSwibmFtZXMiOlsiRHJhZ0VsZW1lbnQiLCJEcm9wRWxlbWVudCIsImN1c3RvbUV2ZW50VHlwZXMiLCJkcmFnTWl4aW5zIiwiZHJvcE1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBSW9CQSxXQUFXO2VBQVhBLGNBQVc7O0lBQ1hDLFdBQVc7ZUFBWEEsY0FBVzs7SUFDWEMsZ0JBQWdCO2VBQWhCQSx5QkFBZ0I7O0lBSmhCQyxVQUFVO2VBQVZBLGFBQVU7O0lBQ1ZDLFVBQVU7ZUFBVkEsYUFBVTs7OzJEQURROzJEQUNBOzREQUNDOzREQUNBO3VFQUNLIn0=
@@ -13,66 +13,14 @@ var _easy = require("easy");
13
13
  var _constants = require("../constants");
14
14
  var _reference = require("../utilities/reference");
15
15
  var _event = require("../utilities/event");
16
- var _eventTypes = require("../eventTypes");
17
- function _array_like_to_array(arr, len) {
18
- if (len == null || len > arr.length) len = arr.length;
19
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
20
- return arr2;
21
- }
22
- function _array_without_holes(arr) {
23
- if (Array.isArray(arr)) return _array_like_to_array(arr);
24
- }
25
- function _iterable_to_array(iter) {
26
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
27
- }
28
- function _non_iterable_spread() {
29
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
30
- }
31
- function _to_consumable_array(arr) {
32
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
33
- }
34
- function _unsupported_iterable_to_array(o, minLen) {
35
- if (!o) return;
36
- if (typeof o === "string") return _array_like_to_array(o, minLen);
37
- var n = Object.prototype.toString.call(o).slice(8, -1);
38
- if (n === "Object" && o.constructor) n = o.constructor.name;
39
- if (n === "Map" || n === "Set") return Array.from(n);
40
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
41
- }
42
- var forEach = _necessary.asynchronousUtilities.forEach, ESCAPE_KEY_CODE = _necessary.keyCodes.ESCAPE_KEY_CODE, BLUR_EVENT_TYPE = _easy.eventTypes.BLUR_EVENT_TYPE, LEFT_MOUSE_BUTTON = _easy.mouseButtons.LEFT_MOUSE_BUTTON;
16
+ var _customEventTypes = require("../customEventTypes");
17
+ var ESCAPE_KEY_CODE = _necessary.keyCodes.ESCAPE_KEY_CODE, BLUR_EVENT_TYPE = _easy.eventTypes.BLUR_EVENT_TYPE, LEFT_MOUSE_BUTTON = _easy.mouseButtons.LEFT_MOUSE_BUTTON;
43
18
  var dragElement = null;
44
19
  Object.assign(globalThis, {
45
20
  dragElement: dragElement
46
21
  });
47
- function onDrag(dragHandler, element) {
48
- var eventType = _eventTypes.DRAG_EVENT_TYPE, handler = dragHandler; ///
49
- this.addEventListener(eventType, handler, element);
50
- }
51
- function offDrag(dragHandler, element) {
52
- var eventType = _eventTypes.DRAG_EVENT_TYPE, handler = dragHandler; ///
53
- this.removeEventListener(eventType, handler, element);
54
- }
55
- function onStopDrag(stopDragHandler, element) {
56
- var eventType = _eventTypes.STOP_DRAG_EVENT_TYPE, handler = stopDragHandler; ///
57
- this.addEventListener(eventType, handler, element);
58
- }
59
- function offStopDrag(stopDragHandler, element) {
60
- var eventType = _eventTypes.STOP_DRAG_EVENT_TYPE, handler = stopDragHandler; ///
61
- this.removeEventListener(eventType, handler, element);
62
- }
63
- function onStartDrag(startDragHandler, element) {
64
- var eventType = _eventTypes.START_DRAG_EVENT_TYPE, handler = startDragHandler; ///
65
- this.addEventListener(eventType, handler, element);
66
- }
67
- function offStartDrag(startDragHandler, element) {
68
- var eventType = _eventTypes.START_DRAG_EVENT_TYPE, handler = startDragHandler; ///
69
- this.removeEventListener(eventType, handler, element);
70
- }
71
22
  function enableDrag() {
72
- var _this_properties = this.properties, _$onDrag = _this_properties.onDrag, _$onStopDrag = _this_properties.onStopDrag, _$onStartDrag = _this_properties.onStartDrag, dragHandler = _$onDrag, stopDragHandler = _$onStopDrag, startDragHandler = _$onStartDrag, timeout = null, topOffset = null, leftOffset = null, startMouseTop = null, startMouseLeft = null;
73
- dragHandler && this.onDrag(dragHandler);
74
- stopDragHandler && this.onStopDrag(stopDragHandler);
75
- startDragHandler && this.onStartDrag(startDragHandler);
23
+ var timeout = null, topOffset = null, leftOffset = null, startMouseTop = null, startMouseLeft = null;
76
24
  this.onMouseDown(mouseDownHandler, this);
77
25
  this.setState({
78
26
  timeout: timeout,
@@ -83,36 +31,14 @@ function enableDrag() {
83
31
  });
84
32
  }
85
33
  function disableDrag() {
86
- var _this_properties = this.properties, _$onDrag = _this_properties.onDrag, _$onStopDrag = _this_properties.onStopDrag, _$onStartDrag = _this_properties.onStartDrag, dragHandler = _$onDrag, stopDragHandler = _$onStopDrag, startDragHandler = _$onStartDrag; ///
87
- dragHandler && this.offDrag(dragHandler);
88
- stopDragHandler && this.offStopDrag(stopDragHandler);
89
- startDragHandler && this.offStartDrag(startDragHandler);
90
34
  this.offMouseDown(mouseDownHandler, this);
91
35
  }
92
36
  function isDragging() {
93
37
  var dragging = this.hasClass("dragging");
94
38
  return dragging;
95
39
  }
96
- function startWaitingToDrag(mouseTop, mouseLeft) {
97
- var _this = this;
98
- var timeout = this.getTimeout();
99
- if (timeout === null) {
100
- timeout = setTimeout(function() {
101
- _this.resetTimeout();
102
- _this.startDrag(mouseTop, mouseLeft);
103
- }, _constants.START_DRAGGING_DELAY);
104
- this.updateTimeout(timeout);
105
- }
106
- }
107
- function stopWaitingToDrag() {
108
- var timeout = this.getTimeout();
109
- if (timeout !== null) {
110
- clearTimeout(timeout);
111
- this.resetTimeout();
112
- }
113
- }
114
40
  function startDrag(mouseTop, mouseLeft) {
115
- var bounds = this.getBounds(), eventType = _eventTypes.START_DRAG_EVENT_TYPE, boundsTop = bounds.getTop(), boundsLeft = bounds.getLeft(), boundsRight = bounds.getRight(), boundsBottom = bounds.getBottom(), boundsWidth = boundsRight - boundsLeft, boundsHeight = boundsBottom - boundsTop, topOffset = Math.floor(boundsHeight / 2), leftOffset = Math.floor(boundsWidth / 2), dragElement = this, startMouseTop = mouseTop, startMouseLeft = mouseLeft; ///
41
+ var bounds = this.getBounds(), boundsTop = bounds.getTop(), boundsLeft = bounds.getLeft(), boundsRight = bounds.getRight(), boundsBottom = bounds.getBottom(), boundsWidth = boundsRight - boundsLeft, boundsHeight = boundsBottom - boundsTop, topOffset = Math.floor(boundsHeight / 2), leftOffset = Math.floor(boundsWidth / 2), dragElement = this, startMouseTop = mouseTop, startMouseLeft = mouseLeft, customEventType = _customEventTypes.START_DRAG_CUSTOM_EVENT_TYPE;
116
42
  _easy.window.onKeyDown(keyDownHandler, this);
117
43
  _easy.window.onMouseMove(mouseMoveHandler, this);
118
44
  this.addClass("dragging");
@@ -123,16 +49,16 @@ function startDrag(mouseTop, mouseLeft) {
123
49
  this.setLeftOffset(leftOffset);
124
50
  this.setStartMouseTop(startMouseTop);
125
51
  this.setStartMouseLeft(startMouseLeft);
126
- this.callHandlers(eventType);
52
+ this.callCustomHandlers(customEventType);
127
53
  this.drag(mouseTop, mouseLeft);
128
54
  }
129
55
  function stopDrag(aborted) {
130
56
  var _this = this;
131
- var dropElement = globalThis.dropElement, eventType = _eventTypes.STOP_DRAG_EVENT_TYPE;
57
+ var dropElement = globalThis.dropElement, customEventType = _customEventTypes.STOP_DRAG_CUSTOM_EVENT_TYPE;
132
58
  _easy.window.offKeyDown(keyDownHandler, this);
133
59
  _easy.window.offMouseMove(mouseMoveHandler, this);
134
60
  var done = function() {
135
- _this.callHandlersAsync(eventType, dropElement, aborted, function() {
61
+ _this.callCustomHandlersAsync(customEventType, dropElement, aborted, function() {
136
62
  var dragElement = null;
137
63
  Object.assign(globalThis, {
138
64
  dragElement: dragElement
@@ -152,7 +78,7 @@ function stopDrag(aborted) {
152
78
  }
153
79
  }
154
80
  function drag(mouseTop, mouseLeft) {
155
- var eventType = _eventTypes.DRAG_EVENT_TYPE, scrollTop = _easy.window.getScrollTop(), scrollLeft = _easy.window.getScrollLeft(), topOffset = this.getTopOffset(), leftOffset = this.getLeftOffset(), startMouseTop = this.getStartMouseTop(), startMouseLeft = this.getStartMouseLeft(), relativeMouseTop = mouseTop - startMouseTop, relativeMouseLeft = mouseLeft - startMouseLeft;
81
+ var scrollTop = _easy.window.getScrollTop(), scrollLeft = _easy.window.getScrollLeft(), topOffset = this.getTopOffset(), leftOffset = this.getLeftOffset(), startMouseTop = this.getStartMouseTop(), startMouseLeft = this.getStartMouseLeft(), customEventType = _customEventTypes.DRAG_CUSTOM_CUSTOM_EVENT_TYPE, relativeMouseTop = mouseTop - startMouseTop, relativeMouseLeft = mouseLeft - startMouseLeft;
156
82
  var top = startMouseTop + relativeMouseTop - topOffset - scrollTop, left = startMouseLeft + relativeMouseLeft - leftOffset - scrollLeft;
157
83
  top = "".concat(top, "px"); ///
158
84
  left = "".concat(left, "px"); ///
@@ -161,7 +87,49 @@ function drag(mouseTop, mouseLeft) {
161
87
  left: left
162
88
  };
163
89
  this.css(css);
164
- this.callHandlers(eventType, relativeMouseTop, relativeMouseLeft);
90
+ this.callCustomHandlers(customEventType, relativeMouseTop, relativeMouseLeft);
91
+ }
92
+ function onCustomDrag(dragCustomHandler, element) {
93
+ var customEventType = _customEventTypes.DRAG_CUSTOM_CUSTOM_EVENT_TYPE, customHandler = dragCustomHandler; ///
94
+ this.onCustomEvent(customEventType, customHandler, element);
95
+ }
96
+ function offCustomDrag(dragCustomHandler, element) {
97
+ var customEventType = _customEventTypes.DRAG_CUSTOM_CUSTOM_EVENT_TYPE, customHandler = dragCustomHandler; ///
98
+ this.offCustomEvent(customEventType, customHandler, element);
99
+ }
100
+ function onCustomStopDrag(stopDragCustomHandler, element) {
101
+ var customEventType = _customEventTypes.STOP_DRAG_CUSTOM_EVENT_TYPE, customHandler = stopDragCustomHandler; ///
102
+ this.onCustomEvent(customEventType, customHandler, element);
103
+ }
104
+ function offCustomStopDrag(stopDragCustomHandler, element) {
105
+ var customEventType = _customEventTypes.STOP_DRAG_CUSTOM_EVENT_TYPE, customHandler = stopDragCustomHandler; ///
106
+ this.offCustomEvent(customEventType, customHandler, element);
107
+ }
108
+ function onCustomStartDrag(startDragCustomHandler, element) {
109
+ var customEventType = _customEventTypes.START_DRAG_CUSTOM_EVENT_TYPE, customHandler = startDragCustomHandler; ///
110
+ this.onCustomEvent(customEventType, customHandler, element);
111
+ }
112
+ function offCustomStartDrag(startDragCustomHandler, element) {
113
+ var customEventType = _customEventTypes.START_DRAG_CUSTOM_EVENT_TYPE, customHandler = startDragCustomHandler; ///
114
+ this.offCustomEvent(customEventType, customHandler, element);
115
+ }
116
+ function startWaitingToDrag(mouseTop, mouseLeft) {
117
+ var _this = this;
118
+ var timeout = this.getTimeout();
119
+ if (timeout === null) {
120
+ timeout = setTimeout(function() {
121
+ _this.resetTimeout();
122
+ _this.startDrag(mouseTop, mouseLeft);
123
+ }, _constants.START_DRAGGING_DELAY);
124
+ this.updateTimeout(timeout);
125
+ }
126
+ }
127
+ function stopWaitingToDrag() {
128
+ var timeout = this.getTimeout();
129
+ if (timeout !== null) {
130
+ clearTimeout(timeout);
131
+ this.resetTimeout();
132
+ }
165
133
  }
166
134
  function getTimeout() {
167
135
  var timeout = this.getState().timeout;
@@ -212,54 +180,21 @@ function setStartMouseLeft(startMouseLeft) {
212
180
  startMouseLeft: startMouseLeft
213
181
  });
214
182
  }
215
- function callHandlers(eventType) {
216
- for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
217
- remainingArguments[_key - 1] = arguments[_key];
218
- }
219
- var _this = this;
220
- var eventListeners = this.findEventListeners(eventType);
221
- eventListeners.forEach(function(eventListener) {
222
- var _handler;
223
- var handler = eventListener.handler, handlerElement = eventListener.element, element = _this; ///
224
- (_handler = handler).call.apply(_handler, [
225
- handlerElement
226
- ].concat(_to_consumable_array(remainingArguments), [
227
- element
228
- ]));
229
- });
230
- }
231
- function callHandlersAsync(eventType) {
232
- for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
233
- remainingArguments[_key - 1] = arguments[_key];
234
- }
235
- var _this = this;
236
- var done = remainingArguments.pop(), eventListeners = this.findEventListeners(eventType);
237
- forEach(eventListeners, function(eventListener, next) {
238
- var _handler;
239
- var handler = eventListener.handler, handlerElement = eventListener.element, element = _this, done = next; ///
240
- (_handler = handler).call.apply(_handler, [
241
- handlerElement
242
- ].concat(_to_consumable_array(remainingArguments), [
243
- element,
244
- done
245
- ]));
246
- }, done);
247
- }
248
183
  var _default = {
249
- onDrag: onDrag,
250
- offDrag: offDrag,
251
- onStopDrag: onStopDrag,
252
- offStopDrag: offStopDrag,
253
- onStartDrag: onStartDrag,
254
- offStartDrag: offStartDrag,
255
184
  enableDrag: enableDrag,
256
185
  disableDrag: disableDrag,
257
186
  isDragging: isDragging,
258
- startWaitingToDrag: startWaitingToDrag,
259
- stopWaitingToDrag: stopWaitingToDrag,
260
187
  startDrag: startDrag,
261
188
  stopDrag: stopDrag,
262
189
  drag: drag,
190
+ onCustomDrag: onCustomDrag,
191
+ offCustomDrag: offCustomDrag,
192
+ onCustomStopDrag: onCustomStopDrag,
193
+ offCustomStopDrag: offCustomStopDrag,
194
+ onCustomStartDrag: onCustomStartDrag,
195
+ offCustomStartDrag: offCustomStartDrag,
196
+ startWaitingToDrag: startWaitingToDrag,
197
+ stopWaitingToDrag: stopWaitingToDrag,
263
198
  getTimeout: getTimeout,
264
199
  resetTimeout: resetTimeout,
265
200
  updateTimeout: updateTimeout,
@@ -270,9 +205,7 @@ var _default = {
270
205
  setTopOffset: setTopOffset,
271
206
  setLeftOffset: setLeftOffset,
272
207
  setStartMouseTop: setStartMouseTop,
273
- setStartMouseLeft: setStartMouseLeft,
274
- callHandlers: callHandlers,
275
- callHandlersAsync: callHandlersAsync
208
+ setStartMouseLeft: setStartMouseLeft
276
209
  };
277
210
  function keyDownHandler(event, element) {
278
211
  var keyCode = event.keyCode, escapeKey = keyCode === ESCAPE_KEY_CODE, aborted = true;
@@ -285,7 +218,7 @@ function mouseUpHandler(event, element) {
285
218
  var dragging = this.isDragging(), aborted = false;
286
219
  dragging ? this.stopDrag(aborted) : this.stopWaitingToDrag();
287
220
  event.stopPropagation();
288
- _easy.window.off(BLUR_EVENT_TYPE, mouseUpHandler, this); ///
221
+ _easy.window.offEvent(BLUR_EVENT_TYPE, mouseUpHandler, this); ///
289
222
  _easy.window.offMouseUp(mouseUpHandler, this);
290
223
  }
291
224
  function mouseDownHandler(event, element) {
@@ -298,7 +231,7 @@ function mouseDownHandler(event, element) {
298
231
  }
299
232
  }
300
233
  event.stopPropagation();
301
- _easy.window.on(BLUR_EVENT_TYPE, mouseUpHandler, this); ///
234
+ _easy.window.onEvent(BLUR_EVENT_TYPE, mouseUpHandler, this); ///
302
235
  _easy.window.onMouseUp(mouseUpHandler, this);
303
236
  }
304
237
  function mouseMoveHandler(event, element) {
@@ -310,4 +243,4 @@ function mouseMoveHandler(event, element) {
310
243
  event.stopPropagation();
311
244
  }
312
245
 
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJhZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsga2V5Q29kZXMsIGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIiA7XG5pbXBvcnQgeyB3aW5kb3csIGV2ZW50VHlwZXMsIG1vdXNlQnV0dG9ucyB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCB7IFNUQVJUX0RSQUdHSU5HX0RFTEFZIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY2hlY2tEcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvcmVmZXJlbmNlXCI7XG5pbXBvcnQgeyBtb3VzZVRvcEZyb21FdmVudCwgbW91c2VMZWZ0RnJvbUV2ZW50IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ldmVudFwiO1xuaW1wb3J0IHsgRFJBR19FVkVOVF9UWVBFLCBTVE9QX0RSQUdfRVZFTlRfVFlQRSwgU1RBUlRfRFJBR19FVkVOVF9UWVBFIH0gZnJvbSBcIi4uL2V2ZW50VHlwZXNcIjtcblxuY29uc3QgeyBmb3JFYWNoIH0gPSBhc3luY2hyb25vdXNVdGlsaXRpZXMsXG4gICAgICB7IEVTQ0FQRV9LRVlfQ09ERSB9ID0ga2V5Q29kZXMsXG4gICAgICB7IEJMVVJfRVZFTlRfVFlQRSB9ID0gZXZlbnRUeXBlcyxcbiAgICAgIHsgTEVGVF9NT1VTRV9CVVRUT04gfSA9IG1vdXNlQnV0dG9ucztcblxuY29uc3QgZHJhZ0VsZW1lbnQgPSBudWxsO1xuXG5PYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgZHJhZ0VsZW1lbnRcbn0pO1xuXG5mdW5jdGlvbiBvbkRyYWcoZHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmRHJhZyhkcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvblN0b3BEcmFnKHN0b3BEcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTVE9QX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0b3BEcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZTdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gU1RPUF9EUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBzdG9wRHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25TdGFydERyYWcoc3RhcnREcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTVEFSVF9EUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBzdGFydERyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZlN0YXJ0RHJhZyhzdGFydERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUQVJUX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0YXJ0RHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gZW5hYmxlRHJhZygpIHtcbiAgY29uc3QgeyBvbkRyYWcsIG9uU3RvcERyYWcsIG9uU3RhcnREcmFnIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgIGRyYWdIYW5kbGVyID0gb25EcmFnLCAvLy9cbiAgICAgICAgc3RvcERyYWdIYW5kbGVyID0gb25TdG9wRHJhZywgLy8vXG4gICAgICAgIHN0YXJ0RHJhZ0hhbmRsZXIgPSBvblN0YXJ0RHJhZywgLy8vXG4gICAgICAgIHRpbWVvdXQgPSBudWxsLFxuICAgICAgICB0b3BPZmZzZXQgPSBudWxsLFxuICAgICAgICBsZWZ0T2Zmc2V0ID0gbnVsbCxcbiAgICAgICAgc3RhcnRNb3VzZVRvcCA9IG51bGwsXG4gICAgICAgIHN0YXJ0TW91c2VMZWZ0ID0gbnVsbDtcblxuICBkcmFnSGFuZGxlciAmJiB0aGlzLm9uRHJhZyhkcmFnSGFuZGxlcik7XG4gIHN0b3BEcmFnSGFuZGxlciAmJiB0aGlzLm9uU3RvcERyYWcoc3RvcERyYWdIYW5kbGVyKTtcbiAgc3RhcnREcmFnSGFuZGxlciAmJiB0aGlzLm9uU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIpO1xuXG4gIHRoaXMub25Nb3VzZURvd24obW91c2VEb3duSGFuZGxlciwgdGhpcyk7XG5cbiAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgdGltZW91dCxcbiAgICB0b3BPZmZzZXQsXG4gICAgbGVmdE9mZnNldCxcbiAgICBzdGFydE1vdXNlVG9wLFxuICAgIHN0YXJ0TW91c2VMZWZ0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkaXNhYmxlRHJhZygpIHtcbiAgY29uc3QgeyBvbkRyYWcsIG9uU3RvcERyYWcsIG9uU3RhcnREcmFnIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgIGRyYWdIYW5kbGVyID0gb25EcmFnLCAvLy9cbiAgICAgICAgc3RvcERyYWdIYW5kbGVyID0gb25TdG9wRHJhZywgLy8vXG4gICAgICAgIHN0YXJ0RHJhZ0hhbmRsZXIgPSBvblN0YXJ0RHJhZzsgLy8vXG5cbiAgZHJhZ0hhbmRsZXIgJiYgdGhpcy5vZmZEcmFnKGRyYWdIYW5kbGVyKTtcbiAgc3RvcERyYWdIYW5kbGVyICYmIHRoaXMub2ZmU3RvcERyYWcoc3RvcERyYWdIYW5kbGVyKTtcbiAgc3RhcnREcmFnSGFuZGxlciAmJiB0aGlzLm9mZlN0YXJ0RHJhZyhzdGFydERyYWdIYW5kbGVyKTtcblxuICB0aGlzLm9mZk1vdXNlRG93bihtb3VzZURvd25IYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gaXNEcmFnZ2luZygpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmhhc0NsYXNzKFwiZHJhZ2dpbmdcIik7XG5cbiAgcmV0dXJuIGRyYWdnaW5nO1xufVxuXG5mdW5jdGlvbiBzdGFydFdhaXRpbmdUb0RyYWcobW91c2VUb3AsIG1vdXNlTGVmdCkge1xuICBsZXQgdGltZW91dCA9IHRoaXMuZ2V0VGltZW91dCgpO1xuXG4gIGlmICh0aW1lb3V0ID09PSBudWxsKSB7XG4gICAgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNldFRpbWVvdXQoKTtcblxuICAgICAgdGhpcy5zdGFydERyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gICAgfSwgU1RBUlRfRFJBR0dJTkdfREVMQVkpO1xuXG4gICAgdGhpcy51cGRhdGVUaW1lb3V0KHRpbWVvdXQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0b3BXYWl0aW5nVG9EcmFnKCkge1xuICBjb25zdCB0aW1lb3V0ID0gdGhpcy5nZXRUaW1lb3V0KCk7XG5cbiAgaWYgKHRpbWVvdXQgIT09IG51bGwpIHtcbiAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG5cbiAgICB0aGlzLnJlc2V0VGltZW91dCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0RHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0Qm91bmRzKCksXG4gICAgICAgIGV2ZW50VHlwZSA9IFNUQVJUX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgYm91bmRzVG9wID0gYm91bmRzLmdldFRvcCgpLFxuICAgICAgICBib3VuZHNMZWZ0ID0gYm91bmRzLmdldExlZnQoKSxcbiAgICAgICAgYm91bmRzUmlnaHQgPSBib3VuZHMuZ2V0UmlnaHQoKSxcbiAgICAgICAgYm91bmRzQm90dG9tID0gYm91bmRzLmdldEJvdHRvbSgpLFxuICAgICAgICBib3VuZHNXaWR0aCA9IGJvdW5kc1JpZ2h0IC0gYm91bmRzTGVmdCxcbiAgICAgICAgYm91bmRzSGVpZ2h0ID0gYm91bmRzQm90dG9tIC0gYm91bmRzVG9wLFxuICAgICAgICB0b3BPZmZzZXQgPSBNYXRoLmZsb29yKGJvdW5kc0hlaWdodCAvIDIpLFxuICAgICAgICBsZWZ0T2Zmc2V0ID0gTWF0aC5mbG9vcihib3VuZHNXaWR0aCAvIDIpLFxuICAgICAgICBkcmFnRWxlbWVudCA9IHRoaXMsIC8vL1xuICAgICAgICBzdGFydE1vdXNlVG9wID0gbW91c2VUb3AsIC8vL1xuICAgICAgICBzdGFydE1vdXNlTGVmdCA9IG1vdXNlTGVmdDsgLy8vXG5cbiAgd2luZG93Lm9uS2V5RG93bihrZXlEb3duSGFuZGxlciwgdGhpcyk7XG5cbiAgd2luZG93Lm9uTW91c2VNb3ZlKG1vdXNlTW92ZUhhbmRsZXIsIHRoaXMpO1xuXG4gIHRoaXMuYWRkQ2xhc3MoXCJkcmFnZ2luZ1wiKTtcblxuICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICBkcmFnRWxlbWVudFxuICB9KTtcblxuICB0aGlzLnNldFRvcE9mZnNldCh0b3BPZmZzZXQpO1xuXG4gIHRoaXMuc2V0TGVmdE9mZnNldChsZWZ0T2Zmc2V0KTtcblxuICB0aGlzLnNldFN0YXJ0TW91c2VUb3Aoc3RhcnRNb3VzZVRvcCk7XG5cbiAgdGhpcy5zZXRTdGFydE1vdXNlTGVmdChzdGFydE1vdXNlTGVmdCk7XG5cbiAgdGhpcy5jYWxsSGFuZGxlcnMoZXZlbnRUeXBlKTtcblxuICB0aGlzLmRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG59XG5cbmZ1bmN0aW9uIHN0b3BEcmFnKGFib3J0ZWQpIHtcbiAgY29uc3QgeyBkcm9wRWxlbWVudCB9ID0gZ2xvYmFsVGhpcyxcbiAgICAgICAgZXZlbnRUeXBlID0gU1RPUF9EUkFHX0VWRU5UX1RZUEU7XG5cbiAgd2luZG93Lm9mZktleURvd24oa2V5RG93bkhhbmRsZXIsIHRoaXMpO1xuXG4gIHdpbmRvdy5vZmZNb3VzZU1vdmUobW91c2VNb3ZlSGFuZGxlciwgdGhpcyk7XG5cbiAgY29uc3QgZG9uZSA9ICgpID0+IHtcbiAgICB0aGlzLmNhbGxIYW5kbGVyc0FzeW5jKGV2ZW50VHlwZSwgZHJvcEVsZW1lbnQsIGFib3J0ZWQsICgpID0+IHtcbiAgICAgIGNvbnN0IGRyYWdFbGVtZW50ID0gbnVsbDtcblxuICAgICAgT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7XG4gICAgICAgIGRyYWdFbGVtZW50XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZW1vdmVDbGFzcyhcImRyYWdnaW5nXCIpO1xuICAgIH0pO1xuICB9XG5cbiAgaWYgKGRyb3BFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgbGV0IGRyYWdFbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBjb25zdCBkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCA9IGNoZWNrRHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQoZHJhZ0VsZW1lbnQsIGRyb3BFbGVtZW50KTtcblxuICAgIGlmIChkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCkge1xuICAgICAgZHJhZ0VsZW1lbnQgPSBudWxsO1xuICAgIH1cblxuICAgIGRyb3BFbGVtZW50LmRyb3AoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGRvbmUpO1xuICB9IGVsc2Uge1xuICAgIGRvbmUoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBzY3JvbGxUb3AgPSB3aW5kb3cuZ2V0U2Nyb2xsVG9wKCksXG4gICAgICAgIHNjcm9sbExlZnQgPSB3aW5kb3cuZ2V0U2Nyb2xsTGVmdCgpLFxuICAgICAgICB0b3BPZmZzZXQgPSB0aGlzLmdldFRvcE9mZnNldCgpLFxuICAgICAgICBsZWZ0T2Zmc2V0ID0gdGhpcy5nZXRMZWZ0T2Zmc2V0KCksXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSB0aGlzLmdldFN0YXJ0TW91c2VUb3AoKSxcbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSB0aGlzLmdldFN0YXJ0TW91c2VMZWZ0KCksXG4gICAgICAgIHJlbGF0aXZlTW91c2VUb3AgPSBtb3VzZVRvcCAtIHN0YXJ0TW91c2VUb3AsXG4gICAgICAgIHJlbGF0aXZlTW91c2VMZWZ0ID0gbW91c2VMZWZ0IC0gc3RhcnRNb3VzZUxlZnQ7XG5cbiAgbGV0IHRvcCA9IHN0YXJ0TW91c2VUb3AgKyByZWxhdGl2ZU1vdXNlVG9wIC0gdG9wT2Zmc2V0IC0gc2Nyb2xsVG9wLFxuICAgICAgbGVmdCA9IHN0YXJ0TW91c2VMZWZ0ICsgcmVsYXRpdmVNb3VzZUxlZnQgLSBsZWZ0T2Zmc2V0IC0gc2Nyb2xsTGVmdDtcblxuICB0b3AgPSBgJHt0b3B9cHhgOyAvLy9cbiAgbGVmdCA9IGAke2xlZnR9cHhgOyAvLy9cblxuICBjb25zdCBjc3MgPSB7XG4gICAgdG9wLFxuICAgIGxlZnRcbiAgfTtcblxuICB0aGlzLmNzcyhjc3MpO1xuXG4gIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgcmVsYXRpdmVNb3VzZVRvcCwgcmVsYXRpdmVNb3VzZUxlZnQpO1xufVxuXG5mdW5jdGlvbiBnZXRUaW1lb3V0KCkge1xuICBjb25zdCB7IHRpbWVvdXQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gdGltZW91dDtcbn1cblxuZnVuY3Rpb24gcmVzZXRUaW1lb3V0KCkge1xuICBjb25zdCB0aW1lb3V0ID0gbnVsbDtcblxuICB0aGlzLnVwZGF0ZVRpbWVvdXQodGltZW91dCk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVRpbWVvdXQodGltZW91dCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICB0aW1lb3V0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRUb3BPZmZzZXQoKSB7XG4gIGNvbnN0IHsgdG9wT2Zmc2V0IH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIHRvcE9mZnNldDtcbn1cblxuZnVuY3Rpb24gZ2V0TGVmdE9mZnNldCgpIHtcbiAgY29uc3QgeyBsZWZ0T2Zmc2V0IH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIGxlZnRPZmZzZXQ7XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW91c2VUb3AoKSB7XG4gIGNvbnN0IHsgc3RhcnRNb3VzZVRvcCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiBzdGFydE1vdXNlVG9wO1xufVxuXG5mdW5jdGlvbiBnZXRTdGFydE1vdXNlTGVmdCgpIHtcbiAgY29uc3QgeyBzdGFydE1vdXNlTGVmdCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiBzdGFydE1vdXNlTGVmdDtcbn1cblxuZnVuY3Rpb24gc2V0VG9wT2Zmc2V0KHRvcE9mZnNldCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICB0b3BPZmZzZXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldExlZnRPZmZzZXQobGVmdE9mZnNldCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICBsZWZ0T2Zmc2V0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRTdGFydE1vdXNlVG9wKHN0YXJ0TW91c2VUb3ApIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgc3RhcnRNb3VzZVRvcFxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0U3RhcnRNb3VzZUxlZnQoc3RhcnRNb3VzZUxlZnQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgc3RhcnRNb3VzZUxlZnRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxIYW5kbGVycyhldmVudFR5cGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudDogaGFuZGxlckVsZW1lbnQgfSA9IGV2ZW50TGlzdGVuZXIsXG4gICAgICAgICAgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY2FsbEhhbmRsZXJzQXN5bmMoZXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZG9uZSA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSwgIC8vL1xuICAgICAgICBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZm9yRWFjaChldmVudExpc3RlbmVycywgKGV2ZW50TGlzdGVuZXIsIG5leHQpID0+IHtcbiAgICBjb25zdCB7IGhhbmRsZXIsIGVsZW1lbnQ6IGhhbmRsZXJFbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLCAvLy9cbiAgICAgICAgICBkb25lID0gbmV4dDsgIC8vL1xuXG4gICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQsIGRvbmUpO1xuICB9LCBkb25lKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBvbkRyYWcsXG4gIG9mZkRyYWcsXG4gIG9uU3RvcERyYWcsXG4gIG9mZlN0b3BEcmFnLFxuICBvblN0YXJ0RHJhZyxcbiAgb2ZmU3RhcnREcmFnLFxuICBlbmFibGVEcmFnLFxuICBkaXNhYmxlRHJhZyxcbiAgaXNEcmFnZ2luZyxcbiAgc3RhcnRXYWl0aW5nVG9EcmFnLFxuICBzdG9wV2FpdGluZ1RvRHJhZyxcbiAgc3RhcnREcmFnLFxuICBzdG9wRHJhZyxcbiAgZHJhZyxcbiAgZ2V0VGltZW91dCxcbiAgcmVzZXRUaW1lb3V0LFxuICB1cGRhdGVUaW1lb3V0LFxuICBnZXRUb3BPZmZzZXQsXG4gIGdldExlZnRPZmZzZXQsXG4gIGdldFN0YXJ0TW91c2VUb3AsXG4gIGdldFN0YXJ0TW91c2VMZWZ0LFxuICBzZXRUb3BPZmZzZXQsXG4gIHNldExlZnRPZmZzZXQsXG4gIHNldFN0YXJ0TW91c2VUb3AsXG4gIHNldFN0YXJ0TW91c2VMZWZ0LFxuICBjYWxsSGFuZGxlcnMsXG4gIGNhbGxIYW5kbGVyc0FzeW5jXG59O1xuXG5mdW5jdGlvbiBrZXlEb3duSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCB7IGtleUNvZGUgfSA9IGV2ZW50LFxuICAgICAgICBlc2NhcGVLZXkgPSAoa2V5Q29kZSA9PT0gRVNDQVBFX0tFWV9DT0RFKSxcbiAgICAgICAgYWJvcnRlZCA9IHRydWU7XG5cbiAgaWYgKGVzY2FwZUtleSkge1xuICAgIHRoaXMuc3RvcERyYWcoYWJvcnRlZCk7XG5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VzZVVwSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaXNEcmFnZ2luZygpLFxuICAgICAgICBhYm9ydGVkID0gZmFsc2U7XG5cbiAgZHJhZ2dpbmcgP1xuICAgIHRoaXMuc3RvcERyYWcoYWJvcnRlZCkgOlxuICAgICAgdGhpcy5zdG9wV2FpdGluZ1RvRHJhZygpO1xuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gIHdpbmRvdy5vZmYoQkxVUl9FVkVOVF9UWVBFLCBtb3VzZVVwSGFuZGxlciwgdGhpcyk7ICAvLy9cblxuICB3aW5kb3cub2ZmTW91c2VVcChtb3VzZVVwSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlRG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBidXR0b24gfSA9IGV2ZW50O1xuXG4gIGlmIChidXR0b24gPT09IExFRlRfTU9VU0VfQlVUVE9OKSB7XG4gICAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKTtcblxuICAgIGlmICghZHJhZ2dpbmcpIHtcbiAgICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgICAgbW91c2VMZWZ0ID0gbW91c2VMZWZ0RnJvbUV2ZW50KGV2ZW50KTtcblxuICAgICAgdGhpcy5zdGFydFdhaXRpbmdUb0RyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgd2luZG93Lm9uKEJMVVJfRVZFTlRfVFlQRSwgbW91c2VVcEhhbmRsZXIsIHRoaXMpOyAvLy9cblxuICB3aW5kb3cub25Nb3VzZVVwKG1vdXNlVXBIYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gbW91c2VNb3ZlSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaXNEcmFnZ2luZygpO1xuXG4gIGlmIChkcmFnZ2luZykge1xuICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgIG1vdXNlTGVmdCA9IG1vdXNlTGVmdEZyb21FdmVudChldmVudCk7XG5cbiAgICB0aGlzLmRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gIH1cblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cbiJdLCJuYW1lcyI6WyJmb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiRVNDQVBFX0tFWV9DT0RFIiwia2V5Q29kZXMiLCJCTFVSX0VWRU5UX1RZUEUiLCJldmVudFR5cGVzIiwiTEVGVF9NT1VTRV9CVVRUT04iLCJtb3VzZUJ1dHRvbnMiLCJkcmFnRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsImdsb2JhbFRoaXMiLCJvbkRyYWciLCJkcmFnSGFuZGxlciIsImVsZW1lbnQiLCJldmVudFR5cGUiLCJEUkFHX0VWRU5UX1RZUEUiLCJoYW5kbGVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9mZkRyYWciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25TdG9wRHJhZyIsInN0b3BEcmFnSGFuZGxlciIsIlNUT1BfRFJBR19FVkVOVF9UWVBFIiwib2ZmU3RvcERyYWciLCJvblN0YXJ0RHJhZyIsInN0YXJ0RHJhZ0hhbmRsZXIiLCJTVEFSVF9EUkFHX0VWRU5UX1RZUEUiLCJvZmZTdGFydERyYWciLCJlbmFibGVEcmFnIiwicHJvcGVydGllcyIsInRpbWVvdXQiLCJ0b3BPZmZzZXQiLCJsZWZ0T2Zmc2V0Iiwic3RhcnRNb3VzZVRvcCIsInN0YXJ0TW91c2VMZWZ0Iiwib25Nb3VzZURvd24iLCJtb3VzZURvd25IYW5kbGVyIiwic2V0U3RhdGUiLCJkaXNhYmxlRHJhZyIsIm9mZk1vdXNlRG93biIsImlzRHJhZ2dpbmciLCJkcmFnZ2luZyIsImhhc0NsYXNzIiwic3RhcnRXYWl0aW5nVG9EcmFnIiwibW91c2VUb3AiLCJtb3VzZUxlZnQiLCJnZXRUaW1lb3V0Iiwic2V0VGltZW91dCIsInJlc2V0VGltZW91dCIsInN0YXJ0RHJhZyIsIlNUQVJUX0RSQUdHSU5HX0RFTEFZIiwidXBkYXRlVGltZW91dCIsInN0b3BXYWl0aW5nVG9EcmFnIiwiY2xlYXJUaW1lb3V0IiwiYm91bmRzIiwiZ2V0Qm91bmRzIiwiYm91bmRzVG9wIiwiZ2V0VG9wIiwiYm91bmRzTGVmdCIsImdldExlZnQiLCJib3VuZHNSaWdodCIsImdldFJpZ2h0IiwiYm91bmRzQm90dG9tIiwiZ2V0Qm90dG9tIiwiYm91bmRzV2lkdGgiLCJib3VuZHNIZWlnaHQiLCJNYXRoIiwiZmxvb3IiLCJ3aW5kb3ciLCJvbktleURvd24iLCJrZXlEb3duSGFuZGxlciIsIm9uTW91c2VNb3ZlIiwibW91c2VNb3ZlSGFuZGxlciIsImFkZENsYXNzIiwic2V0VG9wT2Zmc2V0Iiwic2V0TGVmdE9mZnNldCIsInNldFN0YXJ0TW91c2VUb3AiLCJzZXRTdGFydE1vdXNlTGVmdCIsImNhbGxIYW5kbGVycyIsImRyYWciLCJzdG9wRHJhZyIsImFib3J0ZWQiLCJkcm9wRWxlbWVudCIsIm9mZktleURvd24iLCJvZmZNb3VzZU1vdmUiLCJkb25lIiwiY2FsbEhhbmRsZXJzQXN5bmMiLCJyZW1vdmVDbGFzcyIsImRyYWdFbGVtZW50SWdub3Jlc0Ryb3BFbGVtZW50IiwiY2hlY2tEcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCIsImRyb3AiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCIsImdldFRvcE9mZnNldCIsImdldExlZnRPZmZzZXQiLCJnZXRTdGFydE1vdXNlVG9wIiwiZ2V0U3RhcnRNb3VzZUxlZnQiLCJyZWxhdGl2ZU1vdXNlVG9wIiwicmVsYXRpdmVNb3VzZUxlZnQiLCJ0b3AiLCJsZWZ0IiwiY3NzIiwiZ2V0U3RhdGUiLCJ1cGRhdGVTdGF0ZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImV2ZW50TGlzdGVuZXJzIiwiZmluZEV2ZW50TGlzdGVuZXJzIiwiZXZlbnRMaXN0ZW5lciIsImhhbmRsZXJFbGVtZW50IiwiY2FsbCIsInBvcCIsIm5leHQiLCJldmVudCIsImtleUNvZGUiLCJlc2NhcGVLZXkiLCJzdG9wUHJvcGFnYXRpb24iLCJtb3VzZVVwSGFuZGxlciIsIm9mZiIsIm9mZk1vdXNlVXAiLCJidXR0b24iLCJtb3VzZVRvcEZyb21FdmVudCIsIm1vdXNlTGVm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
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJhZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsga2V5Q29kZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCIgO1xuaW1wb3J0IHsgd2luZG93LCBldmVudFR5cGVzLCBtb3VzZUJ1dHRvbnMgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgeyBTVEFSVF9EUkFHR0lOR19ERUxBWSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGNoZWNrRHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3JlZmVyZW5jZVwiO1xuaW1wb3J0IHsgbW91c2VUb3BGcm9tRXZlbnQsIG1vdXNlTGVmdEZyb21FdmVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZXZlbnRcIjtcbmltcG9ydCB7IERSQUdfQ1VTVE9NX0NVU1RPTV9FVkVOVF9UWVBFLCBTVE9QX0RSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsIFNUQVJUX0RSQUdfQ1VTVE9NX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi4vY3VzdG9tRXZlbnRUeXBlc1wiO1xuXG5jb25zdCB7IEVTQ0FQRV9LRVlfQ09ERSB9ID0ga2V5Q29kZXMsXG4gICAgICB7IEJMVVJfRVZFTlRfVFlQRSB9ID0gZXZlbnRUeXBlcyxcbiAgICAgIHsgTEVGVF9NT1VTRV9CVVRUT04gfSA9IG1vdXNlQnV0dG9ucztcblxuY29uc3QgZHJhZ0VsZW1lbnQgPSBudWxsO1xuXG5PYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgZHJhZ0VsZW1lbnRcbn0pO1xuXG5mdW5jdGlvbiBlbmFibGVEcmFnKCkge1xuICBjb25zdCB0aW1lb3V0ID0gbnVsbCxcbiAgICAgICAgdG9wT2Zmc2V0ID0gbnVsbCxcbiAgICAgICAgbGVmdE9mZnNldCA9IG51bGwsXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSBudWxsLFxuICAgICAgICBzdGFydE1vdXNlTGVmdCA9IG51bGw7XG5cbiAgdGhpcy5vbk1vdXNlRG93bihtb3VzZURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB0aGlzLnNldFN0YXRlKHtcbiAgICB0aW1lb3V0LFxuICAgIHRvcE9mZnNldCxcbiAgICBsZWZ0T2Zmc2V0LFxuICAgIHN0YXJ0TW91c2VUb3AsXG4gICAgc3RhcnRNb3VzZUxlZnRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVEcmFnKCkge1xuICB0aGlzLm9mZk1vdXNlRG93bihtb3VzZURvd25IYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gaXNEcmFnZ2luZygpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmhhc0NsYXNzKFwiZHJhZ2dpbmdcIik7XG5cbiAgcmV0dXJuIGRyYWdnaW5nO1xufVxuXG5mdW5jdGlvbiBzdGFydERyYWcobW91c2VUb3AsIG1vdXNlTGVmdCkge1xuICBjb25zdCBib3VuZHMgPSB0aGlzLmdldEJvdW5kcygpLFxuICAgICAgICBib3VuZHNUb3AgPSBib3VuZHMuZ2V0VG9wKCksXG4gICAgICAgIGJvdW5kc0xlZnQgPSBib3VuZHMuZ2V0TGVmdCgpLFxuICAgICAgICBib3VuZHNSaWdodCA9IGJvdW5kcy5nZXRSaWdodCgpLFxuICAgICAgICBib3VuZHNCb3R0b20gPSBib3VuZHMuZ2V0Qm90dG9tKCksXG4gICAgICAgIGJvdW5kc1dpZHRoID0gYm91bmRzUmlnaHQgLSBib3VuZHNMZWZ0LFxuICAgICAgICBib3VuZHNIZWlnaHQgPSBib3VuZHNCb3R0b20gLSBib3VuZHNUb3AsXG4gICAgICAgIHRvcE9mZnNldCA9IE1hdGguZmxvb3IoYm91bmRzSGVpZ2h0IC8gMiksXG4gICAgICAgIGxlZnRPZmZzZXQgPSBNYXRoLmZsb29yKGJvdW5kc1dpZHRoIC8gMiksXG4gICAgICAgIGRyYWdFbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSBtb3VzZVRvcCwgLy8vXG4gICAgICAgIHN0YXJ0TW91c2VMZWZ0ID0gbW91c2VMZWZ0LCAvLy9cbiAgICAgICAgY3VzdG9tRXZlbnRUeXBlID0gU1RBUlRfRFJBR19DVVNUT01fRVZFTlRfVFlQRTtcblxuICB3aW5kb3cub25LZXlEb3duKGtleURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB3aW5kb3cub25Nb3VzZU1vdmUobW91c2VNb3ZlSGFuZGxlciwgdGhpcyk7XG5cbiAgdGhpcy5hZGRDbGFzcyhcImRyYWdnaW5nXCIpO1xuXG4gIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgIGRyYWdFbGVtZW50XG4gIH0pO1xuXG4gIHRoaXMuc2V0VG9wT2Zmc2V0KHRvcE9mZnNldCk7XG5cbiAgdGhpcy5zZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpO1xuXG4gIHRoaXMuc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKTtcblxuICB0aGlzLnNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KTtcblxuICB0aGlzLmNhbGxDdXN0b21IYW5kbGVycyhjdXN0b21FdmVudFR5cGUpO1xuXG4gIHRoaXMuZHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbn1cblxuZnVuY3Rpb24gc3RvcERyYWcoYWJvcnRlZCkge1xuICBjb25zdCB7IGRyb3BFbGVtZW50IH0gPSBnbG9iYWxUaGlzLFxuICAgICAgICBjdXN0b21FdmVudFR5cGUgPSBTVE9QX0RSQUdfQ1VTVE9NX0VWRU5UX1RZUEU7XG5cbiAgd2luZG93Lm9mZktleURvd24oa2V5RG93bkhhbmRsZXIsIHRoaXMpO1xuXG4gIHdpbmRvdy5vZmZNb3VzZU1vdmUobW91c2VNb3ZlSGFuZGxlciwgdGhpcyk7XG5cbiAgY29uc3QgZG9uZSA9ICgpID0+IHtcbiAgICB0aGlzLmNhbGxDdXN0b21IYW5kbGVyc0FzeW5jKGN1c3RvbUV2ZW50VHlwZSwgZHJvcEVsZW1lbnQsIGFib3J0ZWQsICgpID0+IHtcbiAgICAgIGNvbnN0IGRyYWdFbGVtZW50ID0gbnVsbDtcblxuICAgICAgT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7XG4gICAgICAgIGRyYWdFbGVtZW50XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZW1vdmVDbGFzcyhcImRyYWdnaW5nXCIpO1xuICAgIH0pO1xuICB9XG5cbiAgaWYgKGRyb3BFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgbGV0IGRyYWdFbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBjb25zdCBkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCA9IGNoZWNrRHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQoZHJhZ0VsZW1lbnQsIGRyb3BFbGVtZW50KTtcblxuICAgIGlmIChkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCkge1xuICAgICAgZHJhZ0VsZW1lbnQgPSBudWxsO1xuICAgIH1cblxuICAgIGRyb3BFbGVtZW50LmRyb3AoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGRvbmUpO1xuICB9IGVsc2Uge1xuICAgIGRvbmUoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpIHtcbiAgY29uc3Qgc2Nyb2xsVG9wID0gd2luZG93LmdldFNjcm9sbFRvcCgpLFxuICAgIHNjcm9sbExlZnQgPSB3aW5kb3cuZ2V0U2Nyb2xsTGVmdCgpLFxuICAgIHRvcE9mZnNldCA9IHRoaXMuZ2V0VG9wT2Zmc2V0KCksXG4gICAgbGVmdE9mZnNldCA9IHRoaXMuZ2V0TGVmdE9mZnNldCgpLFxuICAgIHN0YXJ0TW91c2VUb3AgPSB0aGlzLmdldFN0YXJ0TW91c2VUb3AoKSxcbiAgICBzdGFydE1vdXNlTGVmdCA9IHRoaXMuZ2V0U3RhcnRNb3VzZUxlZnQoKSxcbiAgICBjdXN0b21FdmVudFR5cGUgPSBEUkFHX0NVU1RPTV9DVVNUT01fRVZFTlRfVFlQRSxcbiAgICByZWxhdGl2ZU1vdXNlVG9wID0gbW91c2VUb3AgLSBzdGFydE1vdXNlVG9wLFxuICAgIHJlbGF0aXZlTW91c2VMZWZ0ID0gbW91c2VMZWZ0IC0gc3RhcnRNb3VzZUxlZnQ7XG5cbiAgbGV0IHRvcCA9IHN0YXJ0TW91c2VUb3AgKyByZWxhdGl2ZU1vdXNlVG9wIC0gdG9wT2Zmc2V0IC0gc2Nyb2xsVG9wLFxuICAgIGxlZnQgPSBzdGFydE1vdXNlTGVmdCArIHJlbGF0aXZlTW91c2VMZWZ0IC0gbGVmdE9mZnNldCAtIHNjcm9sbExlZnQ7XG5cbiAgdG9wID0gYCR7dG9wfXB4YDsgLy8vXG4gIGxlZnQgPSBgJHtsZWZ0fXB4YDsgLy8vXG5cbiAgY29uc3QgY3NzID0ge1xuICAgIHRvcCxcbiAgICBsZWZ0XG4gIH07XG5cbiAgdGhpcy5jc3MoY3NzKTtcblxuICB0aGlzLmNhbGxDdXN0b21IYW5kbGVycyhjdXN0b21FdmVudFR5cGUsIHJlbGF0aXZlTW91c2VUb3AsIHJlbGF0aXZlTW91c2VMZWZ0KTtcbn1cblxuZnVuY3Rpb24gb25DdXN0b21EcmFnKGRyYWdDdXN0b21IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IERSQUdfQ1VTVE9NX0NVU1RPTV9FVkVOVF9UWVBFLFxuICAgICAgICBjdXN0b21IYW5kbGVyID0gZHJhZ0N1c3RvbUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLm9uQ3VzdG9tRXZlbnQoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmQ3VzdG9tRHJhZyhkcmFnQ3VzdG9tSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBEUkFHX0NVU1RPTV9DVVNUT01fRVZFTlRfVFlQRSxcbiAgICAgICAgY3VzdG9tSGFuZGxlciA9IGRyYWdDdXN0b21IYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5vZmZDdXN0b21FdmVudChjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvbkN1c3RvbVN0b3BEcmFnKHN0b3BEcmFnQ3VzdG9tSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBTVE9QX0RSQUdfQ1VTVE9NX0VWRU5UX1RZUEUsXG4gICAgICAgIGN1c3RvbUhhbmRsZXIgPSBzdG9wRHJhZ0N1c3RvbUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLm9uQ3VzdG9tRXZlbnQoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmQ3VzdG9tU3RvcERyYWcoc3RvcERyYWdDdXN0b21IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IFNUT1BfRFJBR19DVVNUT01fRVZFTlRfVFlQRSxcbiAgICAgICAgY3VzdG9tSGFuZGxlciA9IHN0b3BEcmFnQ3VzdG9tSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMub2ZmQ3VzdG9tRXZlbnQoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25DdXN0b21TdGFydERyYWcoc3RhcnREcmFnQ3VzdG9tSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBTVEFSVF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFLFxuICAgICAgICBjdXN0b21IYW5kbGVyID0gc3RhcnREcmFnQ3VzdG9tSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMub25DdXN0b21FdmVudChjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZDdXN0b21TdGFydERyYWcoc3RhcnREcmFnQ3VzdG9tSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBTVEFSVF9EUkFHX0NVU1RPTV9FVkVOVF9UWVBFLFxuICAgICAgICBjdXN0b21IYW5kbGVyID0gc3RhcnREcmFnQ3VzdG9tSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMub2ZmQ3VzdG9tRXZlbnQoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gc3RhcnRXYWl0aW5nVG9EcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpIHtcbiAgbGV0IHRpbWVvdXQgPSB0aGlzLmdldFRpbWVvdXQoKTtcblxuICBpZiAodGltZW91dCA9PT0gbnVsbCkge1xuICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRUaW1lb3V0KCk7XG5cbiAgICAgIHRoaXMuc3RhcnREcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpO1xuICAgIH0sIFNUQVJUX0RSQUdHSU5HX0RFTEFZKTtcblxuICAgIHRoaXMudXBkYXRlVGltZW91dCh0aW1lb3V0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wV2FpdGluZ1RvRHJhZygpIHtcbiAgY29uc3QgdGltZW91dCA9IHRoaXMuZ2V0VGltZW91dCgpO1xuXG4gIGlmICh0aW1lb3V0ICE9PSBudWxsKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuXG4gICAgdGhpcy5yZXNldFRpbWVvdXQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRUaW1lb3V0KCkge1xuICBjb25zdCB7IHRpbWVvdXQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gdGltZW91dDtcbn1cblxuZnVuY3Rpb24gcmVzZXRUaW1lb3V0KCkge1xuICBjb25zdCB0aW1lb3V0ID0gbnVsbDtcblxuICB0aGlzLnVwZGF0ZVRpbWVvdXQodGltZW91dCk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVRpbWVvdXQodGltZW91dCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICB0aW1lb3V0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRUb3BPZmZzZXQoKSB7XG4gIGNvbnN0IHsgdG9wT2Zmc2V0IH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIHRvcE9mZnNldDtcbn1cblxuZnVuY3Rpb24gZ2V0TGVmdE9mZnNldCgpIHtcbiAgY29uc3QgeyBsZWZ0T2Zmc2V0IH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIGxlZnRPZmZzZXQ7XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW91c2VUb3AoKSB7XG4gIGNvbnN0IHsgc3RhcnRNb3VzZVRvcCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiBzdGFydE1vdXNlVG9wO1xufVxuXG5mdW5jdGlvbiBnZXRTdGFydE1vdXNlTGVmdCgpIHtcbiAgY29uc3QgeyBzdGFydE1vdXNlTGVmdCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiBzdGFydE1vdXNlTGVmdDtcbn1cblxuZnVuY3Rpb24gc2V0VG9wT2Zmc2V0KHRvcE9mZnNldCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICB0b3BPZmZzZXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldExlZnRPZmZzZXQobGVmdE9mZnNldCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICBsZWZ0T2Zmc2V0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRTdGFydE1vdXNlVG9wKHN0YXJ0TW91c2VUb3ApIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgc3RhcnRNb3VzZVRvcFxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0U3RhcnRNb3VzZUxlZnQoc3RhcnRNb3VzZUxlZnQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgc3RhcnRNb3VzZUxlZnRcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZW5hYmxlRHJhZyxcbiAgZGlzYWJsZURyYWcsXG4gIGlzRHJhZ2dpbmcsXG4gIHN0YXJ0RHJhZyxcbiAgc3RvcERyYWcsXG4gIGRyYWcsXG4gIG9uQ3VzdG9tRHJhZyxcbiAgb2ZmQ3VzdG9tRHJhZyxcbiAgb25DdXN0b21TdG9wRHJhZyxcbiAgb2ZmQ3VzdG9tU3RvcERyYWcsXG4gIG9uQ3VzdG9tU3RhcnREcmFnLFxuICBvZmZDdXN0b21TdGFydERyYWcsXG4gIHN0YXJ0V2FpdGluZ1RvRHJhZyxcbiAgc3RvcFdhaXRpbmdUb0RyYWcsXG4gIGdldFRpbWVvdXQsXG4gIHJlc2V0VGltZW91dCxcbiAgdXBkYXRlVGltZW91dCxcbiAgZ2V0VG9wT2Zmc2V0LFxuICBnZXRMZWZ0T2Zmc2V0LFxuICBnZXRTdGFydE1vdXNlVG9wLFxuICBnZXRTdGFydE1vdXNlTGVmdCxcbiAgc2V0VG9wT2Zmc2V0LFxuICBzZXRMZWZ0T2Zmc2V0LFxuICBzZXRTdGFydE1vdXNlVG9wLFxuICBzZXRTdGFydE1vdXNlTGVmdFxufTtcblxuZnVuY3Rpb24ga2V5RG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBrZXlDb2RlIH0gPSBldmVudCxcbiAgICAgICAgZXNjYXBlS2V5ID0gKGtleUNvZGUgPT09IEVTQ0FQRV9LRVlfQ09ERSksXG4gICAgICAgIGFib3J0ZWQgPSB0cnVlO1xuXG4gIGlmIChlc2NhcGVLZXkpIHtcbiAgICB0aGlzLnN0b3BEcmFnKGFib3J0ZWQpO1xuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91c2VVcEhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKSxcbiAgICAgICAgYWJvcnRlZCA9IGZhbHNlO1xuXG4gIGRyYWdnaW5nID9cbiAgICB0aGlzLnN0b3BEcmFnKGFib3J0ZWQpIDpcbiAgICAgIHRoaXMuc3RvcFdhaXRpbmdUb0RyYWcoKTtcblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICB3aW5kb3cub2ZmRXZlbnQoQkxVUl9FVkVOVF9UWVBFLCBtb3VzZVVwSGFuZGxlciwgdGhpcyk7ICAvLy9cblxuICB3aW5kb3cub2ZmTW91c2VVcChtb3VzZVVwSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlRG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBidXR0b24gfSA9IGV2ZW50O1xuXG4gIGlmIChidXR0b24gPT09IExFRlRfTU9VU0VfQlVUVE9OKSB7XG4gICAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKTtcblxuICAgIGlmICghZHJhZ2dpbmcpIHtcbiAgICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgICAgbW91c2VMZWZ0ID0gbW91c2VMZWZ0RnJvbUV2ZW50KGV2ZW50KTtcblxuICAgICAgdGhpcy5zdGFydFdhaXRpbmdUb0RyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgd2luZG93Lm9uRXZlbnQoQkxVUl9FVkVOVF9UWVBFLCBtb3VzZVVwSGFuZGxlciwgdGhpcyk7IC8vL1xuXG4gIHdpbmRvdy5vbk1vdXNlVXAobW91c2VVcEhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBtb3VzZU1vdmVIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IGRyYWdnaW5nID0gdGhpcy5pc0RyYWdnaW5nKCk7XG5cbiAgaWYgKGRyYWdnaW5nKSB7XG4gICAgY29uc3QgbW91c2VUb3AgPSBtb3VzZVRvcEZyb21FdmVudChldmVudCksXG4gICAgICAgICAgbW91c2VMZWZ0ID0gbW91c2VMZWZ0RnJvbUV2ZW50KGV2ZW50KTtcblxuICAgIHRoaXMuZHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbiAgfVxuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xufVxuIl0sIm5hbWVzIjpbIkVTQ0FQRV9LRVlfQ09ERSIsImtleUNvZGVzIiwiQkxVUl9FVkVOVF9UWVBFIiwiZXZlbnRUeXBlcyIsIkxFRlRfTU9VU0VfQlVUVE9OIiwibW91c2VCdXR0b25zIiwiZHJhZ0VsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJnbG9iYWxUaGlzIiwiZW5hYmxlRHJhZyIsInRpbWVvdXQiLCJ0b3BPZmZzZXQiLCJsZWZ0T2Zmc2V0Iiwic3RhcnRNb3VzZVRvcCIsInN0YXJ0TW91c2VMZWZ0Iiwib25Nb3VzZURvd24iLCJtb3VzZURvd25IYW5kbGVyIiwic2V0U3RhdGUiLCJkaXNhYmxlRHJhZyIsIm9mZk1vdXNlRG93biIsImlzRHJhZ2dpbmciLCJkcmFnZ2luZyIsImhhc0NsYXNzIiwic3RhcnREcmFnIiwibW91c2VUb3AiLCJtb3VzZUxlZnQiLCJib3VuZHMiLCJnZXRCb3VuZHMiLCJib3VuZHNUb3AiLCJnZXRUb3AiLCJib3VuZHNMZWZ0IiwiZ2V0TGVmdCIsImJvdW5kc1JpZ2h0IiwiZ2V0UmlnaHQiLCJib3VuZHNCb3R0b20iLCJnZXRCb3R0b20iLCJib3VuZHNXaWR0aCIsImJvdW5kc0hlaWdodCIsIk1hdGgiLCJmbG9vciIsImN1c3RvbUV2ZW50VHlwZSIsIlNUQVJUX0RSQUdfQ1VTVE9NX0VWRU5UX1RZUEUiLCJ3aW5kb3ciLCJvbktleURvd24iLCJrZXlEb3duSGFuZGxlciIsIm9uTW91c2VNb3ZlIiwibW91c2VNb3ZlSGFuZGxlciIsImFkZENsYXNzIiwic2V0VG9wT2Zmc2V0Iiwic2V0TGVmdE9mZnNldCIsInNldFN0YXJ0TW91c2VUb3AiLCJzZXRTdGFydE1vdXNlTGVmdCIsImNhbGxDdXN0b21IYW5kbGVycyIsImRyYWciLCJzdG9wRHJhZyIsImFib3J0ZWQiLCJkcm9wRWxlbWVudCIsIlNUT1BfRFJBR19DVVNUT01fRVZFTlRfVFlQRSIsIm9mZktleURvd24iLCJvZmZNb3VzZU1vdmUiLCJkb25lIiwiY2FsbEN1c3RvbUhhbmRsZXJzQXN5bmMiLCJyZW1vdmVDbGFzcyIsImRyYWdFbGVtZW50SWdub3Jlc0Ryb3BFbGVtZW50IiwiY2hlY2tEcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCIsImRyb3AiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCIsImdldFRvcE9mZnNldCIsImdldExlZnRPZmZzZXQiLCJnZXRTdGFydE1vdXNlVG9wIiwiZ2V0U3RhcnRNb3VzZUxlZnQiLCJEUkFHX0NVU1RPTV9DVVNUT01fRVZFTlRfVFlQRSIsInJlbGF0aXZlTW91c2VUb3AiLCJyZWxhdGl2ZU1vdXNlTGVmdCIsInRvcCIsImxlZnQiLCJjc3MiLCJvbkN1c3RvbURyYWciLCJkcmFnQ3VzdG9tSGFuZGxlciIsImVsZW1lbnQiLCJjdXN0b21IYW5kbGVyIiwib25DdXN0b21FdmVudCIsIm9mZkN1c3RvbURyYWciLCJvZmZDdXN0b21FdmVudCIsIm9uQ3VzdG9tU3RvcERyYWciLCJzdG9wRHJhZ0N1c3RvbUhhbmRsZXIiLCJvZmZDdXN0b21TdG9wRHJhZyIsIm9uQ3VzdG9tU3RhcnREcmFnIiwic3RhcnREcmFnQ3VzdG9tSGFuZGxlciIsIm9mZkN1c3RvbVN0YXJ0RHJhZyIsInN0YXJ0V2FpdGluZ1RvRHJhZyIsImdldFRpbWVvdXQiLCJzZXRUaW1lb3V0IiwicmVzZXRUaW1lb3V0IiwiU1RBUlRfRFJBR0dJTkdfREVMQVkiLCJ1cGRhdGVUaW1lb3V0Iiwic3RvcFdhaXRpbmdUb0RyYWciLCJjbGVhclRpbWVvdXQiLCJnZXRTdGF0ZSIsInVwZGF0ZVN0YXRlIiwiZXZlbnQiLCJrZXlDb2RlIiwiZXNjYXBlS2V5Iiwic3RvcFByb3BhZ2F0aW9uIiwibW91c2VVcEhhbmRsZXIiLCJvZmZFdmVudCIsIm9mZk1vdXNlVXAiLCJidXR0b24iLCJtb3VzZVRvcEZyb21FdmVudCIsIm1vdXNlTGVmdEZyb21FdmVudCIsIm9uRXZlbnQiLCJvbk1vdXNlVXAiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdSQTs7O2VBQUE7Ozt5QkF0UnlCO29CQUN3Qjt5QkFFWjt5QkFDYztxQkFDRztnQ0FDbUQ7QUFFekcsSUFBTSxBQUFFQSxrQkFBb0JDLG1CQUFRLENBQTVCRCxpQkFDRixBQUFFRSxrQkFBb0JDLGdCQUFVLENBQTlCRCxpQkFDRixBQUFFRSxvQkFBc0JDLGtCQUFZLENBQWxDRDtBQUVSLElBQU1FLGNBQWM7QUFFcEJDLE9BQU9DLE1BQU0sQ0FBQ0MsWUFBWTtJQUN4QkgsYUFBQUE7QUFDRjtBQUVBLFNBQVNJO0lBQ1AsSUFBTUMsVUFBVSxNQUNWQyxZQUFZLE1BQ1pDLGFBQWEsTUFDYkMsZ0JBQWdCLE1BQ2hC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