@litigiovirtual/ius-design-components 1.0.113 → 1.0.115

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.
@@ -21,16 +21,28 @@ export class InputSelectComponent {
21
21
  this.onChangesValueEvent = new EventEmitter();
22
22
  this.onEnterKey = new EventEmitter();
23
23
  }
24
- //Esta funcion permite que el se cierre el listado si el usuario da click en otro lado fuera del componente
24
+ //Esta funcion permite que se cierre el listado si el usuario da click en otro lado fuera del componente
25
25
  onClickOutside(event) {
26
26
  if (!this.hasClickedInside) {
27
27
  return;
28
28
  }
29
29
  const target = event.target;
30
30
  const container = document.getElementById(this.componentId);
31
+ const containerTextfield = container?.querySelector('.container-textfield');
32
+ const containerList = container?.querySelector('.container-list');
33
+ // 1. Cierra la lista si el click está completamente fuera del componente
31
34
  if (container && !container.contains(target)) {
32
35
  this.closeList();
33
36
  }
37
+ // 2. Si el click está dentro del componente pero
38
+ // NO está ni en el textfield ni en la lista, también cierra
39
+ else if (containerTextfield && containerList) {
40
+ const clickEnTextfield = containerTextfield.contains(target);
41
+ const clickEnLista = containerList.contains(target);
42
+ if (!clickEnTextfield && !clickEnLista) {
43
+ this.closeList();
44
+ }
45
+ }
34
46
  }
