ngx-sp-infra 1.8.75-test → 1.8.76-test

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.
@@ -97,11 +97,11 @@ export class TableComponent {
97
97
  return path.reduce((value, property) => value ? value[property] : "", obj);
98
98
  }
99
99
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: TableComponent, selector: "lib-table", inputs: { recordsList: ["list", "recordsList"], headersList: ["headers", "headersList"], countOptions: ["counts", "countOptions"] }, usesOnChanges: true, ngImport: i0, template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ this.counter }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr class=\"glb-text-dark-disabled\">\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"glb-text-dark-disabled\"\r\n [class]=\"header.col\" [class]=\"header.customClasses\"> {{ header.name }} </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content [select]=\"innerRows\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"recordsList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i3.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: TableComponent, selector: "lib-table", inputs: { recordsList: ["list", "recordsList"], headersList: ["headers", "headersList"], countOptions: ["counts", "countOptions"] }, usesOnChanges: true, ngImport: i0, template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ this.counter }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr class=\"text-dark-grey\">\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"glb-text-dark-disabled\"\r\n [class]=\"header.col.toString()\" [class]=\"header.customClasses\"> {{ header.name }} </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content [select]=\"innerRows\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"recordsList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".text-dark-grey{color:#63676b!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"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i3.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
101
101
  }
