@esfaenza/es-table 13.3.3 → 14.2.0

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.
Files changed (58) hide show
  1. package/esm2020/lib/components/es-table/es_table.component.loc.mjs +7 -4
  2. package/esm2020/lib/components/es-table/es_table.component.mjs +304 -75
  3. package/esm2020/lib/components/es-table-template/es_table_template.component.mjs +21 -0
  4. package/esm2020/lib/components/es-td/es_td.component.mjs +21 -9
  5. package/esm2020/lib/components/es-th/es_th.component.mjs +4 -4
  6. package/esm2020/lib/components/pager/table_pager.component.loc.mjs +4 -4
  7. package/esm2020/lib/components/pager/table_pager.component.mjs +9 -9
  8. package/esm2020/lib/core/CopyPasteDetector.mjs +25 -0
  9. package/esm2020/lib/core/handlers/ColumnMetadataHandler.mjs +34 -15
  10. package/esm2020/lib/core/handlers/ExportHandler.mjs +12 -3
  11. package/esm2020/lib/core/handlers/ItemsHandler.mjs +13 -5
  12. package/esm2020/lib/core/handlers/ReportModeHandler.mjs +10 -1
  13. package/esm2020/lib/core/handlers/SelectionHandler.mjs +263 -1
  14. package/esm2020/lib/core/handlers/UtilitiesHandler.mjs +6 -4
  15. package/esm2020/lib/directives/es_td.directive.mjs +10 -6
  16. package/esm2020/lib/directives/es_td_editor.directive.mjs +24 -0
  17. package/esm2020/lib/directives/es_th.directive.mjs +19 -9
  18. package/esm2020/lib/domain/externals/EsTableColumnsDefinition.mjs +34 -22
  19. package/esm2020/lib/domain/externals/EsTableModelChange.mjs +19 -0
  20. package/esm2020/lib/domain/externals/ItemPropEditableReference.mjs +4 -0
  21. package/esm2020/lib/domain/externals/appsearch/AppSearch.mjs +32 -14
  22. package/esm2020/lib/domain/internals/EsTableColumn.mjs +2 -1
  23. package/esm2020/lib/domain/internals/GroupPager.mjs +4 -3
  24. package/esm2020/lib/domain/internals/TdElement.mjs +1 -1
  25. package/esm2020/lib/domain/internals/ThElement.mjs +1 -1
  26. package/esm2020/lib/domain/types.mjs +2 -0
  27. package/esm2020/lib/es-table.module.mjs +27 -21
  28. package/esm2020/public-api.mjs +6 -1
  29. package/fesm2015/esfaenza-es-table.mjs +887 -191
  30. package/fesm2015/esfaenza-es-table.mjs.map +1 -1
  31. package/fesm2020/esfaenza-es-table.mjs +873 -190
  32. package/fesm2020/esfaenza-es-table.mjs.map +1 -1
  33. package/{esfaenza-es-table.d.ts → index.d.ts} +0 -0
  34. package/lib/components/es-table/es_table.component.d.ts +102 -29
  35. package/lib/components/es-table-template/es_table_template.component.d.ts +18 -0
  36. package/lib/components/es-td/es_td.component.d.ts +12 -4
  37. package/lib/components/es-th/es_th.component.d.ts +1 -1
  38. package/lib/components/pager/table_pager.component.d.ts +1 -1
  39. package/lib/core/CopyPasteDetector.d.ts +13 -0
  40. package/lib/core/handlers/ColumnMetadataHandler.d.ts +7 -0
  41. package/lib/core/handlers/ItemsHandler.d.ts +1 -1
  42. package/lib/core/handlers/ReportModeHandler.d.ts +9 -0
  43. package/lib/core/handlers/SelectionHandler.d.ts +77 -0
  44. package/lib/directives/es_td.directive.d.ts +4 -2
  45. package/lib/directives/es_td_editor.directive.d.ts +14 -0
  46. package/lib/directives/es_th.directive.d.ts +12 -11
  47. package/lib/domain/externals/EsTableColumnsDefinition.d.ts +43 -21
  48. package/lib/domain/externals/EsTableModelChange.d.ts +17 -0
  49. package/lib/domain/externals/ItemPropEditableReference.d.ts +30 -0
  50. package/lib/domain/externals/appsearch/AppSearch.d.ts +15 -2
  51. package/lib/domain/internals/EsTableColumn.d.ts +1 -0
  52. package/lib/domain/internals/GroupPager.d.ts +3 -2
  53. package/lib/domain/internals/TdElement.d.ts +10 -5
  54. package/lib/domain/internals/ThElement.d.ts +5 -0
  55. package/lib/domain/types.d.ts +2 -0
  56. package/lib/es-table.module.d.ts +17 -14
  57. package/package.json +14 -14
  58. package/public-api.d.ts +5 -0