35
47
  closeList(event) {
36
48
  if (event) {
@@ -128,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
128
140
  type: HostListener,
129
141
  args: ['document:click', ['$event']]
130
142
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtc2VsZWN0L2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM3QyxNQUFNLE9BQU8sb0JBQW9CO0lBUGpDO1FBU0UsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLHFCQUFnQixHQUFZLEtBQUssQ0FBQyxDQUFDLHNFQUFzRTtRQUN6RyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRUMsZ0JBQVcsR0FBVyxFQUFFLENBQUMsQ0FBQywrREFBK0Q7UUFDM0csYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT3JCLGNBQVMsR0FBWSxFQUFFLENBQUM7UUFFeEIsY0FBUyxHQUFXLE1BQU0sQ0FBQztRQUUxQix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzlDLGVBQVUsR0FBRyxJ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RUQsZUFBZSxDQUFDLEtBQWdCO1FBQzlCLHNEQUFzRDtRQUN0RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekIsQ0FBQzsrR0FyR1Usb0JBQW9CO21HQUFwQixvQkFBb0IsZ2hCQ1pqQywrNkRBbURNLGc3SEQzQ00sZUFBZSxzRkFBRSxXQUFXLGl4QkFBRSxZQUFZOzs0RkFJekMsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQzs4QkFZMUIsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBSVAsY0FBYztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbk1kQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1tZC9pY29uLW1kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l1cy1pbnB1dC1zZWxlY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWNvbk1kQ29tcG9uZW50LCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pbnB1dC1zZWxlY3QuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFNlbGVjdENvbXBvbmVudCB7XG5cbiAgaXNGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQWxlcnRUZXh0OiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dMaXN0OiBib29sZWFuID0gZmFsc2U7XG4gIGhhc0NsaWNrZWRJbnNpZGU6IGJvb2xlYW4gPSBmYWxzZTsgLy9CYW5kZXJhIHBhcmEgZGV0ZWN0YXIgcXVlIHlhIGRpZXJvbiBlbCBwcmltZXIgY2xpY2sgZW4gZWwgY29tcG9uZW50ZVxuICBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbXBvbmVudElkOiBzdHJpbmcgPSAnJzsgLy9EZWJlIG1hbmRhciB1biBjb21wb25lbnRlSUQgcGFyYSBsbGFtYXIgZWwgaW5wdXQgdmFyaWFzIHZlY2VzXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dIZWxwVGV4dCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGxhYmVsU3VwZXJpb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsSW5mZXJpb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsSW5wdXQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb25JbnB1dD86IHN0cmluZztcblxuICBASW5wdXQoKSB0ZXh0SW5wdXQ/OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWF4bGVuZ2h0PzogbnVtYmVyO1xuICBASW5wdXQoKSBpbnB1dFR5cGU6IHN0cmluZyA9ICd0ZXh0JztcblxuICBAT3V0cHV0KCkgb25DaGFuZ2VzVmFsdWVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25FbnRlcktleSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vRXN0YSBmdW5jaW9uIHBlcm1pdGUgcXVlIGVsIHNlIGNpZXJyZSBlbCBsaXN0YWRvIHNpIGVsIHVzdWFyaW8gZGEgY2xpY2sgZW4gb3RybyBsYWRvIGZ1ZXJhIGRlbCBjb21wb25lbnRlXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGlja091dHNpZGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmhhc0NsaWNrZWRJbnNpZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29tcG9uZW50SWQpO1xuICAgIGlmIChjb250YWluZXIgJiYgIWNvbnRhaW5lci5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICB0aGlzLmNsb3NlTGlzdCgpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlTGlzdChldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkICYmICF0aGlzLnNob3dMaXN0ICYmIHRoaXMucmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlc1ZhbHVlRXZlbnQuZW1pdCh0aGlzLnRleHRJbnB1dCk7XG4gIH1cblxuICBvbkZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dMaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLmhhc0NsaWNrZWRJbnNpZGUgPSB0cnVlO1xuICB9XG5cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIGlmICh0aGlzLnRleHRJbnB1dCA9PT0gJycpIHtcbiAgICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIGlmICh0aGlzLnRleHRJbnB1dCEudHJpbSgpICE9PSAnJykge1xuICAgICAgICB0aGlzLm9uRW50ZXJLZXkuZW1pdCh0aGlzLnRleHRJbnB1dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25TZWxlY3RPcHRpb24oKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsZXJ0VGV4dCA9IGZhbHNlO1xuICB9XG5cbiAgb25Ecm9wQmxvY2soZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIC8vIEV2aXRhIHF1ZSBzZSBkcm9wZWUgY29udGVuaWRvIGVuIGVsIGlucHV0XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIG9uRHJhZ092ZXJCbG9jayhldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgLy8gRXZpdGEgcXVlIHNlIHBlcm1pdGEgYXJyYXN0cmFyIHRleHRvIHNvYnJlIGVsIGlucHV0XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1nZW5lcmFsXCIgW2lkXT1cImNvbXBvbmVudElkXCI+XG4gIEBpZiAobGFiZWxTdXBlcmlvcikge1xuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxhYmVsLXN1cFwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2Rpc2FibGVkJzogZGlzYWJsZWRcbiAgICB9XCI+XG4gICAgQGlmKCFkaXNhYmxlZCAmJiByZXF1aXJlZCl7XG4gICAgPGRpdiBjbGFzcz1cImljb24tZG90XCI+PC9kaXY+XG4gICAgfVxuICAgIDxzcGFuIGNsYXNzPVwiXCI+e3tsYWJlbFN1cGVyaW9yfX08L3NwYW4+XG4gICAgQGlmKCFkaXNhYmxlZCAmJiBzaG93SGVscFRleHQpe1xuICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiIGNsYXNzPVwiaWNvbi1jb2xvci1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cbiAgICB9XG4gICAgPHNwYW4+Ojwvc3Bhbj5cbiAgPC9kaXY+XG4gIH1cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0ZmllbGRcIiBbbmdDbGFzc109XCJ7XG4gICAgICAgICdkaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICAgICAnZm9jdXNlZCc6IGlzRm9jdXNlZCxcbiAgICAgICAgJ2FsZXJ0JzogIWlzRm9jdXNlZCAmJiBpc0FsZXJ0VGV4dCAmJiAhZGlzYWJsZWRcbiAgICB9XCIgKGNsaWNrKT1cIm9uRm9jdXMoKVwiPlxuICAgIEBpZiAoaWNvbklucHV0KSB7XG4gICAgPGl1cy1pY29uLW1kIFtpY29uTmFtZV09XCJpY29uSW5wdXRcIiBjbGFzcz1cImljb24tY29sb3JcIj48L2l1cy1pY29uLW1kPlxuICAgIH1cbiAgICA8aW5wdXQgW3R5cGVdPVwiaW5wdXRUeXBlXCIgWyhuZ01vZGVsKV09XCJ0ZXh0SW5wdXRcIiBbcGxhY2Vob2xkZXJdPVwibGFiZWxJbnB1dFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChpbnB1dCk9XCJvbklucHV0KClcIlxuICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5naHQgPz8gbnVsbFwiIChmb2N1cyk9XCJvbkZvY3VzKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCIgKGRyb3ApPVwib25Ecm9wQmxvY2soJGV2ZW50KVwiIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyQmxvY2soJGV2ZW50KVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjbnQtaWNvbi1yaWdodFwiPlxuICAgICAgQGlmKCFzaG93TGlzdCl7XG4gICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LWRvd25cIiBjbGFzcz1cImljb24tYXJyb3dzXCI+PC9pdXMtaWNvbi1tZD5cbiAgICAgIH1AZWxzZXtcbiAgICAgIDxkaXYgKGNsaWNrKT1cImNsb3NlTGlzdCgkZXZlbnQpXCIgc3R5bGU9XCJoZWlnaHQ6IDIwcHg7XCI+XG4gICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctdXBcIiBjbGFzcz1cImljb24tYXJyb3dzXCI+PC9pdXMtaWNvbi1tZD5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChsYWJlbEluZmVyaW9yICYmIGlzRm9jdXNlZCkge1xuICA8c3BhbiBjbGFzcz1cImxhYmVsLWluZlwiPnt7bGFiZWxJbmZlcmlvcn19PC9zcGFuPlxuICB9XG4gIEBpZiAobGFiZWxJbmZlcmlvciAmJiAhaXNGb2N1c2VkICYmIGlzQWxlcnRUZXh0KSB7XG4gIDxzcGFuIGNsYXNzPVwibGFiZWwtaW5mXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAnYWxlcnQnOiAhaXNGb2N1c2VkICYmIGlzQWxlcnRUZXh0ICYmICFkaXNhYmxlZFxuICAgIH1cIj57e2xhYmVsSW5mZXJpb3J9fTwvc3Bhbj5cbiAgfVxuICBAaWYgKHNob3dMaXN0KSB7XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItbGlzdCBzY3JvbGxhYmxlLXNtYWxsXCI+XG4gICAgPGRpdiAoY2xpY2spPVwib25TZWxlY3RPcHRpb24oKVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0b3I9XCJpdXMtb3B0aW9uXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgfVxuPC9kaXY+Il19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtc2VsZWN0L2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM3QyxNQUFNLE9BQU8sb0JBQW9CO0lBUGpDO1FBU0UsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLHFCQUFnQixHQUFZLEtBQUssQ0FBQyxDQUFDLHNFQUFzRTtRQUN6RyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRUMsZ0JBQVcsR0FBVyxFQUFFLENBQUMsQ0FBQywrREFBK0Q7UUFDM0csYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT3JCLGNBQVMsR0FBWSxFQUFFLENBQUM7UUFFeEIsY0FBUyxHQUFXLE1BQU0sQ0FBQztRQUUxQix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzlDLGVBQVUsR0FBRyxJ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RyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBSVAsY0FBYztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbk1kQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1tZC9pY29uLW1kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l1cy1pbnB1dC1zZWxlY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWNvbk1kQ29tcG9uZW50LCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pbnB1dC1zZWxlY3QuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFNlbGVjdENvbXBvbmVudCB7XG5cbiAgaXNGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQWxlcnRUZXh0OiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dMaXN0OiBib29sZWFuID0gZmFsc2U7XG4gIGhhc0NsaWNrZWRJbnNpZGU6IGJvb2xlYW4gPSBmYWxzZTsgLy9CYW5kZXJhIHBhcmEgZGV0ZWN0YXIgcXVlIHlhIGRpZXJvbiBlbCBwcmltZXIgY2xpY2sgZW4gZWwgY29tcG9uZW50ZVxuICBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbXBvbmVudElkOiBzdHJpbmcgPSAnJzsgLy9EZWJlIG1hbmRhciB1biBjb21wb25lbnRlSUQgcGFyYSBsbGFtYXIgZWwgaW5wdXQgdmFyaWFzIHZlY2VzXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dIZWxwVGV4dCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGxhYmVsU3VwZXJpb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsSW5mZXJpb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsSW5wdXQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb25JbnB1dD86IHN0cmluZztcblxuICBASW5wdXQoKSB0ZXh0SW5wdXQ/OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWF4bGVuZ2h0PzogbnVtYmVyO1xuICBASW5wdXQoKSBpbnB1dFR5cGU6IHN0cmluZyA9ICd0ZXh0JztcblxuICBAT3V0cHV0KCkgb25DaGFuZ2VzVmFsdWVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25FbnRlcktleSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vRXN0YSBmdW5jaW9uIHBlcm1pdGUgcXVlIHNlIGNpZXJyZSBlbCBsaXN0YWRvIHNpIGVsIHVzdWFyaW8gZGEgY2xpY2sgZW4gb3RybyBsYWRvIGZ1ZXJhIGRlbCBjb21wb25lbnRlXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGlja091dHNpZGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmhhc0NsaWNrZWRJbnNpZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29tcG9uZW50SWQpO1xuICAgIGNvbnN0IGNvbnRhaW5lclRleHRmaWVsZCA9IGNvbnRhaW5lcj8ucXVlcnlTZWxlY3RvcignLmNvbnRhaW5lci10ZXh0ZmllbGQnKTtcbiAgICBjb25zdCBjb250YWluZXJMaXN0ID0gY29udGFpbmVyPy5xdWVyeVNlbGVjdG9yKCcuY29udGFpbmVyLWxpc3QnKTtcblxuICAgIC8vIDEuIENpZXJyYSBsYSBsaXN0YSBzaSBlbCBjbGljayBlc3TDoSBjb21wbGV0YW1lbnRlIGZ1ZXJhIGRlbCBjb21wb25lbnRlXG4gICAgaWYgKGNvbnRhaW5lciAmJiAhY29udGFpbmVyLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHRoaXMuY2xvc2VMaXN0KCk7XG4gICAgfVxuICAgIC8vIDIuIFNpIGVsIGNsaWNrIGVzdMOhIGRlbnRybyBkZWwgY29tcG9uZW50ZSBwZXJvXG4gICAgLy8gICAgTk8gZXN0w6EgbmkgZW4gZWwgdGV4dGZpZWxkIG5pIGVuIGxhIGxpc3RhLCB0YW1iacOpbiBjaWVycmFcbiAgICBlbHNlIGlmIChjb250YWluZXJUZXh0ZmllbGQgJiYgY29udGFpbmVyTGlzdCkge1xuICAgICAgY29uc3QgY2xpY2tFblRleHRmaWVsZCA9IGNvbnRhaW5lclRleHRmaWVsZC5jb250YWlucyh0YXJnZXQpO1xuICAgICAgY29uc3QgY2xpY2tFbkxpc3RhID0gY29udGFpbmVyTGlzdC5jb250YWlucyh0YXJnZXQpO1xuICAgICAgaWYgKCFjbGlja0VuVGV4dGZpZWxkICYmICFjbGlja0VuTGlzdGEpIHtcbiAgICAgICAgdGhpcy5jbG9zZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIGNsb3NlTGlzdChldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkICYmICF0aGlzLnNob3dMaXN0ICYmIHRoaXMucmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlc1ZhbHVlRXZlbnQuZW1pdCh0aGlzLnRleHRJbnB1dCk7XG4gIH1cblxuICBvbkZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dMaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLmhhc0NsaWNrZWRJbnNpZGUgPSB0cnVlO1xuICB9XG5cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIGlmICh0aGlzLnRleHRJbnB1dCA9PT0gJycpIHtcbiAgICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIGlmICh0aGlzLnRleHRJbnB1dCEudHJpbSgpICE9PSAnJykge1xuICAgICAgICB0aGlzLm9uRW50ZXJLZXkuZW1pdCh0aGlzLnRleHRJbnB1dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25TZWxlY3RPcHRpb24oKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsZXJ0VGV4dCA9IGZhbHNlO1xuICB9XG5cbiAgb25Ecm9wQmxvY2soZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIC8vIEV2aXRhIHF1ZSBzZSBkcm9wZWUgY29udGVuaWRvIGVuIGVsIGlucHV0XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIG9uRHJhZ092ZXJCbG9jayhldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgLy8gRXZpdGEgcXVlIHNlIHBlcm1pdGEgYXJyYXN0cmFyIHRleHRvIHNvYnJlIGVsIGlucHV0XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1nZW5lcmFsXCIgW2lkXT1cImNvbXBvbmVudElkXCI+XG4gIEBpZiAobGFiZWxTdXBlcmlvcikge1xuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxhYmVsLXN1cFwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2Rpc2FibGVkJzogZGlzYWJsZWRcbiAgICB9XCI+XG4gICAgQGlmKCFkaXNhYmxlZCAmJiByZXF1aXJlZCl7XG4gICAgPGRpdiBjbGFzcz1cImljb24tZG90XCI+PC9kaXY+XG4gICAgfVxuICAgIDxzcGFuIGNsYXNzPVwiXCI+e3tsYWJlbFN1cGVyaW9yfX08L3NwYW4+XG4gICAgQGlmKCFkaXNhYmxlZCAmJiBzaG93SGVscFRleHQpe1xuICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiIGNsYXNzPVwiaWNvbi1jb2xvci1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cbiAgICB9XG4gICAgPHNwYW4+Ojwvc3Bhbj5cbiAgPC9kaXY+XG4gIH1cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0ZmllbGRcIiBbbmdDbGFzc109XCJ7XG4gICAgICAgICdkaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICAgICAnZm9jdXNlZCc6IGlzRm9jdXNlZCxcbiAgICAgICAgJ2FsZXJ0JzogIWlzRm9jdXNlZCAmJiBpc0FsZXJ0VGV4dCAmJiAhZGlzYWJsZWRcbiAgICB9XCIgKGNsaWNrKT1cIm9uRm9jdXMoKVwiPlxuICAgIEBpZiAoaWNvbklucHV0KSB7XG4gICAgPGl1cy1pY29uLW1kIFtpY29uTmFtZV09XCJpY29uSW5wdXRcIiBjbGFzcz1cImljb24tY29sb3JcIj48L2l1cy1pY29uLW1kPlxuICAgIH1cbiAgICA8aW5wdXQgW3R5cGVdPVwiaW5wdXRUeXBlXCIgWyhuZ01vZGVsKV09XCJ0ZXh0SW5wdXRcIiBbcGxhY2Vob2xkZXJdPVwibGFiZWxJbnB1dFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChpbnB1dCk9XCJvbklucHV0KClcIlxuICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5naHQgPz8gbnVsbFwiIChmb2N1cyk9XCJvbkZvY3VzKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCIgKGRyb3ApPVwib25Ecm9wQmxvY2soJGV2ZW50KVwiIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyQmxvY2soJGV2ZW50KVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjbnQtaWNvbi1yaWdodFwiPlxuICAgICAgQGlmKCFzaG93TGlzdCl7XG4gICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LWRvd25cIiBjbGFzcz1cImljb24tYXJyb3dzXCI+PC9pdXMtaWNvbi1tZD5cbiAgICAgIH1AZWxzZXtcbiAgICAgIDxkaXYgKGNsaWNrKT1cImNsb3NlTGlzdCgkZXZlbnQpXCIgc3R5bGU9XCJoZWlnaHQ6IDIwcHg7XCI+XG4gICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctdXBcIiBjbGFzcz1cImljb24tYXJyb3dzXCI+PC9pdXMtaWNvbi1tZD5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChsYWJlbEluZmVyaW9yICYmIGlzRm9jdXNlZCkge1xuICA8c3BhbiBjbGFzcz1cImxhYmVsLWluZlwiPnt7bGFiZWxJbmZlcmlvcn19PC9zcGFuPlxuICB9XG4gIEBpZiAobGFiZWxJbmZlcmlvciAmJiAhaXNGb2N1c2VkICYmIGlzQWxlcnRUZXh0KSB7XG4gIDxzcGFuIGNsYXNzPVwibGFiZWwtaW5mXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAnYWxlcnQnOiAhaXNGb2N1c2VkICYmIGlzQWxlcnRUZXh0ICYmICFkaXNhYmxlZFxuICAgIH1cIj57e2xhYmVsSW5mZXJpb3J9fTwvc3Bhbj5cbiAgfVxuICBAaWYgKHNob3dMaXN0KSB7XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItbGlzdCBzY3JvbGxhYmxlLXNtYWxsXCI+XG4gICAgPGRpdiAoY2xpY2spPVwib25TZWxlY3RPcHRpb24oKVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0b3I9XCJpdXMtb3B0aW9uXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgfVxuPC9kaXY+Il19
@@ -22,14 +22,18 @@ export class InputSelectFilterComponent {
22
22
  this.inputType = 'text';
23
23
  this.onChangesValueEvent = new EventEmitter();
24
24
  this.onEnterKey = new EventEmitter();
25
+ /** Firma de los ítems seleccionados para detectar cambios externos (reset, etc.) */
26
+ this.lastSelectedSignature = '';
25
27
  }
26
- set filterData(value) {
27
- this._filterData = value;
28
- // cada vez que cambie desde afuera recalculo el texto
29
- this.updateTextInputFromSelected();
30
- }
31
- get filterData() {
32
- return this._filterData;
28
+ // 🔍 Se ejecuta en cada ciclo de detección de cambios
29
+ ngDoCheck() {
30
+ const selectedItems = this.getSelectedItems();
31
+ const newSignature = selectedItems.map(i => (i.id ?? i.text)).join('|');
32
+ if (newSignature !== this.lastSelectedSignature) {
33
+ this.lastSelectedSignature = newSignature;
34
+ // Actualiza el texto en el input cada vez que cambia la selección desde afuera o desde adentro
35
+ this.textInput = selectedItems.map(i => i.text).join(', ');
36
+ }
33
37
  }
34
38
  //Esta funcion permite que el se cierre el listado si el usuario da click en otro lado fuera del componente
35
39
  onClickOutside(event) {
@@ -97,28 +101,11 @@ export class InputSelectFilterComponent {
97
101
  selectedItem(data) {
98
102
  data.checked = !data.checked;
99
103
  this.itemSelected = data;
100
- const selected = this.updateTextInputFromSelected();
104
+ const selected = this.getSelectedItems();
105
+ this.textInput = selected.map(i => i.text).join(', ');
106
+ this.lastSelectedSignature = selected.map(i => (i.id ?? i.text)).join('|');
101
107
  this.onChangesValueEvent.emit({ text: this.textInput ?? '', items: selected });
102
108
  }
103
- updateTextInputFromSelected() {
104
- const selectedItems = [];
105
- if (!this.filterData) {
106
- this.textInput = '';
107
- return selectedItems;
108
- }
109
- for (const group of this.filterData) {
110
- if (!group.values) {
111
- continue;
112
- }
113
- for (const v of group.values) {
114
- if (v && v.checked) {
115
- selectedItems.push(v);
116
- }
117
- }
118
- }
119
- this.textInput = selectedItems.map(i => i.text).join(', ');
120
- return selectedItems;
121
- }
122
109
  getSelectedItems() {
123
110
  const selectedItems = [];
124
111
  if (!this.filterData) {
@@ -171,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
171
158
  type: HostListener,
172
159
  args: ['document:click', ['$event']]
173
160
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1zZWxlY3QtZmlsdGVyL2lucHV0LXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtc2VsZWN0LWZpbHRlci9pbnB1dC1zZWxlY3QtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBaUJoRCxNQUFNLE9BQU8sMEJBQTBCO0lBUHZDO1FBdUJFLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixxQkFBZ0IsR0FBWSxLQUFLLENBQUMsQ0FBQyxzRUFBc0U7UUFDekcsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVDLGdCQUFXLEdBQVcsRUFBRSxDQUFDLENBQUMsK0RBQStEO1FBQzNHLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFJckIsY0FBUyxH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QkFRckYsVUFBVTtzQkFEYixLQUFLO2dCQW1CcUIsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFJUCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSWNvblNtQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24tc21cIjtcclxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tIFwiLi4vY2hlY2tib3hcIjtcclxuXHJcbmV4cG9ydCB0eXBlIEZpbHRlckRhdGEgPSB7IHRpdGxlOiBzdHJpbmc7IHZhbHVlczogRmlsdGVySXRlbUlucHV0TGlzdFtdOyB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRmlsdGVySXRlbUlucHV0TGlzdCA9IHtcclxuICBpZD86IG51bWJlcjtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgY2hlY2tlZDogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtaW5wdXQtc2VsZWN0LWZpbHRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbSWNvbk1kQ29tcG9uZW50LCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBJY29uU21Db21wb25lbnQsIENoZWNrYm94Q29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtc2VsZWN0LWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2lucHV0LXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFNlbGVjdEZpbHRlckNvbXBvbmVudCB7XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlckRhdGE/OiBGaWx0ZXJEYXRhW107XHJcbiAgQElucHV0KClcclxuICBzZXQgZmlsdGVyRGF0YSh2YWx1ZTogRmlsdGVyRGF0YVtdIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLl9maWx0ZXJEYXRhID0gdmFsdWU7XHJcbiAgICAvLyBjYWRhIHZleiBxdWUgY2FtYmllIGRlc2RlIGFmdWVyYSByZWNhbGN1bG8gZWwgdGV4dG9cclxuICAgIHRoaXMudXBkYXRlVGV4dElucHV0RnJvbVNlbGVjdGVkKCk7XHJcbiAgfVxyXG4gIGdldCBmaWx0ZXJEYXRhKCk6IEZpbHRlckRhdGFbXSB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyRGF0YTtcclxuICB9XHJcblxyXG4gIGZpbHRlckRhdGFTZWxlY3RlZD86IEZpbHRlckRhdGE7XHJcbiAgaXRlbVNlbGVjdGVkPzogRmlsdGVySXRlbUlucHV0TGlzdDtcclxuXHJcbiAgaXNGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNBbGVydFRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93TGlzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGhhc0NsaWNrZWRJbnNpZGU6IGJvb2xlYW4gPSBmYWxzZTsgLy9CYW5kZXJhIHBhcmEgZGV0ZWN0YXIgcXVlIHlhIGRpZXJvbiBlbCBwcmltZXIgY2xpY2sgZW4gZWwgY29tcG9uZW50ZVxyXG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbXBvbmVudElkOiBzdHJpbmcgPSAnJzsgLy9EZWJlIG1hbmRhciB1biBjb21wb25lbnRlSUQgcGFyYSBsbGFtYXIgZWwgaW5wdXQgdmFyaWFzIHZlY2VzXHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93SGVscFRleHQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGFiZWxTdXBlcmlvcj86IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbElucHV0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGljb25JbnB1dD86IHN0cmluZyA9ICdpY29uLXNlYXJjaCc7XHJcblxyXG4gIEBJbnB1dCgpIHRleHRJbnB1dD86IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIG1heGxlbmdodD86IG51bWJlcjtcclxuICBASW5wdXQoKSBpbnB1dFR5cGU6IHN0cmluZyA9ICd0ZXh0JztcclxuXHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlc1ZhbHVlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdGV4dDogc3RyaW5nOyBpdGVtczogRmlsdGVySXRlbUlucHV0TGlzdFtdIH0+KCk7XHJcbiAgQE91dHB1dCgpIG9uRW50ZXJLZXkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLy9Fc3RhIGZ1bmNpb24gcGVybWl0ZSBxdWUgZWwgc2UgY2llcnJlIGVsIGxpc3RhZG8gc2kgZWwgdXN1YXJpbyBkYSBjbGljayBlbiBvdHJvIGxhZG8gZnVlcmEgZGVsIGNvbXBvbmVudGVcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGlja091dHNpZGUoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuaGFzQ2xpY2tlZEluc2lkZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNvbXBvbmVudElkKTtcclxuICAgIGNvbnN0IGNvbnRhaW5lclRleHRmaWVsZCA9IGNvbnRhaW5lcj8ucXVlcnlTZWxlY3RvcignLmNvbnRhaW5lci10ZXh0ZmllbGQnKTtcclxuICAgIGNvbnN0IGNvbnRhaW5lckxpc3QgPSBjb250YWluZXI/LnF1ZXJ5U2VsZWN0b3IoJy5jb250YWluZXItbGlzdCcpO1xyXG5cclxuICAgIC8vIENpZXJyYSBsYSBsaXN0YSBzb2xvIHNpIGVsIGNsaWNrIGVzdMOhIGZ1ZXJhIGRlbCBjb21wb25lbnRlIGNvbXBsZXRvXHJcbiAgICBpZiAoY29udGFpbmVyICYmICFjb250YWluZXIuY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICB0aGlzLmNsb3NlTGlzdCgpO1xyXG4gICAgfVxyXG4gICAgLy8gU2kgZWwgY2xpY2sgZXN0w6EgZGVudHJvIGRlbCBjb21wb25lbnRlIHBlcm8gZnVlcmEgZGUgdGV4dGZpZWxkIHkgbGlzdGEsIGNpZXJyYVxyXG4gICAgZWxzZSBpZiAoY29udGFpbmVyVGV4dGZpZWxkICYmIGNvbnRhaW5lckxpc3QpIHtcclxuICAgICAgaWYgKCFjb250YWluZXJUZXh0ZmllbGQuY29udGFpbnModGFyZ2V0KSAmJiAhY29udGFpbmVyTGlzdC5jb250YWlucyh0YXJnZXQpKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZUxpc3QoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VMaXN0KGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbklucHV0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldFNlbGVjdGVkSXRlbXMoKTtcclxuICAgIHRoaXMub25DaGFuZ2VzVmFsdWVFdmVudC5lbWl0KHsgdGV4dDogdGhpcy50ZXh0SW5wdXQgPz8gJycsIGl0ZW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0xpc3QgPSB0cnVlO1xyXG4gICAgdGhpcy5oYXNDbGlja2VkSW5zaWRlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbktleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgIGlmICh0aGlzLnRleHRJbnB1dCEudHJpbSgpICE9PSAnJykge1xyXG4gICAgICAgIHRoaXMub25FbnRlcktleS5lbWl0KHRoaXMudGV4dElucHV0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Ecm9wQmxvY2soZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgLy8gRXZpdGEgcXVlIHNlIGRyb3BlZSBjb250ZW5pZG8gZW4gZWwgaW5wdXRcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBvbkRyYWdPdmVyQmxvY2soZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgLy8gRXZpdGEgcXVlIHNlIHBlcm1pdGEgYXJyYXN0cmFyIHRleHRvIHNvYnJlIGVsIGlucHV0XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWREYXRhKGRhdGE6IEZpbHRlckRhdGEpIHtcclxuICAgIHRoaXMuZmlsdGVyRGF0YVNlbGVjdGVkID0gZGF0YTtcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkSXRlbShkYXRhOiBGaWx0ZXJJdGVtSW5wdXRMaXN0KSB7XHJcbiAgICBkYXRhLmNoZWNrZWQgPSAhZGF0YS5jaGVja2VkO1xyXG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQgPSBkYXRhO1xyXG5cclxuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy51cGRhdGVUZXh0SW5wdXRGcm9tU2VsZWN0ZWQoKTtcclxuXHJcbiAgICB0aGlzLm9uQ2hhbmdlc1ZhbHVlRXZlbnQuZW1pdCh7IHRleHQ6IHRoaXMudGV4dElucHV0ID8/ICcnLCBpdGVtczogc2VsZWN0ZWQgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUZXh0SW5wdXRGcm9tU2VsZWN0ZWQoKTogRmlsdGVySXRlbUlucHV0TGlzdFtdIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXM6IEZpbHRlckl0ZW1JbnB1dExpc3RbXSA9IFtdO1xyXG4gICAgaWYgKCF0aGlzLmZpbHRlckRhdGEpIHtcclxuICAgICAgdGhpcy50ZXh0SW5wdXQgPSAnJztcclxuICAgICAgcmV0dXJuIHNlbGVjdGVkSXRlbXM7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBncm91cCBvZiB0aGlzLmZpbHRlckRhdGEpIHtcclxuICAgICAgaWYgKCFncm91cC52YWx1ZXMpIHsgY29udGludWU7IH1cclxuICAgICAgZm9yIChjb25zdCB2IG9mIGdyb3VwLnZhbHVlcykge1xyXG4gICAgICAgIGlmICh2ICYmIHYuY2hlY2tlZCkge1xyXG4gICAgICAgICAgc2VsZWN0ZWRJdGVtcy5wdXNoKHYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGV4dElucHV0ID0gc2VsZWN0ZWRJdGVtcy5tYXAoaSA9PiBpLnRleHQpLmpvaW4oJywgJyk7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRJdGVtcztcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkSXRlbXMoKTogRmlsdGVySXRlbUlucHV0TGlzdFtdIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXM6IEZpbHRlckl0ZW1JbnB1dExpc3RbXSA9IFtdO1xyXG4gICAgaWYgKCF0aGlzLmZpbHRlckRhdGEpIHsgcmV0dXJuIHNlbGVjdGVkSXRlbXM7IH1cclxuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgdGhpcy5maWx0ZXJEYXRhKSB7XHJcbiAgICAgIGlmICghZ3JvdXAudmFsdWVzKSB7IGNvbnRpbnVlOyB9XHJcbiAgICAgIGZvciAoY29uc3QgdiBvZiBncm91cC52YWx1ZXMpIHtcclxuICAgICAgICBpZiAodiAmJiB2LmNoZWNrZWQpIHtcclxuICAgICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaCh2KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBzZWxlY3RlZEl0ZW1zO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWdlbmVyYWxcIiBbaWRdPVwiY29tcG9uZW50SWRcIj5cclxuICAgIEBpZiAobGFiZWxTdXBlcmlvcikge1xyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1sYWJlbC1zdXBcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2Rpc2FibGVkJzogZGlzYWJsZWRcclxuICAgIH1cIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIlwiPnt7bGFiZWxTdXBlcmlvcn19PC9zcGFuPlxyXG4gICAgICAgIEBpZighZGlzYWJsZWQgJiYgc2hvd0hlbHBUZXh0KXtcclxuICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWhlbHBcIiBjbGFzcz1cImljb24tY29sb3ItaGVscFwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxzcGFuPjo8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItdGV4dGZpZWxkXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICdkaXNhYmxlZCc6IGRpc2FibGVkLFxyXG4gICAgICAgICdmb2N1c2VkJzogaXNGb2N1c2VkXHJcbiAgICB9XCIgKGNsaWNrKT1cIm9uRm9jdXMoKVwiPlxyXG4gICAgICAgIEBpZiAoaWNvbklucHV0KSB7XHJcbiAgICAgICAgPGl1cy1pY29uLW1kIFtpY29uTmFtZV09XCJpY29uSW5wdXRcIiBjbGFzcz1cImljb24tY29sb3JcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8aW5wdXQgW3R5cGVdPVwiaW5wdXRUeXBlXCIgWyhuZ01vZGVsKV09XCJ0ZXh0SW5wdXRcIiByZWFkb25seSBbcGxhY2Vob2xkZXJdPVwibGFiZWxJbnB1dFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ2h0ID8/IG51bGxcIiAoZm9jdXMpPVwib25Gb2N1cygpXCIgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgICAgICAgICAoZHJvcCk9XCJvbkRyb3BCbG9jaygkZXZlbnQpXCIgKGRyYWdvdmVyKT1cIm9uRHJhZ092ZXJCbG9jaygkZXZlbnQpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNudC1pY29uLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIEBpZighc2hvd0xpc3Qpe1xyXG4gICAgICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LWRvd25cIiBjbGFzcz1cImljb24tYXJyb3dzXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICAgICAgfUBlbHNle1xyXG4gICAgICAgICAgICA8ZGl2IChjbGljayk9XCJjbG9zZUxpc3QoJGV2ZW50KVwiIHN0eWxlPVwiaGVpZ2h0OiAyMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1rZXlib2FyZC1hcnJvdy11cFwiIGNsYXNzPVwiaWNvbi1hcnJvd3NcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYgKHNob3dMaXN0KSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxpc3QgXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImN0bi1pdGVtcyBzY3JvbGxhYmxlLXNtYWxsXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKGRhdGEgb2YgZmlsdGVyRGF0YTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJpdGVtLWxpc3RcIiAoY2xpY2spPVwic2VsZWN0ZWREYXRhKGRhdGEpXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWl0ZW0gYm9keS1iIGNvbG9yLXByeVwiPnt7ZGF0YS50aXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGl1cy1pY29uLXNtIGljb25OYW1lPVwiaWNvbi1hcnJvdy1mb3J3YXJkLWlvc1wiIGNsYXNzPVwiY29sb3ItcHJ5XCI+PC9pdXMtaWNvbi1zbT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBAaWYoZmlsdGVyRGF0YVNlbGVjdGVkKXtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImN0bi1pdGVtcyBzY3JvbGxhYmxlLXNtYWxsXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZmlsdGVyRGF0YVNlbGVjdGVkLnZhbHVlczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNoZWNrXCIgKGNsaWNrKT1cInNlbGVjdGVkSXRlbShpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgPGl1cy1jaGVja2JveCBbY2hlY2tlZF09XCJpdGVtLmNoZWNrZWRcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBzZWxlY3RlZEl0ZW0oaXRlbSlcIj48L2l1cy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtaXRlbSBib2R5LWIgY29sb3ItcHJ5XCI+e3tpdGVtLnRleHR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuPC9kaXY+Il19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1zZWxlY3QtZmlsdGVyL2lucHV0LXNlbGVjdC1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtc2VsZWN0LWZpbHRlci9pbnB1dC1zZWxlY3QtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVcsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBaUJoRCxNQUFNLE9BQU8sMEJBQTBCO0lBUHZDO1FBYUUsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLHFCQUFnQixHQUFZLEtBQUssQ0FBQyxDQUFDLHNFQUFzRTtRQUN6RyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRUMsZ0JBQVcsR0FBVyxFQUFFLENBQUMsQ0FBQywrREFBK0Q7UUFDM0csYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUlyQixjQUFTLEdB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VTtzQkFBbEIsS0FBSztnQkFVcUIsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFtQlAsY0FBYztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uTWRDb21wb25lbnQgfSBmcm9tICcuLi9pY29uLW1kL2ljb24tbWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEljb25TbUNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uLXNtXCI7XHJcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSBcIi4uL2NoZWNrYm94XCI7XHJcblxyXG5leHBvcnQgdHlwZSBGaWx0ZXJEYXRhID0geyB0aXRsZTogc3RyaW5nOyB2YWx1ZXM6IEZpbHRlckl0ZW1JbnB1dExpc3RbXTsgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEZpbHRlckl0ZW1JbnB1dExpc3QgPSB7XHJcbiAgaWQ/OiBudW1iZXI7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIGNoZWNrZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWlucHV0LXNlbGVjdC1maWx0ZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0ljb25NZENvbXBvbmVudCwgRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSwgSWNvblNtQ29tcG9uZW50LCBDaGVja2JveENvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXNlbGVjdC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9pbnB1dC1zZWxlY3QtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRTZWxlY3RGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrIHtcclxuXHJcbiAgQElucHV0KCkgZmlsdGVyRGF0YT86IEZpbHRlckRhdGFbXTtcclxuICBmaWx0ZXJEYXRhU2VsZWN0ZWQ/OiBGaWx0ZXJEYXRhO1xyXG4gIGl0ZW1TZWxlY3RlZD86IEZpbHRlckl0ZW1JbnB1dExpc3Q7XHJcblxyXG4gIGlzRm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzQWxlcnRUZXh0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0xpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBoYXNDbGlja2VkSW5zaWRlOiBib29sZWFuID0gZmFsc2U7IC8vQmFuZGVyYSBwYXJhIGRldGVjdGFyIHF1ZSB5YSBkaWVyb24gZWwgcHJpbWVyIGNsaWNrIGVuIGVsIGNvbXBvbmVudGVcclxuICBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb21wb25lbnRJZDogc3RyaW5nID0gJyc7IC8vRGViZSBtYW5kYXIgdW4gY29tcG9uZW50ZUlEIHBhcmEgbGxhbWFyIGVsIGlucHV0IHZhcmlhcyB2ZWNlc1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0hlbHBUZXh0ID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGxhYmVsU3VwZXJpb3I/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWxJbnB1dD86IHN0cmluZztcclxuICBASW5wdXQoKSBpY29uSW5wdXQ/OiBzdHJpbmcgPSAnaWNvbi1zZWFyY2gnO1xyXG5cclxuICBASW5wdXQoKSB0ZXh0SW5wdXQ/OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBtYXhsZW5naHQ/OiBudW1iZXI7XHJcbiAgQElucHV0KCkgaW5wdXRUeXBlOiBzdHJpbmcgPSAndGV4dCc7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZXNWYWx1ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx7IHRleHQ6IHN0cmluZzsgaXRlbXM6IEZpbHRlckl0ZW1JbnB1dExpc3RbXSB9PigpO1xyXG4gIEBPdXRwdXQoKSBvbkVudGVyS2V5ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKiBGaXJtYSBkZSBsb3Mgw610ZW1zIHNlbGVjY2lvbmFkb3MgcGFyYSBkZXRlY3RhciBjYW1iaW9zIGV4dGVybm9zIChyZXNldCwgZXRjLikgKi9cclxuICBwcml2YXRlIGxhc3RTZWxlY3RlZFNpZ25hdHVyZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8vIPCflI0gU2UgZWplY3V0YSBlbiBjYWRhIGNpY2xvIGRlIGRldGVjY2nDs24gZGUgY2FtYmlvc1xyXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSB0aGlzLmdldFNlbGVjdGVkSXRlbXMoKTtcclxuICAgIGNvbnN0IG5ld1NpZ25hdHVyZSA9IHNlbGVjdGVkSXRlbXMubWFwKGkgPT4gKGkuaWQgPz8gaS50ZXh0KSkuam9pbignfCcpO1xyXG5cclxuICAgIGlmIChuZXdTaWduYXR1cmUgIT09IHRoaXMubGFzdFNlbGVjdGVkU2lnbmF0dXJlKSB7XHJcbiAgICAgIHRoaXMubGFzdFNlbGVjdGVkU2lnbmF0dXJlID0gbmV3U2lnbmF0dXJlO1xyXG4gICAgICAvLyBBY3R1YWxpemEgZWwgdGV4dG8gZW4gZWwgaW5wdXQgY2FkYSB2ZXogcXVlIGNhbWJpYSBsYSBzZWxlY2Npw7NuIGRlc2RlIGFmdWVyYSBvIGRlc2RlIGFkZW50cm9cclxuICAgICAgdGhpcy50ZXh0SW5wdXQgPSBzZWxlY3RlZEl0ZW1zLm1hcChpID0+IGkudGV4dCkuam9pbignLCAnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vRXN0YSBmdW5jaW9uIHBlcm1pdGUgcXVlIGVsIHNlIGNpZXJyZSBlbCBsaXN0YWRvIHNpIGVsIHVzdWFyaW8gZGEgY2xpY2sgZW4gb3RybyBsYWRvIGZ1ZXJhIGRlbCBjb21wb25lbnRlXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2tPdXRzaWRlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmhhc0NsaWNrZWRJbnNpZGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jb21wb25lbnRJZCk7XHJcbiAgICBjb25zdCBjb250YWluZXJUZXh0ZmllbGQgPSBjb250YWluZXI/LnF1ZXJ5U2VsZWN0b3IoJy5jb250YWluZXItdGV4dGZpZWxkJyk7XHJcbiAgICBjb25zdCBjb250YWluZXJMaXN0ID0gY29udGFpbmVyPy5xdWVyeVNlbGVjdG9yKCcuY29udGFpbmVyLWxpc3QnKTtcclxuICAgIFxyXG4gICAgLy8gQ2llcnJhIGxhIGxpc3RhIHNvbG8gc2kgZWwgY2xpY2sgZXN0w6EgZnVlcmEgZGVsIGNvbXBvbmVudGUgY29tcGxldG9cclxuICAgIGlmIChjb250YWluZXIgJiYgIWNvbnRhaW5lci5jb250YWlucyh0YXJnZXQpKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VMaXN0KCk7XHJcbiAgICB9XHJcbiAgICAvLyBTaSBlbCBjbGljayBlc3TDoSBkZW50cm8gZGVsIGNvbXBvbmVudGUgcGVybyBmdWVyYSBkZSB0ZXh0ZmllbGQgeSBsaXN0YSwgY2llcnJhXHJcbiAgICBlbHNlIGlmIChjb250YWluZXJUZXh0ZmllbGQgJiYgY29udGFpbmVyTGlzdCkge1xyXG4gICAgICBpZiAoIWNvbnRhaW5lclRleHRmaWVsZC5jb250YWlucyh0YXJnZXQpICYmICFjb250YWluZXJMaXN0LmNvbnRhaW5zKHRhcmdldCkpIHtcclxuICAgICAgICB0aGlzLmNsb3NlTGlzdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZUxpc3QoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0xpc3QgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0U2VsZWN0ZWRJdGVtcygpO1xyXG4gICAgdGhpcy5vbkNoYW5nZXNWYWx1ZUV2ZW50LmVtaXQoeyB0ZXh0OiB0aGlzLnRleHRJbnB1dCA/PyAnJywgaXRlbXMgfSk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5zaG93TGlzdCA9IHRydWU7XHJcbiAgICB0aGlzLmhhc0NsaWNrZWRJbnNpZGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgaWYgKHRoaXMudGV4dElucHV0IS50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgICAgdGhpcy5vbkVudGVyS2V5LmVtaXQodGhpcy50ZXh0SW5wdXQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkRyb3BCbG9jayhldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICAvLyBFdml0YSBxdWUgc2UgZHJvcGVlIGNvbnRlbmlkbyBlbiBlbCBpbnB1dFxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIG9uRHJhZ092ZXJCbG9jayhldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICAvLyBFdml0YSBxdWUgc2UgcGVybWl0YSBhcnJhc3RyYXIgdGV4dG8gc29icmUgZWwgaW5wdXRcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZERhdGEoZGF0YTogRmlsdGVyRGF0YSkge1xyXG4gICAgdGhpcy5maWx0ZXJEYXRhU2VsZWN0ZWQgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRJdGVtKGRhdGE6IEZpbHRlckl0ZW1JbnB1dExpc3QpIHtcclxuICAgIGRhdGEuY2hlY2tlZCA9ICFkYXRhLmNoZWNrZWQ7XHJcbiAgICB0aGlzLml0ZW1TZWxlY3RlZCA9IGRhdGE7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmdldFNlbGVjdGVkSXRlbXMoKTtcclxuICAgIHRoaXMudGV4dElucHV0ID0gc2VsZWN0ZWQubWFwKGkgPT4gaS50ZXh0KS5qb2luKCcsICcpO1xyXG4gICAgdGhpcy5sYXN0U2VsZWN0ZWRTaWduYXR1cmUgPSBzZWxlY3RlZC5tYXAoaSA9PiAoaS5pZCA/PyBpLnRleHQpKS5qb2luKCd8Jyk7XHJcblxyXG4gICAgdGhpcy5vbkNoYW5nZXNWYWx1ZUV2ZW50LmVtaXQoeyB0ZXh0OiB0aGlzLnRleHRJbnB1dCA/PyAnJywgaXRlbXM6IHNlbGVjdGVkIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRJdGVtcygpOiBGaWx0ZXJJdGVtSW5wdXRMaXN0W10ge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtczogRmlsdGVySXRlbUlucHV0TGlzdFtdID0gW107XHJcbiAgICBpZiAoIXRoaXMuZmlsdGVyRGF0YSkgeyByZXR1cm4gc2VsZWN0ZWRJdGVtczsgfVxyXG4gICAgZm9yIChjb25zdCBncm91cCBvZiB0aGlzLmZpbHRlckRhdGEpIHtcclxuICAgICAgaWYgKCFncm91cC52YWx1ZXMpIHsgY29udGludWU7IH1cclxuICAgICAgZm9yIChjb25zdCB2IG9mIGdyb3VwLnZhbHVlcykge1xyXG4gICAgICAgIGlmICh2ICYmIHYuY2hlY2tlZCkge1xyXG4gICAgICAgICAgc2VsZWN0ZWRJdGVtcy5wdXNoKHYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHNlbGVjdGVkSXRlbXM7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZ2VuZXJhbFwiIFtpZF09XCJjb21wb25lbnRJZFwiPlxyXG4gICAgQGlmIChsYWJlbFN1cGVyaW9yKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxhYmVsLXN1cFwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAnZGlzYWJsZWQnOiBkaXNhYmxlZFxyXG4gICAgfVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiXCI+e3tsYWJlbFN1cGVyaW9yfX08L3NwYW4+XHJcbiAgICAgICAgQGlmKCFkaXNhYmxlZCAmJiBzaG93SGVscFRleHQpe1xyXG4gICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiIGNsYXNzPVwiaWNvbi1jb2xvci1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICB9XHJcbiAgICAgICAgPHNwYW4+Ojwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0ZmllbGRcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2Rpc2FibGVkJzogZGlzYWJsZWQsXHJcbiAgICAgICAgJ2ZvY3VzZWQnOiBpc0ZvY3VzZWRcclxuICAgIH1cIiAoY2xpY2spPVwib25Gb2N1cygpXCI+XHJcbiAgICAgICAgQGlmIChpY29uSW5wdXQpIHtcclxuICAgICAgICA8aXVzLWljb24tbWQgW2ljb25OYW1lXT1cImljb25JbnB1dFwiIGNsYXNzPVwiaWNvbi1jb2xvclwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxpbnB1dCBbdHlwZV09XCJpbnB1dFR5cGVcIiBbKG5nTW9kZWwpXT1cInRleHRJbnB1dFwiIHJlYWRvbmx5IFtwbGFjZWhvbGRlcl09XCJsYWJlbElucHV0XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5naHQgPz8gbnVsbFwiIChmb2N1cyk9XCJvbkZvY3VzKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgICAgICAgIChkcm9wKT1cIm9uRHJvcEJsb2NrKCRldmVudClcIiAoZHJhZ292ZXIpPVwib25EcmFnT3ZlckJsb2NrKCRldmVudClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY250LWljb24tcmlnaHRcIj5cclxuICAgICAgICAgICAgQGlmKCFzaG93TGlzdCl7XHJcbiAgICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctZG93blwiIGNsYXNzPVwiaWNvbi1hcnJvd3NcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgICAgICB9QGVsc2V7XHJcbiAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImNsb3NlTGlzdCgkZXZlbnQpXCIgc3R5bGU9XCJoZWlnaHQ6IDIwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LXVwXCIgY2xhc3M9XCJpY29uLWFycm93c1wiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAoc2hvd0xpc3QpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItbGlzdCBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3RuLWl0ZW1zIHNjcm9sbGFibGUtc21hbGxcIj5cclxuICAgICAgICAgICAgQGZvciAoZGF0YSBvZiBmaWx0ZXJEYXRhOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIml0ZW0tbGlzdFwiIChjbGljayk9XCJzZWxlY3RlZERhdGEoZGF0YSlcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtaXRlbSBib2R5LWIgY29sb3ItcHJ5XCI+e3tkYXRhLnRpdGxlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aXVzLWljb24tc20gaWNvbk5hbWU9XCJpY29uLWFycm93LWZvcndhcmQtaW9zXCIgY2xhc3M9XCJjb2xvci1wcnlcIj48L2l1cy1pY29uLXNtPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZihmaWx0ZXJEYXRhU2VsZWN0ZWQpe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3RuLWl0ZW1zIHNjcm9sbGFibGUtc21hbGxcIj5cclxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJEYXRhU2VsZWN0ZWQudmFsdWVzOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tY2hlY2tcIiAoY2xpY2spPVwic2VsZWN0ZWRJdGVtKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICA8aXVzLWNoZWNrYm94IFtjaGVja2VkXT1cIml0ZW0uY2hlY2tlZFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHNlbGVjdGVkSXRlbShpdGVtKVwiPjwvaXVzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1pdGVtIGJvZHktYiBjb2xvci1wcnlcIj57e2l0ZW0udGV4dH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG48L2Rpdj4iXX0=
@@ -2520,16 +2520,28 @@ class InputSelectComponent {
2520
2520
  this.onChangesValueEvent = new EventEmitter();
2521
2521
  this.onEnterKey = new EventEmitter();
2522
2522
  }
2523
- //Esta funcion permite que el se cierre el listado si el usuario da click en otro lado fuera del componente
2523
+ //Esta funcion permite que se cierre el listado si el usuario da click en otro lado fuera del componente
2524
2524
  onClickOutside(event) {
2525
2525
  if (!this.hasClickedInside) {
2526
2526
  return;
2527
2527
  }
2528
2528
  const target = event.target;
2529
2529
  const container = document.getElementById(this.componentId);
2530
+ const containerTextfield = container?.querySelector('.container-textfield');
2531
+ const containerList = container?.querySelector('.container-list');
2532
+ // 1. Cierra la lista si el click está completamente fuera del componente
2530
2533
  if (container && !container.contains(target)) {
2531
2534
  this.closeList();
2532
2535
  }
2536
+ // 2. Si el click está dentro del componente pero
2537
+ // NO está ni en el textfield ni en la lista, también cierra
2538
+ else if (containerTextfield && containerList) {
2539
+ const clickEnTextfield = containerTextfield.contains(target);
2540
+ const clickEnLista = containerList.contains(target);
2541
+ if (!clickEnTextfield && !clickEnLista) {
2542
+ this.closeList();
2543
+ }
2544
+ }
2533
2545
  }
2534
2546
  closeList(event) {
2535
2547
  if (event) {
@@ -4930,14 +4942,18 @@ class InputSelectFilterComponent {
4930
4942
  this.inputType = 'text';
4931
4943
  this.onChangesValueEvent = new EventEmitter();
4932
4944
  this.onEnterKey = new EventEmitter();
4945
+ /** Firma de los ítems seleccionados para detectar cambios externos (reset, etc.) */
4946
+ this.lastSelectedSignature = '';
4933
4947
  }
4934
- set filterData(value) {
4935
- this._filterData = value;
4936
- // cada vez que cambie desde afuera recalculo el texto
4937
- this.updateTextInputFromSelected();
4938
- }
4939
- get filterData() {
4940
- return this._filterData;
4948
+ // 🔍 Se ejecuta en cada ciclo de detección de cambios
4949
+ ngDoCheck() {
4950
+ const selectedItems = this.getSelectedItems();
4951
+ const newSignature = selectedItems.map(i => (i.id ?? i.text)).join('|');
4952
+ if (newSignature !== this.lastSelectedSignature) {
4953
+ this.lastSelectedSignature = newSignature;
4954
+ // Actualiza el texto en el input cada vez que cambia la selección desde afuera o desde adentro
4955
+ this.textInput = selectedItems.map(i => i.text).join(', ');
4956
+ }
4941
4957
  }
4942
4958
  //Esta funcion permite que el se cierre el listado si el usuario da click en otro lado fuera del componente
4943
4959
  onClickOutside(event) {
@@ -5005,28 +5021,11 @@ class InputSelectFilterComponent {
5005
5021
  selectedItem(data) {
5006
5022
  data.checked = !data.checked;
5007
5023
  this.itemSelected = data;
5008
- const selected = this.updateTextInputFromSelected();
5024
+ const selected = this.getSelectedItems();
5025
+ this.textInput = selected.map(i => i.text).join(', ');
5026
+ this.lastSelectedSignature = selected.map(i => (i.id ?? i.text)).join('|');
5009
5027
  this.onChangesValueEvent.emit({ text: this.textInput ?? '', items: selected });
5010
5028
  }
5011
- updateTextInputFromSelected() {
5012
- const selectedItems = [];
5013
- if (!this.filterData) {
5014
- this.textInput = '';
5015
- return selectedItems;
5016
- }
5017
- for (const group of this.filterData) {
5018
- if (!group.values) {
5019
- continue;
5020
- }
5021
- for (const v of group.values) {
5022
- if (v && v.checked) {
5023
- selectedItems.push(v);
5024
- }
5025
- }
5026
- }
5027
- this.textInput = selectedItems.map(i => i.text).join(', ');
5028
- return selectedItems;
5029
- }
5030
5029
  getSelectedItems() {
5031
5030
  const selectedItems = [];
5032
5031
  if (!this.filterData) {