102
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, decorators: [{
103
103
  type: Component,
104
- args: [{ selector: 'lib-table', template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ this.counter }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr class=\"glb-text-dark-disabled\">\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"glb-text-dark-disabled\"\r\n [class]=\"header.col\" [class]=\"header.customClasses\"> {{ header.name }} </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content [select]=\"innerRows\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"recordsList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}" }]
104
+ args: [{ selector: 'lib-table', template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ this.counter }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr class=\"text-dark-grey\">\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"glb-text-dark-disabled\"\r\n [class]=\"header.col.toString()\" [class]=\"header.customClasses\"> {{ header.name }} </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content [select]=\"innerRows\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"recordsList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".text-dark-grey{color:#63676b!important}\n"] }]
105
105
  }], ctorParameters: () => [], propDecorators: { recordsList: [{
106
106
  type: Input,
107
107
  args: [{ alias: 'list', required: true }]
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
112
112
  type: Input,
113
113
  args: ['counts']
114
114
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWluZnJhL3NyYy9saWIvd2lkZ2V0cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPbkYsTUFBTSxPQUFPLGNBQWM7SUFzQnpCLG9CQUFvQjtJQUVwQixnREFBZ0Q7SUFHaEQsK0NBQStDO0lBRS9DLHNCQUFzQjtJQUN0QixRQUFRO0lBQ1IseUJBQXlCO0lBRXpCLHVCQUF1QjtJQUN2QixRQUFRO0lBQ1IsMEJBQTBCO0lBRTFCLGtEQUFrRDtJQUdsRCxpREFBaUQ7SUFDakQ7UUF0Qk8sWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNyQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBaUR4QiwrQ0FBK0M7UUFFOUM7VUFDRTtRQUVGLDhEQUE4RDtRQUM5RCxrQkFBYSxHQUE4QixFQUFFLENBQUM7UUFFOUMsK0NBQStDO1FBQy9DLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztJQXJDZixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQixJQUFXLENBQUM7SUFDOUMsb0RBQW9EO0lBR3BELHdDQUF3QztJQUV4QztrRkFDMkU7SUFDckUsY0FBYyxDQUFDLEtBQVU7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRUQsc0NBQXNDO0lBQy9CLGVBQWUsQ0FBQyxJQUFXO1FBQ2pDLGtFQUFrRTtRQUNsRSxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUV2RCw2Q0FBNkM7UUFDN0MsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFBQyxDQUFDO0lBQ2xELENBQUM7SUFhQSx3REFBd0Q7SUFDeEQsWUFBWSxDQUFDLEtBQTRDO1FBQ3ZELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXBDLHdFQUF3RTtRQUN4RSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxxRUFBcUU7WUFDckUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckYsQ0FBQzthQUFNLENBQUM7WUFDTiwyREFBMkQ7WUFDM0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztZQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUM1QyxDQUFDO1FBRUQsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsMENBQTBDO0lBQ2xDLFFBQVE7UUFFZCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBRXZDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUU7Z0JBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDekMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFaEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBR0gsQ0FBQztJQUVELHlEQUF5RDtJQUNqRCxpQkFBaUIsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLFNBQWlCLEVBQUUsU0FBaUI7UUFDNUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFakQsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkUsT0FBTyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZHLENBQUM7UUFFRCxJQUFJLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUMxQixPQUFPLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksU0FBUyxHQUFHLFNBQVMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sU0FBUyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsMkRBQTJEO0lBQ25ELFdBQVcsQ0FBQyxHQUFRLEVBQUUsSUFBdUI7UUFDbkQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RSxDQUFDOytHQTdJVSxjQUFjO21HQUFkLGNBQWMsMk1DUDNCLGd6SUFpRUM7OzRGRDFEWSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7d0RBYTRCLFdBQVc7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ1ksV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPbkIsWUFBWTtzQkFBbkMsS0FBSzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBQUklWQVRFXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIFBSSVZBVEVcclxuXHJcbiAgLy8gI3JlZ2lvbiBQVUJMSUNcclxuICBASW5wdXQoeyBhbGlhczogJ2xpc3QnLCByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgcmVjb3Jkc0xpc3Q6IGFueVtdO1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnaGVhZGVycycsIHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBoZWFkZXJzTGlzdDoge1xyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgY29sOiAnY29sJ3wnY29sLTEnfCdjb2wtMid8J2NvbC0zJ3wnY29sLTQnfCdjb2wtNSd8J2NvbC02J3wnY29sLTcnfCdjb2wtOCd8J2NvbC05J3wnY29sLTEwJ3wnY29sLTExJ3wnY29sLTEyJyxcclxuICAgIGhhc09yZGVyQnk/OiBib29sZWFuLFxyXG4gICAgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZyxcclxuICB9W107XHJcbiAgXHJcbiAgQElucHV0KCdjb3VudHMnKSBwdWJsaWMgY291bnRPcHRpb25zOiBudW1iZXJbXTtcclxuXHJcbiAgcHVibGljIGNvdW50ZXI6IG51bWJlciA9IDA7XHJcblx0cHVibGljIHBhZ2U6IG51bWJlciA9IDE7XHJcblx0cHVibGljIGl0ZW1zUGVyUGFnZTogbnVtYmVyO1xyXG4gIC8vICNlbmRyZWdpb24gUFVCTElDXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBGT1JNIEJVSUxERVIgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBGT1JNIEZJRUxEU1xyXG4gIC8vIFsuLi5dXHJcbiAgLy8gI2VuZHJlZ2lvbiBGT1JNIEZJRUxEU1xyXG5cclxuICAvLyAjcmVnaW9uIEZPUk0gQlVJTERFUlxyXG4gIC8vIFsuLi5dXHJcbiAgLy8gI2VuZHJlZ2lvbiBGT1JNIEJVSUxERVJcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBGT1JNIEJVSUxERVIgPD09PT09PT09PT1cclxuXHJcblxyXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gSU5JVElBTElaQVRJT04gPD09PT09PT09PT1cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXRlbXNQZXJQYWdlID0gdGhpcy5jb3VudE9wdGlvbnNbMF07XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7ICB9XHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBJTklUSUFMSVpBVElPTiA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBVVElMUyA8PT09PT09PT09PVxyXG4gIFxyXG4gIC8qKiBNb2RpZmljYSBhIHF1YW50aWRhZGUgZGUgaXRlbnMgYSBzZXIgbW9zdHJhZGEgbmEgbGlzdGEuXHJcblx0ICogQHBhcmFtIGV2ZW50IHBhcsOibWV0cm8gZGUgZXZlbnRvIHF1ZSBpcsOhIHNlbGVjaW9uYXIgYSBub3ZhIHF1YW50aWRhZGUuICovXHJcblx0cHVibGljIG9uU2VsZWN0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuXHRcdHRoaXMuaXRlbXNQZXJQYWdlID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlLCAxMCk7XHJcblx0XHR0aGlzLnBhZ2UgPSAxO1xyXG5cdH1cclxuXHJcblx0LyoqIFJlc2V0YSBhIHBhZ2luYcOnw6NvIGRhIGxpc3RhZ2VtLiAqL1xyXG5cdHB1YmxpYyByZXNldFBhZ2luYXRpb24obGlzdDogYW55W10pOiB2b2lkIHtcclxuXHRcdC8vIEPDoWxjdWxvIHBhcmEgZW5jb250cmFyIG8gdmFsb3IgaW5pY2lhbCBkbyBpbmRleCBkYSBww6FnaW5hIGF0dWFsXHJcblx0XHRjb25zdCBzdGFydEluZGV4ID0gKHRoaXMucGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2U7XHJcblxyXG5cdFx0Ly8gQ29uZGnDp8OjbyBwYXJhIHJlc2V0YXIgbyB2YWxvciBkYSBwYWdpbmHDp8Ojb1xyXG5cdFx0aWYgKGxpc3QubGVuZ3RoIDw9IHN0YXJ0SW5kZXgpIHsgdGhpcy5wYWdlID0gMTsgfVxyXG5cdH1cclxuXHJcblx0Ly8jcmVnaW9uIE9yZGVyaW5nLCBTb3J0aW5nIG91IGFwZW5hcyBPcmRlbmHDp8Ojb1xyXG5cclxuICAvKiogTcOpdG9kbyBxdWUgZmF6IGEgb3JkZW5hw6fDo28gZG9zIGNvbnRyYXRvcyBuYSB0ZWxhIGRlIGxpc3RhZ2VtLCBlbSBjYWRhIHVtYSBkYXMgY8OpbHVsYXMgZG8gY2FiZcOnYWxobyBkYSB0YWJlbGEsIG9uZGUgY2FkYSB1bSBkb3MgZWxlbWVudG9zIDx0aD4gcmVwcmVzZW50YSB1bWEgY29sdW5hLCBkZSBhY29yZG8gY29tIGEgbGlzdGEgZGUgY29udHJhdG9zIHF1ZSByZXRvcm5hIGRvIGJhY2tlbmQuXHJcbiAgKi9cclxuXHJcbiAgLy8gT2JqZXRvIHBhcmEgYXJtYXplbmFyIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGRlIGNhZGEgY29sdW5hXHJcbiAgc29ydERpcmVjdGlvbjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICAvLyBDb2x1bmEgYXR1YWxtZW50ZSBzZWxlY2lvbmFkYSBwYXJhIG9yZGVuYcOnw6NvXHJcbiAgY3VycmVudFNvcnRDb2x1bW46IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIC8vIEZ1bsOnw6NvIGNoYW1hZGEgcXVhbmRvIG9jb3JyZSB1bWEgbXVkYW7Dp2EgbmEgb3JkZW5hw6fDo29cclxuICBvblNvcnRDaGFuZ2UoZXZlbnQ6IHsgZGlyZWN0aW9uOiBzdHJpbmcsIGNvbHVtbjogc3RyaW5nIH0pIHtcclxuICAgIGNvbnN0IHsgZGlyZWN0aW9uLCBjb2x1bW4gfSA9IGV2ZW50O1xyXG5cclxuICAgIC8vIFZlcmlmaWNhIHNlIGEgY29sdW5hIGF0dWFsbWVudGUgc2VsZWNpb25hZGEgw6kgYSBtZXNtYSBkYSBub3ZhIHNlbGXDp8Ojb1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFNvcnRDb2x1bW4gPT09IGNvbHVtbikge1xyXG4gICAgICAvLyBBbHRlcm5hIGVudHJlIFwiYXNjXCIgZSBcImRlc2NcIiBwYXJhIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGRhIGNvbHVuYVxyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb25bY29sdW1uXSA9IHRoaXMuc29ydERpcmVjdGlvbltjb2x1bW5dID09PSBcImFzY1wiID8gXCJkZXNjXCIgOiBcImFzY1wiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gRGVmaW5lIGEgbm92YSBjb2x1bmEgZSBhIGRpcmXDp8OjbyBkZSBvcmRlbmHDp8OjbyBjb21vIFwiYXNjXCJcclxuICAgICAgdGhpcy5jdXJyZW50U29ydENvbHVtbiA9IGNvbHVtbjtcclxuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0geyBbY29sdW1uXTogXCJkZXNjXCIgfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZWFsaXphIGEgb3JkZW5hw6fDo28gZG9zIGRhZG9zIGRhIHRhYmVsYVxyXG4gICAgdGhpcy5zb3J0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gRnVuw6fDo28gZGUgb3JkZW5hw6fDo28gZG9zIGRhZG9zIGRhIHRhYmVsYVxyXG4gIHByaXZhdGUgc29ydERhdGEoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMucmVjb3Jkc0xpc3QpIHtcclxuICAgICAgY29uc3QgY29udHJhdG9zTGlzdCA9IHRoaXMucmVjb3Jkc0xpc3Q7XHJcblxyXG4gICAgICBjb250cmF0b3NMaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5jdXJyZW50U29ydENvbHVtbjtcclxuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb25bYXR0cmlidXRlXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZVByb3BlcnRpZXMoYSwgYiwgYXR0cmlidXRlLCBkaXJlY3Rpb24pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgLy8gQ29tcGFyYSBvcyB2YWxvcmVzIGRhcyBwcm9wcmllZGFkZXMgZW50cmUgZG9pcyBvYmpldG9zXHJcbiAgcHJpdmF0ZSBjb21wYXJlUHJvcGVydGllcyhhOiBhbnksIGI6IGFueSwgYXR0cmlidXRlOiBzdHJpbmcsIGRpcmVjdGlvbjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHByb3BlcnR5QSA9IHRoaXMuZ2V0UHJvcGVydHkoYSwgYXR0cmlidXRlKTtcclxuICAgIGNvbnN0IHByb3BlcnR5QiA9IHRoaXMuZ2V0UHJvcGVydHkoYiwgYXR0cmlidXRlKTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHByb3BlcnR5QSA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgcHJvcGVydHlCID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyBwcm9wZXJ0eUEubG9jYWxlQ29tcGFyZShwcm9wZXJ0eUIpIDogcHJvcGVydHlCLmxvY2FsZUNvbXBhcmUocHJvcGVydHlBKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJvcGVydHlBIDwgcHJvcGVydHlCKSB7XHJcbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyAtMSA6IDE7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcGVydHlBID4gcHJvcGVydHlCKSB7XHJcbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09IFwiYXNjXCIgPyAxIDogLTE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIDA7XHJcbiAgfVxyXG5cclxuICAvLyBPYnTDqW0gbyB2YWxvciBkZSB1bWEgcHJvcHJpZWRhZGUgZXNwZWPDrWZpY2EgZGUgdW0gb2JqZXRvXHJcbiAgcHJpdmF0ZSBnZXRQcm9wZXJ0eShvYmo6IGFueSwgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiBwYXRoID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIHBhdGggPSBwYXRoLnNwbGl0KFwiLlwiKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGF0aC5yZWR1Y2UoKHZhbHVlLCBwcm9wZXJ0eSkgPT4gdmFsdWUgPyB2YWx1ZVtwcm9wZXJ0eV0gOiBcIlwiLCBvYmopO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uIE9yZGVyaW5nLCBTb3J0aW5nIG91IGFwZW5hcyBPcmRlbmHDp8Ojb1xyXG5cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XHJcblxyXG59XHJcbiIsIkBpZiAocmVjb3Jkc0xpc3QpIHtcclxuICAgPGRpdiBjbGFzcz1cInRhYmxlLWxpc3Qgdy0xMDAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcy0xXCI+IEV4aWJpbmRvIHt7IHRoaXMuY291bnRlciB9fSByZWdpc3Ryb3MgPC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFibGUtbGlzdCBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyLWJvdHRvbS0wIHJvdW5kZWQtYm90dG9tIHJvdW5kZWRcIj5cclxuICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtaG92ZXIgYm9yZGVyIG1iLTBcIj5cclxuICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJnbGItdGV4dC1kYXJrLWRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGhlYWRlcnNMaXN0XCIgc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdsYi10ZXh0LWRhcmstZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaGVhZGVyLmNvbFwiIFtjbGFzc109XCJoZWFkZXIuY3VzdG9tQ2xhc3Nlc1wiPiB7eyBoZWFkZXIubmFtZSB9fSA8L3RoPlxyXG4gICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG5cclxuICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiYmctbGlnaHQgZmFkZS1pbi1yb3dcIj5cclxuICAgICAgICAgICAgICAgQGlmIChyZWNvcmRzTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IFtzZWxlY3RdPVwiaW5uZXJSb3dzXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgPHRyPiA8dGQgY29sc3Bhbj1cIjEyXCIgY2xhc3M9XCJhbGlnbi1taWRkbGVcIj48c3BhbiBjbGFzcz1cImZ3LWxpZ2h0IGZzdC1pdGFsaWMgdGV4dC1jZW50ZXJcIj4gQ29uc3VsdGEgbsOjbyByZXRvcm5vdSByZWdpc3Ryb3MuLi4gPC9zcGFuPjwvdGQ+IDwvdHI+XHJcbiAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgIDwhLS0gI3JlZ2lvbiBJTVBMRU1FTlRBw4fDg08gUFLDiVZJQSAtLT5cclxuICAgICAgICAgICAgICAgPCEtLSBAZm9yIChpdGVtIG9mIHJlY29yZHNMaXN0IHwgcGFnaW5hdGU6IHsgaXRlbXNQZXJQYWdlOiBpdGVtc1BlclBhZ2UsIGN1cnJlbnRQYWdlOiBwYWdlIH07IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiYWxpZ24tbWlkZGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBjbGFzcz1cInRleHQtcHJpbWFyeSB0ZXh0LWRlY29yYXRpb24tbm9uZSBmdy1ib2xkXCIgdG9vbHRpcD1cIkVkaXRhci9WaXN1YWxpemFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvcGFpbmVsLXBlc3NvYXMvZWRpdGFyJywgaXRlbS5JRF9QRVNTT0FdXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPnt7IGl0ZW0uVFhfTk9NRVBFU1NPQSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+PGI+TmF0dXJhbGlkYWRlOjwvYj4ge3sgaXRlbS5JU19FU1RSQU5HRUlSTyA/ICdFc3RyYW5nZWlyYScgOiAnQnJhc2lsZWlyYScgfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBpdGVtLlRYX0RPQ1VNRU5UTyB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtZW5kXCI+e3sgaXRlbS5USVBPUEVTU09BX0NEID09IFwiRklTXCIgPyAoaXRlbS5EVF9OQVNDSU1FTlRPIHwgZGF0ZTogJ2RkL01NL3l5eXknKSA6IChpdGVtLkRUX0ZVTkRBQ0FPIHwgZGF0ZTogJ2RkL01NL3l5eXknKSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJteS0wXCI+PGI+Q3JpYWRvIGVtOiA8L2I+IHt7IGl0ZW0uRFRfQ1JJQUNBTyB8IGRhdGU6ICdkZC9NTS95eXl5LCBISDptbTpzcycgfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibXktMFwiPjxiPsOabHRpbWEgYWx0ZXJhw6fDo28gZW06IDwvYj4ge3sgKGl0ZW0uRFRfVUxUSU1BQUxURVJBQ0FPIHwgZGF0ZTogJ2RkL01NL3l5eXknKSA9PSBcIjAxLzAxLzE5MDBcIiA/IFwiTmVuaHVtYSBhbHRlcmHDp8OjbyByZWNlbnRlXCIgOiBpdGVtLkRUX1VMVElNQUFMVEVSQUNBTyB8IGRhdGU6ICdkZC9NTS95eXl5LCBISDptbTpzcycgfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWljb24gaWNvbk5hbWU9XCJlZGl0YXJcIiBpY29uQ29sb3I9XCJibHVlXCIgdG9vbHRpcD1cIlZpc3VhbGl6YXIvRWRpdGFyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1zd2l0Y2ggbXMtMlwiPiA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgcm9sZT1cInN3aXRjaFwiIFtjaGVja2VkXT1cIml0ZW0uSVNfQUNUSVZFXCI+IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICBAZW1wdHkgeyA8dHI+IDx0ZCBjb2xzcGFuPVwiMTJcIiBjbGFzcz1cImFsaWduLW1pZGRsZVwiPjxzcGFuIGNsYXNzPVwiZnctbGlnaHQgZnN0LWl0YWxpYyB0ZXh0LWNlbnRlclwiPiBDb25zdWx0YSBuw6NvIHJldG9ybm91IHJlZ2lzdHJvcy4uLiA8L3NwYW4+PC90ZD4gPC90cj4gfSAtLT5cclxuICAgICAgICAgICAgICAgPCEtLSAjZW5kcmVnaW9uIElNUExFTUVOVEHDh8ODTyBQUsOJVklBIC0tPlxyXG4gICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICAgPCEtLSAjcmVnaW9uIFBBR0lOQVRJT04gLS0+XHJcbiAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC0yXCIgKm5nSWY9XCJyZWNvcmRzTGlzdC5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIm1lLTJcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCI+IEl0ZW5zIHBvciBww6FnaW5hIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBzZWxlY3Qtc2VhcmNoXCIgKGNoYW5nZSk9XCJvblNlbGVjdENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvdW50IG9mIGNvdW50T3B0aW9uczsgbGV0IGkgPSBpbmRleFwiIFt2YWx1ZV09XCJjb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJjb3VudE9wdGlvbnMubGVuZ3RoID4gMCAmJiBpID09IDBcIj57eyBjb3VudCB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8cGFnaW5hdGlvbi1jb250cm9scyBjbGFzcz1cInNwLXBhZ2luYXRpb24gbXQtM1wiIChwYWdlQ2hhbmdlKT1cInBhZ2UgPSAkZXZlbnRcIiBwcmV2aW91c0xhYmVsPVwiwqsmbmJzcDsmbmJzcDsmbmJzcDtcIiBuZXh0TGFiZWw9XCImbmJzcDsmbmJzcDsmbmJzcDvCu1wiIFttYXhTaXplXT1cIjVcIj48L3BhZ2luYXRpb24tY29udHJvbHM+XHJcbiAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICA8IS0tICNlbmRyZWdpb24gUEFHSU5BVElPTiAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG59IEBlbHNlIHtcclxuICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJvcmRlclwiIHJvbGU9XCJzdGF0dXNcIj4gPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5DYXJyZWdhbmRvIGluZm9ybWHDp8O1ZXMuLi48L3NwYW4+IDwvZGl2PlxyXG4gICA8L2Rpdj5cclxufSJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWluZnJhL3NyYy9saWIvd2lkZ2V0cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPbkYsTUFBTSxPQUFPLGNBQWM7SUFzQnpCLG9CQUFvQjtJQUVwQixnREFBZ0Q7SUFHaEQsK0NBQStDO0lBRS9DLHNCQUFzQjtJQUN0QixRQUFRO0lBQ1IseUJBQXlCO0lBRXpCLHVCQUF1QjtJQUN2QixRQUFRO0lBQ1IsMEJBQTBCO0lBRTFCLGtEQUFrRDtJQUdsRCxpREFBaUQ7SUFDakQ7UUF0Qk8sWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNyQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBaUR4QiwrQ0FBK0M7UUFFOUM7VUFDRTtRQUVGLDhEQUE4RDtRQUM5RCxrQkFBYSxHQUE4QixFQUFFLENBQUM7UUFFOUMsK0NBQStDO1FBQy9DLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztJQXJDZixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQixJQUFXLENBQUM7SUFDOUMsb0RBQW9EO0lBR3BELHdDQUF3QztJQUV4QztrRkFDMkU7SUFDckUsY0FBYyxDQUFDLEtBQVU7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENB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T0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsMkRBQTJEO0lBQ25ELFdBQVcsQ0FBQyxHQUFRLEVBQUUsSUFBdUI7UUFDbkQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RSxDQUFDOytHQTdJVSxjQUFjO21HQUFkLGNBQWMsMk1DUDNCLG16SUFpRUM7OzRGRDFEWSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7d0RBYTRCLFdBQVc7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ1ksV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPbkIsWUFBWTtzQkFBbkMsS0FBSzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI3JlZ2lvbiBQUklWQVRFXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIFBSSVZBVEVcclxuXHJcbiAgLy8gI3JlZ2lvbiBQVUJMSUNcclxuICBASW5wdXQoeyBhbGlhczogJ2xpc3QnLCByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgcmVjb3Jkc0xpc3Q6IGFueVtdO1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnaGVhZGVycycsIHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBoZWFkZXJzTGlzdDoge1xyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgY29sOiAnY29sJ3wnY29sLTEnfCdjb2wtMid8J2NvbC0zJ3wnY29sLTQnfCdjb2wtNSd8J2NvbC02J3wnY29sLTcnfCdjb2wtOCd8J2NvbC05J3wnY29sLTEwJ3wnY29sLTExJ3wnY29sLTEyJyxcclxuICAgIGhhc09yZGVyQnk/OiBib29sZWFuLFxyXG4gICAgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZ1xyXG4gIH1bXTtcclxuICBcclxuICBASW5wdXQoJ2NvdW50cycpIHB1YmxpYyBjb3VudE9wdGlvbnM6IG51bWJlcltdO1xyXG5cclxuICBwdWJsaWMgY291bnRlcjogbnVtYmVyID0gMDtcclxuXHRwdWJsaWMgcGFnZTogbnVtYmVyID0gMTtcclxuXHRwdWJsaWMgaXRlbXNQZXJQYWdlOiBudW1iZXI7XHJcbiAgLy8gI2VuZHJlZ2lvbiBQVUJMSUNcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XHJcblxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IEZPUk0gQlVJTERFUiA8PT09PT09PT09PVxyXG5cclxuICAvLyAjcmVnaW9uIEZPUk0gRklFTERTXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIEZPUk0gRklFTERTXHJcblxyXG4gIC8vICNyZWdpb24gRk9STSBCVUlMREVSXHJcbiAgLy8gWy4uLl1cclxuICAvLyAjZW5kcmVnaW9uIEZPUk0gQlVJTERFUlxyXG5cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IEZPUk0gQlVJTERFUiA8PT09PT09PT09PVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBJTklUSUFMSVpBVElPTiA8PT09PT09PT09PVxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pdGVtc1BlclBhZ2UgPSB0aGlzLmNvdW50T3B0aW9uc1swXTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHsgIH1cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IElOSVRJQUxJWkFUSU9OIDw9PT09PT09PT09XHJcblxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XHJcbiAgXHJcbiAgLyoqIE1vZGlmaWNhIGEgcXVhbnRpZGFkZSBkZSBpdGVucyBhIHNlciBtb3N0cmFkYSBuYSBsaXN0YS5cclxuXHQgKiBAcGFyYW0gZXZlbnQgcGFyw6JtZXRybyBkZSBldmVudG8gcXVlIGlyw6Egc2VsZWNpb25hciBhIG5vdmEgcXVhbnRpZGFkZS4gKi9cclxuXHRwdWJsaWMgb25TZWxlY3RDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG5cdFx0dGhpcy5pdGVtc1BlclBhZ2UgPSBwYXJzZUludChldmVudC50YXJnZXQudmFsdWUsIDEwKTtcclxuXHRcdHRoaXMucGFnZSA9IDE7XHJcblx0fVxyXG5cclxuXHQvKiogUmVzZXRhIGEgcGFnaW5hw6fDo28gZGEgbGlzdGFnZW0uICovXHJcblx0cHVibGljIHJlc2V0UGFnaW5hdGlvbihsaXN0OiBhbnlbXSk6IHZvaWQge1xyXG5cdFx0Ly8gQ8OhbGN1bG8gcGFyYSBlbmNvbnRyYXIgbyB2YWxvciBpbmljaWFsIGRvIGluZGV4IGRhIHDDoWdpbmEgYXR1YWxcclxuXHRcdGNvbnN0IHN0YXJ0SW5kZXggPSAodGhpcy5wYWdlIC0gMSkgKiB0aGlzLml0ZW1zUGVyUGFnZTtcclxuXHJcblx0XHQvLyBDb25kacOnw6NvIHBhcmEgcmVzZXRhciBvIHZhbG9yIGRhIHBhZ2luYcOnw6NvXHJcblx0XHRpZiAobGlzdC5sZW5ndGggPD0gc3RhcnRJbmRleCkgeyB0aGlzLnBhZ2UgPSAxOyB9XHJcblx0fVxyXG5cclxuXHQvLyNyZWdpb24gT3JkZXJpbmcsIFNvcnRpbmcgb3UgYXBlbmFzIE9yZGVuYcOnw6NvXHJcblxyXG4gIC8qKiBNw6l0b2RvIHF1ZSBmYXogYSBvcmRlbmHDp8OjbyBkb3MgY29udHJhdG9zIG5hIHRlbGEgZGUgbGlzdGFnZW0sIGVtIGNhZGEgdW1hIGRhcyBjw6lsdWxhcyBkbyBjYWJlw6dhbGhvIGRhIHRhYmVsYSwgb25kZSBjYWRhIHVtIGRvcyBlbGVtZW50b3MgPHRoPiByZXByZXNlbnRhIHVtYSBjb2x1bmEsIGRlIGFjb3JkbyBjb20gYSBsaXN0YSBkZSBjb250cmF0b3MgcXVlIHJldG9ybmEgZG8gYmFja2VuZC5cclxuICAqL1xyXG5cclxuICAvLyBPYmpldG8gcGFyYSBhcm1hemVuYXIgYSBkaXJlw6fDo28gZGUgb3JkZW5hw6fDo28gZGUgY2FkYSBjb2x1bmFcclxuICBzb3J0RGlyZWN0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcblxyXG4gIC8vIENvbHVuYSBhdHVhbG1lbnRlIHNlbGVjaW9uYWRhIHBhcmEgb3JkZW5hw6fDo29cclxuICBjdXJyZW50U29ydENvbHVtbjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgLy8gRnVuw6fDo28gY2hhbWFkYSBxdWFuZG8gb2NvcnJlIHVtYSBtdWRhbsOnYSBuYSBvcmRlbmHDp8Ojb1xyXG4gIG9uU29ydENoYW5nZShldmVudDogeyBkaXJlY3Rpb246IHN0cmluZywgY29sdW1uOiBzdHJpbmcgfSkge1xyXG4gICAgY29uc3QgeyBkaXJlY3Rpb24sIGNvbHVtbiB9ID0gZXZlbnQ7XHJcblxyXG4gICAgLy8gVmVyaWZpY2Egc2UgYSBjb2x1bmEgYXR1YWxtZW50ZSBzZWxlY2lvbmFkYSDDqSBhIG1lc21hIGRhIG5vdmEgc2VsZcOnw6NvXHJcbiAgICBpZiAodGhpcy5jdXJyZW50U29ydENvbHVtbiA9PT0gY29sdW1uKSB7XHJcbiAgICAgIC8vIEFsdGVybmEgZW50cmUgXCJhc2NcIiBlIFwiZGVzY1wiIHBhcmEgYSBkaXJlw6fDo28gZGUgb3JkZW5hw6fDo28gZGEgY29sdW5hXHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbltjb2x1bW5dID0gdGhpcy5zb3J0RGlyZWN0aW9uW2NvbHVtbl0gPT09IFwiYXNjXCIgPyBcImRlc2NcIiA6IFwiYXNjXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBEZWZpbmUgYSBub3ZhIGNvbHVuYSBlIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGNvbW8gXCJhc2NcIlxyXG4gICAgICB0aGlzLmN1cnJlbnRTb3J0Q29sdW1uID0gY29sdW1uO1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB7IFtjb2x1bW5dOiBcImRlc2NcIiB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlYWxpemEgYSBvcmRlbmHDp8OjbyBkb3MgZGFkb3MgZGEgdGFiZWxhXHJcbiAgICB0aGlzLnNvcnREYXRhKCk7XHJcbiAgfVxyXG5cclxuICAvLyBGdW7Dp8OjbyBkZSBvcmRlbmHDp8OjbyBkb3MgZGFkb3MgZGEgdGFiZWxhXHJcbiAgcHJpdmF0ZSBzb3J0RGF0YSgpIHtcclxuXHJcbiAgICBpZiAodGhpcy5yZWNvcmRzTGlzdCkge1xyXG4gICAgICBjb25zdCBjb250cmF0b3NMaXN0ID0gdGhpcy5yZWNvcmRzTGlzdDtcclxuXHJcbiAgICAgIGNvbnRyYXRvc0xpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSB0aGlzLmN1cnJlbnRTb3J0Q29sdW1uO1xyXG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMuc29ydERpcmVjdGlvblthdHRyaWJ1dGVdO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlUHJvcGVydGllcyhhLCBiLCBhdHRyaWJ1dGUsIGRpcmVjdGlvbik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICAvLyBDb21wYXJhIG9zIHZhbG9yZXMgZGFzIHByb3ByaWVkYWRlcyBlbnRyZSBkb2lzIG9iamV0b3NcclxuICBwcml2YXRlIGNvbXBhcmVQcm9wZXJ0aWVzKGE6IGFueSwgYjogYW55LCBhdHRyaWJ1dGU6IHN0cmluZywgZGlyZWN0aW9uOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgY29uc3QgcHJvcGVydHlBID0gdGhpcy5nZXRQcm9wZXJ0eShhLCBhdHRyaWJ1dGUpO1xyXG4gICAgY29uc3QgcHJvcGVydHlCID0gdGhpcy5nZXRQcm9wZXJ0eShiLCBhdHRyaWJ1dGUpO1xyXG5cclxuICAgIGlmICh0eXBlb2YgcHJvcGVydHlBID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBwcm9wZXJ0eUIgPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJhc2NcIiA/IHByb3BlcnR5QS5sb2NhbGVDb21wYXJlKHByb3BlcnR5QikgOiBwcm9wZXJ0eUIubG9jYWxlQ29tcGFyZShwcm9wZXJ0eUEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwcm9wZXJ0eUEgPCBwcm9wZXJ0eUIpIHtcclxuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJhc2NcIiA/IC0xIDogMTtcclxuICAgIH1cclxuICAgIGlmIChwcm9wZXJ0eUEgPiBwcm9wZXJ0eUIpIHtcclxuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJhc2NcIiA/IDEgOiAtMTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gMDtcclxuICB9XHJcblxyXG4gIC8vIE9idMOpbSBvIHZhbG9yIGRlIHVtYSBwcm9wcmllZGFkZSBlc3BlY8OtZmljYSBkZSB1bSBvYmpldG9cclxuICBwcml2YXRlIGdldFByb3BlcnR5KG9iajogYW55LCBwYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZyB7XHJcbiAgICBpZiAodHlwZW9mIHBhdGggPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgcGF0aCA9IHBhdGguc3BsaXQoXCIuXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwYXRoLnJlZHVjZSgodmFsdWUsIHByb3BlcnR5KSA9PiB2YWx1ZSA/IHZhbHVlW3Byb3BlcnR5XSA6IFwiXCIsIG9iaik7XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb24gT3JkZXJpbmcsIFNvcnRpbmcgb3UgYXBlbmFzIE9yZGVuYcOnw6NvXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gVVRJTFMgPD09PT09PT09PT1cclxuXHJcbn1cclxuIiwiQGlmIChyZWNvcmRzTGlzdCkge1xyXG4gICA8ZGl2IGNsYXNzPVwidGFibGUtbGlzdCB3LTEwMCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1zLTFcIj4gRXhpYmluZG8ge3sgdGhpcy5jb3VudGVyIH19IHJlZ2lzdHJvcyA8L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1saXN0IG92ZXJmbG93LWhpZGRlbiBib3JkZXItYm90dG9tLTAgcm91bmRlZC1ib3R0b20gcm91bmRlZFwiPlxyXG4gICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ob3ZlciBib3JkZXIgbWItMFwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cInRleHQtZGFyay1ncmV5XCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGhlYWRlcnNMaXN0XCIgc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdsYi10ZXh0LWRhcmstZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaGVhZGVyLmNvbC50b1N0cmluZygpXCIgW2NsYXNzXT1cImhlYWRlci5jdXN0b21DbGFzc2VzXCI+IHt7IGhlYWRlci5uYW1lIH19IDwvdGg+XHJcbiAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGhlYWQ+XHJcblxyXG4gICAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJiZy1saWdodCBmYWRlLWluLXJvd1wiPlxyXG4gICAgICAgICAgICAgICBAaWYgKHJlY29yZHNMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgW3NlbGVjdF09XCJpbm5lclJvd3NcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICA8dHI+IDx0ZCBjb2xzcGFuPVwiMTJcIiBjbGFzcz1cImFsaWduLW1pZGRsZVwiPjxzcGFuIGNsYXNzPVwiZnctbGlnaHQgZnN0LWl0YWxpYyB0ZXh0LWNlbnRlclwiPiBDb25zdWx0YSBuw6NvIHJldG9ybm91IHJlZ2lzdHJvcy4uLiA8L3NwYW4+PC90ZD4gPC90cj5cclxuICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgPCEtLSAjcmVnaW9uIElNUExFTUVOVEHDh8ODTyBQUsOJVklBIC0tPlxyXG4gICAgICAgICAgICAgICA8IS0tIEBmb3IgKGl0ZW0gb2YgcmVjb3Jkc0xpc3QgfCBwYWdpbmF0ZTogeyBpdGVtc1BlclBhZ2U6IGl0ZW1zUGVyUGFnZSwgY3VycmVudFBhZ2U6IHBhZ2UgfTsgdHJhY2sgaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJhbGlnbi1taWRkbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtZGVjb3JhdGlvbi1ub25lIGZ3LWJvbGRcIiB0b29sdGlwPVwiRWRpdGFyL1Zpc3VhbGl6YXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9wYWluZWwtcGVzc29hcy9lZGl0YXInLCBpdGVtLklEX1BFU1NPQV1cIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+e3sgaXRlbS5UWF9OT01FUEVTU09BIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj48Yj5OYXR1cmFsaWRhZGU6PC9iPiB7eyBpdGVtLklTX0VTVFJBTkdFSVJPID8gJ0VzdHJhbmdlaXJhJyA6ICdCcmFzaWxlaXJhJyB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IGl0ZW0uVFhfRE9DVU1FTlRPIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1lbmRcIj57eyBpdGVtLlRJUE9QRVNTT0FfQ0QgPT0gXCJGSVNcIiA/IChpdGVtLkRUX05BU0NJTUVOVE8gfCBkYXRlOiAnZGQvTU0veXl5eScpIDogKGl0ZW0uRFRfRlVOREFDQU8gfCBkYXRlOiAnZGQvTU0veXl5eScpIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm15LTBcIj48Yj5DcmlhZG8gZW06IDwvYj4ge3sgaXRlbS5EVF9DUklBQ0FPIHwgZGF0ZTogJ2RkL01NL3l5eXksIEhIOm1tOnNzJyB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJteS0wXCI+PGI+w5psdGltYSBhbHRlcmHDp8OjbyBlbTogPC9iPiB7eyAoaXRlbS5EVF9VTFRJTUFBTFRFUkFDQU8gfCBkYXRlOiAnZGQvTU0veXl5eScpID09IFwiMDEvMDEvMTkwMFwiID8gXCJOZW5odW1hIGFsdGVyYcOnw6NvIHJlY2VudGVcIiA6IGl0ZW0uRFRfVUxUSU1BQUxURVJBQ0FPIHwgZGF0ZTogJ2RkL01NL3l5eXksIEhIOm1tOnNzJyB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItaWNvbiBpY29uTmFtZT1cImVkaXRhclwiIGljb25Db2xvcj1cImJsdWVcIiB0b29sdGlwPVwiVmlzdWFsaXphci9FZGl0YXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBtcy0yXCI+IDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiByb2xlPVwic3dpdGNoXCIgW2NoZWNrZWRdPVwiaXRlbS5JU19BQ1RJVkVcIj4gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIEBlbXB0eSB7IDx0cj4gPHRkIGNvbHNwYW49XCIxMlwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlXCI+PHNwYW4gY2xhc3M9XCJmdy1saWdodCBmc3QtaXRhbGljIHRleHQtY2VudGVyXCI+IENvbnN1bHRhIG7Do28gcmV0b3Jub3UgcmVnaXN0cm9zLi4uIDwvc3Bhbj48L3RkPiA8L3RyPiB9IC0tPlxyXG4gICAgICAgICAgICAgICA8IS0tICNlbmRyZWdpb24gSU1QTEVNRU5UQcOHw4NPIFBSw4lWSUEgLS0+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgIDwvdGFibGU+XHJcblxyXG4gICAgICAgICA8IS0tICNyZWdpb24gUEFHSU5BVElPTiAtLT5cclxuICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTJcIiAqbmdJZj1cInJlY29yZHNMaXN0Lmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibWUtMlwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj4gSXRlbnMgcG9yIHDDoWdpbmEgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IHNlbGVjdC1zZWFyY2hcIiAoY2hhbmdlKT1cIm9uU2VsZWN0Q2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY291bnQgb2YgY291bnRPcHRpb25zOyBsZXQgaSA9IGluZGV4XCIgW3ZhbHVlXT1cImNvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImNvdW50T3B0aW9ucy5sZW5ndGggPiAwICYmIGkgPT0gMFwiPnt7IGNvdW50IH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxwYWdpbmF0aW9uLWNvbnRyb2xzIGNsYXNzPVwic3AtcGFnaW5hdGlvbiBtdC0zXCIgKHBhZ2VDaGFuZ2UpPVwicGFnZSA9ICRldmVudFwiIHByZXZpb3VzTGFiZWw9XCLCqyZuYnNwOyZuYnNwOyZuYnNwO1wiIG5leHRMYWJlbD1cIiZuYnNwOyZuYnNwOyZuYnNwO8K7XCIgW21heFNpemVdPVwiNVwiPjwvcGFnaW5hdGlvbi1jb250cm9scz5cclxuICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgIDwhLS0gI2VuZHJlZ2lvbiBQQUdJTkFUSU9OIC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgPC9kaXY+XHJcbn0gQGVsc2Uge1xyXG4gICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXItYm9yZGVyXCIgcm9sZT1cInN0YXR1c1wiPiA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPkNhcnJlZ2FuZG8gaW5mb3JtYcOnw7Vlcy4uLjwvc3Bhbj4gPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG59Il19
@@ -2206,11 +2206,11 @@ class TableComponent {
2206
2206
  return path.reduce((value, property) => value ? value[property] : "", obj);
2207
2207
  }
2208
2208
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2209
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: TableComponent, selector: "lib-table", inputs: { recordsList: ["list", "recordsList"], headersList: ["headers", "headersList"], countOptions: ["counts", "countOptions"] }, usesOnChanges: true, ngImport: i0, template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ this.counter }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr class=\"glb-text-dark-disabled\">\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"glb-text-dark-disabled\"\r\n [class]=\"header.col\" [class]=\"header.customClasses\"> {{ header.name }} </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content [select]=\"innerRows\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"recordsList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i3.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
2209
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: TableComponent, selector: "lib-table", inputs: { recordsList: ["list", "recordsList"], headersList: ["headers", "headersList"], countOptions: ["counts", "countOptions"] }, usesOnChanges: true, ngImport: i0, template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ this.counter }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr class=\"text-dark-grey\">\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"glb-text-dark-disabled\"\r\n [class]=\"header.col.toString()\" [class]=\"header.customClasses\"> {{ header.name }} </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content [select]=\"innerRows\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"recordsList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".text-dark-grey{color:#63676b!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i3.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
2210
2210
  }
