@dev-tcloud/tcloud-ui 0.0.17 → 0.0.19

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.
@@ -27,6 +27,7 @@ export class TCloudUiDataListComponent {
27
27
  this.search = true;
28
28
  this.onInputChange = new EventEmitter();
29
29
  this.onChange = new EventEmitter();
30
+ this.ngModelChange = new EventEmitter();
30
31
  this.list_selected_options = new Array();
31
32
  this.menu_show = false;
32
33
  this.search_text = '';
@@ -66,6 +67,7 @@ export class TCloudUiDataListComponent {
66
67
  this.subscription_value = this.dataListService.stateValue$.subscribe(v => {
67
68
  this.selected_item = v;
68
69
  this.selectDescription();
70
+ this.ngModelChange.emit(this.selected_item);
69
71
  });
70
72
  this.subscription_description = this.dataListService.stateDescription$.subscribe(v => {
71
73
  this.selected_description = v;
@@ -222,16 +224,16 @@ export class TCloudUiDataListComponent {
222
224
  }
223
225
  }
224
226
  TCloudUiDataListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListComponent, deps: [{ token: i1.DataListService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
225
- TCloudUiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiDataListComponent, selector: "tcloud-ui-data-list", inputs: { placeholder: "placeholder", disabled: "disabled", loading: "loading", search: "search", ngModel: "ngModel" }, outputs: { onInputChange: "onInputChange", onChange: "onChange" }, providers: [
227
+ TCloudUiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiDataListComponent, selector: "tcloud-ui-data-list", inputs: { placeholder: "placeholder", disabled: "disabled", loading: "loading", search: "search", ngModel: "ngModel" }, outputs: { onInputChange: "onInputChange", onChange: "onChange", ngModelChange: "ngModelChange" }, providers: [
226
228
  DataListService,
227
229
  CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR
228
- ], ngImport: i0, template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen()\" >\r\n\r\n <i *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
230
+ ], ngImport: i0, template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen()\" >\r\n\r\n <i *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff;position:absolute}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
229
231
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListComponent, decorators: [{
230
232
  type: Component,
231
233
  args: [{ selector: 'tcloud-ui-data-list', providers: [
232
234
  DataListService,
233
235
  CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR
234
- ], template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen()\" >\r\n\r\n <i *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"] }]
236
+ ], template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen()\" >\r\n\r\n <i *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff;position:absolute}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"] }]
235
237
  }], ctorParameters: function () { return [{ type: i1.DataListService }, { type: i2.FormBuilder }]; }, propDecorators: { placeholder: [{
236
238
  type: Input
237
239
  }], disabled: [{
@@ -246,5 +248,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
246
248
  type: Output
247
249
  }], ngModel: [{
248
250
  type: Input
251
+ }], ngModelChange: [{
252
+ type: Output
249
253
  }] } });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWRhdGEtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktZGF0YS1saXN0L3RjbG91ZC11aS1kYXRhLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWRhdGEtbGlzdC90Y2xvdWQtdWktZGF0YS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFhLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQWtDLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUloRyxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBUTtJQUN0RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7SUFDeEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO0FBQ2xCLENBQUMsQ0FBQztBQVlGLE1BQU0sT0FBTyx5QkFBeUI7SUE0RHBDLFlBQ1UsZUFBZ0MsRUFDaEMsV0FBd0I7UUFEeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBNURsQyxtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUMzQixvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUM1QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGNBQVMsR0FBVyxF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LEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsTUFBTTtRQUNGLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsVUFBVSxDQUFDLEtBQVU7UUFDakIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O3VIQWxRUSx5QkFBeUI7MkdBQXpCLHlCQUF5Qix5T0FMekI7UUFDVCxlQUFlO1FBQ2YsbUNBQW1DO0tBQ3BDLDBCQ3ZCSCwyL0RBaURNOzRGRHhCTyx5QkFBeUI7a0JBVHJDLFNBQVM7K0JBQ0UscUJBQXFCLGFBR3BCO3dCQUNULGVBQWU7d0JBQ2YsbUNBQW1DO3FCQUNwQztnSUFVUSxXQUFXO3NCQUFuQixLQUFLO2dCQUdPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBV08sT0FBTztzQkFBbkIsS0FBSztnQkFXRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUdNLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhTGlzdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGEtbGlzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIE5nRm9ybSwgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJU2VsZWN0T3B0aW9ucyB9IGZyb20gJy4vdGNsb3VkLXVpLWRhdGEtbGlzdCc7XHJcblxyXG5leHBvcnQgY29uc3QgQ1VTVE9NX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcclxuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUQ2xvdWRVaURhdGFMaXN0Q29tcG9uZW50KSxcclxuICBtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuY29uc3Qgbm9vcCA9ICgpID0+IHtcclxufTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RjbG91ZC11aS1kYXRhLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90Y2xvdWQtdWktZGF0YS1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90Y2xvdWQtdWktZGF0YS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBEYXRhTGlzdFNlcnZpY2UsIFxyXG4gICAgQ1VTVE9NX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVENsb3VkVWlEYXRhTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgdmlld3BvcnRfd2lkdGg6IG51bWJlciA9IDA7XHJcbiAgdmlld3BvcnRfaGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gIGJveF9oZWlnaHQ6IG51bWJlciA9IDA7XHJcbiAgYm94X3N0eWxlOiBzdHJpbmcgPSAnJztcclxuICBtZW51X29uX3RvcDogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgZGlzYWJsZWQodil7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHY7XHJcbiAgICBpZiggdGhpcy5fZGlzYWJsZWQgKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZF9kZXNjcmlwdGlvbiA9ICcnO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkX2l0ZW0gPScnO1xyXG4gICAgICB0aGlzLnRvQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBkaXNhYmxlZCgpOmJvb2xlYW4geyByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7IH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCBsb2FkaW5nKHYpe1xyXG4gICAgdGhpcy5fbG9hZGluZyA9IHY7XHJcbiAgICBpZiggdGhpcy5fbG9hZGluZyApe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkX2Rlc2NyaXB0aW9uID0gJyc7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9Jyc7XHJcbiAgICAgIHRoaXMudG9DaGFuZ2UoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGxvYWRpbmcoKTpib29sZWFuIHsgcmV0dXJuIHRoaXMuX2xvYWRpbmc7IH1cclxuXHJcblxyXG4gIEBJbnB1dCgpIHNlYXJjaDogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcblxyXG4gIEBPdXRwdXQoKSBvbklucHV0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJU2VsZWN0T3B0aW9ucz4oKTtcclxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElTZWxlY3RPcHRpb25zPigpO1xyXG5cclxuICBwcml2YXRlIF9uZ01vZGVsOiBhbnkgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgc2V0IG5nTW9kZWwodjogYW55KXtcclxuICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9IHY7XHJcbiAgICB0aGlzLnNlbGVjdERlc2NyaXB0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBsaXN0X3NlbGVjdGVkX29wdGlvbnMgPSBuZXcgQXJyYXk8SVNlbGVjdE9wdGlvbnM+KCk7XHJcblxyXG4gIHNlbGVjdGVkX2l0ZW06IGFueSB8IHVuZGVmaW5lZDtcclxuICBzZWxlY3RlZF9kZXNjcmlwdGlvbjogYW55IHwgdW5kZWZpbmVkO1xyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbl92YWx1ZTogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25fb3B0aW9uczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG5cclxuICBtZW51X3Nob3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hfdGV4dDogc3RyaW5nID0gJyc7XHJcbiAgaWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBmb3JtdWxhcmlvOiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkYXRhTGlzdFNlcnZpY2U6IERhdGFMaXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyXHJcbiAgKXtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmlkID0gdGhpcy5nZW5lcmF0ZUlEKCk7XHJcblxyXG4gICAgdGhpcy5mb3JtdWxhcmlvID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIFwic2VsZWN0ZWRfaXRlbVwiOiBuZXcgRm9ybUNvbnRyb2woJycsW10pLFxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbl92YWx1ZSA9IHRoaXMuZGF0YUxpc3RTZXJ2aWNlLnN0YXRlVmFsdWUkLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZF9pdGVtID0gdjsgICAgICBcclxuICAgICAgdGhpcy5zZWxlY3REZXNjcmlwdGlvbigpO1xyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbl9kZXNjcmlwdGlvbiA9IHRoaXMuZGF0YUxpc3RTZXJ2aWNlLnN0YXRlRGVzY3JpcHRpb24kLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZF9kZXNjcmlwdGlvbiA9IHY7XHJcbiAgICB9KVxyXG5cclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbl9vcHRpb25zID0gdGhpcy5kYXRhTGlzdFNlcnZpY2Uuc3RhdGVPcHRpb25zJC5zdWJzY3JpYmUoKHY6YW55KSA9PiB7XHJcbiAgICAgIGlmKCB2ICYmIHYudmFsdWUgKXtcclxuICAgICAgICAodGhpcy5saXN0X3NlbGVjdGVkX29wdGlvbnMpLnB1c2godik7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy50b1Jlc2l6ZSgpO1xyXG4gICAgdGhpcy50b0NsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUlEKCk6IHN0cmluZ3tcclxuICAgIHJldHVybiBgZGF0YS1saXN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkpfWA7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmKCB0aGlzLnN1YnNjcmlwdGlvbl92YWx1ZSApeyB0aGlzLnN1YnNjcmlwdGlvbl92YWx1ZS51bnN1YnNjcmliZSgpOyB9ICAgIFxyXG4gICAgaWYoIHRoaXMuc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uICl7IHRoaXMuc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7IH0gXHJcbiAgICBpZiggdGhpcy5zdWJzY3JpcHRpb25fb3B0aW9ucyApeyB0aGlzLnN1YnNjcmlwdGlvbl9vcHRpb25zLnVuc3Vic2NyaWJlKCk7IH0gXHJcbiAgfVxyXG5cclxuICB0b1NlYXJjaChlOiBhbnkpIHtcclxuICAgIGxldCBpbnB1dCA9IChlICYmIGUudGFyZ2V0ICYmIGUudGFyZ2V0LnZhbHVlKSA/IGUudGFyZ2V0LnZhbHVlIDogJyc7XHJcbiAgICBcclxuICAgIGxldCBmaWx0ZXIgPSAoICggKGlucHV0KS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpICkudHJpbSgpICkudG9Mb3dlckNhc2UoKTtcclxuICAgIGxldCB1bCA9IDxhbnk+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9LW9wdGlvbnNgKTtcclxuICAgIGxldCBsaSA9IHVsLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYnV0dG9uXCIpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IGEgPSBsaVtpXTtcclxuICAgICAgICBjb25zdCB0eHRWYWx1ZSA9ICggKCAoIGEudGV4dENvbnRlbnQgfHwgYS5pbm5lclRleHQgKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpICkudHJpbSgpICkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAodHh0VmFsdWUuaW5kZXhPZihmaWx0ZXIpID4gLTEpIHtcclxuICAgICAgICAgICAgbGlbaV0uc3R5bGUuZGlzcGxheSA9IFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGlbaV0uc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdERlc2NyaXB0aW9uKCl7XHJcbiAgICBpZiggdGhpcy5saXN0X3NlbGVjdGVkX29wdGlvbnMgJiYgKHRoaXMubGlzdF9zZWxlY3RlZF9vcHRpb25zKS5sZW5ndGggPiAwICl7XHJcbiAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgKHRoaXMubGlzdF9zZWxlY3RlZF9vcHRpb25zKS5sZW5ndGg7IGkrKyApe1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmxpc3Rfc2VsZWN0ZWRfb3B0aW9uc1tpXTtcclxuICAgICAgICBpZiggaXRlbS52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZF9pdGVtICl7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkX2Rlc2NyaXB0aW9uID0gaXRlbS5kZXNjcmlwdGlvbjtcclxuICAgICAgICAgIHRoaXMudG9DaGFuZ2UoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiggdGhpcy5zZWxlY3RlZF9pdGVtID09PSB1bmRlZmluZWQgfHwgdGhpcy5zZWxlY3RlZF9pdGVtID09PSBudWxsIHx8IHRoaXMuc2VsZWN0ZWRfaXRlbSA9PT0gJycgKXtcclxuICAgICAgdGhpcy50b0NoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIFxyXG4gIHRvSW5wdXQoZTogYW55KXtcclxuICAgIHRoaXMub25DaGFuZ2UuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIHRvQ2hhbmdlKCl7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYoIHRoaXMuc2VsZWN0ZWRfaXRlbSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuc2VsZWN0ZWRfaXRlbSA9PT0gbnVsbCApe1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9ICcnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudG9TZWFyY2goJycpO1xyXG4gICAgICB0aGlzLnNlYXJjaF90ZXh0ID0gJyc7XHJcbiAgICAgIHRoaXMuZGF0YUxpc3RTZXJ2aWNlLnNldEFjdGl2ZUl0ZW0odGhpcy5zZWxlY3RlZF9pdGVtKTtcclxuXHJcbiAgICAgIHRoaXMub25JbnB1dENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRfZGVzY3JpcHRpb24pO1xyXG5cclxuICAgICAgaWYoIHRoaXMuZm9ybXVsYXJpbyApe1xyXG4gICAgICAgIHRoaXMuZm9ybXVsYXJpbz8uZ2V0KCdzZWxlY3RlZF9pdGVtJyk/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRfaXRlbSk7XHJcbiAgICAgICAgLy8gY29uc3QgaW5wdXRfaGlkZGVuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5pZH0taGlkZGVuYCk7XHJcbiAgICAgICAgdGhpcy50b0lucHV0KHRoaXMuZm9ybXVsYXJpby5nZXQoJ3NlbGVjdGVkX2l0ZW0nKSk7XHJcbiAgICAgIH0gICBcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIGNsZWFyVGV4dFNlYXJjaCgpe1xyXG4gICAgdGhpcy5zZWFyY2hfdGV4dCA9ICcnO1xyXG4gICAgdGhpcy50b1NlYXJjaCgnJyk7XHJcbiAgfVxyXG5cclxuICB0b09wZW4oKXtcclxuICAgIHRoaXMubWVudV9zaG93ID0gIXRoaXMubWVudV9zaG93O1xyXG4gICAgdGhpcy5yZXNvbHZlX3Bvc2l0aW9uX2Ryb3Bkb3duKHRoaXMubWVudV9zaG93KTtcclxuICB9XHJcblxyXG4gIHJlc29sdmVfcG9zaXRpb25fZHJvcGRvd24ob3BlbjogYm9vbGVhbil7XHJcbiAgICBpZiggb3BlbiApe1xyXG4gICAgICB0aGlzLmJveF9zdHlsZSA9ICcnO1xyXG4gICAgICB0aGlzLm1lbnVfb25fdG9wID0gJyc7ICAgXHJcbiAgICAgIGNvbnN0IGlkID0gYCR7dGhpcy5pZH1gOyBcclxuICAgICAgY29uc3QgYm94ID0gYGJveC0ke3RoaXMuaWR9YDtcclxuICAgICAgaWYoIHRoaXMudmlld3BvcnRfaGVpZ2h0ID09PSAwICl7XHJcbiAgICAgICAgdGhpcy52aWV3cG9ydF9oZWlnaHQgPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCByZWN0ICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGNvbnN0IGJveF9wb3NpdGlvbiA9IHJlY3Q/LmJvdHRvbSB8fCAwOyAgICAgIFxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmJveF9oZWlnaHQgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYm94KT8uY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICAgICAgaWYoICggdGhpcy52aWV3cG9ydF9oZWlnaHQgLSBib3hfcG9zaXRpb24pIDwgdGhpcy5ib3hfaGVpZ2h0ICl7XHJcbiAgICAgICAgICB0aGlzLm1lbnVfb25fdG9wID0gJ21lbnUtb24tdG9wJztcclxuICAgICAgICAgIHRoaXMuYm94X3N0eWxlID0gYHRvcDogLSR7ICh0aGlzLmJveF9oZWlnaHQpIH1weDsgaGVpZ2h0OiAke3RoaXMuYm94X2hlaWdodH1weDtgO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7ICAgIFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9DbG9zZSgpe1xyXG4gICAgdGhpcy5tZW51X3Nob3cgPSBmYWxzZTtcclxuICB9XHJcblxyXG5cclxuICB0b1Jlc2l6ZSgpe1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHtcclxuICAgICAgdGhpcy52aWV3cG9ydF93aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICB0aGlzLnZpZXdwb3J0X2hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgdGhpcy5yZXNvbHZlX3Bvc2l0aW9uX2Ryb3Bkb3duKHRoaXMubWVudV9zaG93KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9DbGljaygpe1xyXG4gICAgY29uc3QgYm94ID0gYGFyZWEtJHt0aGlzLmlkfWA7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLChlOiBhbnkpID0+IHsgICBcclxuICAgICAgaWYoIHRoaXMubWVudV9zaG93ICl7XHJcbiAgICAgICAgaWYoICEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYm94KT8uY29udGFpbnMoZS50YXJnZXQpKSApeyAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLm1lbnVfc2hvdyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgXHJcbiAgLy9QbGFjZWhvbGRlcnMgZm9yIHRoZSBjYWxsYmFja3Mgd2hpY2ggYXJlIGxhdGVyIHByb3ZpZGVzZFxyXG4gICAgLy9ieSB0aGUgQ29udHJvbCBWYWx1ZSBBY2Nlc3NvclxyXG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xyXG5cclxuICAgIC8vZ2V0IGFjY2Vzc29yXHJcbiAgICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZF9pdGVtO1xyXG4gICAgfTtcclxuXHJcbiAgICAvL3NldCBhY2Nlc3NvciBpbmNsdWRpbmcgY2FsbCB0aGUgb25jaGFuZ2UgY2FsbGJhY2tcclxuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgICAgICBpZiAodiAhPT0gdGhpcy5zZWxlY3RlZF9pdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9TZXQgdG91Y2hlZCBvbiBibHVyXHJcbiAgICBvbkJsdXIoKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZF9pdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuIiwiPGRpdiAqbmdJZj1cImZvcm11bGFyaW9cIiBpZD1cImFyZWEte3sgaWQgfX1cIiBjbGFzcz1cInRjLWRyb3Bkb3duXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmdcIj5cclxuICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibG9hZGluZy1hcmVhXCI+XHJcbiAgICA8aSBjbGFzcz1cImZhcyBmYS1zcGlubmVyIGZhLXNwaW5cIj48L2k+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBbYXR0ci5kYXRhLWJzLXRvZ2dsZV09XCInZHJvcGRvd24nXCIgIC0tPlxyXG4gIDxidXR0b24gXHJcbiAgICBbY2xhc3MubG9hZGluZy1ib3hdPVwibG9hZGluZ1wiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZ1wiXHJcbiAgICBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSBidXR0b24tc2VsZWN0XCIgXHJcbiAgICB0eXBlPVwiYnV0dG9uXCIgXHJcbiAgICBpZD1cInt7IGlkIH19XCIgXHJcbiAgICBcclxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiJ3RydWUnXCIgXHJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIidmYWxzZSdcIiBcclxuICAgIChjbGljayk9XCJ0b09wZW4oKVwiID5cclxuXHJcbiAgICA8aSAqbmdJZj1cIihzZWxlY3RlZF9kZXNjcmlwdGlvbiA9PT0gdW5kZWZpbmVkIHx8IHNlbGVjdGVkX2Rlc2NyaXB0aW9uID09PSBudWxsIHx8IHNlbGVjdGVkX2Rlc2NyaXB0aW9uID09PSAnJyApICYmICFsb2FkaW5nIFwiPnt7IHBsYWNlaG9sZGVyIH19PC9pPlxyXG4gICAge3sgc2VsZWN0ZWRfZGVzY3JpcHRpb24gfX1cclxuICAgIDxzcGFuPjxpIGNsYXNzPVwiZmFzIGZhLWFuZ2xlLWRvd25cIj48L2k+PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJ0Yy1kcm9wZG93bi1tZW51IHt7IG1lbnVfb25fdG9wIH19XCIgaWQ9XCJib3gte3sgaWQgfX1cIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWRcIiBbY2xhc3MudG8taGlkZV09XCIhbWVudV9zaG93XCIgW3N0eWxlXT1cImJveF9zdHlsZVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJsaW5lLXNlYXJjaFwiICpuZ0lmPVwic2VhcmNoXCI+XHJcbiAgICAgIDx0YWJsZSBjbGFzcz1cImJveC1zZWFyY2hcIj5cclxuICAgICAgICA8dHI+XHJcblxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwiYXJlYS1pbnB1dFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaF90ZXh0XCIgKGlucHV0KT1cInRvU2VhcmNoKCRldmVudClcIiBwbGFjZWhvbGRlcj1cIkJ1c2Nhci4uLlwiID4gICAgICAgICAgICBcclxuICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwiYXJlYS1pY29uXCI+XHJcbiAgICAgICAgICAgIDxpICpuZ0lmPVwic2VhcmNoX3RleHQgPT09ICcnXCIgY2xhc3M9XCJmYXMgZmEtc2VhcmNoIGljb24tc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cInNlYXJjaF90ZXh0ICE9PSAnJ1wiIChjbGljayk9XCJjbGVhclRleHRTZWFyY2goKVwiPjxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIFxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGFibGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cImFyZWEtb3B0aW9uc1wiIGlkPVwie3sgaWQgfX0tb3B0aW9uc1wiIChjbGljayk9XCJ0b0Nsb3NlKClcIj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cImZvcm11bGFyaW9cIj5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm11bGFyaW9cIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgPlxyXG4gICAgPGlucHV0IGlkPVwie3sgaWQgfX0taGlkZGVuXCIgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRfaXRlbVwiIHR5cGU9XCJoaWRkZW5cIj5cclxuICA8L2Zvcm0+XHJcbjwvZGl2PiJdfQ==
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWRhdGEtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktZGF0YS1saXN0L3RjbG91ZC11aS1kYXRhLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWRhdGEtbGlzdC90Y2xvdWQtdWktZGF0YS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFhLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQWtDLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUloRyxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBUTtJQUN0RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7SUFDeEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO0FBQ2xCLENBQUMsQ0FBQztBQVlGLE1BQU0sT0FBTyx5QkFBeUI7SUE2RHBDLFlBQ1UsZUFBZ0MsRUFDaEMsV0FBd0I7UUFEeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBN0RsQyxtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUMzQixvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUM1QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGNBQVMsR0FBVyxF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RGF0YUxpc3RTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kYXRhLWxpc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0Zvcm0sIEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVNlbGVjdE9wdGlvbnMgfSBmcm9tICcuL3RjbG91ZC11aS1kYXRhLWxpc3QnO1xyXG5cclxuZXhwb3J0IGNvbnN0IENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVENsb3VkVWlEYXRhTGlzdENvbXBvbmVudCksXHJcbiAgbXVsdGk6IHRydWVcclxufTtcclxuXHJcbmNvbnN0IG5vb3AgPSAoKSA9PiB7XHJcbn07XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Y2xvdWQtdWktZGF0YS1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGNsb3VkLXVpLWRhdGEtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGNsb3VkLXVpLWRhdGEtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRGF0YUxpc3RTZXJ2aWNlLCBcclxuICAgIENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRDbG91ZFVpRGF0YUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHZpZXdwb3J0X3dpZHRoOiBudW1iZXIgPSAwO1xyXG4gIHZpZXdwb3J0X2hlaWdodDogbnVtYmVyID0gMDtcclxuICBib3hfaGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gIGJveF9zdHlsZTogc3RyaW5nID0gJyc7XHJcbiAgbWVudV9vbl90b3A6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcblxyXG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHYpe1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2O1xyXG4gICAgaWYoIHRoaXMuX2Rpc2FibGVkICl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRfZGVzY3JpcHRpb24gPSAnJztcclxuICAgICAgdGhpcy5zZWxlY3RlZF9pdGVtID0nJztcclxuICAgICAgdGhpcy50b0NoYW5nZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgZGlzYWJsZWQoKTpib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XHJcblxyXG4gIHByaXZhdGUgX2xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgbG9hZGluZyh2KXtcclxuICAgIHRoaXMuX2xvYWRpbmcgPSB2O1xyXG4gICAgaWYoIHRoaXMuX2xvYWRpbmcgKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZF9kZXNjcmlwdGlvbiA9ICcnO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkX2l0ZW0gPScnO1xyXG4gICAgICB0aGlzLnRvQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBsb2FkaW5nKCk6Ym9vbGVhbiB7IHJldHVybiB0aGlzLl9sb2FkaW5nOyB9XHJcblxyXG5cclxuICBASW5wdXQoKSBzZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIFxyXG5cclxuICBAT3V0cHV0KCkgb25JbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SVNlbGVjdE9wdGlvbnM+KCk7XHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJU2VsZWN0T3B0aW9ucz4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfbmdNb2RlbDogYW55IHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHNldCBuZ01vZGVsKHY6IGFueSl7XHJcbiAgICB0aGlzLnNlbGVjdGVkX2l0ZW0gPSB2O1xyXG4gICAgdGhpcy5zZWxlY3REZXNjcmlwdGlvbigpO1xyXG4gIH1cclxuICBAT3V0cHV0KCkgbmdNb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBsaXN0X3NlbGVjdGVkX29wdGlvbnMgPSBuZXcgQXJyYXk8SVNlbGVjdE9wdGlvbnM+KCk7XHJcblxyXG4gIHNlbGVjdGVkX2l0ZW06IGFueSB8IHVuZGVmaW5lZDtcclxuICBzZWxlY3RlZF9kZXNjcmlwdGlvbjogYW55IHwgdW5kZWZpbmVkO1xyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbl92YWx1ZTogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25fb3B0aW9uczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG5cclxuICBtZW51X3Nob3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hfdGV4dDogc3RyaW5nID0gJyc7XHJcbiAgaWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBmb3JtdWxhcmlvOiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkYXRhTGlzdFNlcnZpY2U6IERhdGFMaXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyXHJcbiAgKXtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmlkID0gdGhpcy5nZW5lcmF0ZUlEKCk7XHJcblxyXG4gICAgdGhpcy5mb3JtdWxhcmlvID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIFwic2VsZWN0ZWRfaXRlbVwiOiBuZXcgRm9ybUNvbnRyb2woJycsW10pLFxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbl92YWx1ZSA9IHRoaXMuZGF0YUxpc3RTZXJ2aWNlLnN0YXRlVmFsdWUkLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZF9pdGVtID0gdjsgICAgICBcclxuICAgICAgdGhpcy5zZWxlY3REZXNjcmlwdGlvbigpO1xyXG4gICAgICB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkX2l0ZW0pO1xyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbl9kZXNjcmlwdGlvbiA9IHRoaXMuZGF0YUxpc3RTZXJ2aWNlLnN0YXRlRGVzY3JpcHRpb24kLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZF9kZXNjcmlwdGlvbiA9IHY7XHJcbiAgICB9KVxyXG5cclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbl9vcHRpb25zID0gdGhpcy5kYXRhTGlzdFNlcnZpY2Uuc3RhdGVPcHRpb25zJC5zdWJzY3JpYmUoKHY6YW55KSA9PiB7XHJcbiAgICAgIGlmKCB2ICYmIHYudmFsdWUgKXtcclxuICAgICAgICAodGhpcy5saXN0X3NlbGVjdGVkX29wdGlvbnMpLnB1c2godik7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy50b1Jlc2l6ZSgpO1xyXG4gICAgdGhpcy50b0NsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUlEKCk6IHN0cmluZ3tcclxuICAgIHJldHVybiBgZGF0YS1saXN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkpfWA7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmKCB0aGlzLnN1YnNjcmlwdGlvbl92YWx1ZSApeyB0aGlzLnN1YnNjcmlwdGlvbl92YWx1ZS51bnN1YnNjcmliZSgpOyB9ICAgIFxyXG4gICAgaWYoIHRoaXMuc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uICl7IHRoaXMuc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7IH0gXHJcbiAgICBpZiggdGhpcy5zdWJzY3JpcHRpb25fb3B0aW9ucyApeyB0aGlzLnN1YnNjcmlwdGlvbl9vcHRpb25zLnVuc3Vic2NyaWJlKCk7IH0gXHJcbiAgfVxyXG5cclxuICB0b1NlYXJjaChlOiBhbnkpIHtcclxuICAgIGxldCBpbnB1dCA9IChlICYmIGUudGFyZ2V0ICYmIGUudGFyZ2V0LnZhbHVlKSA/IGUudGFyZ2V0LnZhbHVlIDogJyc7XHJcbiAgICBcclxuICAgIGxldCBmaWx0ZXIgPSAoICggKGlucHV0KS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpICkudHJpbSgpICkudG9Mb3dlckNhc2UoKTtcclxuICAgIGxldCB1bCA9IDxhbnk+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9LW9wdGlvbnNgKTtcclxuICAgIGxldCBsaSA9IHVsLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYnV0dG9uXCIpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IGEgPSBsaVtpXTtcclxuICAgICAgICBjb25zdCB0eHRWYWx1ZSA9ICggKCAoIGEudGV4dENvbnRlbnQgfHwgYS5pbm5lclRleHQgKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpICkudHJpbSgpICkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAodHh0VmFsdWUuaW5kZXhPZihmaWx0ZXIpID4gLTEpIHtcclxuICAgICAgICAgICAgbGlbaV0uc3R5bGUuZGlzcGxheSA9IFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGlbaV0uc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdERlc2NyaXB0aW9uKCl7XHJcbiAgICBpZiggdGhpcy5saXN0X3NlbGVjdGVkX29wdGlvbnMgJiYgKHRoaXMubGlzdF9zZWxlY3RlZF9vcHRpb25zKS5sZW5ndGggPiAwICl7XHJcbiAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgKHRoaXMubGlzdF9zZWxlY3RlZF9vcHRpb25zKS5sZW5ndGg7IGkrKyApe1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmxpc3Rfc2VsZWN0ZWRfb3B0aW9uc1tpXTtcclxuICAgICAgICBpZiggaXRlbS52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZF9pdGVtICl7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkX2Rlc2NyaXB0aW9uID0gaXRlbS5kZXNjcmlwdGlvbjtcclxuICAgICAgICAgIHRoaXMudG9DaGFuZ2UoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiggdGhpcy5zZWxlY3RlZF9pdGVtID09PSB1bmRlZmluZWQgfHwgdGhpcy5zZWxlY3RlZF9pdGVtID09PSBudWxsIHx8IHRoaXMuc2VsZWN0ZWRfaXRlbSA9PT0gJycgKXtcclxuICAgICAgdGhpcy50b0NoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIFxyXG4gIHRvSW5wdXQoZTogYW55KXtcclxuICAgIHRoaXMub25DaGFuZ2UuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIHRvQ2hhbmdlKCl7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYoIHRoaXMuc2VsZWN0ZWRfaXRlbSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuc2VsZWN0ZWRfaXRlbSA9PT0gbnVsbCApe1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9ICcnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudG9TZWFyY2goJycpO1xyXG4gICAgICB0aGlzLnNlYXJjaF90ZXh0ID0gJyc7XHJcbiAgICAgIHRoaXMuZGF0YUxpc3RTZXJ2aWNlLnNldEFjdGl2ZUl0ZW0odGhpcy5zZWxlY3RlZF9pdGVtKTtcclxuXHJcbiAgICAgIHRoaXMub25JbnB1dENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRfZGVzY3JpcHRpb24pO1xyXG5cclxuICAgICAgaWYoIHRoaXMuZm9ybXVsYXJpbyApe1xyXG4gICAgICAgIHRoaXMuZm9ybXVsYXJpbz8uZ2V0KCdzZWxlY3RlZF9pdGVtJyk/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRfaXRlbSk7XHJcbiAgICAgICAgLy8gY29uc3QgaW5wdXRfaGlkZGVuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5pZH0taGlkZGVuYCk7XHJcbiAgICAgICAgdGhpcy50b0lucHV0KHRoaXMuZm9ybXVsYXJpby5nZXQoJ3NlbGVjdGVkX2l0ZW0nKSk7XHJcbiAgICAgIH0gICBcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIGNsZWFyVGV4dFNlYXJjaCgpe1xyXG4gICAgdGhpcy5zZWFyY2hfdGV4dCA9ICcnO1xyXG4gICAgdGhpcy50b1NlYXJjaCgnJyk7XHJcbiAgfVxyXG5cclxuICB0b09wZW4oKXtcclxuICAgIHRoaXMubWVudV9zaG93ID0gIXRoaXMubWVudV9zaG93O1xyXG4gICAgdGhpcy5yZXNvbHZlX3Bvc2l0aW9uX2Ryb3Bkb3duKHRoaXMubWVudV9zaG93KTtcclxuICB9XHJcblxyXG4gIHJlc29sdmVfcG9zaXRpb25fZHJvcGRvd24ob3BlbjogYm9vbGVhbil7XHJcbiAgICBpZiggb3BlbiApe1xyXG4gICAgICB0aGlzLmJveF9zdHlsZSA9ICcnO1xyXG4gICAgICB0aGlzLm1lbnVfb25fdG9wID0gJyc7ICAgXHJcbiAgICAgIGNvbnN0IGlkID0gYCR7dGhpcy5pZH1gOyBcclxuICAgICAgY29uc3QgYm94ID0gYGJveC0ke3RoaXMuaWR9YDtcclxuICAgICAgaWYoIHRoaXMudmlld3BvcnRfaGVpZ2h0ID09PSAwICl7XHJcbiAgICAgICAgdGhpcy52aWV3cG9ydF9oZWlnaHQgPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCByZWN0ICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGNvbnN0IGJveF9wb3NpdGlvbiA9IHJlY3Q/LmJvdHRvbSB8fCAwOyAgICAgIFxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmJveF9oZWlnaHQgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYm94KT8uY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICAgICAgaWYoICggdGhpcy52aWV3cG9ydF9oZWlnaHQgLSBib3hfcG9zaXRpb24pIDwgdGhpcy5ib3hfaGVpZ2h0ICl7XHJcbiAgICAgICAgICB0aGlzLm1lbnVfb25fdG9wID0gJ21lbnUtb24tdG9wJztcclxuICAgICAgICAgIHRoaXMuYm94X3N0eWxlID0gYHRvcDogLSR7ICh0aGlzLmJveF9oZWlnaHQpIH1weDsgaGVpZ2h0OiAke3RoaXMuYm94X2hlaWdodH1weDtgO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7ICAgIFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9DbG9zZSgpe1xyXG4gICAgdGhpcy5tZW51X3Nob3cgPSBmYWxzZTtcclxuICB9XHJcblxyXG5cclxuICB0b1Jlc2l6ZSgpe1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHtcclxuICAgICAgdGhpcy52aWV3cG9ydF93aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICB0aGlzLnZpZXdwb3J0X2hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgdGhpcy5yZXNvbHZlX3Bvc2l0aW9uX2Ryb3Bkb3duKHRoaXMubWVudV9zaG93KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9DbGljaygpe1xyXG4gICAgY29uc3QgYm94ID0gYGFyZWEtJHt0aGlzLmlkfWA7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLChlOiBhbnkpID0+IHsgICBcclxuICAgICAgaWYoIHRoaXMubWVudV9zaG93ICl7XHJcbiAgICAgICAgaWYoICEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYm94KT8uY29udGFpbnMoZS50YXJnZXQpKSApeyAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLm1lbnVfc2hvdyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgXHJcbiAgLy9QbGFjZWhvbGRlcnMgZm9yIHRoZSBjYWxsYmFja3Mgd2hpY2ggYXJlIGxhdGVyIHByb3ZpZGVzZFxyXG4gICAgLy9ieSB0aGUgQ29udHJvbCBWYWx1ZSBBY2Nlc3NvclxyXG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xyXG5cclxuICAgIC8vZ2V0IGFjY2Vzc29yXHJcbiAgICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZF9pdGVtO1xyXG4gICAgfTtcclxuXHJcbiAgICAvL3NldCBhY2Nlc3NvciBpbmNsdWRpbmcgY2FsbCB0aGUgb25jaGFuZ2UgY2FsbGJhY2tcclxuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgICAgICBpZiAodiAhPT0gdGhpcy5zZWxlY3RlZF9pdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9TZXQgdG91Y2hlZCBvbiBibHVyXHJcbiAgICBvbkJsdXIoKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZF9pdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuIiwiPGRpdiAqbmdJZj1cImZvcm11bGFyaW9cIiBpZD1cImFyZWEte3sgaWQgfX1cIiBjbGFzcz1cInRjLWRyb3Bkb3duXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmdcIj5cclxuICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibG9hZGluZy1hcmVhXCI+XHJcbiAgICA8aSBjbGFzcz1cImZhcyBmYS1zcGlubmVyIGZhLXNwaW5cIj48L2k+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBbYXR0ci5kYXRhLWJzLXRvZ2dsZV09XCInZHJvcGRvd24nXCIgIC0tPlxyXG4gIDxidXR0b24gXHJcbiAgICBbY2xhc3MubG9hZGluZy1ib3hdPVwibG9hZGluZ1wiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZ1wiXHJcbiAgICBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSBidXR0b24tc2VsZWN0XCIgXHJcbiAgICB0eXBlPVwiYnV0dG9uXCIgXHJcbiAgICBpZD1cInt7IGlkIH19XCIgXHJcbiAgICBcclxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiJ3RydWUnXCIgXHJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIidmYWxzZSdcIiBcclxuICAgIChjbGljayk9XCJ0b09wZW4oKVwiID5cclxuXHJcbiAgICA8aSAqbmdJZj1cIihzZWxlY3RlZF9kZXNjcmlwdGlvbiA9PT0gdW5kZWZpbmVkIHx8IHNlbGVjdGVkX2Rlc2NyaXB0aW9uID09PSBudWxsIHx8IHNlbGVjdGVkX2Rlc2NyaXB0aW9uID09PSAnJyApICYmICFsb2FkaW5nIFwiPnt7IHBsYWNlaG9sZGVyIH19PC9pPlxyXG4gICAge3sgc2VsZWN0ZWRfZGVzY3JpcHRpb24gfX1cclxuICAgIDxzcGFuPjxpIGNsYXNzPVwiZmFzIGZhLWFuZ2xlLWRvd25cIj48L2k+PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJ0Yy1kcm9wZG93bi1tZW51IHt7IG1lbnVfb25fdG9wIH19XCIgaWQ9XCJib3gte3sgaWQgfX1cIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWRcIiBbY2xhc3MudG8taGlkZV09XCIhbWVudV9zaG93XCIgW3N0eWxlXT1cImJveF9zdHlsZVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJsaW5lLXNlYXJjaFwiICpuZ0lmPVwic2VhcmNoXCI+XHJcbiAgICAgIDx0YWJsZSBjbGFzcz1cImJveC1zZWFyY2hcIj5cclxuICAgICAgICA8dHI+XHJcblxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwiYXJlYS1pbnB1dFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaF90ZXh0XCIgKGlucHV0KT1cInRvU2VhcmNoKCRldmVudClcIiBwbGFjZWhvbGRlcj1cIkJ1c2Nhci4uLlwiID4gICAgICAgICAgICBcclxuICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwiYXJlYS1pY29uXCI+XHJcbiAgICAgICAgICAgIDxpICpuZ0lmPVwic2VhcmNoX3RleHQgPT09ICcnXCIgY2xhc3M9XCJmYXMgZmEtc2VhcmNoIGljb24tc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cInNlYXJjaF90ZXh0ICE9PSAnJ1wiIChjbGljayk9XCJjbGVhclRleHRTZWFyY2goKVwiPjxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIFxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGFibGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cImFyZWEtb3B0aW9uc1wiIGlkPVwie3sgaWQgfX0tb3B0aW9uc1wiIChjbGljayk9XCJ0b0Nsb3NlKClcIj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cImZvcm11bGFyaW9cIj5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm11bGFyaW9cIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgPlxyXG4gICAgPGlucHV0IGlkPVwie3sgaWQgfX0taGlkZGVuXCIgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRfaXRlbVwiIHR5cGU9XCJoaWRkZW5cIj5cclxuICA8L2Zvcm0+XHJcbjwvZGl2PiJdfQ==
@@ -12,7 +12,7 @@ class Step {
12
12
  export class TCloudUiLineStepCircleComponent {
13
13
  constructor() {
14
14
  this.step = 7;
15
- this.active = 6;
15
+ this.active = 0;
16
16
  this.inactives = [];
17
17
  this.complete = false;
18
18
  this.trilha = new Array();
@@ -56,10 +56,10 @@ export class TCloudUiLineStepCircleComponent {
56
56
  }
57
57
  }
58
58
  TCloudUiLineStepCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiLineStepCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- TCloudUiLineStepCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiLineStepCircleComponent, selector: "tcloud-ui-line-step-circle", inputs: { step: "step", active: "active", inactives: "inactives", complete: "complete" }, ngImport: i0, template: "<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\"><i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i></td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>", styles: [".table-trilha{width:100%;border-collapse:collapse;margin-top:3px;margin-bottom:2px}.table-trilha td{border:none}.table-trilha .area-circle{width:0px}.table-trilha .step-line{width:100%;height:2px;background-color:#ccc;padding:0;margin-left:-1px;width:calc(100% + 2px)}table tr{background-color:transparent!important}.step-default{background-color:#d9d9d9}.step-progress{background-color:#039be5!important}.icon-step-default{color:#d9d9d9}.icon-step-progress{color:#039be5}.icon-step-active{color:#ea9b3e}.step-inactive{color:#d9d9d9!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
59
+ TCloudUiLineStepCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiLineStepCircleComponent, selector: "tcloud-ui-line-step-circle", inputs: { step: "step", active: "active", inactives: "inactives", complete: "complete" }, ngImport: i0, template: "<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\r\n\r\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\r\n \r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>", styles: [".table-trilha{width:100%;border-collapse:collapse;margin-top:3px;margin-bottom:2px}.table-trilha td{border:none}.table-trilha .area-circle{width:0px}.table-trilha .step-line{width:100%;height:2px;background-color:#ccc;padding:0;margin-left:-1px;width:calc(100% + 2px)}table tr{background-color:transparent!important}.step-default{background-color:#d9d9d9}.step-progress{background-color:#039be5!important}.icon-step-default{background-color:#d9d9d9}.icon-step-progress{background-color:#039be5}.icon-step-active{background-color:#ea9b3e}.step-inactive{background-color:#d9d9d9!important}.tc-circle{height:15px;width:15px;border-radius:50%;position:relative;z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
60
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiLineStepCircleComponent, decorators: [{
61
61
  type: Component,
62
- args: [{ selector: 'tcloud-ui-line-step-circle', template: "<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\"><i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i></td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>", styles: [".table-trilha{width:100%;border-collapse:collapse;margin-top:3px;margin-bottom:2px}.table-trilha td{border:none}.table-trilha .area-circle{width:0px}.table-trilha .step-line{width:100%;height:2px;background-color:#ccc;padding:0;margin-left:-1px;width:calc(100% + 2px)}table tr{background-color:transparent!important}.step-default{background-color:#d9d9d9}.step-progress{background-color:#039be5!important}.icon-step-default{color:#d9d9d9}.icon-step-progress{color:#039be5}.icon-step-active{color:#ea9b3e}.step-inactive{color:#d9d9d9!important}\n"] }]
62
+ args: [{ selector: 'tcloud-ui-line-step-circle', template: "<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\r\n\r\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\r\n \r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>", styles: [".table-trilha{width:100%;border-collapse:collapse;margin-top:3px;margin-bottom:2px}.table-trilha td{border:none}.table-trilha .area-circle{width:0px}.table-trilha .step-line{width:100%;height:2px;background-color:#ccc;padding:0;margin-left:-1px;width:calc(100% + 2px)}table tr{background-color:transparent!important}.step-default{background-color:#d9d9d9}.step-progress{background-color:#039be5!important}.icon-step-default{background-color:#d9d9d9}.icon-step-progress{background-color:#039be5}.icon-step-active{background-color:#ea9b3e}.step-inactive{background-color:#d9d9d9!important}.tc-circle{height:15px;width:15px;border-radius:50%;position:relative;z-index:1}\n"] }]
63
63
  }], ctorParameters: function () { return []; }, propDecorators: { step: [{
64
64
  type: Input
65
65
  }], active: [{
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
69
69
  }], complete: [{
70
70
  type: Input
71
71
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7OztBQUV6RCxNQUFNLElBQUk7SUFFUjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztDQU1GO0FBT0QsTUFBTSxPQUFPLCtCQUErQjtJQVMxQztRQVBTLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixjQUFTLEdBQUcsRUFBMEIsQ0FBQztRQUN2QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRW5DLFdBQU0sR0FBRyxJQUFJLEtBQUssRUFBUSxDQUFDO0lBRVgsQ0FBQztJQUVqQixRQUFRO1FBQ04sVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTVDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQVEsQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2xDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNaLE1BQU0sRUFBRSxFQUFFO29CQUNWLEtBQUssRUFBRSxDQUFDLEdBQUMsQ0FBQztvQkFDVixLQUFLLEVBQUUsY0FBYztvQkFDckIsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCLENBQUMsQ0FBQTthQUNIO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUMzQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztpQkFDakM7YUFDRjtTQUNGO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtvQkFDcEIsTUFBTSxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQztpQkFDakQ7YUFDRjtTQUNGO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQzs7NkhBckRVLCtCQUErQjtpSEFBL0IsK0JBQStCLDRKQ3RCNUMsc2NBU1E7NEZEYUssK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLDRCQUE0QjswRUFNN0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmNsYXNzIFN0ZXAge1xyXG5cclxuICBjb25zdHJ1Y3Rvcigpe1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnJztcclxuICAgIHRoaXMuaW5kZXggPSAwO1xyXG4gICAgdGhpcy5jbGFzcyA9ICcnO1xyXG4gICAgdGhpcy5zZWNvbmRfY2xhc3MgPSAnJztcclxuICB9XHJcblxyXG4gIHN0YXR1czogc3RyaW5nO1xyXG4gIGluZGV4OiBudW1iZXI7XHJcbiAgY2xhc3M6IHN0cmluZztcclxuICBzZWNvbmRfY2xhc3M6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Y2xvdWQtdWktbGluZS1zdGVwLWNpcmNsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RjbG91ZC11aS1saW5lLXN0ZXAtY2lyY2xlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90Y2xvdWQtdWktbGluZS1zdGVwLWNpcmNsZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaUxpbmVTdGVwQ2lyY2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgc3RlcDogbnVtYmVyID0gNztcclxuICBASW5wdXQoKSBhY3RpdmU6IG51bWJlciA9IDY7XHJcbiAgQElucHV0KCkgaW5hY3RpdmVzID0gW10gYXMgbnVtYmVyW10gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgdHJpbGhhID0gbmV3IEFycmF5PFN0ZXA+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMuYnVpbGRfc3RlcHMoKTsgfSk7XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGJ1aWxkX3N0ZXBzKCl7XHJcbiAgICBsZXQgdHJpbGhhID0gbmV3IEFycmF5PFN0ZXA+KCk7XHJcbiAgICBpZiggdGhpcy5zdGVwICYmIHRoaXMuc3RlcCA+IDAgKXtcclxuICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCB0aGlzLnN0ZXA7IGkrKyApe1xyXG4gICAgICAgICh0cmlsaGEpLnB1c2goe1xyXG4gICAgICAgICAgc3RhdHVzOiAnJyxcclxuICAgICAgICAgIGluZGV4OiBpKzEsXHJcbiAgICAgICAgICBjbGFzczogJ3N0ZXAtZGVmYXVsdCcsXHJcbiAgICAgICAgICBzZWNvbmRfY2xhc3M6ICcnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiggdGhpcy5hY3RpdmUgPiB0aGlzLnN0ZXAgKXtcclxuICAgICAgdGhpcy5hY3RpdmUgPSB0aGlzLnN0ZXA7XHJcbiAgICAgIHRoaXMuY29tcGxldGUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKCB0aGlzLmFjdGl2ZSAmJiB0aGlzLmFjdGl2ZSA+IDAgKXtcclxuICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCB0aGlzLmFjdGl2ZTsgaSsrICl7ICAgICAgICBcclxuICAgICAgICB0cmlsaGFbaV0uY2xhc3MgPSBcInN0ZXAtcHJvZ3Jlc3NcIjsgICAgICAgIFxyXG4gICAgICAgIGlmKCAoaSsxKSA9PT0gdGhpcy5hY3RpdmUgJiYgIXRoaXMuY29tcGxldGUgKXtcclxuICAgICAgICAgIHRyaWxoYVtpXS5jbGFzcyA9IFwic3RlcC1hY3RpdmVcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYoIHRoaXMuaW5hY3RpdmVzICYmICh0aGlzLmluYWN0aXZlcykubGVuZ3RoID4gMCApe1xyXG4gICAgICBmb3IoIGxldCBpID0gMDsgaSA8ICh0aGlzLmluYWN0aXZlcykubGVuZ3RoOyBpKysgKXtcclxuICAgICAgICBjb25zdCBpY29uID0gdGhpcy5pbmFjdGl2ZXNbaV07XHJcbiAgICAgICAgaWYoIGljb24gJiYgaWNvbiA+IDAgKXtcclxuICAgICAgICAgIHRyaWxoYVsoaWNvbi0xKV0uc2Vjb25kX2NsYXNzID0gXCJzdGVwLWluYWN0aXZlXCI7ICAgICBcclxuICAgICAgICB9ICAgIFxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50cmlsaGEgPSB0cmlsaGE7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8dGFibGUgY2xhc3M9XCJ0YWJsZS10cmlsaGFcIiBjZWxsc3BhY2luZz1cIjBcIiBjZWxscGFkZGluZz1cIjBcIj5cclxuICA8dHI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmYXNlIG9mIHRyaWxoYTsgbGV0IGkgPSBpbmRleFwiID5cclxuICAgICAgPHRkIGNsYXNzPVwiYXJlYS1jaXJjbGVcIj48aSBjbGFzcz1cImZhcyBmYS1jaXJjbGUgaWNvbi17eyBmYXNlLmNsYXNzIH19IHt7IGZhc2Uuc2Vjb25kX2NsYXNzIH19IFwiPjwvaT48L3RkPlxyXG4gICAgICA8dGQgY2xhc3M9XCJhcmVhLWxpbmVcIiAqbmdJZj1cIihpKzEpIDwgKHRyaWxoYSkubGVuZ3RoXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtbGluZSB7eyBmYXNlLmNsYXNzIH19XCI+PC9kaXY+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3RyPlxyXG48L3RhYmxlPiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7OztBQUV6RCxNQUFNLElBQUk7SUFFUjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztDQU1GO0FBT0QsTUFBTSxPQUFPLCtCQUErQjtJQVMxQztRQVBTLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixjQUFTLEdBQUcsRUFBMEIsQ0FBQztRQUN2QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRW5DLFdBQU0sR0FBRyxJQUFJLEtBQUssRUFBUSxDQUFDO0lBRVgsQ0FBQztJQUVqQixRQUFRO1FBQ04sVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTVDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQVEsQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2xDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNaLE1BQU0sRUFBRSxFQUFFO29CQUNWLEtBQUssRUFBRSxDQUFDLEdBQUMsQ0FBQztvQkFDVixLQUFLLEVBQUUsY0FBYztvQkFDckIsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCLENBQUMsQ0FBQTthQUNIO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUMzQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztpQkFDakM7YUFDRjtTQUNGO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtvQkFDcEIsTUFBTSxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQztpQkFDakQ7YUFDRjtTQUNGO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQzs7NkhBckRVLCtCQUErQjtpSEFBL0IsK0JBQStCLDRKQ3RCNUMsNGtCQWNROzRGRFFLLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSw0QkFBNEI7MEVBTTdCLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5jbGFzcyBTdGVwIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKXtcclxuICAgIHRoaXMuc3RhdHVzID0gJyc7XHJcbiAgICB0aGlzLmluZGV4ID0gMDtcclxuICAgIHRoaXMuY2xhc3MgPSAnJztcclxuICAgIHRoaXMuc2Vjb25kX2NsYXNzID0gJyc7XHJcbiAgfVxyXG5cclxuICBzdGF0dXM6IHN0cmluZztcclxuICBpbmRleDogbnVtYmVyO1xyXG4gIGNsYXNzOiBzdHJpbmc7XHJcbiAgc2Vjb25kX2NsYXNzOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90Y2xvdWQtdWktbGluZS1zdGVwLWNpcmNsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVENsb3VkVWlMaW5lU3RlcENpcmNsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IDc7XHJcbiAgQElucHV0KCkgYWN0aXZlOiBudW1iZXIgPSAwO1xyXG4gIEBJbnB1dCgpIGluYWN0aXZlcyA9IFtdIGFzIG51bWJlcltdIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGNvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHRyaWxoYSA9IG5ldyBBcnJheTxTdGVwPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLmJ1aWxkX3N0ZXBzKCk7IH0pO1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICBidWlsZF9zdGVwcygpe1xyXG4gICAgbGV0IHRyaWxoYSA9IG5ldyBBcnJheTxTdGVwPigpO1xyXG4gICAgaWYoIHRoaXMuc3RlcCAmJiB0aGlzLnN0ZXAgPiAwICl7XHJcbiAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgdGhpcy5zdGVwOyBpKysgKXtcclxuICAgICAgICAodHJpbGhhKS5wdXNoKHtcclxuICAgICAgICAgIHN0YXR1czogJycsXHJcbiAgICAgICAgICBpbmRleDogaSsxLFxyXG4gICAgICAgICAgY2xhc3M6ICdzdGVwLWRlZmF1bHQnLFxyXG4gICAgICAgICAgc2Vjb25kX2NsYXNzOiAnJyxcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYoIHRoaXMuYWN0aXZlID4gdGhpcy5zdGVwICl7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy5zdGVwO1xyXG4gICAgICB0aGlzLmNvbXBsZXRlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiggdGhpcy5hY3RpdmUgJiYgdGhpcy5hY3RpdmUgPiAwICl7XHJcbiAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgdGhpcy5hY3RpdmU7IGkrKyApeyAgICAgICAgXHJcbiAgICAgICAgdHJpbGhhW2ldLmNsYXNzID0gXCJzdGVwLXByb2dyZXNzXCI7ICAgICAgICBcclxuICAgICAgICBpZiggKGkrMSkgPT09IHRoaXMuYWN0aXZlICYmICF0aGlzLmNvbXBsZXRlICl7XHJcbiAgICAgICAgICB0cmlsaGFbaV0uY2xhc3MgPSBcInN0ZXAtYWN0aXZlXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKCB0aGlzLmluYWN0aXZlcyAmJiAodGhpcy5pbmFjdGl2ZXMpLmxlbmd0aCA+IDAgKXtcclxuICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAodGhpcy5pbmFjdGl2ZXMpLmxlbmd0aDsgaSsrICl7XHJcbiAgICAgICAgY29uc3QgaWNvbiA9IHRoaXMuaW5hY3RpdmVzW2ldO1xyXG4gICAgICAgIGlmKCBpY29uICYmIGljb24gPiAwICl7XHJcbiAgICAgICAgICB0cmlsaGFbKGljb24tMSldLnNlY29uZF9jbGFzcyA9IFwic3RlcC1pbmFjdGl2ZVwiOyAgICAgXHJcbiAgICAgICAgfSAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudHJpbGhhID0gdHJpbGhhO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHRhYmxlIGNsYXNzPVwidGFibGUtdHJpbGhhXCIgY2VsbHNwYWNpbmc9XCIwXCIgY2VsbHBhZGRpbmc9XCIwXCI+XHJcbiAgPHRyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmFzZSBvZiB0cmlsaGE7IGxldCBpID0gaW5kZXhcIiA+XHJcbiAgICAgIDx0ZCBjbGFzcz1cImFyZWEtY2lyY2xlXCI+XHJcbiAgICAgICAgPCEtLSA8aSBjbGFzcz1cImZhcyBmYS1jaXJjbGUgaWNvbi17eyBmYXNlLmNsYXNzIH19IHt7IGZhc2Uuc2Vjb25kX2NsYXNzIH19IFwiPjwvaT4gLS0+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0Yy1jaXJjbGUgaWNvbi17eyBmYXNlLmNsYXNzIH19IHt7IGZhc2Uuc2Vjb25kX2NsYXNzIH19XCI+PC9kaXY+XHJcbiAgICAgIFxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgY2xhc3M9XCJhcmVhLWxpbmVcIiAqbmdJZj1cIihpKzEpIDwgKHRyaWxoYSkubGVuZ3RoXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtbGluZSB7eyBmYXNlLmNsYXNzIH19XCI+PC9kaXY+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3RyPlxyXG48L3RhYmxlPiJdfQ==
@@ -820,7 +820,7 @@ class Step$1 {
820
820
  class TCloudUiLineStepCircleComponent {
821
821
  constructor() {
822
822
  this.step = 7;
823
- this.active = 6;
823
+ this.active = 0;
824
824
  this.inactives = [];
825
825
  this.complete = false;
826
826
  this.trilha = new Array();
@@ -864,10 +864,10 @@ class TCloudUiLineStepCircleComponent {
864
864
  }
865
865
  }
866
866
  TCloudUiLineStepCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiLineStepCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
867
- TCloudUiLineStepCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiLineStepCircleComponent, selector: "tcloud-ui-line-step-circle", inputs: { step: "step", active: "active", inactives: "inactives", complete: "complete" }, ngImport: i0, template: "<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\"><i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i></td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>", styles: [".table-trilha{width:100%;border-collapse:collapse;margin-top:3px;margin-bottom:2px}.table-trilha td{border:none}.table-trilha .area-circle{width:0px}.table-trilha .step-line{width:100%;height:2px;background-color:#ccc;padding:0;margin-left:-1px;width:calc(100% + 2px)}table tr{background-color:transparent!important}.step-default{background-color:#d9d9d9}.step-progress{background-color:#039be5!important}.icon-step-default{color:#d9d9d9}.icon-step-progress{color:#039be5}.icon-step-active{color:#ea9b3e}.step-inactive{color:#d9d9d9!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
867
+ TCloudUiLineStepCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiLineStepCircleComponent, selector: "tcloud-ui-line-step-circle", inputs: { step: "step", active: "active", inactives: "inactives", complete: "complete" }, ngImport: i0, template: "<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\r\n\r\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\r\n \r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>", styles: [".table-trilha{width:100%;border-collapse:collapse;margin-top:3px;margin-bottom:2px}.table-trilha td{border:none}.table-trilha .area-circle{width:0px}.table-trilha .step-line{width:100%;height:2px;background-color:#ccc;padding:0;margin-left:-1px;width:calc(100% + 2px)}table tr{background-color:transparent!important}.step-default{background-color:#d9d9d9}.step-progress{background-color:#039be5!important}.icon-step-default{background-color:#d9d9d9}.icon-step-progress{background-color:#039be5}.icon-step-active{background-color:#ea9b3e}.step-inactive{background-color:#d9d9d9!important}.tc-circle{height:15px;width:15px;border-radius:50%;position:relative;z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
868
868
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiLineStepCircleComponent, decorators: [{
869
869
  type: Component,
870
- args: [{ selector: 'tcloud-ui-line-step-circle', template: "<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\"><i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i></td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>", styles: [".table-trilha{width:100%;border-collapse:collapse;margin-top:3px;margin-bottom:2px}.table-trilha td{border:none}.table-trilha .area-circle{width:0px}.table-trilha .step-line{width:100%;height:2px;background-color:#ccc;padding:0;margin-left:-1px;width:calc(100% + 2px)}table tr{background-color:transparent!important}.step-default{background-color:#d9d9d9}.step-progress{background-color:#039be5!important}.icon-step-default{color:#d9d9d9}.icon-step-progress{color:#039be5}.icon-step-active{color:#ea9b3e}.step-inactive{color:#d9d9d9!important}\n"] }]
870
+ args: [{ selector: 'tcloud-ui-line-step-circle', template: "<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\r\n\r\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\r\n \r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>", styles: [".table-trilha{width:100%;border-collapse:collapse;margin-top:3px;margin-bottom:2px}.table-trilha td{border:none}.table-trilha .area-circle{width:0px}.table-trilha .step-line{width:100%;height:2px;background-color:#ccc;padding:0;margin-left:-1px;width:calc(100% + 2px)}table tr{background-color:transparent!important}.step-default{background-color:#d9d9d9}.step-progress{background-color:#039be5!important}.icon-step-default{background-color:#d9d9d9}.icon-step-progress{background-color:#039be5}.icon-step-active{background-color:#ea9b3e}.step-inactive{background-color:#d9d9d9!important}.tc-circle{height:15px;width:15px;border-radius:50%;position:relative;z-index:1}\n"] }]
871
871
  }], ctorParameters: function () { return []; }, propDecorators: { step: [{
872
872
  type: Input
873
873
  }], active: [{
@@ -1135,6 +1135,7 @@ class TCloudUiDataListComponent {
1135
1135
  this.search = true;
1136
1136
  this.onInputChange = new EventEmitter();
1137
1137
  this.onChange = new EventEmitter();
1138
+ this.ngModelChange = new EventEmitter();
1138
1139
  this.list_selected_options = new Array();
1139
1140
  this.menu_show = false;
1140
1141
  this.search_text = '';
@@ -1174,6 +1175,7 @@ class TCloudUiDataListComponent {
1174
1175
  this.subscription_value = this.dataListService.stateValue$.subscribe(v => {
1175
1176
  this.selected_item = v;
1176
1177
  this.selectDescription();
1178
+ this.ngModelChange.emit(this.selected_item);
1177
1179
  });
1178
1180
  this.subscription_description = this.dataListService.stateDescription$.subscribe(v => {
1179
1181
  this.selected_description = v;
@@ -1334,16 +1336,16 @@ class TCloudUiDataListComponent {
1334
1336
  }
1335
1337
  }
1336
1338
  TCloudUiDataListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListComponent, deps: [{ token: DataListService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
1337
- TCloudUiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiDataListComponent, selector: "tcloud-ui-data-list", inputs: { placeholder: "placeholder", disabled: "disabled", loading: "loading", search: "search", ngModel: "ngModel" }, outputs: { onInputChange: "onInputChange", onChange: "onChange" }, providers: [
1339
+ TCloudUiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiDataListComponent, selector: "tcloud-ui-data-list", inputs: { placeholder: "placeholder", disabled: "disabled", loading: "loading", search: "search", ngModel: "ngModel" }, outputs: { onInputChange: "onInputChange", onChange: "onChange", ngModelChange: "ngModelChange" }, providers: [
1338
1340
  DataListService,
1339
1341
  CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$2
1340
- ], ngImport: i0, template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen()\" >\r\n\r\n <i *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
1342
+ ], ngImport: i0, template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen()\" >\r\n\r\n <i *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff;position:absolute}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
1341
1343
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListComponent, decorators: [{
1342
1344
  type: Component,
1343
1345
  args: [{ selector: 'tcloud-ui-data-list', providers: [
1344
1346
  DataListService,
1345
1347
  CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$2
1346
- ], template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen()\" >\r\n\r\n <i *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"] }]
1348
+ ], template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen()\" >\r\n\r\n <i *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff;position:absolute}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"] }]
1347
1349
  }], ctorParameters: function () { return [{ type: DataListService }, { type: i2.FormBuilder }]; }, propDecorators: { placeholder: [{
1348
1350
  type: Input
1349
1351
  }], disabled: [{
@@ -1358,6 +1360,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1358
1360
  type: Output
1359
1361
  }], ngModel: [{
1360
1362
  type: Input
1363
+ }], ngModelChange: [{
1364
+ type: Output
1361
1365
  }] } });
1362
1366
 
1363
1367
  class ISelectOptions {