bit-ng-library 13.1.9 → 13.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,6 +30,11 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
30
30
 
31
31
  Correcciones BitDropDownComponent tras pruebas: Emitir evento onChange cuando cambie el value del FormControl. Tampoco no extiende BitCustomComponent (V2).
32
32
 
33
+ ## [13.1.10] - 2022-07-14
34
+
35
+ Cambios BitDropDownMultipleComponent para que no implemente ControlValueAccessor.
36
+ Corrección template BitDropDownComponent para usar [formControl]="control" y no [formControl]="myForm.controls[nombre]".
37
+
33
38
  ## [13.1.8] - 2022-07-13
34
39
 
35
40
  Cambios BitDropDownComponent para que no implemente ControlValueAccessor.
@@ -3,7 +3,7 @@ import { BaseComponent } from "../../../base/components/base.component";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../services/ayuda.service";
5
5
  /**
6
- * Clase general que todos los componentes personalizados declearben extender. Contiene toda la lógica común para trabajar con
6
+ * Clase general que todos los componentes personalizados declearben extender. Contiene toda la lógica común para trabajar con
7
7
  * componentes personalizados
8
8
  */
9
9
  export class BitGeneralV2Component extends BaseComponent {
@@ -50,13 +50,23 @@ export class BitGeneralV2Component extends BaseComponent {
50
50
  get value_lectura() {
51
51
  return this.control.value;
52
52
  }
53
+ get myForm() {
54
+ if (!!this.form) {
55
+ return this.form;
56
+ }
57
+ else {
58
+ return this.control.parent;
59
+ }
60
+ }
53
61
  }
54
62
  BitGeneralV2Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitGeneralV2Component, deps: [{ token: i1.AyudaService }], target: i0.ɵɵFactoryTarget.Directive });