2211
2211
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableComponent, decorators: [{
2212
2212
  type: Component,
2213
- args: [{ selector: 'lib-table', template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ this.counter }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr class=\"glb-text-dark-disabled\">\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"glb-text-dark-disabled\"\r\n [class]=\"header.col\" [class]=\"header.customClasses\"> {{ header.name }} </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content [select]=\"innerRows\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"recordsList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}" }]
2213
+ args: [{ selector: 'lib-table', template: "@if (recordsList) {\r\n <div class=\"table-list w-100 position-relative\">\r\n <span class=\"ms-1\"> Exibindo {{ this.counter }} registros </span>\r\n <div class=\"table-list overflow-hidden border-bottom-0 rounded-bottom rounded\">\r\n <table class=\"table table-hover border mb-0\">\r\n <thead>\r\n <tr class=\"text-dark-grey\">\r\n <th *ngFor=\"let header of headersList\" scope=\"col\" class=\"glb-text-dark-disabled\"\r\n [class]=\"header.col.toString()\" [class]=\"header.customClasses\"> {{ header.name }} </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"bg-light fade-in-row\">\r\n @if (recordsList.length > 0) {\r\n <ng-content [select]=\"innerRows\"></ng-content>\r\n }\r\n @else {\r\n <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr>\r\n }\r\n\r\n <!-- #region IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n <!-- @for (item of recordsList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }; track item) {\r\n <tr class=\"align-middle\">\r\n <td><a class=\"text-primary text-decoration-none fw-bold\" tooltip=\"Editar/Visualizar\"\r\n [routerLink]=\"['/painel-pessoas/editar', item.ID_PESSOA]\" routerLinkActive=\"active\">{{ item.TX_NOMEPESSOA }}</a>\r\n <p class=\"mb-0\"><b>Naturalidade:</b> {{ item.IS_ESTRANGEIRO ? 'Estrangeira' : 'Brasileira' }}</p>\r\n </td>\r\n <td>{{ item.TX_DOCUMENTO }}</td>\r\n <td class=\"text-end\">{{ item.TIPOPESSOA_CD == \"FIS\" ? (item.DT_NASCIMENTO | date: 'dd/MM/yyyy') : (item.DT_FUNDACAO | date: 'dd/MM/yyyy') }}</td>\r\n <td>\r\n <p class=\"my-0\"><b>Criado em: </b> {{ item.DT_CRIACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n <p class=\"my-0\"><b>\u00DAltima altera\u00E7\u00E3o em: </b> {{ (item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy') == \"01/01/1900\" ? \"Nenhuma altera\u00E7\u00E3o recente\" : item.DT_ULTIMAALTERACAO | date: 'dd/MM/yyyy, HH:mm:ss' }}</p>\r\n </td>\r\n <td>\r\n <div class=\"d-flex flex-row align-items-center justify-content-end\">\r\n <lib-icon iconName=\"editar\" iconColor=\"blue\" tooltip=\"Visualizar/Editar\" />\r\n <div class=\"form-check form-switch ms-2\"> <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [checked]=\"item.IS_ACTIVE\"> </div>\r\n </div>\r\n </td>\r\n </tr>\r\n }\r\n @empty { <tr> <td colspan=\"12\" class=\"align-middle\"><span class=\"fw-light fst-italic text-center\"> Consulta n\u00E3o retornou registros... </span></td> </tr> } -->\r\n <!-- #endregion IMPLEMENTA\u00C7\u00C3O PR\u00C9VIA -->\r\n </tbody>\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"recordsList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\"> Itens por p\u00E1gina </label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option *ngFor=\"let count of countOptions; let i = index\" [value]=\"count\"\r\n [selected]=\"countOptions.length > 0 && i == 0\">{{ count }}</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\" previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\"></pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n </div>\r\n </div>\r\n} @else {\r\n <div class=\"w-100 text-center\">\r\n <div class=\"spinner-border\" role=\"status\"> <span class=\"visually-hidden\">Carregando informa\u00E7\u00F5es...</span> </div>\r\n </div>\r\n}", styles: [".text-dark-grey{color:#63676b!important}\n"] }]
2214
2214
  }], ctorParameters: () => [], propDecorators: { recordsList: [{
2215
2215
  type: Input,
2216
2216
  args: [{ alias: 'list', required: true }]