general-library-union 2.5.41 → 2.5.43

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.
@@ -1,22 +1,19 @@
1
1
  import { CommonModule, DatePipe } from '@angular/common';
2
- import { Component, ContentChild, EventEmitter, Input, Optional, Output, SkipSelf, TemplateRef, ViewChild, } from '@angular/core';
2
+ import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, inject, Renderer2, ElementRef } from '@angular/core';
3
3
  import { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { TranslateModule } from '@ngx-translate/core';
5
5
  import { ButtonModule } from 'primeng/button';
6
6
  import { ChipModule } from 'primeng/chip';
7
+ import { Dialog } from 'primeng/dialog';
7
8
  import { OverlayPanel, OverlayPanelModule } from 'primeng/overlaypanel';
8
9
  import * as i0 from "@angular/core";
9
- import * as i1 from "primeng/dialog";
10
- import * as i2 from "primeng/chip";
11
- import * as i3 from "primeng/overlaypanel";
12
- import * as i4 from "@angular/forms";
13
- import * as i5 from "@ngx-translate/core";
14
- import * as i6 from "primeng/button";
15
- import * as i7 from "@angular/common";
10
+ import * as i1 from "primeng/chip";
11
+ import * as i2 from "primeng/overlaypanel";
12
+ import * as i3 from "@angular/forms";
13
+ import * as i4 from "@ngx-translate/core";
14
+ import * as i5 from "primeng/button";
15
+ import * as i6 from "@angular/common";
16
16
  export class FiltroGeneralComponent {
17
- elRef;
18
- renderer;
19
- dialog;
20
17
  overlayPanel;
21
18
  filtros;
22
19
  datatable;
@@ -29,12 +26,10 @@ export class FiltroGeneralComponent {
29
26
  chips = [];
30
27
  isApply = false;
31
28
  clickListener = null;
32
- constructor(elRef, renderer, dialog // Inyecta el p-dialog si existe
33
- ) {
34
- this.elRef = elRef;
35
- this.renderer = renderer;
36
- this.dialog = dialog;
37
- }
29
+ renderer = inject(Renderer2);
30
+ elRef = inject(ElementRef);
31
+ dialog = inject(Dialog, { optional: true, self: true });
32
+ constructor() { }
38
33
  ngOnInit() {
39
34
  if (this.filtros === undefined) {
40
35
  }
@@ -170,17 +165,13 @@ export class FiltroGeneralComponent {
170
165
  ngOnDestroy() {
171
166
  this.removeClickListener();
172
167
  }
173
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FiltroGeneralComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.Dialog, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
174
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FiltroGeneralComponent, isStandalone: true, selector: "app-filtro-general", inputs: { filtros: "filtros", datatable: "datatable" }, outputs: { metodoRegresar: "metodoRegresar", metodoRegresarAdicional: "metodoRegresarAdicional" }, queries: [{ propertyName: "inputFilters", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }, { propertyName: "panel", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: "<div class=\"flex justify-content-start align-items-center\">\n <div class=\"flex align-items-center\">\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\n <button\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-filter\"\n class=\"p-button-rounded p-button-outlined\"\n (click)=\"abrirPanel($event)\"\n ></button>\n </div>\n <div class=\"ml-3\">\n <p-chip\n *ngFor=\"let chip of chips\"\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 100 ? chip.labelMostrar.substring(0, 100) + '...' : chip.labelMostrar)\"\n styleClass=\"m-1\"\n [removable]=\"true\"\n (onRemove)=\"removeChip(chip)\"\n ></p-chip>\n </div>\n</div>\n\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\n <div class=\"grid p-input-filled\">\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\n <div class=\"flex justify-content-end mt-2 align-items-center\">\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\n </div>\n </form>\n </div>\n</p-overlayPanel>\n", styles: [".grid .flex button:last-child{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: ChipModule }, { kind: "component", type: i2.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i3.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
168
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FiltroGeneralComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
169
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FiltroGeneralComponent, isStandalone: true, selector: "app-filtro-general", inputs: { filtros: "filtros", datatable: "datatable" }, outputs: { metodoRegresar: "metodoRegresar", metodoRegresarAdicional: "metodoRegresarAdicional" }, queries: [{ propertyName: "inputFilters", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }, { propertyName: "panel", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: "<div class=\"flex justify-content-start align-items-center\">\n <div class=\"flex align-items-center\">\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\n <button\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-filter\"\n class=\"p-button-rounded p-button-outlined\"\n (click)=\"abrirPanel($event)\"\n ></button>\n </div>\n <div class=\"ml-3\">\n <p-chip\n *ngFor=\"let chip of chips\"\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 100 ? chip.labelMostrar.substring(0, 100) + '...' : chip.labelMostrar)\"\n styleClass=\"m-1\"\n [removable]=\"true\"\n (onRemove)=\"removeChip(chip)\"\n ></p-chip>\n </div>\n</div>\n\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\n <div class=\"grid p-input-filled\">\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\n <div class=\"flex justify-content-end mt-2 align-items-center\">\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\n </div>\n </form>\n </div>\n</p-overlayPanel>\n", styles: [".grid .flex button:last-child{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: ChipModule }, { kind: "component", type: i1.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i2.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
175
170
  }
176
171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FiltroGeneralComponent, decorators: [{
177
172
  type: Component,
178
173
  args: [{ selector: 'app-filtro-general', imports: [ChipModule, OverlayPanelModule, ReactiveFormsModule, TranslateModule, ButtonModule, FormsModule, CommonModule], standalone: true, template: "<div class=\"flex justify-content-start align-items-center\">\n <div class=\"flex align-items-center\">\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\n <button\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-filter\"\n class=\"p-button-rounded p-button-outlined\"\n (click)=\"abrirPanel($event)\"\n ></button>\n </div>\n <div class=\"ml-3\">\n <p-chip\n *ngFor=\"let chip of chips\"\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 100 ? chip.labelMostrar.substring(0, 100) + '...' : chip.labelMostrar)\"\n styleClass=\"m-1\"\n [removable]=\"true\"\n (onRemove)=\"removeChip(chip)\"\n ></p-chip>\n </div>\n</div>\n\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\n <div class=\"grid p-input-filled\">\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\n <div class=\"flex justify-content-end mt-2 align-items-center\">\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\n </div>\n </form>\n </div>\n</p-overlayPanel>\n", styles: [".grid .flex button:last-child{width:auto}\n"] }]
179
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.Dialog, decorators: [{
180
- type: Optional
181
- }, {
182
- type: SkipSelf
183
- }] }], propDecorators: { overlayPanel: [{
174
+ }], ctorParameters: () => [], propDecorators: { overlayPanel: [{
184
175
  type: ViewChild,
185
176
  args: ['op']
186
177
  }], filtros: [{
@@ -198,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
198
189
  type: ContentChild,
199
190
  args: [TemplateRef]
200
191
  }] } });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdHJvLWdlbmVyYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2NvbXBvbmVudGVzL2ZpbHRyby1nZW5lcmFsL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9maWx0cm8tZ2VuZXJhbC9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixRQUFRLEVBQUMsV0FBVyxFQUFDLFNBQVMsR0FBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFTeEUsTUFBTSxPQUFPLHNCQUFzQjtJQXdCdkI7SUFBMkI7SUFDSDtJQXhCakIsWUFBWSxDQUFNO0lBRTFCLE9BQU8sQ0FBUTtJQUVmLFNBQVMsQ0FBQztJQUVULGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3BDLHVCQUF1QixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFOUIsS0FBSyxDQUFl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YXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNraXBTZWxmLFRlbXBsYXRlUmVmLFZpZXdDaGlsZCx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IENoaXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoaXAnO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgT3ZlcmxheVBhbmVsLCBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWx0cm8tZ2VuZXJhbCcsXG4gIGltcG9ydHM6IFtDaGlwTW9kdWxlLCBPdmVybGF5UGFuZWxNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgQnV0dG9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdHJvLWdlbmVyYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdHJvR2VuZXJhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ29wJykgb3ZlcmxheVBhbmVsOiBhbnk7XG5cbiAgQElucHV0KCkgZmlsdHJvczogYW55W107XG5cbiAgQElucHV0KCkgZGF0YXRhYmxlO1xuXG4gIEBPdXRwdXQoKSBtZXRvZG9SZWdyZXNhciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG1ldG9kb1JlZ3Jlc2FyQWRpY2lvbmFsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoT3ZlcmxheVBhbmVsKSBwYW5lbDogT3ZlcmxheVBhbmVsO1xuICBwdWJsaWMgZXZlbnRvUGFuZWw7XG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIGlucHV0RmlsdGVyczogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmaWx0ZXJGb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcblxuICBjaGlwczogYW55W10gPSBbXTtcblxuICBpc0FwcGx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBjbGlja0xpc3RlbmVyOiBGdW5jdGlvbiB8IG51bGwgPSBudWxsO1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHByaXZhdGUgZGlhbG9nOiBEaWFsb2cgLy8gSW55ZWN0YSBlbCBwLWRpYWxvZyBzaSBleGlzdGVcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWx0cm9zID09PSB1bmRlZmluZWQpIHtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0cm9zLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmFkZENvbnRyb2woY29udHJvbC5maWVsZCwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25IaWRlKCkge1xuICAgIGlmICghdGhpcy5pc0FwcGx5KSB7XG4gICAgICB0aGlzLmZpbHRyb3MuZm9yRWFjaCgoZmlsdHJvKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoaXBBY3RpdmUgPSB0aGlzLmNoaXBzLmZpbmQoXG4gICAgICAgICAgKGNoaXApID0+IGNoaXAuZmllbGQgPT09IGZpbHRyby5maWVsZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRyby5maWVsZCkuc2V0VmFsdWUoY2hpcEFjdGl2ZT8udmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuaXNBcHBseSA9IGZhbHNlO1xuICB9XG5cbiAgYWJyaXJQYW5lbChldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnRvUGFuZWwgPSBldmVudDtcbiAgICB0aGlzLnBhbmVsLnNob3coZXZlbnQpO1xuICAgIHRoaXMuc2hvd092ZXJsYXkodGhpcy5vdmVybGF5UGFuZWwsIGV2ZW50KVxuICB9XG5cbiAgbGltcGlhckZpbHRyb3MoKSB7XG4gICAgdGhpcy5pc0FwcGx5ID0gZmFsc2U7XG4gICAgdGhpcy5jaGlwcyA9IFtdO1xuICAgIHRoaXMuZmlsdGVyRm9ybS5yZXNldCgpO1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoKTtcbiAgfVxuXG4gIGFwbGljYXJGaWx0cm9zKCkge1xuICAgIHRoaXMuaXNBcHBseSA9IHRydWU7XG4gICAgdGhpcy5wYW5lbC5oaWRlKCk7XG4gICAgdGhpcy5jaGlwcyA9IFtdO1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoKTtcbiAgfVxuXG4gIHJlbW92ZUNoaXAoY2hpcCkge1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoY2hpcCk7XG4gIH1cblxuICBfdXBkYXRlRmlsdGVycyhjaGlwPzogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVycyA9IHt9O1xuICAgIHRoaXMuZmlsdHJvcy5mb3JFYWNoKChmaWx0cm8pID0+IHtcbiAgICAgIGlmIChjaGlwPy5maWVsZCAhPT0gZmlsdHJvLmZpZWxkKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICBmaWx0ZXJzW2ZpbHRyby5maWVsZF0gPSB7IHZhbHVlOiB2YWx1ZSwgbWF0Y2hNb2RlOiBmaWx0cm8ubWF0Y2hNb2RlIH07XG5cbiAgICAgICAgICBpZiAoIWNoaXApIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICB2YXIgbW9zdHJhciA9ICcnO1xuICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICBtb3N0cmFyID0gbW9zdHJhciArICcgLSAnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZVtpXSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICAgIG1vc3RyYXIgPSBtb3N0cmFyICsgbmV3IERhdGVQaXBlKCdlbi1VUycpLnRyYW5zZm9ybSh2YWx1ZVtpXSwgJ2RkL01NL3l5eXknKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBtb3N0cmFyID0gbW9zdHJhciArIHZhbHVlW2ldXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuY2hpcHMucHVzaCh7XG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpbHRyby5maWVsZCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGZpbHRyby52YWx1ZXMgPyBmaWx0cm8udmFsdWVzKHZhbHVlKSA6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogZmlsdHJvLmhlYWRlcixcbiAgICAgICAgICAgICAgICBsYWJlbE1vc3RyYXI6IG1vc3RyYXJcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmNoaXBzLnB1c2goe1xuICAgICAgICAgICAgICAgIGZpZWxkOiBmaWx0cm8uZmllbGQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBmaWx0cm8udmFsdWVzID8gZmlsdHJvLnZhbHVlcyh2YWx1ZSkgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IGZpbHRyby5oZWFkZXIsXG4gICAgICAgICAgICAgICAgbGFiZWxNb3N0cmFyOiBmaWx0cm8uZm9ybWF0RGF0ZVxuICAgICAgICAgICAgICAgICAgPyBuZXcgRGF0ZVBpcGUoJ2VuLVVTJykudHJhbnNmb3JtKHZhbHVlLCAnZGQvTU0veXl5eScpXG4gICAgICAgICAgICAgICAgICA6IGZpbHRyby52YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgPyBmaWx0cm8udmFsdWVzKHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICA6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGZvcm1hdERhdGU6IGZpbHRyby5mb3JtYXREYXRlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLmNoaXBzLmZpbHRlcigoY2hpcCkgPT4gY2hpcC5maWVsZCAhPT0gZmlsdHJvLmZpZWxkKTtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnNldFZhbHVlKG51bGwpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICh0aGlzLmRhdGF0YWJsZSkge1xuICAgICAgaWYgKHRoaXMuZGF0YXRhYmxlLnRhYmxlPy5maWx0ZXJzKSB7XG4gICAgICAgIHRoaXMuZGF0YXRhYmxlLnRhYmxlLmZpbHRlcnMgPSBmaWx0ZXJzO1xuICAgICAgICB0aGlzLmRhdGF0YWJsZS50YWJsZS5fZmlsdGVyKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGF0YWJsZS5maWx0ZXJzID0gZmlsdGVycztcbiAgICAgICAgdGhpcy5kYXRhdGFibGUuX2ZpbHRlcigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1ldG9kb1JlZ3Jlc2FyLmVtaXQoZmlsdGVycyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWV0b2RvUmVncmVzYXJBZGljaW9uYWwpIHtcbiAgICAgIHRoaXMubWV0b2RvUmVncmVzYXJBZGljaW9uYWwuZW1pdChmaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICAvL2xpc3RlbmVyIGRlbCBvdmVybGF5IEBhdXRvciBKZXN1cy1SYW1pcmV6XG4gIHNob3dPdmVybGF5KG9wOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuY2xpY2tMaXN0ZW5lciA9IG51bGxcbiAgICAvLyBNb3N0cmFyIGVsIG92ZXJsYXkgcGFuZWxcbiAgICBvcC5zaG93KGV2ZW50KTsgLy9tdWVzdHJhIGVsIG92ZXJsYXktcGFuZWxcbiAgICBpZiAodGhpcy5kaWFsb2cpIC8qIFNpIGVsIG92ZXJsYXkgZXN0w6EgZGVudHJvIGRlIHVuIHAtZGlhbG9nLCB1c2EgZWwgbcOpdG9kbyBkZSBvY3VsdGFyIGFsIHBlcmRlciBlbCBmb2NvKi8ge1xuICAgICAgLy8gRWxpbWluYXIgY3VhbHF1aWVyIGxpc3RlbmVyIGFudGVyaW9yXG4gICAgICBpZiAodGhpcy5jbGlja0xpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuY2xpY2tMaXN0ZW5lcigpO1xuICAgICAgfVxuICAgICAgLy8gIGFkaWNpb25hciBsaXN0ZW5lciBwYXJhIGNlcnJhciBlbCBvdmVybGF5IGFsIGhhY2VyIGNsaWMgZnVlcmEgZGUgw6lsXG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoY2xpY2tFdmVudDogRXZlbnQpID0+ICB7XG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGVPdmVybGF5ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGNsaWNrRXZlbnQudGFyZ2V0KTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlT3ZlcmxheSkge1xuICAgICAgICAgIG9wLmhpZGUoKTtcbiAgICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXIoKTsgLy8gcmVtdWV2ZSBlbCBvdmVybGF5XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUNsaWNrTGlzdGVuZXIoKSB7XG4gICAgaWYgKHRoaXMuY2xpY2tMaXN0ZW5lcikge1xuICAgICAgdGhpcy5jbGlja0xpc3RlbmVyKCk7XG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlQ2xpY2tMaXN0ZW5lcigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxoNCBjbGFzcz1cIm0tMCBtci0yIHRleHQtYmxhY2stYWxwaGEtOTBcIj5GaWx0cm9zPC9oND5cbiAgICA8YnV0dG9uXG4gICAgICBwQnV0dG9uXG4gICAgICBwUmlwcGxlXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGljb249XCJwaSBwaS1maWx0ZXJcIlxuICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLW91dGxpbmVkXCJcbiAgICAgIChjbGljayk9XCJhYnJpclBhbmVsKCRldmVudClcIlxuICAgID48L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtbC0zXCI+XG4gICAgPHAtY2hpcFxuICAgICAgKm5nRm9yPVwibGV0IGNoaXAgb2YgY2hpcHNcIlxuICAgICAgW2xhYmVsXT1cImNoaXAuaGVhZGVyICsgJzogJyArIChjaGlwLmxhYmVsTW9zdHJhci5sZW5ndGggPiAxMDAgPyBjaGlwLmxhYmVsTW9zdHJhci5zdWJzdHJpbmcoMCwgMTAwKSArICcuLi4nIDogY2hpcC5sYWJlbE1vc3RyYXIpXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJtLTFcIlxuICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgIChvblJlbW92ZSk9XCJyZW1vdmVDaGlwKGNoaXApXCJcbiAgICA+PC9wLWNoaXA+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxwLW92ZXJsYXlQYW5lbCAjb3AgKG9uSGlkZSk9XCJvbkhpZGUoKVwiIFtkaXNtaXNzYWJsZV09XCJmYWxzZVwiIFtzaG93Q2xvc2VJY29uXT1cInRydWVcIj5cbiAgPGRpdiBjbGFzcz1cImdyaWQgcC1pbnB1dC1maWxsZWRcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBjbGFzcz1cInAtZmx1aWQgY29sLTEyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRGaWx0ZXJzOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZmlsdGVyRm9ybSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJhcGxpY2FyRmlsdHJvcygpXCIgY2xhc3M9XCJtbC0yXCI+e3snbGlua19hcGxpY2FyJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJsaW1waWFyRmlsdHJvcygpXCIgaWNvbj1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1jbGVhbmluZ1wiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1vdXRsaW5lZCBtbC0yXCI+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9wLW92ZXJsYXlQYW5lbD5cbiJdfQ==
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdHJvLWdlbmVyYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2NvbXBvbmVudGVzL2ZpbHRyby1nZW5lcmFsL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9maWx0cm8tZ2VuZXJhbC9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBU3hFLE1BQU0sT0FBTyxzQkFBc0I7SUFDaEIsWUFBWSxDQUFNO0lBRTFCLE9BQU8sQ0FBUTtJQUVmLFNBQVMsQ0FBQztJQUVULGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3BDLHVCQUF1QixHQUFHLElB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QUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNraXBTZWxmLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG4gIFJlbmRlcmVyMixcbiAgRWxlbWVudFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgQ2hpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hpcCc7XG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBPdmVybGF5UGFuZWwsIE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZpbHRyby1nZW5lcmFsJyxcbiAgaW1wb3J0czogW0NoaXBNb2R1bGUsIE92ZXJsYXlQYW5lbE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBCdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdHJvLWdlbmVyYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0cm9HZW5lcmFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnb3AnKSBvdmVybGF5UGFuZWw6IGFueTtcblxuICBASW5wdXQoKSBmaWx0cm9zOiBhbnlbXTtcblxuICBASW5wdXQoKSBkYXRhdGFibGU7XG5cbiAgQE91dHB1dCgpIG1ldG9kb1JlZ3Jlc2FyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgbWV0b2RvUmVncmVzYXJBZGljaW9uYWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChPdmVybGF5UGFuZWwpIHBhbmVsOiBPdmVybGF5UGFuZWw7XG4gIHB1YmxpYyBldmVudG9QYW5lbDtcbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgaW5wdXRGaWx0ZXJzOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGZpbHRlckZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuXG4gIGNoaXBzOiBhbnlbXSA9IFtdO1xuXG4gIGlzQXBwbHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGNsaWNrTGlzdGVuZXI6IEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIGVsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIGRpYWxvZyA9IGluamVjdChEaWFsb2csIHsgb3B0aW9uYWw6IHRydWUsIHNlbGY6IHRydWUgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWx0cm9zID09PSB1bmRlZmluZWQpIHtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0cm9zLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmFkZENvbnRyb2woY29udHJvbC5maWVsZCwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25IaWRlKCkge1xuICAgIGlmICghdGhpcy5pc0FwcGx5KSB7XG4gICAgICB0aGlzLmZpbHRyb3MuZm9yRWFjaCgoZmlsdHJvKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoaXBBY3RpdmUgPSB0aGlzLmNoaXBzLmZpbmQoXG4gICAgICAgICAgKGNoaXApID0+IGNoaXAuZmllbGQgPT09IGZpbHRyby5maWVsZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRyby5maWVsZCkuc2V0VmFsdWUoY2hpcEFjdGl2ZT8udmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuaXNBcHBseSA9IGZhbHNlO1xuICB9XG5cbiAgYWJyaXJQYW5lbChldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnRvUGFuZWwgPSBldmVudDtcbiAgICB0aGlzLnBhbmVsLnNob3coZXZlbnQpO1xuICAgIHRoaXMuc2hvd092ZXJsYXkodGhpcy5vdmVybGF5UGFuZWwsIGV2ZW50KVxuICB9XG5cbiAgbGltcGlhckZpbHRyb3MoKSB7XG4gICAgdGhpcy5pc0FwcGx5ID0gZmFsc2U7XG4gICAgdGhpcy5jaGlwcyA9IFtdO1xuICAgIHRoaXMuZmlsdGVyRm9ybS5yZXNldCgpO1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoKTtcbiAgfVxuXG4gIGFwbGljYXJGaWx0cm9zKCkge1xuICAgIHRoaXMuaXNBcHBseSA9IHRydWU7XG4gICAgdGhpcy5wYW5lbC5oaWRlKCk7XG4gICAgdGhpcy5jaGlwcyA9IFtdO1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoKTtcbiAgfVxuXG4gIHJlbW92ZUNoaXAoY2hpcCkge1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoY2hpcCk7XG4gIH1cblxuICBfdXBkYXRlRmlsdGVycyhjaGlwPzogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVycyA9IHt9O1xuICAgIHRoaXMuZmlsdHJvcy5mb3JFYWNoKChmaWx0cm8pID0+IHtcbiAgICAgIGlmIChjaGlwPy5maWVsZCAhPT0gZmlsdHJvLmZpZWxkKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICBmaWx0ZXJzW2ZpbHRyby5maWVsZF0gPSB7IHZhbHVlOiB2YWx1ZSwgbWF0Y2hNb2RlOiBmaWx0cm8ubWF0Y2hNb2RlIH07XG5cbiAgICAgICAgICBpZiAoIWNoaXApIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICB2YXIgbW9zdHJhciA9ICcnO1xuICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICBtb3N0cmFyID0gbW9zdHJhciArICcgLSAnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZVtpXSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICAgIG1vc3RyYXIgPSBtb3N0cmFyICsgbmV3IERhdGVQaXBlKCdlbi1VUycpLnRyYW5zZm9ybSh2YWx1ZVtpXSwgJ2RkL01NL3l5eXknKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBtb3N0cmFyID0gbW9zdHJhciArIHZhbHVlW2ldXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuY2hpcHMucHVzaCh7XG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpbHRyby5maWVsZCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGZpbHRyby52YWx1ZXMgPyBmaWx0cm8udmFsdWVzKHZhbHVlKSA6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogZmlsdHJvLmhlYWRlcixcbiAgICAgICAgICAgICAgICBsYWJlbE1vc3RyYXI6IG1vc3RyYXJcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmNoaXBzLnB1c2goe1xuICAgICAgICAgICAgICAgIGZpZWxkOiBmaWx0cm8uZmllbGQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBmaWx0cm8udmFsdWVzID8gZmlsdHJvLnZhbHVlcyh2YWx1ZSkgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IGZpbHRyby5oZWFkZXIsXG4gICAgICAgICAgICAgICAgbGFiZWxNb3N0cmFyOiBmaWx0cm8uZm9ybWF0RGF0ZVxuICAgICAgICAgICAgICAgICAgPyBuZXcgRGF0ZVBpcGUoJ2VuLVVTJykudHJhbnNmb3JtKHZhbHVlLCAnZGQvTU0veXl5eScpXG4gICAgICAgICAgICAgICAgICA6IGZpbHRyby52YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgPyBmaWx0cm8udmFsdWVzKHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICA6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGZvcm1hdERhdGU6IGZpbHRyby5mb3JtYXREYXRlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLmNoaXBzLmZpbHRlcigoY2hpcCkgPT4gY2hpcC5maWVsZCAhPT0gZmlsdHJvLmZpZWxkKTtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnNldFZhbHVlKG51bGwpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICh0aGlzLmRhdGF0YWJsZSkge1xuICAgICAgaWYgKHRoaXMuZGF0YXRhYmxlLnRhYmxlPy5maWx0ZXJzKSB7XG4gICAgICAgIHRoaXMuZGF0YXRhYmxlLnRhYmxlLmZpbHRlcnMgPSBmaWx0ZXJzO1xuICAgICAgICB0aGlzLmRhdGF0YWJsZS50YWJsZS5fZmlsdGVyKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGF0YWJsZS5maWx0ZXJzID0gZmlsdGVycztcbiAgICAgICAgdGhpcy5kYXRhdGFibGUuX2ZpbHRlcigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1ldG9kb1JlZ3Jlc2FyLmVtaXQoZmlsdGVycyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWV0b2RvUmVncmVzYXJBZGljaW9uYWwpIHtcbiAgICAgIHRoaXMubWV0b2RvUmVncmVzYXJBZGljaW9uYWwuZW1pdChmaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICAvL2xpc3RlbmVyIGRlbCBvdmVybGF5IEBhdXRvciBKZXN1cy1SYW1pcmV6XG4gIHNob3dPdmVybGF5KG9wOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuY2xpY2tMaXN0ZW5lciA9IG51bGxcbiAgICAvLyBNb3N0cmFyIGVsIG92ZXJsYXkgcGFuZWxcbiAgICBvcC5zaG93KGV2ZW50KTsgLy9tdWVzdHJhIGVsIG92ZXJsYXktcGFuZWxcbiAgICBpZiAodGhpcy5kaWFsb2cpIC8qIFNpIGVsIG92ZXJsYXkgZXN0w6EgZGVudHJvIGRlIHVuIHAtZGlhbG9nLCB1c2EgZWwgbcOpdG9kbyBkZSBvY3VsdGFyIGFsIHBlcmRlciBlbCBmb2NvKi8ge1xuICAgICAgLy8gRWxpbWluYXIgY3VhbHF1aWVyIGxpc3RlbmVyIGFudGVyaW9yXG4gICAgICBpZiAodGhpcy5jbGlja0xpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuY2xpY2tMaXN0ZW5lcigpO1xuICAgICAgfVxuICAgICAgLy8gIGFkaWNpb25hciBsaXN0ZW5lciBwYXJhIGNlcnJhciBlbCBvdmVybGF5IGFsIGhhY2VyIGNsaWMgZnVlcmEgZGUgw6lsXG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoY2xpY2tFdmVudDogRXZlbnQpID0+ICB7XG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGVPdmVybGF5ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGNsaWNrRXZlbnQudGFyZ2V0KTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlT3ZlcmxheSkge1xuICAgICAgICAgIG9wLmhpZGUoKTtcbiAgICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXIoKTsgLy8gcmVtdWV2ZSBlbCBvdmVybGF5XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUNsaWNrTGlzdGVuZXIoKSB7XG4gICAgaWYgKHRoaXMuY2xpY2tMaXN0ZW5lcikge1xuICAgICAgdGhpcy5jbGlja0xpc3RlbmVyKCk7XG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlQ2xpY2tMaXN0ZW5lcigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxoNCBjbGFzcz1cIm0tMCBtci0yIHRleHQtYmxhY2stYWxwaGEtOTBcIj5GaWx0cm9zPC9oND5cbiAgICA8YnV0dG9uXG4gICAgICBwQnV0dG9uXG4gICAgICBwUmlwcGxlXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGljb249XCJwaSBwaS1maWx0ZXJcIlxuICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLW91dGxpbmVkXCJcbiAgICAgIChjbGljayk9XCJhYnJpclBhbmVsKCRldmVudClcIlxuICAgID48L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtbC0zXCI+XG4gICAgPHAtY2hpcFxuICAgICAgKm5nRm9yPVwibGV0IGNoaXAgb2YgY2hpcHNcIlxuICAgICAgW2xhYmVsXT1cImNoaXAuaGVhZGVyICsgJzogJyArIChjaGlwLmxhYmVsTW9zdHJhci5sZW5ndGggPiAxMDAgPyBjaGlwLmxhYmVsTW9zdHJhci5zdWJzdHJpbmcoMCwgMTAwKSArICcuLi4nIDogY2hpcC5sYWJlbE1vc3RyYXIpXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJtLTFcIlxuICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgIChvblJlbW92ZSk9XCJyZW1vdmVDaGlwKGNoaXApXCJcbiAgICA+PC9wLWNoaXA+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxwLW92ZXJsYXlQYW5lbCAjb3AgKG9uSGlkZSk9XCJvbkhpZGUoKVwiIFtkaXNtaXNzYWJsZV09XCJmYWxzZVwiIFtzaG93Q2xvc2VJY29uXT1cInRydWVcIj5cbiAgPGRpdiBjbGFzcz1cImdyaWQgcC1pbnB1dC1maWxsZWRcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBjbGFzcz1cInAtZmx1aWQgY29sLTEyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRGaWx0ZXJzOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZmlsdGVyRm9ybSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJhcGxpY2FyRmlsdHJvcygpXCIgY2xhc3M9XCJtbC0yXCI+e3snbGlua19hcGxpY2FyJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJsaW1waWFyRmlsdHJvcygpXCIgaWNvbj1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1jbGVhbmluZ1wiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1vdXRsaW5lZCBtbC0yXCI+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9wLW92ZXJsYXlQYW5lbD5cbiJdfQ==
@@ -51,4 +51,4 @@ export class TareasModel {
51
51
  this.nombrePadre = nombrepadre;
52
52
  }
53
53
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFyZWFzTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NlZ3VyaWRhZC9tb2RlbG9zL1RhcmVhc01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLGVBQWUsQ0FBTTtJQUNyQixlQUFlLENBQU07SUFDckIsVUFBVSxDQUFRO0lBQ2xCLGtCQUFrQixDQUFRO0lBQzFCLFVBQVUsQ0FBUTtJQUNsQixVQUFVLENBQVE7SUFDbEIsS0FBSyxDQUFTO0lBQ2QsWUFBWSxDQUFRO0lBQ3BCLEtBQUssQ0FBUTtJQUNiLE1BQU0sQ0FBUTtJQUNkLEdBQUcsQ0FBUTtJQUNYLFdBQVcsQ0FBUTtJQUNuQixLQUFLLENBQVE7SUFDYixZQUFZLENBQVE7SUFDcEIsSUFBSSxDQUFNO0lBQ1YsTUFBTSxDQUFNO0lBQ1osR0FBRyxDQUFRO0lBQ1gsSUFBSSxDQUFNO0lBQ1YsTUFBTSxDQUFRO0lBQ2QsTUFBTSxDQUFRO0lBQ2QsWUFBWSxDQUFRO0lBQ3BCLEtBQUssQ0FBUTtJQUNiLFNBQVMsQ0FBUTtJQUNqQixLQUFLLENBQVE7SUFDYixlQUFlLENBQVE7SUFDdkIsVUFBVSxDQUFRO0lBQ2xCLEtBQUssQ0FBUTtJQUNiLFlBQVksQ0FBUTtJQUNwQixRQUFRLENBQVE7SUFDaEIsWUFBWSxDQUFRO0lBQ3BCLFlBQVksQ0FBUTtJQUNwQixXQUFXLENBQVE7SUFDbkIsUUFBUSxDQUFRO0lBQ2hCLFlBQVksQ0FBUTtJQUNwQixTQUFTLENBQVE7SUFDakIsVUFBVSxDQUFRO0lBQ2xCLFdBQVcsQ0FBUTtJQUNuQixXQUFXLENBQVE7SUFDbkIsVUFBVSxDQUFPO0lBQ2pCLFdBQVcsQ0FBTztJQUNsQixTQUFTLENBQVE7SUFDakIsS0FBSyxDQUFRO0lBQ2IsS0FBSyxDQUFPO0lBQ1osV0FBVyxDQUFRO0lBQ25CLFdBQVcsQ0FBZTtJQUMxQixXQUFXLENBQVE7SUFFbkIsWUFBWSxXQUFrQixFQUFFLFdBQWtCLEVBQUMsS0FBWTtRQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVGFyZWFzTW9kZWx7XG4gICAgZmVjaGFBZGljaW9uYWRvOkRhdGU7XG4gICAgZmVjaGFNb2RpZmljYWRvOkRhdGU7XG4gICAgYWRpY2lvbmFkbzpzdHJpbmc7XG4gICAgY29udHJvbFNlZ3VpbWllbnRvOnN0cmluZztcbiAgICBsbGF2ZVRhYmxhOnN0cmluZztcbiAgICBtb2RpZmljYWRvOnN0cmluZztcbiAgICBjaGVjazpib29sZWFuO1xuICAgIGxsYXZlUGVybWlzbzpzdHJpbmc7XG4gICAgbGxhdmU6c3RyaW5nO1xuICAgIGNvZGlnbzpzdHJpbmc7XG4gICAga2V5OnN0cmluZztcbiAgICBkZXNjcmlwY2lvbjpzdHJpbmc7XG4gICAgcGFkcmU6c3RyaW5nO1xuICAgIHVybHByaW5jaXBhbDpzdHJpbmc7XG4gICAgdXJsczpudWxsO1xuICAgIGFjY2lvbjpudWxsO1xuICAgIGdpZjpzdHJpbmc7XG4gICAgdGlwbzpudWxsO1xuICAgIGVzdGFkbzpzdHJpbmc7XG4gICAgbW9kdWxvOnN0cmluZztcbiAgICBub21icmVNb2R1bG86c3RyaW5nO1xuICAgIG9yZGVuOm51bWJlcjtcbiAgICBwYXJhbWV0cm86c3RyaW5nO1xuICAgIG51ZXZvOnN0cmluZztcbiAgICBjb21vZGluQnVzcXVlZGE6c3RyaW5nO1xuICAgIGxsYXZlR3J1cG86c3RyaW5nO1xuICAgIGF5dWRhOnN0cmluZztcbiAgICBsbGF2ZURpcmVjdG86c3RyaW5nO1xuICAgIHNob3J0Y3V0OnN0cmluZztcbiAgICBsbGF2ZUVtcHJlc2E6c3RyaW5nO1xuICAgIGxhYmVsRW1wcmVzYTpzdHJpbmc7XG4gICAgbm9tYnJlUGFkcmU6c3RyaW5nO1xuICAgIGdpZlBhZHJlOnN0cmluZztcbiAgICBub21icmVBYnVlbG86c3RyaW5nO1xuICAgIGdpZkFidWVsbzpzdHJpbmc7XG4gICAgb3JkZW5QYWRyZTpzdHJpbmc7XG4gICAgb3JkZW5BYnVlbG86c3RyaW5nO1xuICAgIGxpc3RhVGFyZWFzOnN0cmluZztcbiAgICBhcGxpY2FjaW9uOnN0cmluZ1xuICAgIHNpZ2xhTW9kdWxvOnN0cmluZ1xuICAgIGNvbmZpZ0NtczpzdHJpbmc7XG4gICAgZ3J1cG86c3RyaW5nO1xuICAgIGFsaWFzOnN0cmluZ1xuICAgIG5vbWJyZVRhYmxhOnN0cmluZztcbiAgICB0YXJlYXNIaWphczpUYXJlYXNNb2RlbFtdO1xuICAgIGljb25vTW9kdWxvOnN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGRlc2NyaXBjaW9uOnN0cmluZywgbm9tYnJlcGFkcmU6c3RyaW5nLGljb25vOnN0cmluZywpe1xuICAgICAgICB0aGlzLmRlc2NyaXBjaW9uID0gZGVzY3JpcGNpb247XG4gICAgICAgIHRoaXMuZ2lmID0gaWNvbm87XG4gICAgICAgIHRoaXMubm9tYnJlUGFkcmUgPSBub21icmVwYWRyZTtcbiAgICB9XG59Il19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFyZWFzTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NlZ3VyaWRhZC9tb2RlbG9zL1RhcmVhc01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLGVBQWUsQ0FBTTtJQUNyQixlQUFlLENBQU07SUFDckIsVUFBVSxDQUFRO0lBQ2xCLGtCQUFrQixDQUFRO0lBQzFCLFVBQVUsQ0FBUTtJQUNsQixVQUFVLENBQVE7SUFDbEIsS0FBSyxDQUFTO0lBQ2QsWUFBWSxDQUFRO0lBQ3BCLEtBQUssQ0FBUTtJQUNiLE1BQU0sQ0FBUTtJQUNkLEdBQUcsQ0FBUTtJQUNYLFdBQVcsQ0FBUTtJQUNuQixLQUFLLENBQVE7SUFDYixZQUFZLENBQVE7SUFDcEIsSUFBSSxDQUFRO0lBQ1osTUFBTSxDQUFRO0lBQ2QsR0FBRyxDQUFRO0lBQ1gsSUFBSSxDQUFRO0lBQ1osTUFBTSxDQUFRO0lBQ2QsTUFBTSxDQUFRO0lBQ2QsWUFBWSxDQUFRO0lBQ3BCLEtBQUssQ0FBUTtJQUNiLFNBQVMsQ0FBUTtJQUNqQixLQUFLLENBQVE7SUFDYixlQUFlLENBQVE7SUFDdkIsVUFBVSxDQUFRO0lBQ2xCLEtBQUssQ0FBUTtJQUNiLFlBQVksQ0FBUTtJQUNwQixRQUFRLENBQVE7SUFDaEIsWUFBWSxDQUFRO0lBQ3BCLFlBQVksQ0FBUTtJQUNwQixXQUFXLENBQVE7SUFDbkIsUUFBUSxDQUFRO0lBQ2hCLFlBQVksQ0FBUTtJQUNwQixTQUFTLENBQVE7SUFDakIsVUFBVSxDQUFRO0lBQ2xCLFdBQVcsQ0FBUTtJQUNuQixXQUFXLENBQVE7SUFDbkIsVUFBVSxDQUFPO0lBQ2pCLFdBQVcsQ0FBTztJQUNsQixTQUFTLENBQVE7SUFDakIsS0FBSyxDQUFRO0lBQ2IsS0FBSyxDQUFPO0lBQ1osV0FBVyxDQUFRO0lBQ25CLFdBQVcsQ0FBZTtJQUMxQixXQUFXLENBQVE7SUFFbkIsWUFBWSxXQUFtQixFQUFFLFdBQW1CLEVBQUMsS0FBYTtRQUM5RCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVGFyZWFzTW9kZWx7XG4gICAgZmVjaGFBZGljaW9uYWRvOkRhdGU7XG4gICAgZmVjaGFNb2RpZmljYWRvOkRhdGU7XG4gICAgYWRpY2lvbmFkbzpzdHJpbmc7XG4gICAgY29udHJvbFNlZ3VpbWllbnRvOnN0cmluZztcbiAgICBsbGF2ZVRhYmxhOnN0cmluZztcbiAgICBtb2RpZmljYWRvOnN0cmluZztcbiAgICBjaGVjazpib29sZWFuO1xuICAgIGxsYXZlUGVybWlzbzpzdHJpbmc7XG4gICAgbGxhdmU6c3RyaW5nO1xuICAgIGNvZGlnbzpzdHJpbmc7XG4gICAga2V5OnN0cmluZztcbiAgICBkZXNjcmlwY2lvbjpzdHJpbmc7XG4gICAgcGFkcmU6c3RyaW5nO1xuICAgIHVybHByaW5jaXBhbDpzdHJpbmc7XG4gICAgdXJsczpzdHJpbmc7XG4gICAgYWNjaW9uOnN0cmluZztcbiAgICBnaWY6c3RyaW5nO1xuICAgIHRpcG86c3RyaW5nO1xuICAgIGVzdGFkbzpzdHJpbmc7XG4gICAgbW9kdWxvOnN0cmluZztcbiAgICBub21icmVNb2R1bG86c3RyaW5nO1xuICAgIG9yZGVuOm51bWJlcjtcbiAgICBwYXJhbWV0cm86c3RyaW5nO1xuICAgIG51ZXZvOnN0cmluZztcbiAgICBjb21vZGluQnVzcXVlZGE6c3RyaW5nO1xuICAgIGxsYXZlR3J1cG86c3RyaW5nO1xuICAgIGF5dWRhOnN0cmluZztcbiAgICBsbGF2ZURpcmVjdG86c3RyaW5nO1xuICAgIHNob3J0Y3V0OnN0cmluZztcbiAgICBsbGF2ZUVtcHJlc2E6c3RyaW5nO1xuICAgIGxhYmVsRW1wcmVzYTpzdHJpbmc7XG4gICAgbm9tYnJlUGFkcmU6c3RyaW5nO1xuICAgIGdpZlBhZHJlOnN0cmluZztcbiAgICBub21icmVBYnVlbG86c3RyaW5nO1xuICAgIGdpZkFidWVsbzpzdHJpbmc7XG4gICAgb3JkZW5QYWRyZTpzdHJpbmc7XG4gICAgb3JkZW5BYnVlbG86c3RyaW5nO1xuICAgIGxpc3RhVGFyZWFzOnN0cmluZztcbiAgICBhcGxpY2FjaW9uOnN0cmluZ1xuICAgIHNpZ2xhTW9kdWxvOnN0cmluZ1xuICAgIGNvbmZpZ0NtczpzdHJpbmc7XG4gICAgZ3J1cG86c3RyaW5nO1xuICAgIGFsaWFzOnN0cmluZ1xuICAgIG5vbWJyZVRhYmxhOnN0cmluZztcbiAgICB0YXJlYXNIaWphczpUYXJlYXNNb2RlbFtdO1xuICAgIGljb25vTW9kdWxvOnN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGRlc2NyaXBjaW9uPzpzdHJpbmcsIG5vbWJyZXBhZHJlPzpzdHJpbmcsaWNvbm8/OnN0cmluZywpe1xuICAgICAgICB0aGlzLmRlc2NyaXBjaW9uID0gZGVzY3JpcGNpb247XG4gICAgICAgIHRoaXMuZ2lmID0gaWNvbm87XG4gICAgICAgIHRoaXMubm9tYnJlUGFkcmUgPSBub21icmVwYWRyZTtcbiAgICB9XG59Il19