@@ -25,11 +25,14 @@ export class EsTableLoc extends LocalizationService {
25
25
  super.set("en->it", "Select Everything", ["Seleziona Tutto"]);
26
26
  super.set("en->it", "Reset Selection", ["Resetta Selezione"]);
27
27
  super.set("en->it", "No operations available", ["Nessuna operazione disponibile"]);
28
+ super.set("en->it", "Values copied in the clipboard", ["Valori copiati nella clipboard"]);
29
+ super.set("en->it", "Size of copied data is different from the size of the selection", ["La dimensione dei dati copiati differisce dalla dimensione della selezione"]);
30
+ super.set("en->it", "Data for this table cannot be edited", ["I dati di questa tabella non possono essere modificati"]);
28
31
  }
29
32
  }
30
- EsTableLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EsTableLoc, deps: [{ token: EST_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
31
- EsTableLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EsTableLoc });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EsTableLoc, decorators: [{
33
+ EsTableLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EsTableLoc, deps: [{ token: EST_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
34
+ EsTableLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EsTableLoc });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EsTableLoc, decorators: [{
33
36
  type: Injectable
34
37
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
35
38
  type: Optional
@@ -37,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
37
40
  type: Inject,
38
41
  args: [EST_LOCALE]
39
42
  }] }]; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGFibGUuY29tcG9uZW50LmxvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9lcy10YWJsZS9lc190YWJsZS5jb21wb25lbnQubG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUUxQyxzRUFBc0U7QUFFdEUsTUFBTSxPQUFPLFVBQVcsU0FBUSxtQkFBbUI7SUFFL0MsY0FBYztJQUNkLFlBQTRDLFVBQWtCO1FBQzFELEtBQUssQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLENBQUM7UUFFN0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUM5QyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZ0NBQWdDLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENBQUM7UUFDbEcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUM7UUFDaEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQy9DLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNyRCxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDekQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDbEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsaUVBQWlFLEVBQUUsQ0FBQyx1RkFBdUYsQ0FBQyxDQUFDLENBQUM7UUFDbEwsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsOEJBQThCLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUM7UUFDckYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDakUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDaEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDOUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDOUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQzs7dUdBeEJRLFVBQVUsa0JBR2EsVUFBVTsyR0FIakMsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixVQUFVOzswQkFJTSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBFU1RfTE9DQUxFIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbi8qKiBDbGFzc2UgZGkgbG9jYWxpenphemlvbmUgcGVyIGlsIGNvbXBvbmVudGUgKipFc1RhYmxlQ29tcG9uZW50KiogKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRXNUYWJsZUxvYyBleHRlbmRzIExvY2FsaXphdGlvblNlcnZpY2Uge1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEVTVF9MT0NBTEUpIExPQ19MT0NBTEU6IHN0cmluZykgeyAgIFxyXG4gICAgICAgIHN1cGVyKExPQ19MT0NBTEUgPz8gJ2l0LUlUJyk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiQWxsIHRoZVwiLCBbXCJUdXR0aSBnbGlcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkFsbFwiLCBbXCJUdXR0b1wiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiR3JvdXBzXCIsIFtcIkdydXBwaVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiQ2Fubm90IGV4cG9ydCBhbiBlbXB0eSBkYXRhc2V0XCIsIFtcIkltcG9zc2liaWxlIGVzcG9ydGFyZSB1biBkYXRhc2V0IHZ1b3RvXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJQZXJmb3JtaW5nIFRhYmxlIGJvb3RzdHJhcFwiLCBbXCJTdG8gY2FyaWNhbmRvIGxhIFRhYmVsbGFcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIlVwZGF0ZSBldmVyeVwiLCBbXCJBZ2dpb3JuYSBvZ25pXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJzZWNvbmQvc1wiLCBbXCJzZWNvbmRvL2lcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkV4cG9ydCBWaWV3XCIsIFtcIkVzcG9ydGEgVmlzdGFcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkNvbHVtbiBOYW1lXCIsIFtcIk5vbWUgQ29sb25uYVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiQ29sdW1ucyBPcmRlclwiLCBbXCJPcmRpbmUgQ29sb25uZVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiQ29sdW1ucyBWaXNpYmlsaXR5XCIsIFtcIlZpc2liaWxpdMOgIENvbG9ubmVcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIlRoZXJlIGFyZSBubyBjb2x1bW5zIGNvbmZpZ3VyZWQgdG8gYmUgaGlkZGVuL3Nob3duIGluIHRoaXMgdmlld1wiLCBbXCJOb24gY2kgc29ubyBjb2xvbm5lIGNvbmZpZ3VyYXRlIHBlciBlc3NlcmUgdmlzdWFsaXp6YXRlL25hc2Nvc3RlIGluIHF1ZXN0YSB2aXN0YSBkYXRpXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJDb2x1bW5zIFZpc2liaWxpdHkgYW5kIE9yZGVyXCIsIFtcIlZpc2liaWxpdMOgIGUgT3JkaW5lIENvbG9ubmVcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIk9iamVjdHMgU2VsZWN0ZWRcIiwgW1wiT2dnZXR0aSBTZWxlemlvbmF0aVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiT2JqZWN0IFNlbGVjdGVkXCIsIFtcIk9nZ2V0dG8gU2VsZXppb25hdG9cIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIlNlbGVjdCBFdmVyeXRoaW5nXCIsIFtcIlNlbGV6aW9uYSBUdXR0b1wiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiUmVzZXQgU2VsZWN0aW9uXCIsIFtcIlJlc2V0dGEgU2VsZXppb25lXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJObyBvcGVyYXRpb25zIGF2YWlsYWJsZVwiLCBbXCJOZXNzdW5hIG9wZXJhemlvbmUgZGlzcG9uaWJpbGVcIl0pO1xyXG4gICAgfVxyXG59Il19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGFibGUuY29tcG9uZW50LmxvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9lcy10YWJsZS9lc190YWJsZS5jb21wb25lbnQubG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUUxQyxzRUFBc0U7QUFFdEUsTUFBTSxPQUFPLFVBQVcsU0FBUSxtQkFBbUI7SUFFL0MsY0FBYztJQUNkLFlBQTRDLFVBQWtCO1FBQzFELEtBQUssQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLENBQUM7UUFFN0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUM5QyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZ0NBQWdDLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENBQUM7UUFDbEcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUM7UUFDaEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQy9DLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNyRCxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDekQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDbEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsaUVBQWlFLEVBQUUsQ0FBQyx1RkFBdUYsQ0FBQyxDQUFDLENBQUM7UUFDbEwsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsOEJBQThCLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUM7UUFDckYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDakUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDaEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDOUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDOUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUM7UUFFbkYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZ0NBQWdDLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUM7UUFDMUYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsaUVBQWlFLEVBQUUsQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUM7UUFDdkssS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsc0NBQXNDLEVBQUUsQ0FBQyx3REFBd0QsQ0FBQyxDQUFDLENBQUM7SUFFNUgsQ0FBQzs7d0dBN0JRLFVBQVUsa0JBR2EsVUFBVTs0R0FIakMsVUFBVTs0RkFBVixVQUFVO2tCQUR0QixVQUFVOzswQkFJTSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBFU1RfTE9DQUxFIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbi8qKiBDbGFzc2UgZGkgbG9jYWxpenphemlvbmUgcGVyIGlsIGNvbXBvbmVudGUgKipFc1RhYmxlQ29tcG9uZW50KiogKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRXNUYWJsZUxvYyBleHRlbmRzIExvY2FsaXphdGlvblNlcnZpY2Uge1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEVTVF9MT0NBTEUpIExPQ19MT0NBTEU6IHN0cmluZykgeyAgIFxyXG4gICAgICAgIHN1cGVyKExPQ19MT0NBTEUgPz8gJ2l0LUlUJyk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiQWxsIHRoZVwiLCBbXCJUdXR0aSBnbGlcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkFsbFwiLCBbXCJUdXR0b1wiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiR3JvdXBzXCIsIFtcIkdydXBwaVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiQ2Fubm90IGV4cG9ydCBhbiBlbXB0eSBkYXRhc2V0XCIsIFtcIkltcG9zc2liaWxlIGVzcG9ydGFyZSB1biBkYXRhc2V0IHZ1b3RvXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJQZXJmb3JtaW5nIFRhYmxlIGJvb3RzdHJhcFwiLCBbXCJTdG8gY2FyaWNhbmRvIGxhIFRhYmVsbGFcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIlVwZGF0ZSBldmVyeVwiLCBbXCJBZ2dpb3JuYSBvZ25pXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJzZWNvbmQvc1wiLCBbXCJzZWNvbmRvL2lcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkV4cG9ydCBWaWV3XCIsIFtcIkVzcG9ydGEgVmlzdGFcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkNvbHVtbiBOYW1lXCIsIFtcIk5vbWUgQ29sb25uYVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiQ29sdW1ucyBPcmRlclwiLCBbXCJPcmRpbmUgQ29sb25uZVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiQ29sdW1ucyBWaXNpYmlsaXR5XCIsIFtcIlZpc2liaWxpdMOgIENvbG9ubmVcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIlRoZXJlIGFyZSBubyBjb2x1bW5zIGNvbmZpZ3VyZWQgdG8gYmUgaGlkZGVuL3Nob3duIGluIHRoaXMgdmlld1wiLCBbXCJOb24gY2kgc29ubyBjb2xvbm5lIGNvbmZpZ3VyYXRlIHBlciBlc3NlcmUgdmlzdWFsaXp6YXRlL25hc2Nvc3RlIGluIHF1ZXN0YSB2aXN0YSBkYXRpXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJDb2x1bW5zIFZpc2liaWxpdHkgYW5kIE9yZGVyXCIsIFtcIlZpc2liaWxpdMOgIGUgT3JkaW5lIENvbG9ubmVcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIk9iamVjdHMgU2VsZWN0ZWRcIiwgW1wiT2dnZXR0aSBTZWxlemlvbmF0aVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiT2JqZWN0IFNlbGVjdGVkXCIsIFtcIk9nZ2V0dG8gU2VsZXppb25hdG9cIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIlNlbGVjdCBFdmVyeXRoaW5nXCIsIFtcIlNlbGV6aW9uYSBUdXR0b1wiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiUmVzZXQgU2VsZWN0aW9uXCIsIFtcIlJlc2V0dGEgU2VsZXppb25lXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJObyBvcGVyYXRpb25zIGF2YWlsYWJsZVwiLCBbXCJOZXNzdW5hIG9wZXJhemlvbmUgZGlzcG9uaWJpbGVcIl0pO1xyXG5cclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJWYWx1ZXMgY29waWVkIGluIHRoZSBjbGlwYm9hcmRcIiwgW1wiVmFsb3JpIGNvcGlhdGkgbmVsbGEgY2xpcGJvYXJkXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJTaXplIG9mIGNvcGllZCBkYXRhIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzaXplIG9mIHRoZSBzZWxlY3Rpb25cIiwgW1wiTGEgZGltZW5zaW9uZSBkZWkgZGF0aSBjb3BpYXRpIGRpZmZlcmlzY2UgZGFsbGEgZGltZW5zaW9uZSBkZWxsYSBzZWxlemlvbmVcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkRhdGEgZm9yIHRoaXMgdGFibGUgY2Fubm90IGJlIGVkaXRlZFwiLCBbXCJJIGRhdGkgZGkgcXVlc3RhIHRhYmVsbGEgbm9uIHBvc3Nvbm8gZXNzZXJlIG1vZGlmaWNhdGlcIl0pO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59Il19