@smartbit4all/ng-client 4.2.30 → 4.2.32

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.
@@ -44,7 +44,7 @@ export class AbstractMap {
44
44
  else {
45
45
  toAdd.push({
46
46
  id: item.id,
47
- record: this.itemFactory(item, '#3388ff'),
47
+ record: this.itemFactory(item, { color: '#3388ff', draggable: false }),
48
48
  });
49
49
  }
50
50
  }
@@ -67,7 +67,7 @@ export class AbstractMap {
67
67
  (pendingItems[0].position != null && pendingItems[0].position.latitude != null)) {
68
68
  editingToAdd.push({
69
69
  id: pendingItems[0].id,
70
- record: this.itemFactory(pendingItems[0], '#ff0000'),
70
+ record: this.itemFactory(pendingItems[0], { color: '#ff0000', draggable: true }),
71
71
  });
72
72
  }
73
73
  editingPresent.forEach((id) => {
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
109
109
  }], onEditingOverlayDrag: [{
110
110
  type: Output
111
111
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL2Fic3RyYWN0LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBR04sWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUtMLG1CQUFtQixHQUNwQixNQUFNLE9BQU8sQ0FBQzs7QUFrQmYsTUFBTSxPQUFnQixXQUFXO0lBMEIvQixZQUNTLEVBQWMsRUFDZCxFQUFxQixFQUNyQixJQUFZLEVBQ1QsV0FBOEI7UUFIakMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDVCxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUE3QmpDLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7UUFDdEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxLQUFLLEVBQXdCLENBQUM7UUFDOUMsZUFBVSxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9ELG1CQUFjLEdBQXNDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkUsaUJBQVksR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRSxrQkFBYSxHQUFzQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RFLDBCQUFxQixHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JGLHlCQUFvQixHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlGLGNBQVMsR0FBMEIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFO2FBQ1QsTUFBTSxDQUFD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RUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUN4QixDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUVuQyxNQUFNLGFBQWEsR0FBd0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQ2hGLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtvQkFDZixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUN4QixDQUFDLENBQ0YsQ0FBQztnQkFDRixJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQWxIbUIsV0FBVzttR0FBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQURoQyxTQUFTO3lKQUtFLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgY29tcHV0ZWQsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIGVmZmVjdCxcclxuICBFZmZlY3RSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE91dHB1dCxcclxuICBTaWduYWwsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgR2VvTWFwRWRpdGluZ1Nlc3Npb24sXHJcbiAgR2VvTWFwSXRlbSxcclxuICBHZW9NYXBJdGVtS2luZCxcclxuICBHZW9NYXBNb2RlbCxcclxuICBHZW9NYXBPcGVyYXRpb25Nb2RlLFxyXG59IGZyb20gJy4vYXBpJztcclxuaW1wb3J0IHtcclxuICBNYXBDbGlja2VkRXZlbnQsXHJcbiAgTWFwRHJhZ2dlZEV2ZW50LFxyXG4gIE1hcEVkaXRpbmdJdGVtQ2xpY2tlZEV2ZW50LFxyXG4gIE1hcEVkaXRpbmdJdGVtRHJhZ2dlZEV2ZW50LFxyXG4gIE1hcEl0ZW1DbGlja2VkRXZlbnQsXHJcbiAgTWFwWm9vbUNoYW5nZWRFdmVudCxcclxufSBmcm9tICcuL3NtYXJ0LW1hcC50eXBlcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZFdpdGhJZCB7XHJcbiAgaWQ6IHN0cmluZztcclxuICByZWNvcmQ6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgR2VvTWFwSXRlbUZhY3RvcnkgPSAoaXQ6IEdlb01hcEl0ZW0sIGNvbG9yOiBzdHJpbmcpID0+IGFueTtcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RNYXAge1xyXG4gIHJlYWRvbmx5IG1vZGVsID0gaW5wdXQucmVxdWlyZWQ8R2VvTWFwTW9kZWw+KCk7XHJcbiAgcmVhZG9ubHkgaXRlbXMgPSBpbnB1dC5yZXF1aXJlZDxBcnJheTxHZW9NYXBJdGVtPj4oKTtcclxuICByZWFkb25seSBlZGl0aW5nU2Vzc2lvbiA9IGlucHV0PEdlb01hcEVkaXRpbmdTZXNzaW9uPigpO1xyXG4gIEBPdXRwdXQoKSBvbk1hcENsaWNrOiBFdmVudEVtaXR0ZXI8TWFwQ2xpY2tlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25PdmVybGF5Q2xpY2s6IEV2ZW50RW1pdHRlcjxNYXBJdGVtQ2xpY2tlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25NYXBEcmFnRW5kOiBFdmVudEVtaXR0ZXI8TWFwRHJhZ2dlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25ab29tQ2hhbmdlZDogRXZlbnRFbWl0dGVyPE1hcFpvb21DaGFuZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkVkaXRpbmdPdmVybGF5Q2xpY2s6IEV2ZW50RW1pdHRlcjxNYXBFZGl0aW5nSXRlbUNsaWNrZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uRWRpdGluZ092ZXJsYXlEcmFnOiBFdmVudEVtaXR0ZXI8TWFwRWRpdGluZ0l0ZW1EcmFnZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBzZWxlY3Rpb246IFNpZ25hbDxBcnJheTxzdHJpbmc+PiA9IGNvbXB1dGVkKCgpID0+XHJcbiAgICB0aGlzLml0ZW1zKClcclxuICAgICAgLmZpbHRlcigoaXQpID0+ICEhaXQuc2VsZWN0ZWQpXHJcbiAgICAgIC5tYXAoKGl0KSA9PiBpdC5pZCEpXHJcbiAgKTtcclxuXHJcbiAgb3BlcmF0aW9uTW9kZTogU2lnbmFsPEdlb01hcE9wZXJhdGlvbk1vZGU+ID0gY29tcHV0ZWQoXHJcbiAgICAoKSA9PiB0aGlzLm1vZGVsKCkudmlld1N0YXRlPy5vcGVyYXRpb25Nb2RlID8/IEdlb01hcE9wZXJhdGlvbk1vZGUuQUNUSU9OXHJcbiAgKTtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG92ZXJsYXlzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBlZGl0aW5nT3ZlcmxheXM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwKCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9uSXRlbXNDaGFuZ2VkOiBFZmZlY3RSZWYgPSB0aGlzLmluaXRDaGFuZ2VFZmZlY3QoKTtcclxuICBtYXA6IGFueTtcclxuXHJcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyB6b25lOiBOZ1pvbmUsXHJcbiAgICBwcm90ZWN0ZWQgaXRlbUZhY3Rvcnk6IEdlb01hcEl0ZW1GYWN0b3J5XHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIGluaXRDaGFuZ2VFZmZlY3QoKTogRWZmZWN0UmVmIHtcclxuICAgIHJldHVybiBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMoKTtcclxuICAgICAgY29uc3QgZWRpdGluZ1Nlc3Npb24gPSB0aGlzLmVkaXRpbmdTZXNzaW9uKCk7XHJcbiAgICAgIGNvbnN0IHByZXNlbnQgPSBuZXcgU2V0KHRoaXMub3ZlcmxheXMua2V5cygpKTtcclxuICAgICAgY29uc3QgZWRpdGluZ1ByZXNlbnQgPSBuZXcgU2V0KHRoaXMuZWRpdGluZ092ZXJsYXlzLmtleXMoKSk7XHJcblxyXG4gICAgICBjb25zdCB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPiA9IFtdO1xyXG4gICAgICBjb25zdCB0b1JlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPiA9IFtdO1xyXG5cclxuICAgICAgY29uc3QgZWRpdGluZ1RvQWRkOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gW107XHJcbiAgICAgIGNvbnN0IGVkaXRpbmd0b1JlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPiA9IFtdO1xyXG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgICBpZiAoIWl0ZW0uaWQpIHtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHByZXNlbnQuaGFzKGl0ZW0uaWQpKSB7XHJcbiAgICAgICAgICBwcmVzZW50LmRlbGV0ZShpdGVtLmlkKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdG9BZGQucHVzaCh7XHJcbiAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICByZWNvcmQ6IHRoaXMuaXRlbUZhY3RvcnkoaXRlbSwgJyMzMzg4ZmYnKSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcHJlc2VudC5mb3JFYWNoKChpZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlY29yZCA9IHRoaXMub3ZlcmxheXMuZ2V0KGlkKTtcclxuICAgICAgICBpZiAoIXJlY29yZCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdG9SZW1vdmUucHVzaCh7IGlkLCByZWNvcmQgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5oYW5kbGVJdGVtQ2hhbmdlcyh0b1JlbW92ZSwgdG9BZGQpO1xyXG5cclxuICAgICAgaWYgKGVkaXRpbmdTZXNzaW9uKSB7XHJcbiAgICAgICAgZWRpdGluZ1Nlc3Npb24ucGVuZGluZ0l0ZW1zO1xyXG4gICAgICAgIGNvbnN0IHBlbmRpbmdWYWx1ZXMgPSB0aGlzLm1vZGVsKCk/LnZpZXdTdGF0ZT8uZWRpdGluZ1Nlc3Npb24/LnBlbmRpbmdJdGVtcyE7XHJcbiAgICAgICAgY29uc3QgZmlyc3RLZXkgPSBPYmplY3Qua2V5cyhwZW5kaW5nVmFsdWVzKVswXTtcclxuICAgICAgICBjb25zdCBwZW5kaW5nSXRlbXMgPSBwZW5kaW5nVmFsdWVzW2ZpcnN0S2V5XTtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgKHBlbmRpbmdJdGVtc1swXS5yb3V0ZSAhPSBudWxsICYmXHJcbiAgICAgICAgICAgIHBlbmRpbmdJdGVtc1swXS5yb3V0ZS5wb2ludHMgIT0gbnVsbCAmJlxyXG4gICAgICAgICAgICBwZW5kaW5nSXRlbXNbMF0ucm91dGUucG9pbnRzLmxlbmd0aCA+IDApIHx8XHJcbiAgICAgICAgICAocGVuZGluZ0l0ZW1zWzBdLnBvc2l0aW9uICE9IG51bGwgJiYgcGVuZGluZ0l0ZW1zWzBdLnBvc2l0aW9uLmxhdGl0dWRlICE9IG51bGwpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBlZGl0aW5nVG9BZGQucHVzaCh7XHJcbiAgICAgICAgICAgIGlkOiBwZW5kaW5nSXRlbXNbMF0uaWQhLFxyXG4gICAgICAgICAgICByZWNvcmQ6IHRoaXMuaXRlbUZhY3RvcnkocGVuZGluZ0l0ZW1zWzBdLCAnI2ZmMDAwMCcpLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlZGl0aW5nUHJlc2VudC5mb3JFYWNoKChpZCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcmVjb3JkID0gdGhpcy5lZGl0aW5nT3ZlcmxheXMuZ2V0KGlkKTtcclxuICAgICAgICAgIGlmICghcmVjb3JkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBlZGl0aW5ndG9SZW1vdmUucHVzaCh7IGlkLCByZWNvcmQgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVFZGl0aW5nSXRlbUNoYW5nZXMoZWRpdGluZ3RvUmVtb3ZlLCBlZGl0aW5nVG9BZGQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBvbkNsZWFudXAoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPiA9IFsuLi50aGlzLm92ZXJsYXlzLmVudHJpZXMoKV0ubWFwKChbaWQsIHJlY29yZF0pID0+IHtcclxuICAgICAgICAgIHJldHVybiB7IGlkLCByZWNvcmQgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmhhbmRsZUl0ZW1DaGFuZ2VzKHJlbW92ZSwgW10pO1xyXG5cclxuICAgICAgICBjb25zdCBlZGl0aW5nUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gWy4uLnRoaXMuZWRpdGluZ092ZXJsYXlzLmVudHJpZXMoKV0ubWFwKFxyXG4gICAgICAgICAgKFtpZCwgcmVjb3JkXSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4geyBpZCwgcmVjb3JkIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhlZGl0aW5nUmVtb3ZlLCBbXSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhYnN0cmFjdCBoYW5kbGVJdGVtQ2hhbmdlcyh0b1JlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPiwgdG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD4pOiB2b2lkO1xyXG5cclxuICBhYnN0cmFjdCBoYW5kbGVFZGl0aW5nSXRlbUNoYW5nZXMoXHJcbiAgICB0b1JlbW92ZTogQXJyYXk8UmVjb3JkV2l0aElkPixcclxuICAgIHRvQWRkOiBBcnJheTxSZWNvcmRXaXRoSWQ+XHJcbiAgKTogdm9pZDtcclxufVxyXG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL2Fic3RyYWN0LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBR04sWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUtMLG1CQUFtQixHQUNwQixNQUFNLE9BQU8sQ0FBQzs7QUFtQmYsTUFBTSxPQUFnQixXQUFXO0lBMEIvQixZQUNTLEVBQWMsRUFDZCxFQUFxQixFQUNyQixJQUFZLEVBQ1QsV0FBOEI7UUFIakMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDVCxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUE3QmpDLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7UUFDdEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxLQUFLLEVBQXdCLENBQUM7UUFDOUMsZUFBVSxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9ELG1CQUFjLEdBQXNDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkUsaUJBQVksR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRSxrQkFBYSxHQUFzQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RFLDBCQUFxQixHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JGLHlCQUFvQixHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlGLGNBQVMsR0FBMEIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFO2FBQ1QsTUFBTSxDQUFD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QUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7b0JBQ3BGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRW5DLE1BQU0sYUFBYSxHQUF3QixDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDaEYsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO29CQUNmLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FDRixDQUFDO2dCQUNGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBbEhtQixXQUFXO21HQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRGhDLFNBQVM7eUpBS0UsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBjb21wdXRlZCxcclxuICBEaXJlY3RpdmUsXHJcbiAgZWZmZWN0LFxyXG4gIEVmZmVjdFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT3V0cHV0LFxyXG4gIFNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBHZW9NYXBFZGl0aW5nU2Vzc2lvbixcclxuICBHZW9NYXBJdGVtLFxyXG4gIEdlb01hcEl0ZW1LaW5kLFxyXG4gIEdlb01hcE1vZGVsLFxyXG4gIEdlb01hcE9wZXJhdGlvbk1vZGUsXHJcbn0gZnJvbSAnLi9hcGknO1xyXG5pbXBvcnQge1xyXG4gIE1hcENsaWNrZWRFdmVudCxcclxuICBNYXBEcmFnZ2VkRXZlbnQsXHJcbiAgTWFwRWRpdGluZ0l0ZW1DbGlja2VkRXZlbnQsXHJcbiAgTWFwRWRpdGluZ0l0ZW1EcmFnZ2VkRXZlbnQsXHJcbiAgTWFwSXRlbUNsaWNrZWRFdmVudCxcclxuICBNYXBJdGVtQ29uZmlndXJhdGlvbixcclxuICBNYXBab29tQ2hhbmdlZEV2ZW50LFxyXG59IGZyb20gJy4vc21hcnQtbWFwLnR5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkV2l0aElkIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHJlY29yZDogYW55O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBHZW9NYXBJdGVtRmFjdG9yeSA9IChpdDogR2VvTWFwSXRlbSwgY29uZmlnOiBNYXBJdGVtQ29uZmlndXJhdGlvbikgPT4gYW55O1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1hcCB7XHJcbiAgcmVhZG9ubHkgbW9kZWwgPSBpbnB1dC5yZXF1aXJlZDxHZW9NYXBNb2RlbD4oKTtcclxuICByZWFkb25seSBpdGVtcyA9IGlucHV0LnJlcXVpcmVkPEFycmF5PEdlb01hcEl0ZW0+PigpO1xyXG4gIHJlYWRvbmx5IGVkaXRpbmdTZXNzaW9uID0gaW5wdXQ8R2VvTWFwRWRpdGluZ1Nlc3Npb24+KCk7XHJcbiAgQE91dHB1dCgpIG9uTWFwQ2xpY2s6IEV2ZW50RW1pdHRlcjxNYXBDbGlja2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk92ZXJsYXlDbGljazogRXZlbnRFbWl0dGVyPE1hcEl0ZW1DbGlja2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk1hcERyYWdFbmQ6IEV2ZW50RW1pdHRlcjxNYXBEcmFnZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblpvb21DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8TWFwWm9vbUNoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uRWRpdGluZ092ZXJsYXlDbGljazogRXZlbnRFbWl0dGVyPE1hcEVkaXRpbmdJdGVtQ2xpY2tlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25FZGl0aW5nT3ZlcmxheURyYWc6IEV2ZW50RW1pdHRlcjxNYXBFZGl0aW5nSXRlbURyYWdnZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHNlbGVjdGlvbjogU2lnbmFsPEFycmF5PHN0cmluZz4+ID0gY29tcHV0ZWQoKCkgPT5cclxuICAgIHRoaXMuaXRlbXMoKVxyXG4gICAgICAuZmlsdGVyKChpdCkgPT4gISFpdC5zZWxlY3RlZClcclxuICAgICAgLm1hcCgoaXQpID0+IGl0LmlkISlcclxuICApO1xyXG5cclxuICBvcGVyYXRpb25Nb2RlOiBTaWduYWw8R2VvTWFwT3BlcmF0aW9uTW9kZT4gPSBjb21wdXRlZChcclxuICAgICgpID0+IHRoaXMubW9kZWwoKS52aWV3U3RhdGU/Lm9wZXJhdGlvbk1vZGUgPz8gR2VvTWFwT3BlcmF0aW9uTW9kZS5BQ1RJT05cclxuICApO1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3ZlcmxheXM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwKCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRpbmdPdmVybGF5czogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXAoKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb25JdGVtc0NoYW5nZWQ6IEVmZmVjdFJlZiA9IHRoaXMuaW5pdENoYW5nZUVmZmVjdCgpO1xyXG4gIG1hcDogYW55O1xyXG5cclxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIHpvbmU6IE5nWm9uZSxcclxuICAgIHByb3RlY3RlZCBpdGVtRmFjdG9yeTogR2VvTWFwSXRlbUZhY3RvcnlcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgaW5pdENoYW5nZUVmZmVjdCgpOiBFZmZlY3RSZWYge1xyXG4gICAgcmV0dXJuIGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcygpO1xyXG4gICAgICBjb25zdCBlZGl0aW5nU2Vzc2lvbiA9IHRoaXMuZWRpdGluZ1Nlc3Npb24oKTtcclxuICAgICAgY29uc3QgcHJlc2VudCA9IG5ldyBTZXQodGhpcy5vdmVybGF5cy5rZXlzKCkpO1xyXG4gICAgICBjb25zdCBlZGl0aW5nUHJlc2VudCA9IG5ldyBTZXQodGhpcy5lZGl0aW5nT3ZlcmxheXMua2V5cygpKTtcclxuXHJcbiAgICAgIGNvbnN0IHRvQWRkOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gW107XHJcbiAgICAgIGNvbnN0IHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gW107XHJcblxyXG4gICAgICBjb25zdCBlZGl0aW5nVG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD4gPSBbXTtcclxuICAgICAgY29uc3QgZWRpdGluZ3RvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gW107XHJcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xyXG4gICAgICAgIGlmICghaXRlbS5pZCkge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocHJlc2VudC5oYXMoaXRlbS5pZCkpIHtcclxuICAgICAgICAgIHByZXNlbnQuZGVsZXRlKGl0ZW0uaWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0b0FkZC5wdXNoKHtcclxuICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgICAgIHJlY29yZDogdGhpcy5pdGVtRmFjdG9yeShpdGVtLCB7IGNvbG9yOiAnIzMzODhmZicsIGRyYWdnYWJsZTogZmFsc2UgfSksXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHByZXNlbnQuZm9yRWFjaCgoaWQpID0+IHtcclxuICAgICAgICBjb25zdCByZWNvcmQgPSB0aGlzLm92ZXJsYXlzLmdldChpZCk7XHJcbiAgICAgICAgaWYgKCFyZWNvcmQpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRvUmVtb3ZlLnB1c2goeyBpZCwgcmVjb3JkIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuaGFuZGxlSXRlbUNoYW5nZXModG9SZW1vdmUsIHRvQWRkKTtcclxuXHJcbiAgICAgIGlmIChlZGl0aW5nU2Vzc2lvbikge1xyXG4gICAgICAgIGVkaXRpbmdTZXNzaW9uLnBlbmRpbmdJdGVtcztcclxuICAgICAgICBjb25zdCBwZW5kaW5nVmFsdWVzID0gdGhpcy5tb2RlbCgpPy52aWV3U3RhdGU/LmVkaXRpbmdTZXNzaW9uPy5wZW5kaW5nSXRlbXMhO1xyXG4gICAgICAgIGNvbnN0IGZpcnN0S2V5ID0gT2JqZWN0LmtleXMocGVuZGluZ1ZhbHVlcylbMF07XHJcbiAgICAgICAgY29uc3QgcGVuZGluZ0l0ZW1zID0gcGVuZGluZ1ZhbHVlc1tmaXJzdEtleV07XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIChwZW5kaW5nSXRlbXNbMF0ucm91dGUgIT0gbnVsbCAmJlxyXG4gICAgICAgICAgICBwZW5kaW5nSXRlbXNbMF0ucm91dGUucG9pbnRzICE9IG51bGwgJiZcclxuICAgICAgICAgICAgcGVuZGluZ0l0ZW1zWzBdLnJvdXRlLnBvaW50cy5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgICAgKHBlbmRpbmdJdGVtc1swXS5wb3NpdGlvbiAhPSBudWxsICYmIHBlbmRpbmdJdGVtc1swXS5wb3NpdGlvbi5sYXRpdHVkZSAhPSBudWxsKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgZWRpdGluZ1RvQWRkLnB1c2goe1xyXG4gICAgICAgICAgICBpZDogcGVuZGluZ0l0ZW1zWzBdLmlkISxcclxuICAgICAgICAgICAgcmVjb3JkOiB0aGlzLml0ZW1GYWN0b3J5KHBlbmRpbmdJdGVtc1swXSwgeyBjb2xvcjogJyNmZjAwMDAnLCBkcmFnZ2FibGU6IHRydWUgfSksXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVkaXRpbmdQcmVzZW50LmZvckVhY2goKGlkKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCByZWNvcmQgPSB0aGlzLmVkaXRpbmdPdmVybGF5cy5nZXQoaWQpO1xyXG4gICAgICAgICAgaWYgKCFyZWNvcmQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGVkaXRpbmd0b1JlbW92ZS5wdXNoKHsgaWQsIHJlY29yZCB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhlZGl0aW5ndG9SZW1vdmUsIGVkaXRpbmdUb0FkZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG9uQ2xlYW51cCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+ID0gWy4uLnRoaXMub3ZlcmxheXMuZW50cmllcygpXS5tYXAoKFtpZCwgcmVjb3JkXSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHsgaWQsIHJlY29yZCB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlSXRlbUNoYW5nZXMocmVtb3ZlLCBbXSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGVkaXRpbmdSZW1vdmU6IEFycmF5PFJlY29yZFdpdGhJZD4gPSBbLi4udGhpcy5lZGl0aW5nT3ZlcmxheXMuZW50cmllcygpXS5tYXAoXHJcbiAgICAgICAgICAoW2lkLCByZWNvcmRdKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IGlkLCByZWNvcmQgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlRWRpdGluZ0l0ZW1DaGFuZ2VzKGVkaXRpbmdSZW1vdmUsIFtdKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFic3RyYWN0IGhhbmRsZUl0ZW1DaGFuZ2VzKHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LCB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPik6IHZvaWQ7XHJcblxyXG4gIGFic3RyYWN0IGhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhcclxuICAgIHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LFxyXG4gICAgdG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD5cclxuICApOiB2b2lkO1xyXG59XHJcbiJdfQ==
@@ -3,7 +3,7 @@ import { AbstractMap } from '../abstract-map';
3
3
  import { GeoMapItemKind } from '../api';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
- function createGoogleMapsItem(item, color) {
6
+ function createGoogleMapsItem(item, config) {
7
7
  switch (item.kind) {
8
8
  case GeoMapItemKind.MARKER:
9
9
  return new google.maps.Marker({
@@ -55,7 +55,7 @@ export class GoogleMap extends AbstractMap {
55
55
  const items = this.items();
56
56
  const toAdd = items.map((it) => ({
57
57
  id: it.id,
58
- record: createGoogleMapsItem(it, '#3388ff'),
58
+ record: createGoogleMapsItem(it, { color: '#3388ff', draggable: false }),
59
59
  }));
60
60
  this.handleItemChanges([], toAdd);
61
61
  this.onMapReady.emit({
@@ -218,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
218
218
  }], onMapReady: [{
219
219
  type: Output
220
220
  }] } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9pbXBsL2dvb2dsZS1tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFjLGNBQWMsRUFBa0IsTUFBTSxRQUFRLENBQUM7OztBQUlwRSxTQUFTLG9CQUFvQixDQUFDLElBQWdCLEVBQUUsS0FBYTtJQUMzRCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixLQUFLLGNBQWMsQ0FBQyxNQUFNO1lBQ3hCLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDNUIsUUFBUSxFQUFFO29CQUNSLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUyxDQUFDLFFBQVE7b0JBQzVCLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUyxDQUFDLFNBQVM7aUJBQzlCO2dCQUNELEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzthQUNsQixDQUFDLENBQUM7UUFDTCxLQUFLLGNBQWMsQ0FBQyxJQUFJO1lBQ3RCLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDOUIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO29CQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDakQsQ0FBQyxDQUFD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T0FBTyxFQUFFLE9BQU87b0JBQ2hCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztpQkFDZCxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQzsrR0FqTFUsU0FBUzttR0FBVCxTQUFTLHFXQVBWLHFEQUFxRDs7NEZBT3BELFNBQVM7a0JBVHJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxxREFBcUQ7b0JBQy9ELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxXQUFXLEVBQUUsNkNBQTZDO3FCQUNsRTtpQkFDRjtvSUFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0NoZWNrZWQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0TWFwLCBSZWNvcmRXaXRoSWQgfSBmcm9tICcuLi9hYnN0cmFjdC1tYXAnO1xyXG5pbXBvcnQgeyBHZW9NYXBJdGVtLCBHZW9NYXBJdGVtS2luZCwgR2VvTWFwVmlld3BvcnQgfSBmcm9tICcuLi9hcGknO1xyXG5cclxuZGVjbGFyZSB2YXIgZ29vZ2xlOiBhbnk7XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVHb29nbGVNYXBzSXRlbShpdGVtOiBHZW9NYXBJdGVtLCBjb2xvcjogc3RyaW5nKTogYW55IHtcclxuICBzd2l0Y2ggKGl0ZW0ua2luZCkge1xyXG4gICAgY2FzZSBHZW9NYXBJdGVtS2luZC5NQVJLRVI6XHJcbiAgICAgIHJldHVybiBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcclxuICAgICAgICBwb3NpdGlvbjoge1xyXG4gICAgICAgICAgbGF0OiBpdGVtLnBvc2l0aW9uIS5sYXRpdHVkZSxcclxuICAgICAgICAgIGxuZzogaXRlbS5wb3NpdGlvbiEubG9uZ2l0dWRlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGl0bGU6IGl0ZW0ubGFiZWwsXHJcbiAgICAgIH0pO1xyXG4gICAgY2FzZSBHZW9NYXBJdGVtS2luZC5MSU5FOlxyXG4gICAgICByZXR1cm4gbmV3IGdvb2dsZS5tYXBzLlBvbHlsaW5lKHtcclxuICAgICAgICBwYXRoOiBpdGVtLnJvdXRlIS5wb2ludHMubWFwKChpdCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHsgbGF0OiBpdC5sYXRpdHVkZSwgbG5nOiBpdC5sb25naXR1ZGUgfTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBnZW9kZXNpYzogdHJ1ZSxcclxuICAgICAgICBzdHJva2VDb2xvcjogJyNGRjAwMDAnLFxyXG4gICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuNSxcclxuICAgICAgICBzdHJva2VXZWlnaHQ6IDIsXHJcbiAgICAgIH0pO1xyXG4gICAgY2FzZSBHZW9NYXBJdGVtS2luZC5QT0xZR09OOlxyXG4gICAgICByZXR1cm4gbmV3IGdvb2dsZS5tYXBzLlBvbHlnb24oe1xyXG4gICAgICAgIHBhdGg6IGl0ZW0ucm91dGUhLnBvaW50cy5tYXAoKGl0KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4geyBsYXQ6IGl0LmxhdGl0dWRlLCBsbmc6IGl0LmxvbmdpdHVkZSB9O1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuNSxcclxuICAgICAgICBzdG9yZVdlaWdodDogMSxcclxuICAgICAgICBmaWxsQ29sb3I6ICcjMTk3NkQyJyxcclxuICAgICAgICBmaWxsT3BhY2l0eTogMC4zNSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dvb2dsZS1tYXAnLFxyXG4gIHRlbXBsYXRlOiBgIDxkaXYgW25nU3R5bGVdPVwic3R5bGVcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiPjwvZGl2PmAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ3AtZWxlbWVudCcsIC8vIHRoaXMgaXMgZmFuY3ksIGJ1dCBjYW4gd2UgdXNlIGl0IGFjdHVhbGx5P1xyXG4gIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHb29nbGVNYXAgZXh0ZW5kcyBBYnN0cmFjdE1hcCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xyXG4gIEBJbnB1dCgpIHN0eWxlPzogYW55O1xyXG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKSBvbk92ZXJsYXlEYmxDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uT3ZlcmxheURyYWdTdGFydDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uT3ZlcmxheURyYWc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk92ZXJsYXlEcmFnRW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25NYXBSZWFkeTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHpvbmU6IE5nWm9uZSkge1xyXG4gICAgc3VwZXIoZWwsIGNkLCB6b25lLCBjcmVhdGVHb29nbGVNYXBzSXRlbSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMubWFwICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRpYWxpemUoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcCA9IG5ldyBnb29nbGUubWFwcy5NYXAoXHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXSxcclxuICAgICAgdGhpcy5jcmVhdGVHb29nbGVNYXBzT3B0aW9ucygpXHJcbiAgICApO1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zKCk7XHJcbiAgICBjb25zdCB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPiA9IGl0ZW1zLm1hcCgoaXQpID0+ICh7XHJcbiAgICAgIGlkOiBpdC5pZCEsXHJcbiAgICAgIHJlY29yZDogY3JlYXRlR29vZ2xlTWFwc0l0ZW0oaXQsICcjMzM4OGZmJyksXHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLmhhbmRsZUl0ZW1DaGFuZ2VzKFtdLCB0b0FkZCk7XHJcblxyXG4gICAgdGhpcy5vbk1hcFJlYWR5LmVtaXQoe1xyXG4gICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tYXAuYWRkTGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2VudGVyID0gdGhpcy5tYXAuZ2V0Q2VudGVyKCk7IC8vIEZJWE1FIGdldCBhY3R1YWwgY29vcmRpbmF0ZXNcclxuICAgICAgICB0aGlzLm9uTWFwQ2xpY2suZW1pdCh7XHJcbiAgICAgICAgICBjb29yZGluYXRlczoge1xyXG4gICAgICAgICAgICBsYXRpdHVkZTogY2VudGVyLmxhdCBhcyBudW1iZXIsXHJcbiAgICAgICAgICAgIGxvbmdpdHVkZTogY2VudGVyLmxuZyBhcyBudW1iZXIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tYXAuYWRkTGlzdGVuZXIoJ2RyYWdlbmQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICBjb25zdCBjZW50ZXIgPSB0aGlzLm1hcC5nZXRDZW50ZXIoKTtcclxuICAgICAgICBjb25zdCB6b29tID0gdGhpcy5tYXAuZ2V0Wm9vbSgpO1xyXG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMubWFwLmdldEJvdW5kcygpO1xyXG4gICAgICAgIGNvbnN0IG5lID0gYm91bmRzLmdldE5vcnRoRWFzdCgpO1xyXG4gICAgICAgIGNvbnN0IHN3ID0gYm91bmRzLmdldFNvdXRoV2VzdCgpO1xyXG4gICAgICAgIHRoaXMub25NYXBEcmFnRW5kLmVtaXQoe1xyXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgICB2aWV3cG9ydDoge1xyXG4gICAgICAgICAgICBjZW50ZXI6IHtcclxuICAgICAgICAgICAgICBsYXRpdHVkZTogY2VudGVyLmxhdCBhcyBudW1iZXIsXHJcbiAgICAgICAgICAgICAgbG9uZ2l0dWRlOiBjZW50ZXIubG5nIGFzIG51bWJlcixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgem9vbUxldmVsOiB6b29tIGFzIG51bWJlcixcclxuICAgICAgICAgICAgYm91bmRzOiBbXHJcbiAgICAgICAgICAgICAgeyBsYXRpdHVkZTogbmUubGF0LCBsb25naXR1ZGU6IG5lLmxuZyB9LFxyXG4gICAgICAgICAgICAgIHsgbGF0aXR1ZGU6IHN3LmxhdCwgbG9uZ2l0dWRlOiBzdy5sbmcgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tYXAuYWRkTGlzdGVuZXIoJ3pvb21fY2hhbmdlZCcsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub25ab29tQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICAgIHZpZXdwb3J0OiB7XHJcbiAgICAgICAgICAgIHpvb21MZXZlbDogdGhpcy5tYXAuZ2V0Wm9vbSgpIGFzIG51bWJlcixcclxuICAgICAgICAgICAgLi4udGhpcy5tb2RlbCgpLnZpZXdwb3J0ISxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlR29vZ2xlTWFwc09wdGlvbnMoKTogYW55IHtcclxuICAgIGNvbnN0IHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydCA9IHRoaXMubW9kZWwoKS52aWV3cG9ydCE7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjZW50ZXI6IHtcclxuICAgICAgICBsYXQ6IHZpZXdwb3J0LmNlbnRlcj8ubGF0aXR1ZGUsXHJcbiAgICAgICAgbG5nOiB2aWV3cG9ydC5jZW50ZXI/LmxvbmdpdHVkZSxcclxuICAgICAgfSxcclxuICAgICAgem9vbTogdmlld3BvcnQuem9vbUxldmVsLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGhhbmRsZUl0ZW1DaGFuZ2VzKHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LCB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPik6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm1hcCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0b1JlbW92ZS5mb3JFYWNoKChpdDogUmVjb3JkV2l0aElkKSA9PiB7XHJcbiAgICAgIGdvb2dsZS5tYXBzLmV2ZW50LmNsZWFySW5zdGFuY2VMaXN0ZW5lcnMoaXQucmVjb3JkLml0ZW0pO1xyXG4gICAgICBpdC5yZWNvcmQuaXRlbS5zZXRNYXAobnVsbCk7XHJcbiAgICAgIHRoaXMub3ZlcmxheXMuZGVsZXRlKGl0LmlkKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRvQWRkLmZvckVhY2goKGl0OiBSZWNvcmRXaXRoSWQpID0+IHtcclxuICAgICAgaXQucmVjb3JkLml0ZW0uc2V0TWFwKHRoaXMubWFwKTtcclxuICAgICAgaXQucmVjb3JkLml0ZW0uYWRkTGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMub25PdmVybGF5Q2xpY2suZW1pdCh7XHJcbiAgICAgICAgICAgIGl0ZW1JZDogaXQuaWQsXHJcbiAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IHtcclxuICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICAgICAgICBvdmVybGF5OiBpdC5yZWNvcmQuaXRlbSxcclxuICAgICAgICAgICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpdC5yZWNvcmQuaXRlbS5hZGRMaXN0ZW5lcignZGJsY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vbk92ZXJsYXlEYmxDbGljay5lbWl0KHtcclxuICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgICAgIG92ZXJsYXk6IGl0LFxyXG4gICAgICAgICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKGl0LnJlY29yZC5pdGVtLmdldERyYWdnYWJsZSgpKSB7XHJcbiAgICAgICAgdGhpcy5iaW5kRHJhZ0V2ZW50cyhpdC5yZWNvcmQuaXRlbSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vdmVybGF5cy5zZXQoaXQuaWQsIGl0LnJlY29yZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhcclxuICAgIHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LFxyXG4gICAgdG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD5cclxuICApOiB2b2lkIHt9XHJcblxyXG4gIGJpbmREcmFnRXZlbnRzKG92ZXJsYXk6IGFueSkge1xyXG4gICAgb3ZlcmxheS5hZGRMaXN0ZW5lcignZHJhZ3N0YXJ0JywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vbk92ZXJsYXlEcmFnU3RhcnQuZW1pdCh7XHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICAgIG92ZXJsYXk6IG92ZXJsYXksXHJcbiAgICAgICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIG92ZXJsYXkuYWRkTGlzdGVuZXIoJ2RyYWcnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLm9uT3ZlcmxheURyYWcuZW1pdCh7XHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICAgIG92ZXJsYXk6IG92ZXJsYXksXHJcbiAgICAgICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIG92ZXJsYXkuYWRkTGlzdGVuZXIoJ2RyYWdlbmQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLm9uT3ZlcmxheURyYWdFbmQuZW1pdCh7XHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICAgIG92ZXJsYXk6IG92ZXJsYXksXHJcbiAgICAgICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWFwKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwO1xyXG4gIH1cclxufVxyXG4iXX0=
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9pbXBsL2dvb2dsZS1tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFjLGNBQWMsRUFBa0IsTUFBTSxRQUFRLENBQUM7OztBQUtwRSxTQUFTLG9CQUFvQixDQUFDLElBQWdCLEVBQUUsTUFBNEI7SUFDMUUsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyxjQUFjLENBQUMsTUFBTTtZQUN4QixPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzVCLFFBQVEsRUFBRTtvQkFDUixHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVMsQ0FBQyxRQUFRO29CQUM1QixHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVMsQ0FBQyxTQUFTO2lCQUM5QjtnQkFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDbEIsQ0FBQyxDQUFDO1FBQ0wsS0FBSyxjQUFjLENBQUMsSUFBSTtZQUN0QixPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pELENBQUMsQ0FB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QyxJQUFJLENBQUM7b0JBQ3pCLGFBQWEsRUFBRSxLQUFLO29CQUNwQixPQUFPLEVBQUUsT0FBTztvQkFDaEIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2lCQUNkLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDOytHQWpMVSxTQUFTO21HQUFULFNBQVMscVdBUFYscURBQXFEOzs0RkFPcEQsU0FBUztrQkFUckIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLHFEQUFxRDtvQkFDL0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLFdBQVcsRUFBRSw2Q0FBNkM7cUJBQ2xFO2lCQUNGO29JQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RNYXAsIFJlY29yZFdpdGhJZCB9IGZyb20gJy4uL2Fic3RyYWN0LW1hcCc7XHJcbmltcG9ydCB7IEdlb01hcEl0ZW0sIEdlb01hcEl0ZW1LaW5kLCBHZW9NYXBWaWV3cG9ydCB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IE1hcEl0ZW1Db25maWd1cmF0aW9uIH0gZnJvbSAnLi4vc21hcnQtbWFwLnR5cGVzJztcclxuXHJcbmRlY2xhcmUgdmFyIGdvb2dsZTogYW55O1xyXG5cclxuZnVuY3Rpb24gY3JlYXRlR29vZ2xlTWFwc0l0ZW0oaXRlbTogR2VvTWFwSXRlbSwgY29uZmlnOiBNYXBJdGVtQ29uZmlndXJhdGlvbik6IGFueSB7XHJcbiAgc3dpdGNoIChpdGVtLmtpbmQpIHtcclxuICAgIGNhc2UgR2VvTWFwSXRlbUtpbmQuTUFSS0VSOlxyXG4gICAgICByZXR1cm4gbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgICAgcG9zaXRpb246IHtcclxuICAgICAgICAgIGxhdDogaXRlbS5wb3NpdGlvbiEubGF0aXR1ZGUsXHJcbiAgICAgICAgICBsbmc6IGl0ZW0ucG9zaXRpb24hLmxvbmdpdHVkZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRpdGxlOiBpdGVtLmxhYmVsLFxyXG4gICAgICB9KTtcclxuICAgIGNhc2UgR2VvTWFwSXRlbUtpbmQuTElORTpcclxuICAgICAgcmV0dXJuIG5ldyBnb29nbGUubWFwcy5Qb2x5bGluZSh7XHJcbiAgICAgICAgcGF0aDogaXRlbS5yb3V0ZSEucG9pbnRzLm1hcCgoaXQpID0+IHtcclxuICAgICAgICAgIHJldHVybiB7IGxhdDogaXQubGF0aXR1ZGUsIGxuZzogaXQubG9uZ2l0dWRlIH07XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgZ2VvZGVzaWM6IHRydWUsXHJcbiAgICAgICAgc3Ryb2tlQ29sb3I6ICcjRkYwMDAwJyxcclxuICAgICAgICBzdHJva2VPcGFjaXR5OiAwLjUsXHJcbiAgICAgICAgc3Ryb2tlV2VpZ2h0OiAyLFxyXG4gICAgICB9KTtcclxuICAgIGNhc2UgR2VvTWFwSXRlbUtpbmQuUE9MWUdPTjpcclxuICAgICAgcmV0dXJuIG5ldyBnb29nbGUubWFwcy5Qb2x5Z29uKHtcclxuICAgICAgICBwYXRoOiBpdGVtLnJvdXRlIS5wb2ludHMubWFwKChpdCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHsgbGF0OiBpdC5sYXRpdHVkZSwgbG5nOiBpdC5sb25naXR1ZGUgfTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBzdHJva2VPcGFjaXR5OiAwLjUsXHJcbiAgICAgICAgc3RvcmVXZWlnaHQ6IDEsXHJcbiAgICAgICAgZmlsbENvbG9yOiAnIzE5NzZEMicsXHJcbiAgICAgICAgZmlsbE9wYWNpdHk6IDAuMzUsXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnb29nbGUtbWFwJyxcclxuICB0ZW1wbGF0ZTogYCA8ZGl2IFtuZ1N0eWxlXT1cInN0eWxlXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIj48L2Rpdj5gLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwLWVsZW1lbnQnLCAvLyB0aGlzIGlzIGZhbmN5LCBidXQgY2FuIHdlIHVzZSBpdCBhY3R1YWxseT9cclxuICB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR29vZ2xlTWFwIGV4dGVuZHMgQWJzdHJhY3RNYXAgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcclxuICBASW5wdXQoKSBzdHlsZT86IGFueTtcclxuICBASW5wdXQoKSBzdHlsZUNsYXNzPzogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KCkgb25PdmVybGF5RGJsQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk92ZXJsYXlEcmFnU3RhcnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk92ZXJsYXlEcmFnOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25PdmVybGF5RHJhZ0VuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTWFwUmVhZHk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgY2Q6IENoYW5nZURldGVjdG9yUmVmLCB6b25lOiBOZ1pvbmUpIHtcclxuICAgIHN1cGVyKGVsLCBjZCwgem9uZSwgY3JlYXRlR29vZ2xlTWFwc0l0ZW0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hcCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50KSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplKCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXAgPSBuZXcgZ29vZ2xlLm1hcHMuTWFwKFxyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0sXHJcbiAgICAgIHRoaXMuY3JlYXRlR29vZ2xlTWFwc09wdGlvbnMoKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcygpO1xyXG4gICAgY29uc3QgdG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD4gPSBpdGVtcy5tYXAoKGl0KSA9PiAoe1xyXG4gICAgICBpZDogaXQuaWQhLFxyXG4gICAgICByZWNvcmQ6IGNyZWF0ZUdvb2dsZU1hcHNJdGVtKGl0LCB7IGNvbG9yOiAnIzMzODhmZicsIGRyYWdnYWJsZTogZmFsc2UgfSksXHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLmhhbmRsZUl0ZW1DaGFuZ2VzKFtdLCB0b0FkZCk7XHJcblxyXG4gICAgdGhpcy5vbk1hcFJlYWR5LmVtaXQoe1xyXG4gICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tYXAuYWRkTGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2VudGVyID0gdGhpcy5tYXAuZ2V0Q2VudGVyKCk7IC8vIEZJWE1FIGdldCBhY3R1YWwgY29vcmRpbmF0ZXNcclxuICAgICAgICB0aGlzLm9uTWFwQ2xpY2suZW1pdCh7XHJcbiAgICAgICAgICBjb29yZGluYXRlczoge1xyXG4gICAgICAgICAgICBsYXRpdHVkZTogY2VudGVyLmxhdCBhcyBudW1iZXIsXHJcbiAgICAgICAgICAgIGxvbmdpdHVkZTogY2VudGVyLmxuZyBhcyBudW1iZXIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tYXAuYWRkTGlzdGVuZXIoJ2RyYWdlbmQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICBjb25zdCBjZW50ZXIgPSB0aGlzLm1hcC5nZXRDZW50ZXIoKTtcclxuICAgICAgICBjb25zdCB6b29tID0gdGhpcy5tYXAuZ2V0Wm9vbSgpO1xyXG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMubWFwLmdldEJvdW5kcygpO1xyXG4gICAgICAgIGNvbnN0IG5lID0gYm91bmRzLmdldE5vcnRoRWFzdCgpO1xyXG4gICAgICAgIGNvbnN0IHN3ID0gYm91bmRzLmdldFNvdXRoV2VzdCgpO1xyXG4gICAgICAgIHRoaXMub25NYXBEcmFnRW5kLmVtaXQoe1xyXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgICB2aWV3cG9ydDoge1xyXG4gICAgICAgICAgICBjZW50ZXI6IHtcclxuICAgICAgICAgICAgICBsYXRpdHVkZTogY2VudGVyLmxhdCBhcyBudW1iZXIsXHJcbiAgICAgICAgICAgICAgbG9uZ2l0dWRlOiBjZW50ZXIubG5nIGFzIG51bWJlcixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgem9vbUxldmVsOiB6b29tIGFzIG51bWJlcixcclxuICAgICAgICAgICAgYm91bmRzOiBbXHJcbiAgICAgICAgICAgICAgeyBsYXRpdHVkZTogbmUubGF0LCBsb25naXR1ZGU6IG5lLmxuZyB9LFxyXG4gICAgICAgICAgICAgIHsgbGF0aXR1ZGU6IHN3LmxhdCwgbG9uZ2l0dWRlOiBzdy5sbmcgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tYXAuYWRkTGlzdGVuZXIoJ3pvb21fY2hhbmdlZCcsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub25ab29tQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICAgIHZpZXdwb3J0OiB7XHJcbiAgICAgICAgICAgIHpvb21MZXZlbDogdGhpcy5tYXAuZ2V0Wm9vbSgpIGFzIG51bWJlcixcclxuICAgICAgICAgICAgLi4udGhpcy5tb2RlbCgpLnZpZXdwb3J0ISxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlR29vZ2xlTWFwc09wdGlvbnMoKTogYW55IHtcclxuICAgIGNvbnN0IHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydCA9IHRoaXMubW9kZWwoKS52aWV3cG9ydCE7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjZW50ZXI6IHtcclxuICAgICAgICBsYXQ6IHZpZXdwb3J0LmNlbnRlcj8ubGF0aXR1ZGUsXHJcbiAgICAgICAgbG5nOiB2aWV3cG9ydC5jZW50ZXI/LmxvbmdpdHVkZSxcclxuICAgICAgfSxcclxuICAgICAgem9vbTogdmlld3BvcnQuem9vbUxldmVsLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGhhbmRsZUl0ZW1DaGFuZ2VzKHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LCB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPik6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm1hcCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0b1JlbW92ZS5mb3JFYWNoKChpdDogUmVjb3JkV2l0aElkKSA9PiB7XHJcbiAgICAgIGdvb2dsZS5tYXBzLmV2ZW50LmNsZWFySW5zdGFuY2VMaXN0ZW5lcnMoaXQucmVjb3JkLml0ZW0pO1xyXG4gICAgICBpdC5yZWNvcmQuaXRlbS5zZXRNYXAobnVsbCk7XHJcbiAgICAgIHRoaXMub3ZlcmxheXMuZGVsZXRlKGl0LmlkKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRvQWRkLmZvckVhY2goKGl0OiBSZWNvcmRXaXRoSWQpID0+IHtcclxuICAgICAgaXQucmVjb3JkLml0ZW0uc2V0TWFwKHRoaXMubWFwKTtcclxuICAgICAgaXQucmVjb3JkLml0ZW0uYWRkTGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMub25PdmVybGF5Q2xpY2suZW1pdCh7XHJcbiAgICAgICAgICAgIGl0ZW1JZDogaXQuaWQsXHJcbiAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IHtcclxuICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICAgICAgICBvdmVybGF5OiBpdC5yZWNvcmQuaXRlbSxcclxuICAgICAgICAgICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpdC5yZWNvcmQuaXRlbS5hZGRMaXN0ZW5lcignZGJsY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vbk92ZXJsYXlEYmxDbGljay5lbWl0KHtcclxuICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgICAgIG92ZXJsYXk6IGl0LFxyXG4gICAgICAgICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKGl0LnJlY29yZC5pdGVtLmdldERyYWdnYWJsZSgpKSB7XHJcbiAgICAgICAgdGhpcy5iaW5kRHJhZ0V2ZW50cyhpdC5yZWNvcmQuaXRlbSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vdmVybGF5cy5zZXQoaXQuaWQsIGl0LnJlY29yZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhcclxuICAgIHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LFxyXG4gICAgdG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD5cclxuICApOiB2b2lkIHt9XHJcblxyXG4gIGJpbmREcmFnRXZlbnRzKG92ZXJsYXk6IGFueSkge1xyXG4gICAgb3ZlcmxheS5hZGRMaXN0ZW5lcignZHJhZ3N0YXJ0JywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vbk92ZXJsYXlEcmFnU3RhcnQuZW1pdCh7XHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICAgIG92ZXJsYXk6IG92ZXJsYXksXHJcbiAgICAgICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIG92ZXJsYXkuYWRkTGlzdGVuZXIoJ2RyYWcnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLm9uT3ZlcmxheURyYWcuZW1pdCh7XHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICAgIG92ZXJsYXk6IG92ZXJsYXksXHJcbiAgICAgICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIG92ZXJsYXkuYWRkTGlzdGVuZXIoJ2RyYWdlbmQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLm9uT3ZlcmxheURyYWdFbmQuZW1pdCh7XHJcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICAgIG92ZXJsYXk6IG92ZXJsYXksXHJcbiAgICAgICAgICBtYXA6IHRoaXMubWFwLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWFwKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -2,30 +2,31 @@ import { Component } from '@angular/core';
2
2
  import { AbstractMap } from '../abstract-map';
3
3
  import { GeoMapItemKind } from '../api';
4
4
  import * as i0 from "@angular/core";
5
- function createLeafletMapItem(item, color) {
5
+ function createLeafletMapItem(item, config) {
6
6
  switch (item.kind) {
7
7
  case GeoMapItemKind.MARKER:
8
8
  return L.marker(L.latLng(item.position.latitude, item.position.longitude), {
9
9
  title: item.label,
10
+ interactive: config.draggable,
10
11
  });
11
12
  case GeoMapItemKind.POLYGON:
12
13
  const polygonRoutePoints = item.route.points;
13
14
  return L.layerGroup([
14
- L.polygon(polygonRoutePoints.map((p) => [p.latitude, p.longitude]), { title: item.label, color: color, interactive: true }),
15
+ L.polygon(polygonRoutePoints.map((p) => [p.latitude, p.longitude]), { title: item.label, color: config.color }),
15
16
  ...polygonRoutePoints.map((p) => L.marker([p.latitude, p.longitude], {
16
17
  title: item.label,
17
- markerColor: color,
18
- draggable: true,
18
+ markerColor: config.color,
19
+ draggable: config.draggable,
19
20
  })),
20
21
  ]);
21
22
  case GeoMapItemKind.LINE:
22
23
  const lineRoutePoints = item.route.points;
23
24
  return L.layerGroup([
24
- L.polyline(lineRoutePoints.map((p) => [p.latitude, p.longitude]), { title: item.label, color: color }),
25
+ L.polyline(lineRoutePoints.map((p) => [p.latitude, p.longitude]), { title: item.label, color: config.color }),
25
26
  ...lineRoutePoints.map((p) => L.marker([p.latitude, p.longitude], {
26
27
  title: item.label,
27
- color: color,
28
- draggable: true,
28
+ color: config.color,
29
+ draggable: config.draggable,
29
30
  })),
30
31
  ]);
31
32
  }
@@ -50,7 +51,7 @@ export class LeafletMap extends AbstractMap {
50
51
  const items = this.items();
51
52
  const toAdd = items.map((it) => ({
52
53
  id: it.id,
53
- record: createLeafletMapItem(it, '#ff0000'),
54
+ record: createLeafletMapItem(it, { color: '#3388ff', draggable: false }),
54
55
  }));
55
56
  this.handleItemChanges([], toAdd);
56
57
  const model = this.model();
@@ -134,18 +135,37 @@ export class LeafletMap extends AbstractMap {
134
135
  this.overlays.delete(it.id);
135
136
  });
136
137
  toAdd.forEach((it) => {
137
- it.record.on('click', (event) => {
138
- this.zone.run(() => {
139
- this.onOverlayClick.emit({
140
- itemId: it.id,
141
- originalEvent: {
142
- originalEvent: event,
143
- overlay: it.record,
144
- map: this.map,
145
- },
138
+ let record = it.record;
139
+ if (record instanceof L.LayerGroup) {
140
+ Object.values(record._layers).forEach((at) => {
141
+ at.on('click', (event) => {
142
+ this.zone.run(() => {
143
+ this.onOverlayClick.emit({
144
+ itemId: it.id,
145
+ originalEvent: {
146
+ originalEvent: event,
147
+ overlay: it.record,
148
+ map: this.map,
149
+ },
150
+ });
151
+ });
146
152
  });
147
153
  });
148
- });
154
+ }
155
+ else {
156
+ it.record.on('click', (event) => {
157
+ this.zone.run(() => {
158
+ this.onOverlayClick.emit({
159
+ itemId: it.id,
160
+ originalEvent: {
161
+ originalEvent: event,
162
+ overlay: it.record,
163
+ map: this.map,
164
+ },
165
+ });
166
+ });
167
+ });
168
+ }
149
169
  it.record.addTo(this.map);
150
170
  this.overlays.set(it.id, it.record);
151
171
  });
@@ -241,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
241
261
  type: Component,
242
262
  args: [{ selector: 'leaflet-map', template: ` <div id="leaflet"></div>`, styles: ["#leaflet{height:720px}\n"] }]
243
263
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }] });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1tYXAvaW1wbC9sZWFmbGV0LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVDLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQWMsY0FBYyxFQUFrQixNQUFNLFFBQVEsQ0FBQzs7QUFVcEUsU0FBUyxvQkFBb0IsQ0FBQyxJQUFnQixFQUFFLEtBQWE7SUFDM0QsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyxjQUFjLENBQUMsTUFBTTtZQUN4QixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMzRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDbEIsQ0FBQyxDQUFDO1FBQ0wsS0FBSyxjQUFjLENBQUMsT0FBTztZQUN6QixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDbEIsQ0FBQyxDQUFDLE9BQU8sQ0FDUCxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDeEQsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FDdkQ7Z0JBQ0QsR0FBRyxrQkFB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RUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDeEMsQ0FBQzsrR0E3TlUsVUFBVTttR0FBVixVQUFVLDBFQU5YLDJCQUEyQjs7NEZBTTFCLFVBQVU7a0JBUnRCLFNBQVM7K0JBQ0UsYUFBYSxZQUNiLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdE1hcCwgUmVjb3JkV2l0aElkIH0gZnJvbSAnLi4vYWJzdHJhY3QtbWFwJztcclxuaW1wb3J0IHsgR2VvTWFwSXRlbSwgR2VvTWFwSXRlbUtpbmQsIEdlb01hcFZpZXdwb3J0IH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgQ29vcmQgfSBmcm9tICcuLi9zbWFydC1tYXAudHlwZXMnO1xyXG5cclxuZGVjbGFyZSB2YXIgTDogYW55O1xyXG5cclxuaW50ZXJmYWNlIExlYWZsZXRNYXBPcHRpb25zIHtcclxuICBjZW50cmU6IEFycmF5PG51bWJlcj47XHJcbiAgem9vbTogbnVtYmVyO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVMZWFmbGV0TWFwSXRlbShpdGVtOiBHZW9NYXBJdGVtLCBjb2xvcjogc3RyaW5nKTogYW55IHtcclxuICBzd2l0Y2ggKGl0ZW0ua2luZCkge1xyXG4gICAgY2FzZSBHZW9NYXBJdGVtS2luZC5NQVJLRVI6XHJcbiAgICAgIHJldHVybiBMLm1hcmtlcihMLmxhdExuZyhpdGVtLnBvc2l0aW9uIS5sYXRpdHVkZSwgaXRlbS5wb3NpdGlvbiEubG9uZ2l0dWRlKSwge1xyXG4gICAgICAgIHRpdGxlOiBpdGVtLmxhYmVsLFxyXG4gICAgICB9KTtcclxuICAgIGNhc2UgR2VvTWFwSXRlbUtpbmQuUE9MWUdPTjpcclxuICAgICAgY29uc3QgcG9seWdvblJvdXRlUG9pbnRzID0gaXRlbS5yb3V0ZSEucG9pbnRzO1xyXG4gICAgICByZXR1cm4gTC5sYXllckdyb3VwKFtcclxuICAgICAgICBMLnBvbHlnb24oXHJcbiAgICAgICAgICBwb2x5Z29uUm91dGVQb2ludHMubWFwKChwKSA9PiBbcC5sYXRpdHVkZSwgcC5sb25naXR1ZGVdKSxcclxuICAgICAgICAgIHsgdGl0bGU6IGl0ZW0ubGFiZWwsIGNvbG9yOiBjb2xvciwgaW50ZXJhY3RpdmU6IHRydWUgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgLi4ucG9seWdvblJvdXRlUG9pbnRzLm1hcCgocCkgPT5cclxuICAgICAgICAgIEwubWFya2VyKFtwLmxhdGl0dWRlLCBwLmxvbmdpdHVkZV0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IGl0ZW0ubGFiZWwsXHJcbiAgICAgICAgICAgIG1hcmtlckNvbG9yOiBjb2xvcixcclxuICAgICAgICAgICAgZHJhZ2dhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApLFxyXG4gICAgICBdKTtcclxuICAgIGNhc2UgR2VvTWFwSXRlbUtpbmQuTElORTpcclxuICAgICAgY29uc3QgbGluZVJvdXRlUG9pbnRzID0gaXRlbS5yb3V0ZSEucG9pbnRzO1xyXG5cclxuICAgICAgcmV0dXJuIEwubGF5ZXJHcm91cChbXHJcbiAgICAgICAgTC5wb2x5bGluZShcclxuICAgICAgICAgIGxpbmVSb3V0ZVBvaW50cy5tYXAoKHApID0+IFtwLmxhdGl0dWRlLCBwLmxvbmdpdHVkZV0pLFxyXG4gICAgICAgICAgeyB0aXRsZTogaXRlbS5sYWJlbCwgY29sb3I6IGNvbG9yIH1cclxuICAgICAgICApLFxyXG4gICAgICAgIC4uLmxpbmVSb3V0ZVBvaW50cy5tYXAoKHApID0+XHJcbiAgICAgICAgICBMLm1hcmtlcihbcC5sYXRpdHVkZSwgcC5sb25naXR1ZGVdLCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBpdGVtLmxhYmVsLFxyXG4gICAgICAgICAgICBjb2xvcjogY29sb3IsXHJcbiAgICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKSxcclxuICAgICAgXSk7XHJcbiAgfVxyXG4gIHRocm93IG5ldyBFcnJvcignRm9vIScpO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xlYWZsZXQtbWFwJyxcclxuICB0ZW1wbGF0ZTogYCA8ZGl2IGlkPVwibGVhZmxldFwiPjwvZGl2PmAsXHJcbiAgc3R5bGVzOiBgXHJcbiAgICAgICNsZWFmbGV0IHtcclxuICAgICAgICAgIGhlaWdodDogNzIwcHg7XHJcbiAgICAgIH1gLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGVhZmxldE1hcCBleHRlbmRzIEFic3RyYWN0TWFwIGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XHJcbiAgb3JpZ2luYWxMYXRMbmc6IGFueTtcclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgY2Q6IENoYW5nZURldGVjdG9yUmVmLCB6b25lOiBOZ1pvbmUpIHtcclxuICAgIHN1cGVyKGVsLCBjZCwgem9uZSwgY3JlYXRlTGVhZmxldE1hcEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm1hcCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50KSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY3JlYXRlTGVhZmxldE1hcE9wdGlvbnMoKTtcclxuICAgIHRoaXMubWFwID0gTC5tYXAoJ2xlYWZsZXQnKS5zZXRWaWV3KG9wdGlvbnMuY2VudHJlLCBvcHRpb25zLnpvb20pO1xyXG4gICAgTC50aWxlTGF5ZXIoJ2h0dHBzOi8vdGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLCB7XHJcbiAgICAgIG1heFpvb206IDE5LFxyXG4gICAgICBhdHRyaWJ1dGlvbjogJyZjb3B5OyA8YSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIj5PcGVuU3RyZWV0TWFwPC9hPicsXHJcbiAgICB9KS5hZGRUbyh0aGlzLm1hcCk7XHJcblxyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zKCk7XHJcbiAgICBjb25zdCB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPiA9IGl0ZW1zLm1hcCgoaXQpID0+ICh7XHJcbiAgICAgIGlkOiBpdC5pZCEsXHJcbiAgICAgIHJlY29yZDogY3JlYXRlTGVhZmxldE1hcEl0ZW0oaXQsICcjZmYwMDAwJyksXHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLmhhbmRsZUl0ZW1DaGFuZ2VzKFtdLCB0b0FkZCk7XHJcbiAgICBjb25zdCBtb2RlbCA9IHRoaXMubW9kZWwoKTtcclxuICAgIGlmIChtb2RlbC52aWV3U3RhdGU/LmZpdFRvSW5pdGlhbEl0ZW1zKSB7XHJcbiAgICAgIGNvbnN0IGRhdGFzZXRCb3VuZHMgPSB0aGlzLmZpbmREYXRhc2V0Qm91bmRzKCk7XHJcbiAgICAgIGlmIChkYXRhc2V0Qm91bmRzKSB7XHJcbiAgICAgICAgY29uc3QgeyBhLCBiIH0gPSBkYXRhc2V0Qm91bmRzO1xyXG4gICAgICAgIGNvbnN0IHBudEEgPSBMLmxhdExuZyhhLngsIGEueSk7XHJcbiAgICAgICAgY29uc3QgcG50QiA9IEwubGF0TG5nKGIueCwgYi55KTtcclxuICAgICAgICBjb25zdCBib3VuZHMgPSBMLmxhdExuZ0JvdW5kcyhwbnRBLCBwbnRCKTtcclxuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMubWFwLmZpdEJvdW5kcyhib3VuZHMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLm1hcC5vbignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICBjb25zdCBwb3MgPSBldmVudC5sYXRsbmc7XHJcbiAgICAgICAgdGhpcy5vbk1hcENsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgY29vcmRpbmF0ZXM6IHtcclxuICAgICAgICAgICAgbGF0aXR1ZGU6IHBvcy5sYXQgYXMgbnVtYmVyLFxyXG4gICAgICAgICAgICBsb25naXR1ZGU6IHBvcy5sbmcgYXMgbnVtYmVyLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubWFwLm9uKCdtb3ZlZW5kJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgdmlld3BvcnQgPSB0aGlzLmdldFZpZXdwb3J0KCk7XHJcbiAgICAgICAgdGhpcy5vbk1hcERyYWdFbmQuZW1pdCh7XHJcbiAgICAgICAgICB2aWV3cG9ydCxcclxuICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubWFwLm9uKCd6b29tZW5kJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgdmlld3BvcnQgPSB0aGlzLmdldFZpZXdwb3J0KCk7XHJcbiAgICAgICAgdGhpcy5vbk1hcERyYWdFbmQuZW1pdCh7XHJcbiAgICAgICAgICB2aWV3cG9ydCxcclxuICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Vmlld3BvcnQoKTogR2VvTWFwVmlld3BvcnQge1xyXG4gICAgaWYgKCF0aGlzLm1hcCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01hcCBpcyBub3QgeWV0IGluaXRpYWxpc2VkIScpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNlbnRlciA9IHRoaXMubWFwLmdldENlbnRlcigpO1xyXG4gICAgY29uc3Qgem9vbUxldmVsID0gdGhpcy5tYXAuZ2V0Wm9vbSgpIGFzIG51bWJlcjtcclxuICAgIGNvbnN0IGxlYWZsZXRCb3VuZHMgPSB0aGlzLm1hcC5nZXRCb3VuZHMoKTtcclxuICAgIGNvbnN0IHsgbGF0OiBzd0xhdCwgbG5nOiBzd0xuZyB9ID0gbGVhZmxldEJvdW5kcy5nZXRTb3V0aFdlc3QoKTtcclxuICAgIGNvbnN0IHsgbGF0OiBuZUxhdCwgbG5nOiBuZUxuZyB9ID0gbGVhZmxldEJvdW5kcy5nZXROb3J0aEVhc3QoKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjZW50ZXI6IHtcclxuICAgICAgICBsYXRpdHVkZTogY2VudGVyLmxhdCBhcyBudW1iZXIsXHJcbiAgICAgICAgbG9uZ2l0dWRlOiBjZW50ZXIubG5nIGFzIG51bWJlcixcclxuICAgICAgfSxcclxuICAgICAgem9vbUxldmVsLFxyXG4gICAgICBib3VuZHM6IFtcclxuICAgICAgICB7IGxhdGl0dWRlOiBzd0xhdCwgbG9uZ2l0dWRlOiBzd0xuZyB9LFxyXG4gICAgICAgIHsgbGF0aXR1ZGU6IG5lTGF0LCBsb25naXR1ZGU6IG5lTG5nIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVMZWFmbGV0TWFwT3B0aW9ucygpOiBMZWFmbGV0TWFwT3B0aW9ucyB7XHJcbiAgICBjb25zdCB2aWV3cG9ydDogR2VvTWFwVmlld3BvcnQgPSB0aGlzLm1vZGVsKCkudmlld3BvcnQhO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY2VudHJlOiBbdmlld3BvcnQuY2VudGVyIS5sYXRpdHVkZSwgdmlld3BvcnQuY2VudGVyIS5sb25naXR1ZGVdLFxyXG4gICAgICB6b29tOiB2aWV3cG9ydC56b29tTGV2ZWwhLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGhhbmRsZUl0ZW1DaGFuZ2VzKHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LCB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPik6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm1hcCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdG9SZW1vdmUuZm9yRWFjaCgoaXQpID0+IHtcclxuICAgICAgaXQucmVjb3JkLnJlbW92ZSgpO1xyXG4gICAgICB0aGlzLm92ZXJsYXlzLmRlbGV0ZShpdC5pZCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0b0FkZC5mb3JFYWNoKChpdCkgPT4ge1xyXG4gICAgICBpdC5yZWNvcmQub24oJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMub25PdmVybGF5Q2xpY2suZW1pdCh7XHJcbiAgICAgICAgICAgIGl0ZW1JZDogaXQuaWQsXHJcbiAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IHtcclxuICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcclxuICAgICAgICAgICAgICBvdmVybGF5OiBpdC5yZWNvcmQsXHJcbiAgICAgICAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgICAgaXQucmVjb3JkLmFkZFRvKHRoaXMubWFwKTtcclxuICAgICAgdGhpcy5vdmVybGF5cy5zZXQoaXQuaWQsIGl0LnJlY29yZCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgaGFuZGxlRWRpdGluZ0l0ZW1DaGFuZ2VzKFxyXG4gICAgdG9SZW1vdmU6IEFycmF5PFJlY29yZFdpdGhJZD4sXHJcbiAgICB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPlxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm1hcCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdG9SZW1vdmUuZm9yRWFjaCgoaXQpID0+IHtcclxuICAgICAgaXQucmVjb3JkLnJlbW92ZSgpO1xyXG4gICAgICB0aGlzLmVkaXRpbmdPdmVybGF5cy5kZWxldGUoaXQuaWQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdG9BZGQuZm9yRWFjaCgoaXQpID0+IHtcclxuICAgICAgbGV0IHJlY29yZCA9IGl0LnJlY29yZDtcclxuICAgICAgaWYgKHJlY29yZCBpbnN0YW5jZW9mIEwuTGF5ZXJHcm91cCkge1xyXG4gICAgICAgIE9iamVjdC52YWx1ZXMocmVjb3JkLl9sYXllcnMpLmZvckVhY2goKGF0OiBhbnkpID0+IHtcclxuICAgICAgICAgIGF0Lm9uKCdjbGljaycsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMub25FZGl0aW5nT3ZlcmxheUNsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgaXRlbUlkOiBpdC5pZCxcclxuICAgICAgICAgICAgICAgIGNvb3JkOiB7XHJcbiAgICAgICAgICAgICAgICAgIHg6IGV2ZW50LmxhdGxuZy5sbmcsXHJcbiAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LmxhdGxuZy5sYXQsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYXQub24oJ2RyYWdzdGFydCcsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxMYXRMbmcgPSBldmVudC50YXJnZXQuZ2V0TGF0TG5nKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGF0Lm9uKCdkcmFnZW5kJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vbkVkaXRpbmdPdmVybGF5RHJhZy5lbWl0KHtcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogaXQuaWQsXHJcbiAgICAgICAgICAgICAgICBzdGFydFBvc2l0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgIHg6IHRoaXMub3JpZ2luYWxMYXRMbmcubG5nLFxyXG4gICAgICAgICAgICAgICAgICB5OiB0aGlzLm9yaWdpbmFsTGF0TG5nLmxhdCxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBkcmFnVG86IHtcclxuICAgICAgICAgICAgICAgICAgeDogZXZlbnQudGFyZ2V0LmdldExhdExuZygpLmxuZyxcclxuICAgICAgICAgICAgICAgICAgeTogZXZlbnQudGFyZ2V0LmdldExhdExuZygpLmxhdCxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsTGF0TG5nID0gbnVsbDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGl0LnJlY29yZC5vbignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub25FZGl0aW5nT3ZlcmxheUNsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgICAgIGl0ZW1JZDogaXQuaWQsXHJcbiAgICAgICAgICAgICAgY29vcmQ6IHtcclxuICAgICAgICAgICAgICAgIHg6IGV2ZW50LmxhdGxuZy5sbmcsXHJcbiAgICAgICAgICAgICAgICB5OiBldmVudC5sYXRsbmcubGF0LFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGl0LnJlY29yZC5hZGRUbyh0aGlzLm1hcCk7XHJcbiAgICAgIHRoaXMuZWRpdGluZ092ZXJsYXlzLnNldChpdC5pZCwgaXQucmVjb3JkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kRGF0YXNldEJvdW5kcygpOiB7IGE6IENvb3JkOyBiOiBDb29yZCB9IHwgbnVsbCB7XHJcbiAgICBjb25zdCBpdGVtczogQXJyYXk8Q29vcmQ+ID0gdGhpcy5pdGVtcygpXHJcbiAgICAgIC5mbGF0TWFwKChpdCkgPT4gKGl0LnBvc2l0aW9uID8gW2l0LnBvc2l0aW9uXSA6IFtdKSlcclxuICAgICAgLm1hcCgoaXQpID0+IHtcclxuICAgICAgICByZXR1cm4geyB4OiBpdC5sYXRpdHVkZSwgeTogaXQubG9uZ2l0dWRlIH07XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHNvdXRod2VzdDogQ29vcmQgPSB7IHg6IGl0ZW1zWzBdLngsIHk6IGl0ZW1zWzBdLnkgfTtcclxuICAgIGxldCBub3J0aGVhc3Q6IENvb3JkID0geyB4OiBpdGVtc1swXS54LCB5OiBpdGVtc1swXS55IH07XHJcblxyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXQpID0+IHtcclxuICAgICAgaWYgKGl0LnggPCBzb3V0aHdlc3QueCkgc291dGh3ZXN0LnggPSBpdC54O1xyXG4gICAgICBpZiAoaXQueSA8IHNvdXRod2VzdC55KSBzb3V0aHdlc3QueSA9IGl0Lnk7XHJcblxyXG4gICAgICBpZiAoaXQueCA+IG5vcnRoZWFzdC54KSBub3J0aGVhc3QueCA9IGl0Lng7XHJcbiAgICAgIGlmIChpdC55ID4gbm9ydGhlYXN0LnkpIG5vcnRoZWFzdC55ID0gaXQueTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB7IGE6IHNvdXRod2VzdCwgYjogbm9ydGhlYXN0IH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1tYXAvaW1wbC9sZWFmbGV0LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVDLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQWMsY0FBYyxFQUFrQixNQUFNLFFBQVEsQ0FBQzs7QUFVcEUsU0FBUyxvQkFBb0IsQ0FBQyxJQUFnQixFQUFFLE1BQTRCO0lBQzFFLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLEtBQUssY0FBYyxDQUFDLE1BQU07WUFDeEIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDM0UsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixXQUFXLEVBQUUsTUFBTSxDQUFDLFNBQVM7YUFDOUIsQ0FBQyxDQUFDO1FBQ0wsS0FBSyxjQUFjLENBQUMsT0FBTztZQUN6QixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDbEIsQ0FBQyxDQUFDLE9BQU8sQ0FDUCxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDeEQsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUMzQztnQkFDRCxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQzlCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO29CQUNqQixXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUs7b0JBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztpQkFDNUIsQ0FBQyxDQUNIO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsS0FBSyxjQUFjLENBQUMsSUFBSTtZQUN0QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBTSxDQUFDLE1BQU0sQ0FBQztZQUUzQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0JBQ2xCLENBQUMsQ0FBQyxRQUFRLENBQ1IsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUNyRCxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQzNDO2dCQUNELEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQzNCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO29CQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7b0JBQ25CLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztpQkFDNUIsQ0FBQyxDQUNIO2FBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQVVELE1BQU0sT0FBTyxVQUFXLFNBQVEsV0FBVztJQUV6QyxZQUFZLEVBQWMsRUFBRSxFQUFxQixFQUFFLElBQVk7UUFDN0QsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFTyxVQUFVO1FBQ2hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnREFBZ0QsRUFBRTtZQUM1RCxPQUFPLEVBQUUsRUFBRTtZQUNYLFdBQVcsRUFBRSwyRUFBMkU7U0FDekYsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUF3QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRztZQUNWLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQy9DLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDO2dCQUMvQixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDakIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLFdBQVcsRUFBRTt3QkFDWCxRQUFRLEVBQUUsR0FBRyxDQUFDLEdBQWE7d0JBQzNCLFNBQVMsRUFBRSxHQUFHLENBQUMsR0FBYTtxQkFDN0I7b0JBQ0QsYUFBYSxFQUFFLEtBQUs7aUJBQ3JCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7b0JBQ3JCLFFBQVE7b0JBQ1IsYUFBYSxFQUFFLEtBQUs7aUJBQ3JCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7b0JBQ3JCLFFBQVE7b0JBQ1IsYUFBYSxFQUFFLEtBQUs7aUJBQ3JCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQVksQ0FBQztRQUMvQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzNDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDaEUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVoRSxPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBYTtnQkFDOUIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxHQUFhO2FBQ2hDO1lBQ0QsU0FBUztZQUNULE1BQU0sRUFBRTtnQkFDTixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtnQkFDckMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7YUFDdEM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixNQUFNLFFBQVEsR0FBbUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVMsQ0FBQztRQUN4RCxPQUFPO1lBQ0wsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU8sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU8sQ0FBQyxTQUFTLENBQUM7WUFDL0QsSUFBSSxFQUFFLFFBQVEsQ0FBQyxTQUFVO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBRVEsaUJBQWlCLENBQUMsUUFBNkIsRUFBRSxLQUEwQjtRQUNsRixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsT0FBTztRQUNULENBQUM7UUFFRCxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDdEIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUN2QixJQUFJLE1BQU0sWUFBWSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFO29CQUNoRCxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO3dCQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7NEJBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dDQUN2QixNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0NBQ2IsYUFBYSxFQUFFO29DQUNiLGFBQWEsRUFBRSxLQUFLO29DQUNwQixPQUFPLEVBQUUsRUFBRSxDQUFDLE1BQU07b0NBQ2xCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztpQ0FDZDs2QkFDRixDQUFDLENBQUM7d0JBQ0wsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTt3QkFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7NEJBQ3ZCLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTs0QkFDYixhQUFhLEVBQUU7Z0NBQ2IsYUFBYSxFQUFFLEtBQUs7Z0NBQ3BCLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTTtnQ0FDbEIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHOzZCQUNkO3lCQUNGLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ1Esd0JBQXdCLENBQy9CLFFBQTZCLEVBQzdCLEtBQTBCO1FBRTFCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxPQUFPO1FBQ1QsQ0FBQztRQUVELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN0QixFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNuQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLElBQUksTUFBTSxZQUFZLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUU7b0JBQ2hELEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7d0JBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTs0QkFDakIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQztnQ0FDOUIsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dDQUNiLEtBQUssRUFBRTtvQ0FDTCxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHO29DQUNuQixDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHO2lDQUNwQjs2QkFDRixDQUFDLENBQUM7d0JBQ0wsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTt3QkFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNqRCxDQUFDLENBQUMsQ0FBQztvQkFDSCxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO3dCQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7NEJBQ2pCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7Z0NBQzdCLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTtnQ0FDYixhQUFhLEVBQUU7b0NBQ2IsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRztvQ0FDMUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRztpQ0FDM0I7Z0NBQ0QsTUFBTSxFQUFFO29DQUNOLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUc7b0NBQy9CLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUc7aUNBQ2hDOzZCQUNGLENBQUMsQ0FBQzt3QkFDTCxDQUFDLENBQUMsQ0FBQzt3QkFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztvQkFDN0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTt3QkFDakIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQzs0QkFDOUIsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFOzRCQUNiLEtBQUssRUFBRTtnQ0FDTCxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHO2dDQUNuQixDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHOzZCQUNwQjt5QkFDRixDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLEtBQUssR0FBaUIsSUFBSSxDQUFDLEtBQUssRUFBRTthQUNyQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ25ELEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ1YsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxTQUFTLEdBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hELElBQUksU0FBUyxHQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUV4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO2dCQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMzQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7Z0JBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRTNDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO2dCQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUN4QyxDQUFDOytHQS9PVSxVQUFVO21HQUFWLFVBQVUsMEVBTlgsMkJBQTJCOzs0RkFNMUIsVUFBVTtrQkFSdEIsU0FBUzsrQkFDRSxhQUFhLFlBQ2IsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0TWFwLCBSZWNvcmRXaXRoSWQgfSBmcm9tICcuLi9hYnN0cmFjdC1tYXAnO1xyXG5pbXBvcnQgeyBHZW9NYXBJdGVtLCBHZW9NYXBJdGVtS2luZCwgR2VvTWFwVmlld3BvcnQgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBDb29yZCwgTWFwSXRlbUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9zbWFydC1tYXAudHlwZXMnO1xyXG5cclxuZGVjbGFyZSB2YXIgTDogYW55O1xyXG5cclxuaW50ZXJmYWNlIExlYWZsZXRNYXBPcHRpb25zIHtcclxuICBjZW50cmU6IEFycmF5PG51bWJlcj47XHJcbiAgem9vbTogbnVtYmVyO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVMZWFmbGV0TWFwSXRlbShpdGVtOiBHZW9NYXBJdGVtLCBjb25maWc6IE1hcEl0ZW1Db25maWd1cmF0aW9uKTogYW55IHtcclxuICBzd2l0Y2ggKGl0ZW0ua2luZCkge1xyXG4gICAgY2FzZSBHZW9NYXBJdGVtS2luZC5NQVJLRVI6XHJcbiAgICAgIHJldHVybiBMLm1hcmtlcihMLmxhdExuZyhpdGVtLnBvc2l0aW9uIS5sYXRpdHVkZSwgaXRlbS5wb3NpdGlvbiEubG9uZ2l0dWRlKSwge1xyXG4gICAgICAgIHRpdGxlOiBpdGVtLmxhYmVsLFxyXG4gICAgICAgIGludGVyYWN0aXZlOiBjb25maWcuZHJhZ2dhYmxlLFxyXG4gICAgICB9KTtcclxuICAgIGNhc2UgR2VvTWFwSXRlbUtpbmQuUE9MWUdPTjpcclxuICAgICAgY29uc3QgcG9seWdvblJvdXRlUG9pbnRzID0gaXRlbS5yb3V0ZSEucG9pbnRzO1xyXG4gICAgICByZXR1cm4gTC5sYXllckdyb3VwKFtcclxuICAgICAgICBMLnBvbHlnb24oXHJcbiAgICAgICAgICBwb2x5Z29uUm91dGVQb2ludHMubWFwKChwKSA9PiBbcC5sYXRpdHVkZSwgcC5sb25naXR1ZGVdKSxcclxuICAgICAgICAgIHsgdGl0bGU6IGl0ZW0ubGFiZWwsIGNvbG9yOiBjb25maWcuY29sb3IgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgLi4ucG9seWdvblJvdXRlUG9pbnRzLm1hcCgocCkgPT5cclxuICAgICAgICAgIEwubWFya2VyKFtwLmxhdGl0dWRlLCBwLmxvbmdpdHVkZV0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IGl0ZW0ubGFiZWwsXHJcbiAgICAgICAgICAgIG1hcmtlckNvbG9yOiBjb25maWcuY29sb3IsXHJcbiAgICAgICAgICAgIGRyYWdnYWJsZTogY29uZmlnLmRyYWdnYWJsZSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKSxcclxuICAgICAgXSk7XHJcbiAgICBjYXNlIEdlb01hcEl0ZW1LaW5kLkxJTkU6XHJcbiAgICAgIGNvbnN0IGxpbmVSb3V0ZVBvaW50cyA9IGl0ZW0ucm91dGUhLnBvaW50cztcclxuXHJcbiAgICAgIHJldHVybiBMLmxheWVyR3JvdXAoW1xyXG4gICAgICAgIEwucG9seWxpbmUoXHJcbiAgICAgICAgICBsaW5lUm91dGVQb2ludHMubWFwKChwKSA9PiBbcC5sYXRpdHVkZSwgcC5sb25naXR1ZGVdKSxcclxuICAgICAgICAgIHsgdGl0bGU6IGl0ZW0ubGFiZWwsIGNvbG9yOiBjb25maWcuY29sb3IgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgLi4ubGluZVJvdXRlUG9pbnRzLm1hcCgocCkgPT5cclxuICAgICAgICAgIEwubWFya2VyKFtwLmxhdGl0dWRlLCBwLmxvbmdpdHVkZV0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IGl0ZW0ubGFiZWwsXHJcbiAgICAgICAgICAgIGNvbG9yOiBjb25maWcuY29sb3IsXHJcbiAgICAgICAgICAgIGRyYWdnYWJsZTogY29uZmlnLmRyYWdnYWJsZSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKSxcclxuICAgICAgXSk7XHJcbiAgfVxyXG4gIHRocm93IG5ldyBFcnJvcignRm9vIScpO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xlYWZsZXQtbWFwJyxcclxuICB0ZW1wbGF0ZTogYCA8ZGl2IGlkPVwibGVhZmxldFwiPjwvZGl2PmAsXHJcbiAgc3R5bGVzOiBgXHJcbiAgICAgICNsZWFmbGV0IHtcclxuICAgICAgICAgIGhlaWdodDogNzIwcHg7XHJcbiAgICAgIH1gLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGVhZmxldE1hcCBleHRlbmRzIEFic3RyYWN0TWFwIGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XHJcbiAgb3JpZ2luYWxMYXRMbmc6IGFueTtcclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgY2Q6IENoYW5nZURldGVjdG9yUmVmLCB6b25lOiBOZ1pvbmUpIHtcclxuICAgIHN1cGVyKGVsLCBjZCwgem9uZSwgY3JlYXRlTGVhZmxldE1hcEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm1hcCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50KSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY3JlYXRlTGVhZmxldE1hcE9wdGlvbnMoKTtcclxuICAgIHRoaXMubWFwID0gTC5tYXAoJ2xlYWZsZXQnKS5zZXRWaWV3KG9wdGlvbnMuY2VudHJlLCBvcHRpb25zLnpvb20pO1xyXG4gICAgTC50aWxlTGF5ZXIoJ2h0dHBzOi8vdGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLCB7XHJcbiAgICAgIG1heFpvb206IDE5LFxyXG4gICAgICBhdHRyaWJ1dGlvbjogJyZjb3B5OyA8YSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIj5PcGVuU3RyZWV0TWFwPC9hPicsXHJcbiAgICB9KS5hZGRUbyh0aGlzLm1hcCk7XHJcblxyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zKCk7XHJcbiAgICBjb25zdCB0b0FkZDogQXJyYXk8UmVjb3JkV2l0aElkPiA9IGl0ZW1zLm1hcCgoaXQpID0+ICh7XHJcbiAgICAgIGlkOiBpdC5pZCEsXHJcbiAgICAgIHJlY29yZDogY3JlYXRlTGVhZmxldE1hcEl0ZW0oaXQsIHsgY29sb3I6ICcjMzM4OGZmJywgZHJhZ2dhYmxlOiBmYWxzZSB9KSxcclxuICAgIH0pKTtcclxuICAgIHRoaXMuaGFuZGxlSXRlbUNoYW5nZXMoW10sIHRvQWRkKTtcclxuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5tb2RlbCgpO1xyXG4gICAgaWYgKG1vZGVsLnZpZXdTdGF0ZT8uZml0VG9Jbml0aWFsSXRlbXMpIHtcclxuICAgICAgY29uc3QgZGF0YXNldEJvdW5kcyA9IHRoaXMuZmluZERhdGFzZXRCb3VuZHMoKTtcclxuICAgICAgaWYgKGRhdGFzZXRCb3VuZHMpIHtcclxuICAgICAgICBjb25zdCB7IGEsIGIgfSA9IGRhdGFzZXRCb3VuZHM7XHJcbiAgICAgICAgY29uc3QgcG50QSA9IEwubGF0TG5nKGEueCwgYS55KTtcclxuICAgICAgICBjb25zdCBwbnRCID0gTC5sYXRMbmcoYi54LCBiLnkpO1xyXG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IEwubGF0TG5nQm91bmRzKHBudEEsIHBudEIpO1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tYXAuZml0Qm91bmRzKGJvdW5kcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMubWFwLm9uKCdjbGljaycsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHBvcyA9IGV2ZW50LmxhdGxuZztcclxuICAgICAgICB0aGlzLm9uTWFwQ2xpY2suZW1pdCh7XHJcbiAgICAgICAgICBjb29yZGluYXRlczoge1xyXG4gICAgICAgICAgICBsYXRpdHVkZTogcG9zLmxhdCBhcyBudW1iZXIsXHJcbiAgICAgICAgICAgIGxvbmdpdHVkZTogcG9zLmxuZyBhcyBudW1iZXIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tYXAub24oJ21vdmVlbmQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMuZ2V0Vmlld3BvcnQoKTtcclxuICAgICAgICB0aGlzLm9uTWFwRHJhZ0VuZC5lbWl0KHtcclxuICAgICAgICAgIHZpZXdwb3J0LFxyXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tYXAub24oJ3pvb21lbmQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMuZ2V0Vmlld3BvcnQoKTtcclxuICAgICAgICB0aGlzLm9uTWFwRHJhZ0VuZC5lbWl0KHtcclxuICAgICAgICAgIHZpZXdwb3J0LFxyXG4gICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRWaWV3cG9ydCgpOiBHZW9NYXBWaWV3cG9ydCB7XHJcbiAgICBpZiAoIXRoaXMubWFwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWFwIGlzIG5vdCB5ZXQgaW5pdGlhbGlzZWQhJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2VudGVyID0gdGhpcy5tYXAuZ2V0Q2VudGVyKCk7XHJcbiAgICBjb25zdCB6b29tTGV2ZWwgPSB0aGlzLm1hcC5nZXRab29tKCkgYXMgbnVtYmVyO1xyXG4gICAgY29uc3QgbGVhZmxldEJvdW5kcyA9IHRoaXMubWFwLmdldEJvdW5kcygpO1xyXG4gICAgY29uc3QgeyBsYXQ6IHN3TGF0LCBsbmc6IHN3TG5nIH0gPSBsZWFmbGV0Qm91bmRzLmdldFNvdXRoV2VzdCgpO1xyXG4gICAgY29uc3QgeyBsYXQ6IG5lTGF0LCBsbmc6IG5lTG5nIH0gPSBsZWFmbGV0Qm91bmRzLmdldE5vcnRoRWFzdCgpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNlbnRlcjoge1xyXG4gICAgICAgIGxhdGl0dWRlOiBjZW50ZXIubGF0IGFzIG51bWJlcixcclxuICAgICAgICBsb25naXR1ZGU6IGNlbnRlci5sbmcgYXMgbnVtYmVyLFxyXG4gICAgICB9LFxyXG4gICAgICB6b29tTGV2ZWwsXHJcbiAgICAgIGJvdW5kczogW1xyXG4gICAgICAgIHsgbGF0aXR1ZGU6IHN3TGF0LCBsb25naXR1ZGU6IHN3TG5nIH0sXHJcbiAgICAgICAgeyBsYXRpdHVkZTogbmVMYXQsIGxvbmdpdHVkZTogbmVMbmcgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUxlYWZsZXRNYXBPcHRpb25zKCk6IExlYWZsZXRNYXBPcHRpb25zIHtcclxuICAgIGNvbnN0IHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydCA9IHRoaXMubW9kZWwoKS52aWV3cG9ydCE7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjZW50cmU6IFt2aWV3cG9ydC5jZW50ZXIhLmxhdGl0dWRlLCB2aWV3cG9ydC5jZW50ZXIhLmxvbmdpdHVkZV0sXHJcbiAgICAgIHpvb206IHZpZXdwb3J0Lnpvb21MZXZlbCEsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgaGFuZGxlSXRlbUNoYW5nZXModG9SZW1vdmU6IEFycmF5PFJlY29yZFdpdGhJZD4sIHRvQWRkOiBBcnJheTxSZWNvcmRXaXRoSWQ+KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubWFwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0b1JlbW92ZS5mb3JFYWNoKChpdCkgPT4ge1xyXG4gICAgICBpdC5yZWNvcmQucmVtb3ZlKCk7XHJcbiAgICAgIHRoaXMub3ZlcmxheXMuZGVsZXRlKGl0LmlkKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRvQWRkLmZvckVhY2goKGl0KSA9PiB7XHJcbiAgICAgIGxldCByZWNvcmQgPSBpdC5yZWNvcmQ7XHJcbiAgICAgIGlmIChyZWNvcmQgaW5zdGFuY2VvZiBMLkxheWVyR3JvdXApIHtcclxuICAgICAgICBPYmplY3QudmFsdWVzKHJlY29yZC5fbGF5ZXJzKS5mb3JFYWNoKChhdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBhdC5vbignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm9uT3ZlcmxheUNsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgaXRlbUlkOiBpdC5pZCxcclxuICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IHtcclxuICAgICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXHJcbiAgICAgICAgICAgICAgICAgIG92ZXJsYXk6IGl0LnJlY29yZCxcclxuICAgICAgICAgICAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXQucmVjb3JkLm9uKCdjbGljaycsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vbk92ZXJsYXlDbGljay5lbWl0KHtcclxuICAgICAgICAgICAgICBpdGVtSWQ6IGl0LmlkLFxyXG4gICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IHtcclxuICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgICAgICAgICAgb3ZlcmxheTogaXQucmVjb3JkLFxyXG4gICAgICAgICAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGl0LnJlY29yZC5hZGRUbyh0aGlzLm1hcCk7XHJcbiAgICAgIHRoaXMub3ZlcmxheXMuc2V0KGl0LmlkLCBpdC5yZWNvcmQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIGhhbmRsZUVkaXRpbmdJdGVtQ2hhbmdlcyhcclxuICAgIHRvUmVtb3ZlOiBBcnJheTxSZWNvcmRXaXRoSWQ+LFxyXG4gICAgdG9BZGQ6IEFycmF5PFJlY29yZFdpdGhJZD5cclxuICApOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5tYXApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRvUmVtb3ZlLmZvckVhY2goKGl0KSA9PiB7XHJcbiAgICAgIGl0LnJlY29yZC5yZW1vdmUoKTtcclxuICAgICAgdGhpcy5lZGl0aW5nT3ZlcmxheXMuZGVsZXRlKGl0LmlkKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRvQWRkLmZvckVhY2goKGl0KSA9PiB7XHJcbiAgICAgIGxldCByZWNvcmQgPSBpdC5yZWNvcmQ7XHJcbiAgICAgIGlmIChyZWNvcmQgaW5zdGFuY2VvZiBMLkxheWVyR3JvdXApIHtcclxuICAgICAgICBPYmplY3QudmFsdWVzKHJlY29yZC5fbGF5ZXJzKS5mb3JFYWNoKChhdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBhdC5vbignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm9uRWRpdGluZ092ZXJsYXlDbGljay5lbWl0KHtcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogaXQuaWQsXHJcbiAgICAgICAgICAgICAgICBjb29yZDoge1xyXG4gICAgICAgICAgICAgICAgICB4OiBldmVudC5sYXRsbmcubG5nLFxyXG4gICAgICAgICAgICAgICAgICB5OiBldmVudC5sYXRsbmcubGF0LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGF0Lm9uKCdkcmFnc3RhcnQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsTGF0TG5nID0gZXZlbnQudGFyZ2V0LmdldExhdExuZygpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBhdC5vbignZHJhZ2VuZCcsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMub25FZGl0aW5nT3ZlcmxheURyYWcuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICBpdGVtSWQ6IGl0LmlkLFxyXG4gICAgICAgICAgICAgICAgc3RhcnRQb3NpdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICB4OiB0aGlzLm9yaWdpbmFsTGF0TG5nLmxuZyxcclxuICAgICAgICAgICAgICAgICAgeTogdGhpcy5vcmlnaW5hbExhdExuZy5sYXQsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZHJhZ1RvOiB7XHJcbiAgICAgICAgICAgICAgICAgIHg6IGV2ZW50LnRhcmdldC5nZXRMYXRMbmcoKS5sbmcsXHJcbiAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnRhcmdldC5nZXRMYXRMbmcoKS5sYXQsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5vcmlnaW5hbExhdExuZyA9IG51bGw7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpdC5yZWNvcmQub24oJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRWRpdGluZ092ZXJsYXlDbGljay5lbWl0KHtcclxuICAgICAgICAgICAgICBpdGVtSWQ6IGl0LmlkLFxyXG4gICAgICAgICAgICAgIGNvb3JkOiB7XHJcbiAgICAgICAgICAgICAgICB4OiBldmVudC5sYXRsbmcubG5nLFxyXG4gICAgICAgICAgICAgICAgeTogZXZlbnQubGF0bG5nLmxhdCxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpdC5yZWNvcmQuYWRkVG8odGhpcy5tYXApO1xyXG4gICAgICB0aGlzLmVkaXRpbmdPdmVybGF5cy5zZXQoaXQuaWQsIGl0LnJlY29yZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZERhdGFzZXRCb3VuZHMoKTogeyBhOiBDb29yZDsgYjogQ29vcmQgfSB8IG51bGwge1xyXG4gICAgY29uc3QgaXRlbXM6IEFycmF5PENvb3JkPiA9IHRoaXMuaXRlbXMoKVxyXG4gICAgICAuZmxhdE1hcCgoaXQpID0+IChpdC5wb3NpdGlvbiA/IFtpdC5wb3NpdGlvbl0gOiBbXSkpXHJcbiAgICAgIC5tYXAoKGl0KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHsgeDogaXQubGF0aXR1ZGUsIHk6IGl0LmxvbmdpdHVkZSB9O1xyXG4gICAgICB9KTtcclxuICAgIGlmICghaXRlbXMgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzb3V0aHdlc3Q6IENvb3JkID0geyB4OiBpdGVtc1swXS54LCB5OiBpdGVtc1swXS55IH07XHJcbiAgICBsZXQgbm9ydGhlYXN0OiBDb29yZCA9IHsgeDogaXRlbXNbMF0ueCwgeTogaXRlbXNbMF0ueSB9O1xyXG5cclxuICAgIGl0ZW1zLmZvckVhY2goKGl0KSA9PiB7XHJcbiAgICAgIGlmIChpdC54IDwgc291dGh3ZXN0LngpIHNvdXRod2VzdC54ID0gaXQueDtcclxuICAgICAgaWYgKGl0LnkgPCBzb3V0aHdlc3QueSkgc291dGh3ZXN0LnkgPSBpdC55O1xyXG5cclxuICAgICAgaWYgKGl0LnggPiBub3J0aGVhc3QueCkgbm9ydGhlYXN0LnggPSBpdC54O1xyXG4gICAgICBpZiAoaXQueSA+IG5vcnRoZWFzdC55KSBub3J0aGVhc3QueSA9IGl0Lnk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4geyBhOiBzb3V0aHdlc3QsIGI6IG5vcnRoZWFzdCB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbWFwLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL3NtYXJ0LW1hcC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VvTWFwVmlld3BvcnQsIEdQU1Bvc2l0aW9uIH0gZnJvbSAnLi9hcGknO1xyXG5cclxuZXhwb3J0IHR5cGUgTWFwRHJhZ2dlZEV2ZW50ID0ge1xyXG4gIHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydDtcclxuICBvcmlnaW5hbEV2ZW50OiBhbnk7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNYXBab29tQ2hhbmdlZEV2ZW50ID0ge1xyXG4gIHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydDtcclxuICBvcmlnaW5hbEV2ZW50OiBhbnk7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNYXBJdGVtQ2xpY2tlZEV2ZW50ID0ge1xyXG4gIGl0ZW1JZDogc3RyaW5nO1xyXG4gIG9yaWdpbmFsRXZlbnQ6IGFueTtcclxufTtcclxuZXhwb3J0IHR5cGUgTWFwRWRpdGluZ0l0ZW1DbGlja2VkRXZlbnQgPSB7XHJcbiAgaXRlbUlkOiBzdHJpbmc7XHJcbiAgY29vcmQ6IENvb3JkO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTWFwRWRpdGluZ0l0ZW1EcmFnZ2VkRXZlbnQgPSB7XHJcbiAgaXRlbUlkOiBzdHJpbmc7XHJcbiAgc3RhcnRQb3NpdGlvbj86IENvb3JkO1xyXG4gIGRyYWdUbzogQ29vcmQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNYXBDbGlja2VkRXZlbnQgPSB7XHJcbiAgY29vcmRpbmF0ZXM6IEdQU1Bvc2l0aW9uO1xyXG4gIG9yaWdpbmFsRXZlbnQ6IGFueTtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29vcmQge1xyXG4gIHg6IG51bWJlcjtcclxuICB5OiBudW1iZXI7XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbWFwLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL3NtYXJ0LW1hcC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VvTWFwVmlld3BvcnQsIEdQU1Bvc2l0aW9uIH0gZnJvbSAnLi9hcGknO1xyXG5cclxuZXhwb3J0IHR5cGUgTWFwRHJhZ2dlZEV2ZW50ID0ge1xyXG4gIHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydDtcclxuICBvcmlnaW5hbEV2ZW50OiBhbnk7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNYXBab29tQ2hhbmdlZEV2ZW50ID0ge1xyXG4gIHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydDtcclxuICBvcmlnaW5hbEV2ZW50OiBhbnk7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNYXBJdGVtQ2xpY2tlZEV2ZW50ID0ge1xyXG4gIGl0ZW1JZDogc3RyaW5nO1xyXG4gIG9yaWdpbmFsRXZlbnQ6IGFueTtcclxufTtcclxuZXhwb3J0IHR5cGUgTWFwRWRpdGluZ0l0ZW1DbGlja2VkRXZlbnQgPSB7XHJcbiAgaXRlbUlkOiBzdHJpbmc7XHJcbiAgY29vcmQ6IENvb3JkO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTWFwRWRpdGluZ0l0ZW1EcmFnZ2VkRXZlbnQgPSB7XHJcbiAgaXRlbUlkOiBzdHJpbmc7XHJcbiAgc3RhcnRQb3NpdGlvbj86IENvb3JkO1xyXG4gIGRyYWdUbzogQ29vcmQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNYXBDbGlja2VkRXZlbnQgPSB7XHJcbiAgY29vcmRpbmF0ZXM6IEdQU1Bvc2l0aW9uO1xyXG4gIG9yaWdpbmFsRXZlbnQ6IGFueTtcclxufTtcclxuZXhwb3J0IHR5cGUgTWFwSXRlbUNvbmZpZ3VyYXRpb24gPSB7XHJcbiAgY29sb3I6IHN0cmluZztcclxuICBkcmFnZ2FibGU6IGJvb2xlYW47XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvb3JkIHtcclxuICB4OiBudW1iZXI7XHJcbiAgeTogbnVtYmVyO1xyXG59XHJcbiJdfQ==
@@ -15216,7 +15216,7 @@ class AbstractMap {
15216
15216
  else {
15217
15217
  toAdd.push({
15218
15218
  id: item.id,
15219
- record: this.itemFactory(item, '#3388ff'),
15219
+ record: this.itemFactory(item, { color: '#3388ff', draggable: false }),
15220
15220
  });
15221
15221
  }
15222
15222
  }
@@ -15239,7 +15239,7 @@ class AbstractMap {
15239
15239
  (pendingItems[0].position != null && pendingItems[0].position.latitude != null)) {
15240
15240
  editingToAdd.push({
15241
15241
  id: pendingItems[0].id,
15242
- record: this.itemFactory(pendingItems[0], '#ff0000'),
15242
+ record: this.itemFactory(pendingItems[0], { color: '#ff0000', draggable: true }),
15243
15243
  });
15244
15244
  }
15245
15245
  editingPresent.forEach((id) => {
@@ -15282,7 +15282,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
15282
15282
  type: Output
15283
15283
  }] } });
15284
15284
 
15285
- function createGoogleMapsItem(item, color) {
15285
+ function createGoogleMapsItem(item, config) {
15286
15286
  switch (item.kind) {
15287
15287
  case GeoMapItemKind.MARKER:
15288
15288
  return new google.maps.Marker({
@@ -15334,7 +15334,7 @@ class GoogleMap extends AbstractMap {
15334
15334
  const items = this.items();
15335
15335
  const toAdd = items.map((it) => ({
15336
15336
  id: it.id,
15337
- record: createGoogleMapsItem(it, '#3388ff'),
15337
+ record: createGoogleMapsItem(it, { color: '#3388ff', draggable: false }),
15338
15338
  }));
15339
15339
  this.handleItemChanges([], toAdd);
15340
15340
  this.onMapReady.emit({
@@ -15498,30 +15498,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
15498
15498
  type: Output
15499
15499
  }] } });
15500
15500
 
15501
- function createLeafletMapItem(item, color) {
15501
+ function createLeafletMapItem(item, config) {
15502
15502
  switch (item.kind) {
15503
15503
  case GeoMapItemKind.MARKER:
15504
15504
  return L.marker(L.latLng(item.position.latitude, item.position.longitude), {
15505
15505
  title: item.label,
15506
+ interactive: config.draggable,
15506
15507
  });
15507
15508
  case GeoMapItemKind.POLYGON:
15508
15509
  const polygonRoutePoints = item.route.points;
15509
15510
  return L.layerGroup([
15510
- L.polygon(polygonRoutePoints.map((p) => [p.latitude, p.longitude]), { title: item.label, color: color, interactive: true }),
15511
+ L.polygon(polygonRoutePoints.map((p) => [p.latitude, p.longitude]), { title: item.label, color: config.color }),
15511
15512
  ...polygonRoutePoints.map((p) => L.marker([p.latitude, p.longitude], {
15512
15513
  title: item.label,
15513
- markerColor: color,
15514
- draggable: true,
15514
+ markerColor: config.color,
15515
+ draggable: config.draggable,
15515
15516
  })),
15516
15517
  ]);
15517
15518
  case GeoMapItemKind.LINE:
15518
15519
  const lineRoutePoints = item.route.points;
15519
15520
  return L.layerGroup([
15520
- L.polyline(lineRoutePoints.map((p) => [p.latitude, p.longitude]), { title: item.label, color: color }),
15521
+ L.polyline(lineRoutePoints.map((p) => [p.latitude, p.longitude]), { title: item.label, color: config.color }),
15521
15522
  ...lineRoutePoints.map((p) => L.marker([p.latitude, p.longitude], {
15522
15523
  title: item.label,
15523
- color: color,
15524
- draggable: true,
15524
+ color: config.color,
15525
+ draggable: config.draggable,
15525
15526
  })),
15526
15527
  ]);
15527
15528
  }
@@ -15546,7 +15547,7 @@ class LeafletMap extends AbstractMap {
15546
15547
  const items = this.items();
15547
15548
  const toAdd = items.map((it) => ({
15548
15549
  id: it.id,
15549
- record: createLeafletMapItem(it, '#ff0000'),
15550
+ record: createLeafletMapItem(it, { color: '#3388ff', draggable: false }),
15550
15551
  }));
15551
15552
  this.handleItemChanges([], toAdd);
15552
15553
  const model = this.model();
@@ -15630,18 +15631,37 @@ class LeafletMap extends AbstractMap {
15630
15631
  this.overlays.delete(it.id);
15631
15632
  });
15632
15633
  toAdd.forEach((it) => {
15633
- it.record.on('click', (event) => {
15634
- this.zone.run(() => {
15635
- this.onOverlayClick.emit({
15636
- itemId: it.id,
15637
- originalEvent: {
15638
- originalEvent: event,
15639
- overlay: it.record,
15640
- map: this.map,
15641
- },
15634
+ let record = it.record;
15635
+ if (record instanceof L.LayerGroup) {
15636
+ Object.values(record._layers).forEach((at) => {
15637
+ at.on('click', (event) => {
15638
+ this.zone.run(() => {
15639
+ this.onOverlayClick.emit({
15640
+ itemId: it.id,
15641
+ originalEvent: {
15642
+ originalEvent: event,
15643
+ overlay: it.record,
15644
+ map: this.map,
15645
+ },
15646
+ });
15647
+ });
15642
15648
  });
15643
15649
  });
15644
- });
15650
+ }
15651
+ else {
15652
+ it.record.on('click', (event) => {
15653
+ this.zone.run(() => {
15654
+ this.onOverlayClick.emit({
15655
+ itemId: it.id,
15656
+ originalEvent: {
15657
+ originalEvent: event,
15658
+ overlay: it.record,
15659
+ map: this.map,
15660
+ },
15661
+ });
15662
+ });
15663
+ });
15664
+ }
15645
15665
  it.record.addTo(this.map);
15646
15666
  this.overlays.set(it.id, it.record);
15647
15667
  });