55
- BitGeneralV2Component.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: BitGeneralV2Component, inputs: { control: "control", nombre: "nombre", nombreDirectiva: "nombreDirectiva", label: "label", estilo: "estilo", tooltipTexto: "tooltipTexto", tooltipPosicion: "tooltipPosicion", ayuda: "ayuda", placeholder: "placeholder", readOnly: "readOnly", hideLabel: "hideLabel", instanciaPipe: "instanciaPipe", forceObligatorio: "forceObligatorio" }, outputs: { onChange: "onChange" }, usesInheritance: true, ngImport: i0 });
63
+ BitGeneralV2Component.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: BitGeneralV2Component, inputs: { control: "control", form: "form", nombre: "nombre", nombreDirectiva: "nombreDirectiva", label: "label", estilo: "estilo", tooltipTexto: "tooltipTexto", tooltipPosicion: "tooltipPosicion", ayuda: "ayuda", placeholder: "placeholder", readOnly: "readOnly", hideLabel: "hideLabel", instanciaPipe: "instanciaPipe", forceObligatorio: "forceObligatorio" }, outputs: { onChange: "onChange" }, usesInheritance: true, ngImport: i0 });
56
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitGeneralV2Component, decorators: [{
57
65
  type: Directive
58
66
  }], ctorParameters: function () { return [{ type: i1.AyudaService }]; }, propDecorators: { control: [{
59
67
  type: Input
68
+ }], form: [{
69
+ type: Input
60
70
  }], nombre: [{
61
71
  type: Input
62
72
  }], nombreDirectiva: [{
@@ -84,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
84
94
  }], onChange: [{
85
95
  type: Output
86
96
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWdlbmVyYWwtdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYml0LW5nLWxpYnJhcnkvc3JjL2xpYi9zaGFyZWRsaWJyYXJ5L2NvbXBvbmVudHMvZm9ybS9iaXQtZ2VuZXJhbC12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQUV4RTs7O0dBR0c7QUFFSCxNQUFNLE9BQWdCLHFCQUFzQixTQUFRLGFBQWE7SUE4Qi9ELFlBQXNCLFlBQTBCO1FBQzlDLEtBQUssRUFBRSxDQUFDO1FBRFksaUJBQVksR0FBWixZQUFZLENBQWM7UUFaaEQsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFekIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixjQUFTLEdBQVksS0FBSyxDQUFDLENBQUMsNERBQTREO1FBSXhGLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVsQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUl0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsNEhBQTRIO0lBQzVILE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFFRCw0SEFBNEg7SUFDNUgsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUU7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCwyRkFBMkY7SUFDM0Ysa0dBQWtHO0lBQ2xHLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7O2tIQXZFbUIscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEMUMsU0FBUzttR0FHUixPQUFPO3NCQUROLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLGVBQWU7c0JBRGQsS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLGFBQWE7c0JBRFosS0FBSztnQkFHTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFHTixRQUFRO3NCQURQLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5pbXBvcnQgeyBBeXVkYVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXl1ZGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uLy4uL2Jhc2UvY29tcG9uZW50cy9iYXNlLmNvbXBvbmVudFwiO1xyXG5cclxuLyoqXHJcbiAqICBDbGFzZSBnZW5lcmFsIHF1ZSB0b2RvcyBsb3MgY29tcG9uZW50ZXMgcGVyc29uYWxpemFkb3MgZGVjbGVhcmJlbiBleHRlbmRlci4gQ29udGllbmUgdG9kYSBsYSBsw7NnaWNhIGNvbcO6biBwYXJhIHRyYWJhamFyIGNvblxyXG4gKiBjb21wb25lbnRlcyBwZXJzb25hbGl6YWRvc1xyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCaXRHZW5lcmFsVjJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gIEBJbnB1dCgpXHJcbiAgbm9tYnJlOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBub21icmVEaXJlY3RpdmE6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBlc3RpbG86IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHRvb2x0aXBUZXh0bzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgdG9vbHRpcFBvc2ljaW9uOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBheXVkYTogc3RyaW5nOyAvLyBjbGF2ZSBkZSBsYSBheXVkYSBjb250ZXh0dWFsXHJcbiAgQElucHV0KClcclxuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKVxyXG4gIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBoaWRlTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTsgLy8gZm9yemFyIHF1ZSBubyBzZSByZXNlcnZlIGVzcGFjaW8gcGFyYSBlbCBub21icmUgZGVsIGNhbXBvXHJcbiAgQElucHV0KClcclxuICBpbnN0YW5jaWFQaXBlOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBmb3JjZU9ibGlnYXRvcmlvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuIFxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBheXVkYVNlcnZpY2U6IEF5dWRhU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGBjb250cm9sIG5vIGRlZmluaWRvIHBhcmEgJHt0aGlzLm5vbWJyZX1gKTtcclxuICAgIH1cclxuICB9XHJcbiBcclxuICAvKiogQ29udHJvbGFtb3Mgc2kgZGViZW1vcyBtb2RpZmljYXIgZWwgdmFsb3IgaW50ZXJubyBkZWwgY29tcG9uZW50ZSBtZWRpYW50ZSB1bmEgdHJhbnNmb3JtYWNpb24gYWwgdGVuZXIgdW4gcGlwZSBhc29jaWFkbyovXHJcbiAgb25CbHVyKCkge1xyXG4gICAgaWYgKHRoaXMuaW5zdGFuY2lhUGlwZSAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLmluc3RhbmNpYVBpcGUudHJhbnNmb3JtKHRoaXMuY29udHJvbC52YWx1ZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuIFxyXG4gIC8qKiBDb250cm9sYW1vcyBzaSBkZWJlbW9zIG1vZGlmaWNhciBlbCB2YWxvciBpbnRlcm5vIGRlbCBjb21wb25lbnRlIG1lZGlhbnRlIHVuYSB0cmFuc2Zvcm1hY2lvbiBhbCB0ZW5lciB1biBwaXBlIGFzb2NpYWRvKi9cclxuICBvbkZvY3VzKCkge1xyXG4gICAgaWYgKHRoaXMuaW5zdGFuY2lhUGlwZSAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLmluc3RhbmNpYVBpcGUucGFyc2UodGhpcy5jb250cm9sLnZhbHVlKSk7XHJcbiAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gXHJcbiAgLy8gZGVjaWRpbW9zIG1hcmNhciBlbCBjYW1wbyBjb21vIG9ibGlnYXRvcmlvIHNpIHNlIGhhIGluZGljYWRvIGEgbGEgZnVlcnphIChwb3IgcGFyw6FtZXRybylcclxuICAvLyBvIHNpIGVsIGNvbnRyb2wgZGUgZm9ybXVsYXJpbyBhc29jaWFkbyBlc3TDoSBzYWx0YW5kbyBwb3Igc2VyIG9ibGlnYXRvcmlvIHkgbm8gaGFiZXJzZSByZWxsZW5hZG9cclxuICBnZXQgb2JsaWdhdG9yaW8oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JjZU9ibGlnYXRvcmlvIHx8ICh0aGlzLmNvbnRyb2wgJiYgdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzW1wicmVxdWlyZWRcIl0pO1xyXG4gIH1cclxuIFxyXG4gIHNob3dBeXVkYSgpIHtcclxuICAgIHRoaXMuYXl1ZGFTZXJ2aWNlLm1vc3RyYXJBeXVkYSh0aGlzLmF5dWRhKTtcclxuICB9XHJcbiBcclxuICBnZXQgdmFsdWVfbGVjdHVyYSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC52YWx1ZTtcclxuICB9XHJcbn1cclxuICJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWdlbmVyYWwtdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYml0LW5nLWxpYnJhcnkvc3JjL2xpYi9zaGFyZWRsaWJyYXJ5L2NvbXBvbmVudHMvZm9ybS9iaXQtZ2VuZXJhbC12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQUV4RTs7O0dBR0c7QUFFSCxNQUFNLE9BQWdCLHFCQUFzQixTQUFRLGFBQWE7SUFnQy9ELFlBQXNCLFlBQTBCO1FBQzlDLEtBQUssRUFBRSxDQUFDO1FBRFksaUJBQVksR0FBWixZQUFZLENBQWM7UUFaaEQsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFekIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixjQUFTLEdBQVksS0FBSyxDQUFDLENBQUMsNERBQTREO1FBSXhGLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVsQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUl0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsNEhBQTRIO0lBQzVILE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFFRCw0SEFBNEg7SUFDNUgsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUU7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCwyRkFBMkY7SUFDM0Ysa0dBQWtHO0lBQ2xHLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2xCO2FBQU07WUFDTCxPQUFtQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUN4QztJQUNILENBQUM7O2tIQWpGbUIscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEMUMsU0FBUzttR0FHUixPQUFPO3NCQUROLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBR04sZUFBZTtzQkFEZCxLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBEaXJlY3RpdmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5pbXBvcnQgeyBBeXVkYVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXl1ZGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uLy4uL2Jhc2UvY29tcG9uZW50cy9iYXNlLmNvbXBvbmVudFwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNlIGdlbmVyYWwgcXVlIHRvZG9zIGxvcyBjb21wb25lbnRlcyBwZXJzb25hbGl6YWRvcyBkZWNsZWFyYmVuIGV4dGVuZGVyLiBDb250aWVuZSB0b2RhIGxhIGzDs2dpY2EgY29tw7puIHBhcmEgdHJhYmFqYXIgY29uXHJcbiAqIGNvbXBvbmVudGVzIHBlcnNvbmFsaXphZG9zXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJpdEdlbmVyYWxWMkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgQElucHV0KClcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KClcclxuICBub21icmU6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIG5vbWJyZURpcmVjdGl2YTogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGVzdGlsbzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgdG9vbHRpcFRleHRvOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICB0b29sdGlwUG9zaWNpb246IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGF5dWRhOiBzdHJpbmc7IC8vIGNsYXZlIGRlIGxhIGF5dWRhIGNvbnRleHR1YWxcclxuICBASW5wdXQoKVxyXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpXHJcbiAgcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGhpZGVMYWJlbDogYm9vbGVhbiA9IGZhbHNlOyAvLyBmb3J6YXIgcXVlIG5vIHNlIHJlc2VydmUgZXNwYWNpbyBwYXJhIGVsIG5vbWJyZSBkZWwgY2FtcG9cclxuICBASW5wdXQoKVxyXG4gIGluc3RhbmNpYVBpcGU6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIGZvcmNlT2JsaWdhdG9yaW86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KClcclxuICBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGF5dWRhU2VydmljZTogQXl1ZGFTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5sb2coYGNvbnRyb2wgbm8gZGVmaW5pZG8gcGFyYSAke3RoaXMubm9tYnJlfWApO1xyXG4gICAgfVxyXG4gIH1cclxuIFxyXG4gIC8qKiBDb250cm9sYW1vcyBzaSBkZWJlbW9zIG1vZGlmaWNhciBlbCB2YWxvciBpbnRlcm5vIGRlbCBjb21wb25lbnRlIG1lZGlhbnRlIHVuYSB0cmFuc2Zvcm1hY2lvbiBhbCB0ZW5lciB1biBwaXBlIGFzb2NpYWRvKi9cclxuICBvbkJsdXIoKSB7XHJcbiAgICBpZiAodGhpcy5pbnN0YW5jaWFQaXBlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMuaW5zdGFuY2lhUGlwZS50cmFuc2Zvcm0odGhpcy5jb250cm9sLnZhbHVlKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gXHJcbiAgLyoqIENvbnRyb2xhbW9zIHNpIGRlYmVtb3MgbW9kaWZpY2FyIGVsIHZhbG9yIGludGVybm8gZGVsIGNvbXBvbmVudGUgbWVkaWFudGUgdW5hIHRyYW5zZm9ybWFjaW9uIGFsIHRlbmVyIHVuIHBpcGUgYXNvY2lhZG8qL1xyXG4gIG9uRm9jdXMoKSB7XHJcbiAgICBpZiAodGhpcy5pbnN0YW5jaWFQaXBlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMuaW5zdGFuY2lhUGlwZS5wYXJzZSh0aGlzLmNvbnRyb2wudmFsdWUpKTtcclxuICAgICAgdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIH1cclxuICB9XHJcbiBcclxuICAvLyBkZWNpZGltb3MgbWFyY2FyIGVsIGNhbXBvIGNvbW8gb2JsaWdhdG9yaW8gc2kgc2UgaGEgaW5kaWNhZG8gYSBsYSBmdWVyemEgKHBvciBwYXLDoW1ldHJvKVxyXG4gIC8vIG8gc2kgZWwgY29udHJvbCBkZSBmb3JtdWxhcmlvIGFzb2NpYWRvIGVzdMOhIHNhbHRhbmRvIHBvciBzZXIgb2JsaWdhdG9yaW8geSBubyBoYWJlcnNlIHJlbGxlbmFkb1xyXG4gIGdldCBvYmxpZ2F0b3JpbygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmZvcmNlT2JsaWdhdG9yaW8gfHwgKHRoaXMuY29udHJvbCAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbXCJyZXF1aXJlZFwiXSk7XHJcbiAgfVxyXG4gXHJcbiAgc2hvd0F5dWRhKCkge1xyXG4gICAgdGhpcy5heXVkYVNlcnZpY2UubW9zdHJhckF5dWRhKHRoaXMuYXl1ZGEpO1xyXG4gIH1cclxuIFxyXG4gIGdldCB2YWx1ZV9sZWN0dXJhKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG15Rm9ybSgpOiBGb3JtR3JvdXAge1xyXG4gICAgaWYgKCEhdGhpcy5mb3JtKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZvcm07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gPEZvcm1Hcm91cD4gdGhpcy5jb250cm9sLnBhcmVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,6 +1,5 @@
1
- import { Component, forwardRef, Input } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { BitDropDownGeneralComponent } from './bit-dropdown-general.component';
1
+ import { Component, Input } from '@angular/core';
2
+ import { BitDropDownGeneralV2Component } from "./bit-dropdown-general-v2.component";
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@angular/router";
6
5
  import * as i2 from "../../../services";
@@ -8,36 +7,26 @@ import * as i3 from "primeng/multiselect";
8
7
  import * as i4 from "../../contol-messages/bit-control-messages.component";
9
8
  import * as i5 from "@angular/common";
10
9
  import * as i6 from "@angular/forms";
11
- export const CUSTOM_DROPDOWN_MULTIPLE_CONTROL_VALUE_ACCESSOR = {
12
- provide: NG_VALUE_ACCESSOR,
13
- useExisting: forwardRef(() => BitDropDownMultipleComponent),
14
- multi: true
15
- };
16
10
  /**
17
11
  * Clase que utiliza un custom componente para select múltiple de elementos
18
- * Utiliza la interfaz ControlValueAccessor
19
- * <bit-select [domain]="'DOMAIN_TIPO_LOG'" id="tipolog" [control]="formControl"">&nbsp;&nbsp;Tipus d'operació</bit-select>
12
+ * <bit-dropdown-multiple [domain]="'DOMAIN_TIPO_LOG'" id="tipolog" [control]="formControl"">&nbsp;&nbsp;Tipus d'operació</bit-dropdown-multiple>
20
13
  *
21
14
  * @input data: array de objetos a mostrar en el select. Puede ser null, en cuyo caso domain no puede ser null
22
15
  * @input domain: nombre del dominio que contiene los datos y que nos resolverá la página cuando cargue el componente. Puede ser null, en cuyo caso data no puede ser null
23
16
  * @input id: identificador del componente select
24
17
  **/
25
- export class BitDropDownMultipleComponent extends BitDropDownGeneralComponent {
18
+ export class BitDropDownMultipleComponent extends BitDropDownGeneralV2Component {
26
19
  // Si se pueden seleccionar muchos elementos, que el label de los elementos seleccionados no
27
20
  // aparezca dentro del select, y hacerlo como una lista fuera del select.
28
- constructor(router, sessionShared, ayudaService, changeDetectorRef, translateService) {
29
- super(router, sessionShared, ayudaService, changeDetectorRef, translateService);
21
+ constructor(router, sessionShared, ayudaService, translateService) {
22
+ super(router, sessionShared, ayudaService, translateService);
30
23
  this.router = router;
31
24
  this.sessionShared = sessionShared;
32
25
  this.ayudaService = ayudaService;
33
- this.changeDetectorRef = changeDetectorRef;
34
26
  this.translateService = translateService;
35
27
  this.maxSelectedLabels = 3;
36
28
  this.showSeparateSelectedLabels = false; // indica si se muestran los elementos seleccionados en una columna separada
37
29
  }
38
- ngOnInit() {
39
- super.ngOnInit();
40
- }
41
30
  ngOnChanges(changes) {
42
31
  let hayCambios = false;
43
32
  for (let propName in changes) {
@@ -59,11 +48,6 @@ export class BitDropDownMultipleComponent extends BitDropDownGeneralComponent {
59
48
  this.postRetrieveData();
60
49
  }
61
50
  }
62
- get value_lectura() {
63
- let val = this.value;
64
- let labels = this.listaOpciones && this.listaOpciones.filter((d) => val && val.indexOf(d.value) > -1).map((d) => d.label);
65
- return labels ? labels.join(", ") : null;
66
- }
67
51
  labelSelectedItem(id) {
68
52
  let label = "";
69
53
  if (this.listaOpciones) {
@@ -76,18 +60,18 @@ export class BitDropDownMultipleComponent extends BitDropDownGeneralComponent {
76
60
  }
77
61
  deleteSelectedItem(event, item) {
78
62
  event.preventDefault();
79
- let index = this.value.indexOf(item);
80
- this.value.splice(index, 1);
63
+ let index = this.control.value.indexOf(item);
64
+ let newValue = this.control.value.splice(index, 1);
81
65
  // se clona el array. Si no, el texto "{0} elementos seleccionados" del select de Prime no se actualiza.
82
- this.value = this.value.slice(0);
66
+ this.control.setValue(newValue.slice(0));
83
67
  }
84
68
  }
85
- BitDropDownMultipleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownMultipleComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.SessionSharedService }, { token: i2.AyudaService }, { token: i0.ChangeDetectorRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
86
- BitDropDownMultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownMultipleComponent, selector: "bit-dropdown-multiple", inputs: { maxSelectedLabels: "maxSelectedLabels", showSeparateSelectedLabels: "showSeparateSelectedLabels", title: "title", filter: "filter" }, providers: [CUSTOM_DROPDOWN_MULTIPLE_CONTROL_VALUE_ACCESSOR], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"row separador\" *ngIf=\"showSeparateSelectedLabels; else normalBitSelectMultiple\">\r\n <div> <!-- class=\"col-sm-4\"-->\r\n <ng-container *ngTemplateOutlet=\"normalBitSelectMultiple\"></ng-container>\r\n </div>\r\n <div><!-- elementos seleccionados -->\r\n <label>&nbsp;</label>\r\n <div class=\"multiselect-labels\">\r\n <div class=\"label label-primary multiselect-labels-lg\" *ngFor=\"let item of value\">\r\n <span>{{labelSelectedItem(item)}}</span>\r\n &nbsp;&nbsp;\r\n <a (click)=\"deleteSelectedItem($event, item)\" title=\"{{title}}\"><i class=\"fa fa-times\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #normalBitSelectMultiple>\r\n <label *ngIf=\"!hideLabel\"><ng-content></ng-content>&nbsp;<span *ngIf=\"obligatorio\" class=\"fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n </label>\r\n <p *ngIf=\"readOnly\" class=\"lectura\">{{value_lectura}}</p>\r\n <div *ngIf=\"!readOnly\">\r\n <p-multiSelect\r\n *ngIf=\"!readOnly\"\r\n id=\"{{id}}\"\r\n [filter]=\"filter\"\r\n [(ngModel)]=\"value\"\r\n [options]=\"listaOpciones\"\r\n [defaultLabel]=\"emptyTextResolved\"\r\n [maxSelectedLabels]=\"maxSelectedLabels\"\r\n selectedItemsLabel=\"{0} elements seleccionats\"\r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n </p-multiSelect>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n </div>\r\n</ng-template>\r\n", components: [{ type: i3.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }, { type: i4.BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
69
+ BitDropDownMultipleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownMultipleComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.SessionSharedService }, { token: i2.AyudaService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
70
+ BitDropDownMultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownMultipleComponent, selector: "bit-dropdown-multiple", inputs: { maxSelectedLabels: "maxSelectedLabels", showSeparateSelectedLabels: "showSeparateSelectedLabels", title: "title", filter: "filter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"row separador\" *ngIf=\"showSeparateSelectedLabels; else normalBitSelectMultiple\">\r\n <div> <!-- class=\"col-sm-4\"-->\r\n <ng-container *ngTemplateOutlet=\"normalBitSelectMultiple\"></ng-container>\r\n </div>\r\n <div><!-- elementos seleccionados -->\r\n <label>&nbsp;</label>\r\n <div class=\"multiselect-labels\">\r\n <div class=\"label label-primary multiselect-labels-lg\" *ngFor=\"let item of control.value\">\r\n <span>{{labelSelectedItem(item)}}</span>\r\n &nbsp;&nbsp;\r\n <a (click)=\"deleteSelectedItem($event, item)\" title=\"{{title}}\"><i class=\"fa fa-times\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #normalBitSelectMultiple>\r\n <label *ngIf=\"!hideLabel\"><ng-content></ng-content>&nbsp;<span *ngIf=\"obligatorio\" class=\"fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n </label>\r\n <p *ngIf=\"readOnly\" class=\"lectura\">{{value_lectura}}</p>\r\n <div [formGroup]=\"myForm\" *ngIf=\"!readOnly\">\r\n <p-multiSelect\r\n id=\"{{id}}\"\r\n [options]=\"listaOpciones\"\r\n [formControl]=\"control\"\r\n \r\n [defaultLabel]=\"emptyTextResolved\"\r\n [maxSelectedLabels]=\"maxSelectedLabels\"\r\n selectedItemsLabel=\"{0} elements seleccionats\"\r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n </p-multiSelect>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n </div>\r\n</ng-template>\r\n", components: [{ type: i3.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }, { type: i4.BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
87
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownMultipleComponent, decorators: [{
88
72
  type: Component,
89
- args: [{ selector: "bit-dropdown-multiple", providers: [CUSTOM_DROPDOWN_MULTIPLE_CONTROL_VALUE_ACCESSOR], template: "<div class=\"row separador\" *ngIf=\"showSeparateSelectedLabels; else normalBitSelectMultiple\">\r\n <div> <!-- class=\"col-sm-4\"-->\r\n <ng-container *ngTemplateOutlet=\"normalBitSelectMultiple\"></ng-container>\r\n </div>\r\n <div><!-- elementos seleccionados -->\r\n <label>&nbsp;</label>\r\n <div class=\"multiselect-labels\">\r\n <div class=\"label label-primary multiselect-labels-lg\" *ngFor=\"let item of value\">\r\n <span>{{labelSelectedItem(item)}}</span>\r\n &nbsp;&nbsp;\r\n <a (click)=\"deleteSelectedItem($event, item)\" title=\"{{title}}\"><i class=\"fa fa-times\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #normalBitSelectMultiple>\r\n <label *ngIf=\"!hideLabel\"><ng-content></ng-content>&nbsp;<span *ngIf=\"obligatorio\" class=\"fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n </label>\r\n <p *ngIf=\"readOnly\" class=\"lectura\">{{value_lectura}}</p>\r\n <div *ngIf=\"!readOnly\">\r\n <p-multiSelect\r\n *ngIf=\"!readOnly\"\r\n id=\"{{id}}\"\r\n [filter]=\"filter\"\r\n [(ngModel)]=\"value\"\r\n [options]=\"listaOpciones\"\r\n [defaultLabel]=\"emptyTextResolved\"\r\n [maxSelectedLabels]=\"maxSelectedLabels\"\r\n selectedItemsLabel=\"{0} elements seleccionats\"\r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n </p-multiSelect>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n </div>\r\n</ng-template>\r\n" }]
90
- }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.SessionSharedService }, { type: i2.AyudaService }, { type: i0.ChangeDetectorRef }, { type: i2.TranslateService }]; }, propDecorators: { maxSelectedLabels: [{
73
+ args: [{ selector: "bit-dropdown-multiple", template: "<div class=\"row separador\" *ngIf=\"showSeparateSelectedLabels; else normalBitSelectMultiple\">\r\n <div> <!-- class=\"col-sm-4\"-->\r\n <ng-container *ngTemplateOutlet=\"normalBitSelectMultiple\"></ng-container>\r\n </div>\r\n <div><!-- elementos seleccionados -->\r\n <label>&nbsp;</label>\r\n <div class=\"multiselect-labels\">\r\n <div class=\"label label-primary multiselect-labels-lg\" *ngFor=\"let item of control.value\">\r\n <span>{{labelSelectedItem(item)}}</span>\r\n &nbsp;&nbsp;\r\n <a (click)=\"deleteSelectedItem($event, item)\" title=\"{{title}}\"><i class=\"fa fa-times\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #normalBitSelectMultiple>\r\n <label *ngIf=\"!hideLabel\"><ng-content></ng-content>&nbsp;<span *ngIf=\"obligatorio\" class=\"fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n </label>\r\n <p *ngIf=\"readOnly\" class=\"lectura\">{{value_lectura}}</p>\r\n <div [formGroup]=\"myForm\" *ngIf=\"!readOnly\">\r\n <p-multiSelect\r\n id=\"{{id}}\"\r\n [options]=\"listaOpciones\"\r\n [formControl]=\"control\"\r\n \r\n [defaultLabel]=\"emptyTextResolved\"\r\n [maxSelectedLabels]=\"maxSelectedLabels\"\r\n selectedItemsLabel=\"{0} elements seleccionats\"\r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n </p-multiSelect>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n </div>\r\n</ng-template>\r\n" }]
74
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.SessionSharedService }, { type: i2.AyudaService }, { type: i2.TranslateService }]; }, propDecorators: { maxSelectedLabels: [{
91
75
  type: Input
92
76
  }], showSeparateSelectedLabels: [{
93
77
  type: Input
@@ -96,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
96
80
  }], filter: [{
97
81
  type: Input
98
82
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWRyb3Bkb3duLW11bHRpcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLW11bHRpcGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLW11bHRpcGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSW5ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQUUvRSxNQUFNLENBQUMsTUFBTSwrQ0FBK0MsR0FBUTtJQUNsRSxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7SUFDM0QsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7Ozs7Ozs7O0lBUUk7QUFPSixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsMkJBQTJCO0lBSzNFLDRGQUE0RjtJQUM1Rix5RUFBeUU7SUFFekUsWUFDWSxNQUFzQixFQUN0QixhQUFtQyxFQUNuQyxZQUEwQixFQUMxQixpQkFBb0MsRUFDcEMsZ0JBQWtDO1FBRTVDLEtBQUssQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBTnRFLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFackMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLCtCQUEwQixHQUFZLEtBQUssQ0FBQyxDQUFDLDRFQUE0RTtJQWNsSSxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQTRDO1FBQ3RELElBQUksVUFBVSxHQUFZLEtBQUssQ0FBQztRQUNoQyxLQUFLLElBQUksUUFBUSxJQUFJLE9BQU8sRUFBRTtZQUM1QixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFO2dCQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdEYsVUFBVSxHQUFHLElBQUksQ0FBQzthQUNuQjtpQkFBTSxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUMvQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO2lCQUFNLElBQUksUUFBUSxLQUFLLGNBQWMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUM3QyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO1NBQ0Y7UUFDRCxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDckIsSUFBSSxNQUFNLEdBQVUsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakksT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBRTtRQUNsQixJQUFJLEtBQUssR0FBVyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzdELElBQUksUUFBUSxFQUFFO2dCQUNaLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO2FBQ3hCO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVCLHdHQUF3RztRQUN4RyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7O3lIQWpFVSw0QkFBNEI7NkdBQTVCLDRCQUE0QixnTUFGNUIsQ0FBQywrQ0FBK0MsQ0FBQyxzRUMxQjlELG90REFvQ0E7MkZEUmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1QixhQUV0QixDQUFDLCtDQUErQyxDQUFDO2tPQUduRCxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEF5dWRhU2VydmljZSwgU2Vzc2lvblNoYXJlZFNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEJpdERyb3BEb3duR2VuZXJhbENvbXBvbmVudCB9IGZyb20gJy4vYml0LWRyb3Bkb3duLWdlbmVyYWwuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjb25zdCBDVVNUT01fRFJPUERPV05fTVVMVElQTEVfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJpdERyb3BEb3duTXVsdGlwbGVDb21wb25lbnQpLFxyXG4gIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG4vKipcclxuICogQ2xhc2UgcXVlIHV0aWxpemEgdW4gY3VzdG9tIGNvbXBvbmVudGUgcGFyYSBzZWxlY3QgbcO6bHRpcGxlIGRlIGVsZW1lbnRvc1xyXG4gKiBVdGlsaXphIGxhIGludGVyZmF6IENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbiAqICAgIDxiaXQtc2VsZWN0IFtkb21haW5dPVwiJ0RPTUFJTl9USVBPX0xPRydcIiBpZD1cInRpcG9sb2dcIiBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXCI+Jm5ic3A7Jm5ic3A7VGlwdXMgZCdvcGVyYWNpw7M8L2JpdC1zZWxlY3Q+XHJcbiAqXHJcbiAqIEBpbnB1dCBkYXRhOiBhcnJheSBkZSBvYmpldG9zIGEgbW9zdHJhciBlbiBlbCBzZWxlY3QuIFB1ZWRlIHNlciBudWxsLCBlbiBjdXlvIGNhc28gZG9tYWluIG5vIHB1ZWRlIHNlciBudWxsXHJcbiAqIEBpbnB1dCBkb21haW46IG5vbWJyZSBkZWwgZG9taW5pbyBxdWUgY29udGllbmUgbG9zIGRhdG9zIHkgcXVlIG5vcyByZXNvbHZlcsOhIGxhIHDDoWdpbmEgY3VhbmRvIGNhcmd1ZSBlbCBjb21wb25lbnRlLiBQdWVkZSBzZXIgbnVsbCwgZW4gY3V5byBjYXNvIGRhdGEgbm8gcHVlZGUgc2VyIG51bGxcclxuICogQGlucHV0IGlkOiBpZGVudGlmaWNhZG9yIGRlbCBjb21wb25lbnRlIHNlbGVjdFxyXG4gKiovXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJiaXQtZHJvcGRvd24tbXVsdGlwbGVcIixcclxuICB0ZW1wbGF0ZVVybDogXCJiaXQtZHJvcGRvd24tbXVsdGlwbGUuY29tcG9uZW50Lmh0bWxcIixcclxuICBwcm92aWRlcnM6IFtDVVNUT01fRFJPUERPV05fTVVMVElQTEVfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJpdERyb3BEb3duTXVsdGlwbGVDb21wb25lbnQgZXh0ZW5kcyBCaXREcm9wRG93bkdlbmVyYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIG1heFNlbGVjdGVkTGFiZWxzOiBudW1iZXIgPSAzO1xyXG4gIEBJbnB1dCgpIHNob3dTZXBhcmF0ZVNlbGVjdGVkTGFiZWxzOiBib29sZWFuID0gZmFsc2U7IC8vIGluZGljYSBzaSBzZSBtdWVzdHJhbiBsb3MgZWxlbWVudG9zIHNlbGVjY2lvbmFkb3MgZW4gdW5hIGNvbHVtbmEgc2VwYXJhZGFcclxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nOyAvL3TDrXR1bG8gcXVlIGFwYXJlY2UgZW4gZWwgbGluayBwYXJhIGVsaW1pbmFyIHVuIGVsZW1lbnRvIHVuYSB2ZXogc2VsZWNjaW9uYWRvXHJcbiAgQElucHV0KCkgZmlsdGVyOiBib29sZWFuO1xyXG4gIC8vIFNpIHNlIHB1ZWRlbiBzZWxlY2Npb25hciBtdWNob3MgZWxlbWVudG9zLCBxdWUgZWwgbGFiZWwgZGUgbG9zIGVsZW1lbnRvcyBzZWxlY2Npb25hZG9zIG5vXHJcbiAgLy8gYXBhcmV6Y2EgZGVudHJvIGRlbCBzZWxlY3QsIHkgaGFjZXJsbyBjb21vIHVuYSBsaXN0YSBmdWVyYSBkZWwgc2VsZWN0LlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCByb3V0ZXI6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJvdGVjdGVkIHNlc3Npb25TaGFyZWQ6IFNlc3Npb25TaGFyZWRTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGF5dWRhU2VydmljZTogQXl1ZGFTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihyb3V0ZXIsIHNlc3Npb25TaGFyZWQsIGF5dWRhU2VydmljZSwgY2hhbmdlRGV0ZWN0b3JSZWYsIHRyYW5zbGF0ZVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pIHtcclxuICAgIGxldCBoYXlDYW1iaW9zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBmb3IgKGxldCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgIGxldCBjaGFuZ2VkUHJvcCA9IGNoYW5nZXNbcHJvcE5hbWVdO1xyXG4gICAgICBpZiAocHJvcE5hbWUgPT09IFwiZGF0YVwiKSB7XHJcbiAgICAgICAgdGhpcy5saXN0YU9wY2lvbmVzID0gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlID8gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlLnNsaWNlKCkgOiBbXTtcclxuICAgICAgICBoYXlDYW1iaW9zID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJleGNsdWRlZFZhbHVlc1wiKSB7XHJcbiAgICAgICAgdGhpcy5leGNsdWRlZFZhbHVlcyA9IGNoYW5nZWRQcm9wLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICBoYXlDYW1iaW9zID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJpbmNsdWRlRW1wdHlcIikge1xyXG4gICAgICAgIHRoaXMuaW5jbHVkZUVtcHR5ID0gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlO1xyXG4gICAgICAgIGhheUNhbWJpb3MgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoaGF5Q2FtYmlvcykge1xyXG4gICAgICB0aGlzLnBvc3RSZXRyaWV2ZURhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZV9sZWN0dXJhKCk6IGFueSB7XHJcbiAgICBsZXQgdmFsID0gdGhpcy52YWx1ZTtcclxuICAgIGxldCBsYWJlbHM6IGFueVtdID0gdGhpcy5saXN0YU9wY2lvbmVzICYmIHRoaXMubGlzdGFPcGNpb25lcy5maWx0ZXIoKGQpID0+IHZhbCAmJiB2YWwuaW5kZXhPZihkLnZhbHVlKSA+IC0xKS5tYXAoKGQpID0+IGQubGFiZWwpO1xyXG4gICAgcmV0dXJuIGxhYmVscyA/IGxhYmVscy5qb2luKFwiLCBcIikgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbGFiZWxTZWxlY3RlZEl0ZW0oaWQpOiBzdHJpbmcge1xyXG4gICAgbGV0IGxhYmVsOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgaWYgKHRoaXMubGlzdGFPcGNpb25lcykge1xyXG4gICAgICBsZXQgc2VsZWN0ZWQgPSB0aGlzLmxpc3RhT3BjaW9uZXMuZmluZCgoYykgPT4gYy52YWx1ZSA9PSBpZCk7XHJcbiAgICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICAgIGxhYmVsID0gc2VsZWN0ZWQubGFiZWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBsYWJlbDtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNlbGVjdGVkSXRlbShldmVudCwgaXRlbSkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGxldCBpbmRleCA9IHRoaXMudmFsdWUuaW5kZXhPZihpdGVtKTtcclxuICAgIHRoaXMudmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIC8vIHNlIGNsb25hIGVsIGFycmF5LiBTaSBubywgZWwgdGV4dG8gXCJ7MH0gZWxlbWVudG9zIHNlbGVjY2lvbmFkb3NcIiBkZWwgc2VsZWN0IGRlIFByaW1lIG5vIHNlIGFjdHVhbGl6YS5cclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnNsaWNlKDApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93IHNlcGFyYWRvclwiICpuZ0lmPVwic2hvd1NlcGFyYXRlU2VsZWN0ZWRMYWJlbHM7IGVsc2Ugbm9ybWFsQml0U2VsZWN0TXVsdGlwbGVcIj5cclxuICAgIDxkaXY+IDwhLS0gY2xhc3M9XCJjb2wtc20tNFwiLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vcm1hbEJpdFNlbGVjdE11bHRpcGxlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXY+PCEtLSBlbGVtZW50b3Mgc2VsZWNjaW9uYWRvcyAtLT5cclxuICAgICAgICA8bGFiZWw+Jm5ic3A7PC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlzZWxlY3QtbGFiZWxzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCBsYWJlbC1wcmltYXJ5IG11bHRpc2VsZWN0LWxhYmVscy1sZ1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZhbHVlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7bGFiZWxTZWxlY3RlZEl0ZW0oaXRlbSl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgJm5ic3A7Jm5ic3A7XHJcbiAgICAgICAgICAgIDxhIChjbGljayk9XCJkZWxldGVTZWxlY3RlZEl0ZW0oJGV2ZW50LCBpdGVtKVwiIHRpdGxlPVwie3t0aXRsZX19XCI+PGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiPjwvaT48L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI25vcm1hbEJpdFNlbGVjdE11bHRpcGxlPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwiIWhpZGVMYWJlbFwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD4mbmJzcDs8c3BhbiAqbmdJZj1cIm9ibGlnYXRvcmlvXCIgY2xhc3M9XCJmYSBmYS1hc3Rlcmlza1wiPjwvc3Bhbj4mbmJzcDsmbmJzcDtcclxuICAgICAgICA8aSAqbmdJZj1cImF5dWRhXCIgKGNsaWNrKT1cInNob3dBeXVkYSgpXCIgY2xhc3M9XCJidG4tYXl1ZGEgZmEgZmEtcXVlc3Rpb25cIj48L2k+XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPHAgKm5nSWY9XCJyZWFkT25seVwiIGNsYXNzPVwibGVjdHVyYVwiPnt7dmFsdWVfbGVjdHVyYX19PC9wPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFyZWFkT25seVwiPlxyXG4gICAgICAgIDxwLW11bHRpU2VsZWN0XHJcbiAgICAgICAgICAgICpuZ0lmPVwiIXJlYWRPbmx5XCJcclxuICAgICAgICAgICAgaWQ9XCJ7e2lkfX1cIlxyXG4gICAgICAgICAgICBbZmlsdGVyXT1cImZpbHRlclwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgICBbb3B0aW9uc109XCJsaXN0YU9wY2lvbmVzXCJcclxuICAgICAgICAgICAgW2RlZmF1bHRMYWJlbF09XCJlbXB0eVRleHRSZXNvbHZlZFwiXHJcbiAgICAgICAgICAgIFttYXhTZWxlY3RlZExhYmVsc109XCJtYXhTZWxlY3RlZExhYmVsc1wiXHJcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXNMYWJlbD1cInswfSBlbGVtZW50cyBzZWxlY2Npb25hdHNcIlxyXG4gICAgICAgICAgICAob25Gb2N1cyk9XCJvbkZvY3VzKClcIlxyXG4gICAgICAgICAgICAob25CbHVyKT1cIm9uQmx1cigpXCI+XHJcbiAgICAgICAgPC9wLW11bHRpU2VsZWN0PlxyXG4gICAgPGNvbnRyb2wtbWVzc2FnZXMgKm5nSWY9XCJjb250cm9sIT1udWxsXCIgW2NvbnRyb2xdPVwiY29udHJvbFwiIFtmaWVsZF09XCJpZFwiPjwvY29udHJvbC1tZXNzYWdlcz5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWRyb3Bkb3duLW11bHRpcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLW11bHRpcGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLW11bHRpcGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUkxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFFcEY7Ozs7Ozs7SUFPSTtBQU1KLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSw2QkFBNkI7SUFLN0UsNEZBQTRGO0lBQzVGLHlFQUF5RTtJQUV6RSxZQUNZLE1BQXNCLEVBQ3RCLGFBQW1DLEVBQ25DLFlBQTBCLEVBQzFCLGdCQUFrQztRQUU1QyxLQUFLLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUxuRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVhyQyxzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFDOUIsK0JBQTBCLEdBQVksS0FBSyxDQUFDLENBQUMsNEVBQTRFO0lBYWxJLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBNEM7UUFDdEQsSUFBSSxVQUFVLEdBQVksS0FBSyxDQUFDO1FBQ2hDLEtBQUssSUFBSSxRQUFRLElBQUksT0FBTyxFQUFFO1lBQzVCLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN0RixVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO2lCQUFNLElBQUksUUFBUSxLQUFLLGdCQUFnQixFQUFFO2dCQUN4QyxJQUFJLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUM7Z0JBQy9DLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDbkI7aUJBQU0sSUFBSSxRQUFRLEtBQUssY0FBYyxFQUFFO2dCQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUM7Z0JBQzdDLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDbkI7U0FDRjtRQUNELElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBRTtRQUNsQixJQUFJLEtBQUssR0FBVyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzdELElBQUksUUFBUSxFQUFFO2dCQUNaLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO2FBQ3hCO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkQsd0dBQXdHO1FBQ3hHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDOzt5SEF0RFUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIseVBDbkJ6Qyxxc0RBbUNBOzJGRGhCYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0UsdUJBQXVCO2tNQUl4QixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBBeXVkYVNlcnZpY2UsIFNlc3Npb25TaGFyZWRTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBCaXREcm9wRG93bkdlbmVyYWxWMkNvbXBvbmVudCB9IGZyb20gXCIuL2JpdC1kcm9wZG93bi1nZW5lcmFsLXYyLmNvbXBvbmVudFwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNlIHF1ZSB1dGlsaXphIHVuIGN1c3RvbSBjb21wb25lbnRlIHBhcmEgc2VsZWN0IG3Dumx0aXBsZSBkZSBlbGVtZW50b3NcclxuICogICAgPGJpdC1kcm9wZG93bi1tdWx0aXBsZSBbZG9tYWluXT1cIidET01BSU5fVElQT19MT0cnXCIgaWQ9XCJ0aXBvbG9nXCIgW2NvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlwiPiZuYnNwOyZuYnNwO1RpcHVzIGQnb3BlcmFjacOzPC9iaXQtZHJvcGRvd24tbXVsdGlwbGU+XHJcbiAqXHJcbiAqIEBpbnB1dCBkYXRhOiBhcnJheSBkZSBvYmpldG9zIGEgbW9zdHJhciBlbiBlbCBzZWxlY3QuIFB1ZWRlIHNlciBudWxsLCBlbiBjdXlvIGNhc28gZG9tYWluIG5vIHB1ZWRlIHNlciBudWxsXHJcbiAqIEBpbnB1dCBkb21haW46IG5vbWJyZSBkZWwgZG9taW5pbyBxdWUgY29udGllbmUgbG9zIGRhdG9zIHkgcXVlIG5vcyByZXNvbHZlcsOhIGxhIHDDoWdpbmEgY3VhbmRvIGNhcmd1ZSBlbCBjb21wb25lbnRlLiBQdWVkZSBzZXIgbnVsbCwgZW4gY3V5byBjYXNvIGRhdGEgbm8gcHVlZGUgc2VyIG51bGxcclxuICogQGlucHV0IGlkOiBpZGVudGlmaWNhZG9yIGRlbCBjb21wb25lbnRlIHNlbGVjdFxyXG4gKiovXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJiaXQtZHJvcGRvd24tbXVsdGlwbGVcIixcclxuICB0ZW1wbGF0ZVVybDogXCJiaXQtZHJvcGRvd24tbXVsdGlwbGUuY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQml0RHJvcERvd25NdWx0aXBsZUNvbXBvbmVudCBleHRlbmRzIEJpdERyb3BEb3duR2VuZXJhbFYyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBtYXhTZWxlY3RlZExhYmVsczogbnVtYmVyID0gMztcclxuICBASW5wdXQoKSBzaG93U2VwYXJhdGVTZWxlY3RlZExhYmVsczogYm9vbGVhbiA9IGZhbHNlOyAvLyBpbmRpY2Egc2kgc2UgbXVlc3RyYW4gbG9zIGVsZW1lbnRvcyBzZWxlY2Npb25hZG9zIGVuIHVuYSBjb2x1bW5hIHNlcGFyYWRhXHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZzsgLy90w610dWxvIHF1ZSBhcGFyZWNlIGVuIGVsIGxpbmsgcGFyYSBlbGltaW5hciB1biBlbGVtZW50byB1bmEgdmV6IHNlbGVjY2lvbmFkb1xyXG4gIEBJbnB1dCgpIGZpbHRlcjogYm9vbGVhbjtcclxuICAvLyBTaSBzZSBwdWVkZW4gc2VsZWNjaW9uYXIgbXVjaG9zIGVsZW1lbnRvcywgcXVlIGVsIGxhYmVsIGRlIGxvcyBlbGVtZW50b3Mgc2VsZWNjaW9uYWRvcyBub1xyXG4gIC8vIGFwYXJlemNhIGRlbnRybyBkZWwgc2VsZWN0LCB5IGhhY2VybG8gY29tbyB1bmEgbGlzdGEgZnVlcmEgZGVsIHNlbGVjdC5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgcm91dGVyOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByb3RlY3RlZCBzZXNzaW9uU2hhcmVkOiBTZXNzaW9uU2hhcmVkU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBheXVkYVNlcnZpY2U6IEF5dWRhU2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihyb3V0ZXIsIHNlc3Npb25TaGFyZWQsIGF5dWRhU2VydmljZSwgdHJhbnNsYXRlU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSkge1xyXG4gICAgbGV0IGhheUNhbWJpb3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZvciAobGV0IHByb3BOYW1lIGluIGNoYW5nZXMpIHtcclxuICAgICAgbGV0IGNoYW5nZWRQcm9wID0gY2hhbmdlc1twcm9wTmFtZV07XHJcbiAgICAgIGlmIChwcm9wTmFtZSA9PT0gXCJkYXRhXCIpIHtcclxuICAgICAgICB0aGlzLmxpc3RhT3BjaW9uZXMgPSBjaGFuZ2VkUHJvcC5jdXJyZW50VmFsdWUgPyBjaGFuZ2VkUHJvcC5jdXJyZW50VmFsdWUuc2xpY2UoKSA6IFtdO1xyXG4gICAgICAgIGhheUNhbWJpb3MgPSB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BOYW1lID09PSBcImV4Y2x1ZGVkVmFsdWVzXCIpIHtcclxuICAgICAgICB0aGlzLmV4Y2x1ZGVkVmFsdWVzID0gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlO1xyXG4gICAgICAgIGhheUNhbWJpb3MgPSB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BOYW1lID09PSBcImluY2x1ZGVFbXB0eVwiKSB7XHJcbiAgICAgICAgdGhpcy5pbmNsdWRlRW1wdHkgPSBjaGFuZ2VkUHJvcC5jdXJyZW50VmFsdWU7XHJcbiAgICAgICAgaGF5Q2FtYmlvcyA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChoYXlDYW1iaW9zKSB7XHJcbiAgICAgIHRoaXMucG9zdFJldHJpZXZlRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGFiZWxTZWxlY3RlZEl0ZW0oaWQpOiBzdHJpbmcge1xyXG4gICAgbGV0IGxhYmVsOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgaWYgKHRoaXMubGlzdGFPcGNpb25lcykge1xyXG4gICAgICBsZXQgc2VsZWN0ZWQgPSB0aGlzLmxpc3RhT3BjaW9uZXMuZmluZCgoYykgPT4gYy52YWx1ZSA9PSBpZCk7XHJcbiAgICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICAgIGxhYmVsID0gc2VsZWN0ZWQubGFiZWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBsYWJlbDtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNlbGVjdGVkSXRlbShldmVudCwgaXRlbSkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGxldCBpbmRleCA9IHRoaXMuY29udHJvbC52YWx1ZS5pbmRleE9mKGl0ZW0pO1xyXG4gICAgbGV0IG5ld1ZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAvLyBzZSBjbG9uYSBlbCBhcnJheS4gU2kgbm8sIGVsIHRleHRvIFwiezB9IGVsZW1lbnRvcyBzZWxlY2Npb25hZG9zXCIgZGVsIHNlbGVjdCBkZSBQcmltZSBubyBzZSBhY3R1YWxpemEuXHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUuc2xpY2UoMCkpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93IHNlcGFyYWRvclwiICpuZ0lmPVwic2hvd1NlcGFyYXRlU2VsZWN0ZWRMYWJlbHM7IGVsc2Ugbm9ybWFsQml0U2VsZWN0TXVsdGlwbGVcIj5cclxuICAgIDxkaXY+IDwhLS0gY2xhc3M9XCJjb2wtc20tNFwiLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vcm1hbEJpdFNlbGVjdE11bHRpcGxlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXY+PCEtLSBlbGVtZW50b3Mgc2VsZWNjaW9uYWRvcyAtLT5cclxuICAgICAgICA8bGFiZWw+Jm5ic3A7PC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlzZWxlY3QtbGFiZWxzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCBsYWJlbC1wcmltYXJ5IG11bHRpc2VsZWN0LWxhYmVscy1sZ1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbnRyb2wudmFsdWVcIj5cclxuICAgICAgICAgICAgPHNwYW4+e3tsYWJlbFNlbGVjdGVkSXRlbShpdGVtKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAmbmJzcDsmbmJzcDtcclxuICAgICAgICAgICAgPGEgKGNsaWNrKT1cImRlbGV0ZVNlbGVjdGVkSXRlbSgkZXZlbnQsIGl0ZW0pXCIgdGl0bGU9XCJ7e3RpdGxlfX1cIj48aSBjbGFzcz1cImZhIGZhLXRpbWVzXCI+PC9pPjwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjbm9ybWFsQml0U2VsZWN0TXVsdGlwbGU+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCIhaGlkZUxhYmVsXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiZuYnNwOzxzcGFuICpuZ0lmPVwib2JsaWdhdG9yaW9cIiBjbGFzcz1cImZhIGZhLWFzdGVyaXNrXCI+PC9zcGFuPiZuYnNwOyZuYnNwO1xyXG4gICAgICAgIDxpICpuZ0lmPVwiYXl1ZGFcIiAoY2xpY2spPVwic2hvd0F5dWRhKClcIiBjbGFzcz1cImJ0bi1heXVkYSBmYSBmYS1xdWVzdGlvblwiPjwvaT5cclxuICAgIDwvbGFiZWw+XHJcbiAgICA8cCAqbmdJZj1cInJlYWRPbmx5XCIgY2xhc3M9XCJsZWN0dXJhXCI+e3t2YWx1ZV9sZWN0dXJhfX08L3A+XHJcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwibXlGb3JtXCIgKm5nSWY9XCIhcmVhZE9ubHlcIj5cclxuICAgICAgICA8cC1tdWx0aVNlbGVjdFxyXG4gICAgICAgICAgICBpZD1cInt7aWR9fVwiXHJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cImxpc3RhT3BjaW9uZXNcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBbZGVmYXVsdExhYmVsXT1cImVtcHR5VGV4dFJlc29sdmVkXCJcclxuICAgICAgICAgICAgW21heFNlbGVjdGVkTGFiZWxzXT1cIm1heFNlbGVjdGVkTGFiZWxzXCJcclxuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtc0xhYmVsPVwiezB9IGVsZW1lbnRzIHNlbGVjY2lvbmF0c1wiXHJcbiAgICAgICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgICAgIChvbkJsdXIpPVwib25CbHVyKClcIj5cclxuICAgICAgICA8L3AtbXVsdGlTZWxlY3Q+XHJcbiAgICAgICAgPGNvbnRyb2wtbWVzc2FnZXMgKm5nSWY9XCJjb250cm9sIT1udWxsXCIgW2NvbnRyb2xdPVwiY29udHJvbFwiIFtmaWVsZF09XCJpZFwiPjwvY29udHJvbC1tZXNzYWdlcz5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -10,8 +10,7 @@ import * as i6 from "@angular/forms";
10
10
  import * as i7 from "primeng/api";
11
11
  /**
12
12
  * Clase que utiliza un custom componente para select de elementos
13
- * Utiliza la interfaz ControlValueAccessor
14
- * <bit-select [domain]="'DOMAIN_TIPO_LOG'" id="tipolog" [control]="formControl">&nbsp;&nbsp;Tipus d'operació</bit-select>
13
+ * <bit-dropdown [domain]="'DOMAIN_TIPO_LOG'" id="tipolog" [control]="formControl">&nbsp;&nbsp;Tipus d'operació</bit-dropdown>
15
14
  *
16
15
  * @input data: array de objetos a mostrar en el select. Puede ser null, en cuyo caso domain no puede ser null
17
16
  * @input domain: nombre del dominio que contiene los datos y que nos resolverá la página cuando cargue el componente. Puede ser null, en cuyo caso data no puede ser null
@@ -51,20 +50,12 @@ export class BitDropDownComponent extends BitDropDownGeneralV2Component {
51
50
  this.postRetrieveData();
52
51
  }
53
52
  }
54
- get myForm() {
55
- if (!!this.form) {
56
- return this.form;
57
- }
58
- else {
59
- return this.control.parent;
60
- }
61
- }
62
53
  }
63
54
  BitDropDownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.SessionSharedService }, { token: i2.AyudaService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
64
- BitDropDownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownComponent, selector: "bit-dropdown", inputs: { filter: "filter", atributoLabel: "atributoLabel", atributoValue: "atributoValue", atributoDisabled: "atributoDisabled", form: "form" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"myForm.controls[nombre]\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item.inactivo}\">{{item.label}}</span>\r\n <!-- span [ngClass]=\"{'opcion-desactivada': item[this.atributoDisabled]}\">{{item[this.atributoLabel]}}</span -->\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n", components: [{ type: i3.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i4.BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
55
+ BitDropDownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownComponent, selector: "bit-dropdown", inputs: { filter: "filter", atributoLabel: "atributoLabel", atributoValue: "atributoValue", atributoDisabled: "atributoDisabled" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"control\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item.inactivo}\">{{item.label}}</span>\r\n <!-- span [ngClass]=\"{'opcion-desactivada': item[this.atributoDisabled]}\">{{item[this.atributoLabel]}}</span -->\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n", components: [{ type: i3.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i4.BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
65
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownComponent, decorators: [{
66
57
  type: Component,
67
- args: [{ selector: "bit-dropdown", template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"myForm.controls[nombre]\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item.inactivo}\">{{item.label}}</span>\r\n <!-- span [ngClass]=\"{'opcion-desactivada': item[this.atributoDisabled]}\">{{item[this.atributoLabel]}}</span -->\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n" }]
58
+ args: [{ selector: "bit-dropdown", template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"control\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item.inactivo}\">{{item.label}}</span>\r\n <!-- span [ngClass]=\"{'opcion-desactivada': item[this.atributoDisabled]}\">{{item[this.atributoLabel]}}</span -->\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n" }]
68
59
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.SessionSharedService }, { type: i2.AyudaService }, { type: i2.TranslateService }]; }, propDecorators: { filter: [{
69
60
  type: Input
70
61
  }], atributoLabel: [{
@@ -73,7 +64,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
73
64
  type: Input
74
65
  }], atributoDisabled: [{
75
66
  type: Input
76
- }], form: [{
77
- type: Input
78
67
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUsxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7O0FBRXBGOzs7Ozs7Ozs7SUFTSTtBQUtKLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSw2QkFBNkI7SUFXckUsWUFDWSxNQUFzQixFQUN0QixhQUFtQyxFQUNuQyxZQUEwQixFQUMxQixnQkFBa0M7UUFFNUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFMbkQsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFkckMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUVqQyxrQkFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFPLGtFQUFrRTtRQUVqRyxrQkFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFPLGtFQUFrRTtRQUVqRyxxQkFBZ0IsR0FBRyxVQUFVLENBQUMsQ0FBQyxtRkFBbUY7SUFXbEgsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUE0QztRQUN0RCxJQUFJLFVBQVUsR0FBWSxLQUFLLENBQUM7UUFDaEMsS0FBSyxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUU7WUFDNUIsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RGLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDbkI7aUJBQU0sSUFBSSxRQUFRLEtBQUssZ0JBQWdCLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQztnQkFDL0MsVUFBVSxHQUFHLElBQUksQ0FBQzthQUNuQjtpQkFBTSxJQUFJLFFBQVEsS0FBSyxjQUFjLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQztnQkFDN0MsVUFBVSxHQUFHLElBQUksQ0FBQzthQUNuQjtTQUNGO1FBQ0QsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2xCO2FBQU07WUFDTCxPQUFtQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUN4QztJQUNILENBQUM7O2lIQTlDVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixrUENyQmpDLGd4Q0E0QkE7MkZEUGEsb0JBQW9CO2tCQUpoQyxTQUFTOytCQUNFLGNBQWM7a01BSWYsTUFBTTtzQkFBZCxLQUFLO2dCQUVOLGFBQWE7c0JBRFosS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5pbXBvcnQgeyBTZXNzaW9uU2hhcmVkU2VydmljZSwgVHJhbnNsYXRlU2VydmljZSwgQXl1ZGFTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7IEJpdERyb3BEb3duR2VuZXJhbFYyQ29tcG9uZW50IH0gZnJvbSBcIi4vYml0LWRyb3Bkb3duLWdlbmVyYWwtdjIuY29tcG9uZW50XCI7XHJcblxyXG4vKipcclxuICogQ2xhc2UgcXVlIHV0aWxpemEgdW4gY3VzdG9tIGNvbXBvbmVudGUgcGFyYSBzZWxlY3QgZGUgZWxlbWVudG9zXHJcbiAqIFV0aWxpemEgbGEgaW50ZXJmYXogQ29udHJvbFZhbHVlQWNjZXNzb3JcclxuICogICAgPGJpdC1zZWxlY3QgW2RvbWFpbl09XCInRE9NQUlOX1RJUE9fTE9HJ1wiIGlkPVwidGlwb2xvZ1wiIFtjb250cm9sXT1cImZvcm1Db250cm9sXCI+Jm5ic3A7Jm5ic3A7VGlwdXMgZCdvcGVyYWNpw7M8L2JpdC1zZWxlY3Q+XHJcbiAqXHJcbiAqIEBpbnB1dCBkYXRhOiBhcnJheSBkZSBvYmpldG9zIGEgbW9zdHJhciBlbiBlbCBzZWxlY3QuIFB1ZWRlIHNlciBudWxsLCBlbiBjdXlvIGNhc28gZG9tYWluIG5vIHB1ZWRlIHNlciBudWxsXHJcbiAqIEBpbnB1dCBkb21haW46IG5vbWJyZSBkZWwgZG9taW5pbyBxdWUgY29udGllbmUgbG9zIGRhdG9zIHkgcXVlIG5vcyByZXNvbHZlcsOhIGxhIHDDoWdpbmEgY3VhbmRvIGNhcmd1ZSBlbCBjb21wb25lbnRlLiBQdWVkZSBzZXIgbnVsbCwgZW4gY3V5byBjYXNvIGRhdGEgbm8gcHVlZGUgc2VyIG51bGxcclxuICogQGlucHV0IGlkOiBpZGVudGlmaWNhZG9yIGRlbCBjb21wb25lbnRlIHNlbGVjdFxyXG4gKiBAaW5wdXQgZmlsdGVyOiB0cnVlIGluZGljYXLDoSBxdWUgcG9kZW1vcyBidXNjYXIgZGVudHJvIGRlbCBzZWxlY3QsIGZhbHNlIHF1ZSBuby5cclxuICoqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJiaXQtZHJvcGRvd25cIixcclxuICB0ZW1wbGF0ZVVybDogXCJiaXQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQml0RHJvcERvd25Db21wb25lbnQgZXh0ZW5kcyBCaXREcm9wRG93bkdlbmVyYWxWMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgZmlsdGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBhdHJpYnV0b0xhYmVsID0gXCJsYWJlbFwiOyAgICAgICAvLyBFbCBhdHJpYnV0byBkZSBsb3Mgb2JqZXRvcyBkZSBsYSBsaXN0YSBxdWUgY29ycmVzcG9uZGUgYWwgbGFiZWxcclxuICBASW5wdXQoKVxyXG4gIGF0cmlidXRvVmFsdWUgPSBcInZhbHVlXCI7ICAgICAgIC8vIEVsIGF0cmlidXRvIGRlIGxvcyBvYmpldG9zIGRlIGxhIGxpc3RhIHF1ZSBjb3JyZXNwb25kZSBhbCB2YWxvclxyXG4gIEBJbnB1dCgpXHJcbiAgYXRyaWJ1dG9EaXNhYmxlZCA9IFwiaW5hY3Rpdm9cIjsgLy8gRWwgYXRyaWJ1dG8gZGUgbG9zIG9iamV0b3MgZGUgbGEgbGlzdGEgcXVlIGluZGljYSBzaSB1biB2YWxvciBlc3TDoSBkZXNoYWJpbGl0YWRvXHJcbiAgQElucHV0KClcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcm90ZWN0ZWQgc2Vzc2lvblNoYXJlZDogU2Vzc2lvblNoYXJlZFNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgYXl1ZGFTZXJ2aWNlOiBBeXVkYVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIocm91dGVyLCBzZXNzaW9uU2hhcmVkLCBheXVkYVNlcnZpY2UsIHRyYW5zbGF0ZVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pIHtcclxuICAgIGxldCBoYXlDYW1iaW9zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBmb3IgKGxldCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgIGxldCBjaGFuZ2VkUHJvcCA9IGNoYW5nZXNbcHJvcE5hbWVdO1xyXG4gICAgICBpZiAocHJvcE5hbWUgPT09IFwiZGF0YVwiKSB7XHJcbiAgICAgICAgdGhpcy5saXN0YU9wY2lvbmVzID0gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlID8gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlLnNsaWNlKCkgOiBbXTtcclxuICAgICAgICBoYXlDYW1iaW9zID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJleGNsdWRlZFZhbHVlc1wiKSB7XHJcbiAgICAgICAgdGhpcy5leGNsdWRlZFZhbHVlcyA9IGNoYW5nZWRQcm9wLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICBoYXlDYW1iaW9zID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJpbmNsdWRlRW1wdHlcIikge1xyXG4gICAgICAgIHRoaXMuaW5jbHVkZUVtcHR5ID0gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlO1xyXG4gICAgICAgIGhheUNhbWJpb3MgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoaGF5Q2FtYmlvcykge1xyXG4gICAgICB0aGlzLnBvc3RSZXRyaWV2ZURhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBteUZvcm0oKTogRm9ybUdyb3VwIHtcclxuICAgIGlmICghIXRoaXMuZm9ybSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIDxGb3JtR3JvdXA+IHRoaXMuY29udHJvbC5wYXJlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bGFiZWwgKm5nSWY9XCIhaGlkZUxhYmVsXCI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+Jm5ic3A7XHJcbiAgICA8c3BhbiAqbmdJZj1cIm9ibGlnYXRvcmlvXCIgY2xhc3M9XCJvYmxpZ2F0b3JpbyBmYSBmYS1hc3Rlcmlza1wiPjwvc3Bhbj4mbmJzcDsmbmJzcDtcclxuICAgIDxpICpuZ0lmPVwiYXl1ZGFcIiAoY2xpY2spPVwic2hvd0F5dWRhKClcIiBjbGFzcz1cImJ0bi1heXVkYSBmYSBmYS1xdWVzdGlvblwiPjwvaT5cclxuPC9sYWJlbD5cclxuPHAgKm5nSWY9XCJyZWFkT25seVwiIGNsYXNzPVwibGVjdHVyYVwiIFtpZF09XCJub21icmVcIj57e3ZhbHVlX2xlY3R1cmF9fTwvcD5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZWFkT25seSAmJiAhIW15Rm9ybVwiPlxyXG48ZGl2IFtmb3JtR3JvdXBdPVwibXlGb3JtXCI+XHJcbiAgICA8cC1kcm9wZG93blxyXG4gICAgICAgIGlkPVwie3tub21icmV9fVwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwibGlzdGFPcGNpb25lc1Zpc2libGVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJteUZvcm0uY29udHJvbHNbbm9tYnJlXVwiXHJcbiAgICAgICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gICAgICAgIFxyXG4gICAgICAgIFtvcHRpb25MYWJlbF09XCJhdHJpYnV0b0xhYmVsXCJcclxuICAgICAgICBbb3B0aW9uVmFsdWVdPVwiYXRyaWJ1dG9WYWx1ZVwiXHJcbiAgICAgICAgW29wdGlvbkRpc2FibGVkXT1cImF0cmlidXRvRGlzYWJsZWRcIlxyXG4gICAgICAgIFxyXG4gICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgKG9uQmx1cik9XCJvbkJsdXIoKVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsnb3BjaW9uLWRlc2FjdGl2YWRhJzogaXRlbS5pbmFjdGl2b31cIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLSBzcGFuIFtuZ0NsYXNzXT1cInsnb3BjaW9uLWRlc2FjdGl2YWRhJzogaXRlbVt0aGlzLmF0cmlidXRvRGlzYWJsZWRdfVwiPnt7aXRlbVt0aGlzLmF0cmlidXRvTGFiZWxdfX08L3NwYW4gLS0+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvcC1kcm9wZG93bj5cclxuICAgIDxjb250cm9sLW1lc3NhZ2VzICpuZ0lmPVwiY29udHJvbCE9bnVsbFwiIFtjb250cm9sXT1cImNvbnRyb2xcIiBbZmllbGRdPVwiaWRcIj48L2NvbnRyb2wtbWVzc2FnZXM+XHJcbjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUkxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7O0FBRXBGOzs7Ozs7OztJQVFJO0FBS0osTUFBTSxPQUFPLG9CQUFxQixTQUFRLDZCQUE2QjtJQVNyRSxZQUNZLE1BQXNCLEVBQ3RCLGFBQW1DLEVBQ25DLFlBQTBCLEVBQzFCLGdCQUFrQztRQUU1QyxLQUFLLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUxuRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVpyQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBRWpDLGtCQUFhLEdBQUcsT0FBTyxDQUFDLENBQU8sa0VBQWtFO1FBRWpHLGtCQUFhLEdBQUcsT0FBTyxDQUFDLENBQU8sa0VBQWtFO1FBRWpHLHFCQUFnQixHQUFHLFVBQVUsQ0FBQyxDQUFDLG1GQUFtRjtJQVNsSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQTRDO1FBQ3RELElBQUksVUFBVSxHQUFZLEtBQUssQ0FBQztRQUNoQyxLQUFLLElBQUksUUFBUSxJQUFJLE9BQU8sRUFBRTtZQUM1QixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFO2dCQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdEYsVUFBVSxHQUFHLElBQUksQ0FBQzthQUNuQjtpQkFBTSxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUMvQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO2lCQUFNLElBQUksUUFBUSxLQUFLLGNBQWMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUM3QyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO1NBQ0Y7UUFDRCxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7aUhBcENVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLG9PQ25CakMsZ3dDQTRCQTsyRkRUYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0UsY0FBYztrTUFJZixNQUFNO3NCQUFkLEtBQUs7Z0JBRU4sYUFBYTtzQkFEWixLQUFLO2dCQUdOLGFBQWE7c0JBRFosS0FBSztnQkFHTixnQkFBZ0I7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5pbXBvcnQgeyBBeXVkYVNlcnZpY2UsIFNlc3Npb25TaGFyZWRTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBCaXREcm9wRG93bkdlbmVyYWxWMkNvbXBvbmVudCB9IGZyb20gXCIuL2JpdC1kcm9wZG93bi1nZW5lcmFsLXYyLmNvbXBvbmVudFwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNlIHF1ZSB1dGlsaXphIHVuIGN1c3RvbSBjb21wb25lbnRlIHBhcmEgc2VsZWN0IGRlIGVsZW1lbnRvc1xyXG4gKiAgICA8Yml0LWRyb3Bkb3duIFtkb21haW5dPVwiJ0RPTUFJTl9USVBPX0xPRydcIiBpZD1cInRpcG9sb2dcIiBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiPiZuYnNwOyZuYnNwO1RpcHVzIGQnb3BlcmFjacOzPC9iaXQtZHJvcGRvd24+XHJcbiAqXHJcbiAqIEBpbnB1dCBkYXRhOiBhcnJheSBkZSBvYmpldG9zIGEgbW9zdHJhciBlbiBlbCBzZWxlY3QuIFB1ZWRlIHNlciBudWxsLCBlbiBjdXlvIGNhc28gZG9tYWluIG5vIHB1ZWRlIHNlciBudWxsXHJcbiAqIEBpbnB1dCBkb21haW46IG5vbWJyZSBkZWwgZG9taW5pbyBxdWUgY29udGllbmUgbG9zIGRhdG9zIHkgcXVlIG5vcyByZXNvbHZlcsOhIGxhIHDDoWdpbmEgY3VhbmRvIGNhcmd1ZSBlbCBjb21wb25lbnRlLiBQdWVkZSBzZXIgbnVsbCwgZW4gY3V5byBjYXNvIGRhdGEgbm8gcHVlZGUgc2VyIG51bGxcclxuICogQGlucHV0IGlkOiBpZGVudGlmaWNhZG9yIGRlbCBjb21wb25lbnRlIHNlbGVjdFxyXG4gKiBAaW5wdXQgZmlsdGVyOiB0cnVlIGluZGljYXLDoSBxdWUgcG9kZW1vcyBidXNjYXIgZGVudHJvIGRlbCBzZWxlY3QsIGZhbHNlIHF1ZSBuby5cclxuICoqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJiaXQtZHJvcGRvd25cIixcclxuICB0ZW1wbGF0ZVVybDogXCJiaXQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQml0RHJvcERvd25Db21wb25lbnQgZXh0ZW5kcyBCaXREcm9wRG93bkdlbmVyYWxWMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgZmlsdGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBhdHJpYnV0b0xhYmVsID0gXCJsYWJlbFwiOyAgICAgICAvLyBFbCBhdHJpYnV0byBkZSBsb3Mgb2JqZXRvcyBkZSBsYSBsaXN0YSBxdWUgY29ycmVzcG9uZGUgYWwgbGFiZWxcclxuICBASW5wdXQoKVxyXG4gIGF0cmlidXRvVmFsdWUgPSBcInZhbHVlXCI7ICAgICAgIC8vIEVsIGF0cmlidXRvIGRlIGxvcyBvYmpldG9zIGRlIGxhIGxpc3RhIHF1ZSBjb3JyZXNwb25kZSBhbCB2YWxvclxyXG4gIEBJbnB1dCgpXHJcbiAgYXRyaWJ1dG9EaXNhYmxlZCA9IFwiaW5hY3Rpdm9cIjsgLy8gRWwgYXRyaWJ1dG8gZGUgbG9zIG9iamV0b3MgZGUgbGEgbGlzdGEgcXVlIGluZGljYSBzaSB1biB2YWxvciBlc3TDoSBkZXNoYWJpbGl0YWRvXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcm90ZWN0ZWQgc2Vzc2lvblNoYXJlZDogU2Vzc2lvblNoYXJlZFNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgYXl1ZGFTZXJ2aWNlOiBBeXVkYVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIocm91dGVyLCBzZXNzaW9uU2hhcmVkLCBheXVkYVNlcnZpY2UsIHRyYW5zbGF0ZVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pIHtcclxuICAgIGxldCBoYXlDYW1iaW9zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBmb3IgKGxldCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgIGxldCBjaGFuZ2VkUHJvcCA9IGNoYW5nZXNbcHJvcE5hbWVdO1xyXG4gICAgICBpZiAocHJvcE5hbWUgPT09IFwiZGF0YVwiKSB7XHJcbiAgICAgICAgdGhpcy5saXN0YU9wY2lvbmVzID0gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlID8gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlLnNsaWNlKCkgOiBbXTtcclxuICAgICAgICBoYXlDYW1iaW9zID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJleGNsdWRlZFZhbHVlc1wiKSB7XHJcbiAgICAgICAgdGhpcy5leGNsdWRlZFZhbHVlcyA9IGNoYW5nZWRQcm9wLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICBoYXlDYW1iaW9zID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJpbmNsdWRlRW1wdHlcIikge1xyXG4gICAgICAgIHRoaXMuaW5jbHVkZUVtcHR5ID0gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlO1xyXG4gICAgICAgIGhheUNhbWJpb3MgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoaGF5Q2FtYmlvcykge1xyXG4gICAgICB0aGlzLnBvc3RSZXRyaWV2ZURhdGEoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGxhYmVsICpuZ0lmPVwiIWhpZGVMYWJlbFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiZuYnNwO1xyXG4gICAgPHNwYW4gKm5nSWY9XCJvYmxpZ2F0b3Jpb1wiIGNsYXNzPVwib2JsaWdhdG9yaW8gZmEgZmEtYXN0ZXJpc2tcIj48L3NwYW4+Jm5ic3A7Jm5ic3A7XHJcbiAgICA8aSAqbmdJZj1cImF5dWRhXCIgKGNsaWNrKT1cInNob3dBeXVkYSgpXCIgY2xhc3M9XCJidG4tYXl1ZGEgZmEgZmEtcXVlc3Rpb25cIj48L2k+XHJcbjwvbGFiZWw+XHJcbjxwICpuZ0lmPVwicmVhZE9ubHlcIiBjbGFzcz1cImxlY3R1cmFcIiBbaWRdPVwibm9tYnJlXCI+e3t2YWx1ZV9sZWN0dXJhfX08L3A+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVhZE9ubHkgJiYgISFteUZvcm1cIj5cclxuPGRpdiBbZm9ybUdyb3VwXT1cIm15Rm9ybVwiPlxyXG4gICAgPHAtZHJvcGRvd25cclxuICAgICAgICBpZD1cInt7bm9tYnJlfX1cIlxyXG4gICAgICAgIFtvcHRpb25zXT1cImxpc3RhT3BjaW9uZXNWaXNpYmxlXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gICAgICAgIFxyXG4gICAgICAgIFtvcHRpb25MYWJlbF09XCJhdHJpYnV0b0xhYmVsXCJcclxuICAgICAgICBbb3B0aW9uVmFsdWVdPVwiYXRyaWJ1dG9WYWx1ZVwiXHJcbiAgICAgICAgW29wdGlvbkRpc2FibGVkXT1cImF0cmlidXRvRGlzYWJsZWRcIlxyXG4gICAgICAgIFxyXG4gICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgKG9uQmx1cik9XCJvbkJsdXIoKVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsnb3BjaW9uLWRlc2FjdGl2YWRhJzogaXRlbS5pbmFjdGl2b31cIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLSBzcGFuIFtuZ0NsYXNzXT1cInsnb3BjaW9uLWRlc2FjdGl2YWRhJzogaXRlbVt0aGlzLmF0cmlidXRvRGlzYWJsZWRdfVwiPnt7aXRlbVt0aGlzLmF0cmlidXRvTGFiZWxdfX08L3NwYW4gLS0+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvcC1kcm9wZG93bj5cclxuICAgIDxjb250cm9sLW1lc3NhZ2VzICpuZ0lmPVwiY29udHJvbCE9bnVsbFwiIFtjb250cm9sXT1cImNvbnRyb2xcIiBbZmllbGRdPVwiaWRcIj48L2NvbnRyb2wtbWVzc2FnZXM+XHJcbjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19